[547946] Update emf pattern for 2019-06

Bug 547946

Change-Id: I7cfcc440f837b8da0f182abd32e34748ca3fea60
Signed-off-by: Thomas Guiu <thomas.guiu@soyatec.com>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/.classpath b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/.classpath
new file mode 100644
index 0000000..dc57898
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<classpath>

+	<classpathentry kind="src" path="generated"/>

+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>

+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>

+	<classpathentry kind="output" path="bin"/>

+</classpath>

diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/.gitignore b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/.gitignore
new file mode 100644
index 0000000..5e56e04
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/.gitignore
@@ -0,0 +1 @@
+/bin
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/.project b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/.project
new file mode 100644
index 0000000..1578e3b
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<projectDescription>

+	<name>org.eclipse.egf.emf.pattern</name>

+	<comment></comment>

+	<projects>

+	</projects>

+	<buildSpec>

+		<buildCommand>

+			<name>org.eclipse.egf.pattern.ui.PatternBuilder</name>

+			<arguments>

+			</arguments>

+		</buildCommand>

+		<buildCommand>

+			<name>org.eclipse.jdt.core.javabuilder</name>

+			<arguments>

+			</arguments>

+		</buildCommand>

+		<buildCommand>

+			<name>org.eclipse.pde.ManifestBuilder</name>

+			<arguments>

+			</arguments>

+		</buildCommand>

+		<buildCommand>

+			<name>org.eclipse.pde.SchemaBuilder</name>

+			<arguments>

+			</arguments>

+		</buildCommand>

+	</buildSpec>

+	<natures>

+		<nature>org.eclipse.pde.PluginNature</nature>

+		<nature>org.eclipse.jdt.core.javanature</nature>

+		<nature>org.eclipse.egf.core.EGFNature</nature>

+	</natures>

+</projectDescription>

diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/.settings/org.eclipse.jdt.core.prefs b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..db85bda
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+#Mon May 03 11:37:29 CEST 2010

+eclipse.preferences.version=1

+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled

+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5

+org.eclipse.jdt.core.compiler.compliance=1.5

+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error

+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error

+org.eclipse.jdt.core.compiler.source=1.5

diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/META-INF/MANIFEST.MF b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..f4a1abe
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/META-INF/MANIFEST.MF
@@ -0,0 +1,29 @@
+Manifest-Version: 1.0

+Bundle-ManifestVersion: 2

+Bundle-Name: %pluginName

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

+Bundle-Version: 1.6.1.2_18_0_qualifier_qualifier

+Bundle-ClassPath: .

+Bundle-Vendor: %providerName

+Bundle-Localization: plugin

+Bundle-RequiredExecutionEnvironment: J2SE-1.5

+Export-Package: 

+ org.eclipse.egf.emf.pattern.edit,

+ org.eclipse.egf.emf.pattern.edit.call.ItemProvider,

+ org.eclipse.egf.emf.pattern.editor,

+ org.eclipse.egf.emf.pattern.editor.call.Editor,

+ org.eclipse.egf.emf.pattern.model,

+ org.eclipse.egf.emf.pattern.model.call.Class,

+ org.eclipse.egf.emf.pattern.model.call.Interface,

+ org.eclipse.egf.emf.pattern.model.call.ResourceFactoryClass,

+ org.eclipse.egf.emf.pattern.model.call.ValidatorClass,

+ org.eclipse.egf.emf.pattern.tests,

+ org.eclipse.egf.emf.pattern.tests.call.TestCase

+Require-Bundle: 

+ org.eclipse.egf.model.fprod,

+ org.eclipse.egf.pattern.jet,

+ org.eclipse.egf.emf.pattern.base;visibility:=reexport,

+ org.eclipse.egf.model.ftask;visibility:=reexport,

+ org.eclipse.egf.pattern;visibility:=reexport,

+ org.eclipse.egf.pattern.ftask;visibility:=reexport

+Bundle-ActivationPolicy: lazy

diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/about.html b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/about.html
new file mode 100644
index 0000000..7e766fe
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/about.html
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>

+

+

+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

+<title>About</title>

+</head><body lang="EN-US">

+<h2>About This Content</h2>

+ 

+<p>June 5, 2007</p>	

+<h3>License</h3>

+

+<p>The Eclipse Foundation makes available all content in this plug-in ("Content").  Unless otherwise 

+indicated below, the Content is provided to you under the terms and conditions of the

+Eclipse Public License Version 1.0 ("EPL").  A copy of the EPL is available 

+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.

+For purposes of the EPL, "Program" will mean the Content.</p>

+

+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 

+being redistributed by another party ("Redistributor") and different terms and conditions may

+apply to your use of any object code in the Content.  Check the Redistributor's license that was 

+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise

+indicated below, the terms and conditions of the EPL still apply to any source code in the Content

+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>

+

+</body></html>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/about.ini b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/about.ini
new file mode 100644
index 0000000..46e430d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/about.ini
@@ -0,0 +1,30 @@
+# about.ini
+# contains information about a feature
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# "%key" are externalized strings defined in about.properties
+# This file does not need to be translated.
+
+# Property "aboutText" contains blurb for "About" dialog (translated)
+aboutText=EGF (Eclipse Generation Factories) is a software factory tool with the purpose to generate software artifacts, such as code or application, in order to automate software development.\n\
+\n\Copyright (c) 2009, 2019 Thales Global Services\n\.  All rights reserved.\n\n\
+Visit http://eclipse.org/egf
+
+# Property "windowImage" contains path to window icon (16x16)
+# needed for primary features only
+
+# Property "featureImage" contains path to feature image (32x32)
+featureImage=egf.png
+
+# Property "aboutImage" contains path to product image (500x330 or 115x164)
+# needed for primary features only
+
+# Property "appName" contains name of the application (not translated)
+# needed for primary features only
+
+# Property "welcomePerspective" contains the id of the perspective in which the
+# welcome page is to be opened.
+# optional
+
+# Property "tipsAndTricksHref" contains the Help topic href to a tips and tricks page 
+# optional
+# tipsAndTricksHref=/org.eclipse.jdt.doc.user/tips/jdt_tips.html
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/build.properties b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/build.properties
new file mode 100644
index 0000000..dd0ef98
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/build.properties
@@ -0,0 +1,25 @@
+##

+#  Copyright (c) 2009-2019 Thales Corporate Services S.A.S.

+#

+#  This program and the accompanying materials

+#  are made available under the terms of the Eclipse Public License 2.0

+#  which accompanies this distribution, and is available at

+#  https://www.eclipse.org/legal/epl-2.0

+#

+#  SPDX-License-Identifier: EPL-2.0

+# 

+#  Contributors:

+#      Thales Corporate Services S.A.S - initial API and implementation

+##

+source.. = generated/

+output.. = bin/

+bin.includes = META-INF/,\

+               templates/,\

+               .,\

+               about.html,\

+               plugin.properties,\

+               plugin.xml,\

+               egf/,\

+               egf.png,\

+               about.ini

+src.includes = about.html

diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/egf.png b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/egf.png
new file mode 100644
index 0000000..cf6a65c
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/egf.png
Binary files differ
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore
new file mode 100644
index 0000000..5774790
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore
@@ -0,0 +1,6807 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:domain="http://www.eclipse.org/egf/1.0.0/domain"

+    xmlns:fcore="http://www.eclipse.org/egf/1.0.0/fcore" xmlns:fprod="http://www.eclipse.org/egf/1.0.0/fprod"

+    xmlns:ftask="http://www.eclipse.org/egf/1.0.0/ftask" xmlns:jetpattern="http://www.eclipse.org/egf/1.0.0/jetpattern"

+    xmlns:pattern="http://www.eclipse.org/egf/1.0.0/pattern" xmlns:types="http://www.eclipse.org/egf/1.0.0/types">

+  <fcore:FactoryComponent xmi:id="_Pcm9sDG0Ed-kc8dEZsdm2w" name="EMF Model Pattern">

+    <contractContainer xmi:id="_Prg8ZDG0Ed-kc8dEZsdm2w">

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_Prg8ZTG0Ed-kc8dEZsdm2w"

+          description="EMF Model Pattern" name="genModel" mandatory="true" invocationContracts="#_tNEmwId1EemTGPCEQmMGWg">

+        <type xmi:type="domain:TypeDomain" xmi:id="_tOHvoId1EemTGPCEQmMGWg"/>

+      </contracts>

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_WRxYEFIIEd-eGOdO3WtsxA"

+          description="EMF Model Pattern" name="pattern.execution.reporter" invocationContracts="#_tO0TMId1EemTGPCEQmMGWg">

+        <type xmi:type="pattern:TypePatternExecutionReporter" xmi:id="_tPhd0Id1EemTGPCEQmMGWg"/>

+      </contracts>

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_TxwAHVkTEd-bv5aydwO2Qw"

+          description="EMF Model Pattern" name="pattern.ids" invocationContracts="#_tQPPgId1EemTGPCEQmMGWg">

+        <type xmi:type="pattern:TypePatternList" xmi:id="_tQ7zEId1EemTGPCEQmMGWg"/>

+      </contracts>

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_OVsagFHVEd-dr9AWwNwIMQ"

+          description="EMF Model Pattern" name="pattern.substitutions" invocationContracts="#_tRl6YId1EemTGPCEQmMGWg">

+        <type xmi:type="pattern:TypePatternSubstitution" xmi:id="_tSTsEId1EemTGPCEQmMGWg"/>

+      </contracts>

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_RcQCMPI7Ed-Pp8S8RvVOuQ"

+          description="EMF Model Pattern" name="usedGenPackages" invocationContracts="#_tS-acId1EemTGPCEQmMGWg">

+        <type xmi:type="domain:TypeGenPackages" xmi:id="_tTq-AId1EemTGPCEQmMGWg"/>

+      </contracts>

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_sluXsVLLEd-ZSLMRjxSbVQ"

+          description="EMF Model Pattern" name="mergeRulesURI" invocationContracts="#_tUW6gId1EemTGPCEQmMGWg">

+        <type xmi:type="types:TypeURI" xmi:id="_tVC3AId1EemTGPCEQmMGWg"/>

+      </contracts>

+    </contractContainer>

+    <viewpointContainer xmi:id="_Pcm9sTG0Ed-kc8dEZsdm2w">

+      <viewpoints xmi:type="pattern:PatternViewpoint" xmi:id="_Pcm9sjG0Ed-kc8dEZsdm2w">

+        <libraries xmi:id="_Pcm9szG0Ed-kc8dEZsdm2w" name="org.eclipse.egf.emf.pattern.model">

+          <elements xmi:id="_Pcm9tDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/build.propertiesjet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderProperties&#xA;"

+              name="BuildProperties" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_ZTUvECg7Ed-ROrlGa8LEeQ"

+              headerMethod="#_Pcm9tjG0Ed-kc8dEZsdm2w" conditionMethod="#_8vBvNHLYEd-09ds9dfYpFw"

+              initMethod="#_Pcm9tzG0Ed-kc8dEZsdm2w" footerMethod="#_Pcm9uTG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_Slu7wId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_Pcm9tjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._Pcm9tjG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_Pcm9tzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._Pcm9tzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_8vBvNHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._8vBvNHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_Pcm9uTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._Pcm9uTG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PcwusDG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._PcwusDG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_Sq2-OGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._Sq2-OGKPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_06ILSWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._06ILSWKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_PcwusjG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._PcwusjG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_So5kgId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_SqHsgId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_mwzm4ChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_SquJcId1EemTGPCEQmMGWg"

+                called="#_PcwusjG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_SrBrcId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_SrT_UId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_PdDpoDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/manifest.mfjet&quot;&#xA;"

+              name="ManifestMF" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_ZTUvECg7Ed-ROrlGa8LEeQ"

+              headerMethod="#_PdDpojG0Ed-kc8dEZsdm2w" conditionMethod="#_8qZt5HLYEd-09ds9dfYpFw"

+              initMethod="#_PdDpozG0Ed-kc8dEZsdm2w" footerMethod="#_PdDppTG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_S53YsId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_PdDpojG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDpojG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PdDpozG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDpozG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_8qZt5HLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._8qZt5HLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_PdDppTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDppTG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PdDppzG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDppzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_SrAvOGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._SrAvOGKPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_05rfVmKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._05rfVmKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_PdDpqTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDpqTG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_S8yJ0Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_S98ncId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_mwzm4ChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_S-lgoId1EemTGPCEQmMGWg"

+                called="#_PdDpqTG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_S-30gId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_S_LWgId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_PdNaoDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/plugin.xmljet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderXml&#xA;"

+              name="PluginXML" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_ZTUvECg7Ed-ROrlGa8LEeQ"

+              headerMethod="#_PdNaojG0Ed-kc8dEZsdm2w" conditionMethod="#_8mrriXLYEd-09ds9dfYpFw"

+              initMethod="#_PdNaozG0Ed-kc8dEZsdm2w" footerMethod="#_PdXLoTG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_SsGCcId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_PdNaojG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdNaojG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PdNaozG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdNaozG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_8mrriXLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._8mrriXLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_PdXLoTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdXLoTG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PdXLozG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdXLozG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_SqaSS2KPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._SqaSS2KPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_06R8SWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._06R8SWKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_PdXLpTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdXLpTG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_SvJ9gId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_SwYFgId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_mwzm4ChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_Sw97YId1EemTGPCEQmMGWg"

+                called="#_PdXLpTG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_SxQ2UId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_SxjxQId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_PdgVkDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/plugin.propertiesjet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderProperties&#xA;"

+              name="PluginProperties" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_xxtwkCg7Ed-ROrlGa8LEeQ"

+              headerMethod="#_PdgVkjG0Ed-kc8dEZsdm2w" conditionMethod="#_8zCshHLYEd-09ds9dfYpFw"

+              initMethod="#_PdgVkzG0Ed-kc8dEZsdm2w" footerMethod="#_PdgVlTG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_S_69YId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_PdgVkjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVkjG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PdgVkzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVkzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_8zCshHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._8zCshHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_PdgVlTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVlTG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PdgVlzG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVlzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_SrTqKGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._SrTqKGKPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_06k3OWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._06k3OWKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_PdgVmTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVmTG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_TC1HcId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_TEGSwId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_pQ16sChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_TErhkId1EemTGPCEQmMGWg"

+                called="#_PdgVmTG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_TE91cId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_TFQJUId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_PdzQgDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/PackageClass.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"

+              name="PackageClass" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_VlOiICg6Ed-ROrlGa8LEeQ"

+              headerMethod="#_PdzQgjG0Ed-kc8dEZsdm2w" conditionMethod="#_89Lf9HLYEd-09ds9dfYpFw"

+              initMethod="#_PdzQgzG0Ed-kc8dEZsdm2w" footerMethod="#_PdzQhTG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_T8ONkId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_PdzQgjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQgjG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PdzQgzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQgzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_89Lf9HLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._89Lf9HLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_PdzQhTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQhTG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PdzQhzG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQhzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_StPj2GKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._StPj2GKPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_09HN2WKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._09HN2WKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_PdzQiTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQiTG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_T_GicId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_UAPx8Id1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_QRYMcChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_UA0ZsId1EemTGPCEQmMGWg"

+                called="#_PdzQiTG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_UBHUoId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_UBaPkId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_MeyroChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_PeP8cDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/XMLProcessorClass.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"

+              name="XMLProcessorClass" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_VlOiICg6Ed-ROrlGa8LEeQ"

+              headerMethod="#_PeP8cjG0Ed-kc8dEZsdm2w" conditionMethod="#_9hr7NHLYEd-09ds9dfYpFw"

+              initMethod="#_PeP8czG0Ed-kc8dEZsdm2w" footerMethod="#_PeP8dTG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_T2Ty0Id1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_PeP8cjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8cjG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PeP8czG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8czG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_9hr7NHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._9hr7NHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_PeP8dTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8dTG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PeP8dzG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8dzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_SspG4mKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._SspG4mKPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_0767AmKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._0767AmKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_PeP8eTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8eTG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_T5N84Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_T6XMYId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_QRYMcChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_T67NEId1EemTGPCEQmMGWg"

+                called="#_PeP8eTG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_T7Ng8Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_T7fNwId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_MeyroChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_PejecDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Plugin.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"

+              name="Plugin" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_F0In8Cg6Ed-ROrlGa8LEeQ"

+              headerMethod="#_PejecjG0Ed-kc8dEZsdm2w" conditionMethod="#_9fJklHLYEd-09ds9dfYpFw"

+              initMethod="#_PejeczG0Ed-kc8dEZsdm2w" footerMethod="#_PejedTG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_TR5eMId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_PejecjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejecjG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PejeczG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejeczG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_9fJklHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._9fJklHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_PejedTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejedTG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PejedzG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejedzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_SsWL8WKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._SsWL8WKPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_07nZCWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._07nZCWKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_PejeeTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejeeTG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_TU02YId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_TV-s8Id1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_cjQNwChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_TWj7wId1EemTGPCEQmMGWg"

+                called="#_PejeeTG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_TW2PoId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_TXJKkId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_PesoYDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/ResourceFactoryClass.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;    * org.eclipse.egf.emf.pattern.model.call.ResourceFactoryClass.ResourceFactoryClass.createResource.override&#xA;"

+              name="ResourceFactoryClass" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_VlOiICg6Ed-ROrlGa8LEeQ"

+              headerMethod="#_PesoYjG0Ed-kc8dEZsdm2w" conditionMethod="#_9AAxhHLYEd-09ds9dfYpFw"

+              initMethod="#_PesoYzG0Ed-kc8dEZsdm2w" footerMethod="#_PesoZTG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_TwPnEId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_PesoYjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoYjG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PesoYzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoYzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_9AAxhHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._9AAxhHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_PesoZTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoZTG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PesoZzG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoZzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_StFy12KPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._StFy12KPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_063yImKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._063yImKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_PesoaTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoaTG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_TzFfsId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_T0U10Id1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_QRYMcChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_T05dkId1EemTGPCEQmMGWg"

+                called="#_PesoaTG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_T1MYgId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_T1fTcId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_MeyroChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_Pe_jUDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.interface.javadoc.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.declaredFieldGenFeature.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.egfCustom.constructor.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.dynamicDelegation&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.reflectiveDelegation.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.genFeatureReified.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.genFeature.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.genOperation.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.eUnset.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.eIsSet.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.insert&#xA;"

+              name="Class" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_hYG6UCg6Ed-ROrlGa8LEeQ"

+              headerMethod="#_Pe_jUjG0Ed-kc8dEZsdm2w" conditionMethod="#_9DSvBHLYEd-09ds9dfYpFw"

+              initMethod="#_Pe_jUzG0Ed-kc8dEZsdm2w" footerMethod="#_Pe_jVTG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_TkHPkId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_Pe_jUjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jUjG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_Pe_jUzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jUzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_9DSvBHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._9DSvBHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_Pe_jVTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jVTG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_Pe_jVzG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jVzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_Sr5gCGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Sr5gCGKPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_08EE9mKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._08EE9mKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_Pe_jWTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jWTG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_TnBZoId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_ToOTgId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_Chxo4ChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_ToyUMId1EemTGPCEQmMGWg"

+                called="#_Pe_jWTG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_TpGdQId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_TpZ_QId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_PfcPQDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/FactoryClass.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"

+              name="FactoryClass" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_VlOiICg6Ed-ROrlGa8LEeQ"

+              headerMethod="#_PfcPQjG0Ed-kc8dEZsdm2w" conditionMethod="#_9cLJFHLYEd-09ds9dfYpFw"

+              initMethod="#_PfcPQzG0Ed-kc8dEZsdm2w" footerMethod="#_PfcPRTG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_UCLEkId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_PfcPQjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfcPQjG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PfcPQzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfcPQzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_9cLJFHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._9cLJFHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_PfcPRTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfcPRTG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PfcPRzG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfcPRzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_StZU2GKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._StZU2GKPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_07LUKWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._07LUKWKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_PfmAQTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfmAQTG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_UFGcwId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_UGVy4Id1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_QRYMcChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_UG7BsId1EemTGPCEQmMGWg"

+                called="#_PfmAQTG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_UHN8oId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_UHgQgId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_MeyroChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_Pf47MDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/EnumClass.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"

+              name="EnumClass" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_txlYcCg6Ed-ROrlGa8LEeQ"

+              headerMethod="#_Pf47MjG0Ed-kc8dEZsdm2w" conditionMethod="#_9QQM9HLYEd-09ds9dfYpFw"

+              initMethod="#_Pf47MzG0Ed-kc8dEZsdm2w" footerMethod="#_Pf47NTG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_UIP3YId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_Pf47MjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47MjG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_Pf47MzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47MzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_9QQM9HLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._9QQM9HLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_Pf47NTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47NTG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_Pf47NzG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47NzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_SrwWGGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._SrwWGGKPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_07UeGWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._07UeGWKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_Pf47OTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47OTG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_ULJaYId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_UMTQ8Id1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_Chxo4ChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_UM5G0Id1EemTGPCEQmMGWg"

+                called="#_Pf47OTG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_UNLasId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_UNeVoId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_PgCsMDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/PackageClass.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"

+              name="PackageInterface" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_VlOiICg6Ed-ROrlGa8LEeQ"

+              headerMethod="#_PgCsMjG0Ed-kc8dEZsdm2w" conditionMethod="#_9S7thHLYEd-09ds9dfYpFw"

+              initMethod="#_PgCsMzG0Ed-kc8dEZsdm2w" footerMethod="#_PgCsNTG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_TeBOoId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_PgCsMjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgCsMjG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PgCsMzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgCsMzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_9S7thHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._9S7thHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_PgCsNTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgCsNTG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PgL2IDG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgL2IDG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_Ssf88WKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._Ssf88WKPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_08zr2WKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._08zr2WKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_PgL2IjG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgL2IjG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_Tg_qIId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_TiKu0Id1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_QRYMcChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_TiwksId1EemTGPCEQmMGWg"

+                called="#_PgL2IjG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_TjC4kId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_TjWakId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_MeyroChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_PgVnIDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/FactoryClass.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"

+              name="FactoryInterface" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_VlOiICg6Ed-ROrlGa8LEeQ"

+              headerMethod="#_PgVnIjG0Ed-kc8dEZsdm2w" conditionMethod="#_9HAxZHLYEd-09ds9dfYpFw"

+              initMethod="#_PgVnIzG0Ed-kc8dEZsdm2w" footerMethod="#_PgVnJTG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_UOQYwId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_PgVnIjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnIjG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PgVnIzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnIzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_9HAxZHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._9HAxZHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_PgVnJTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnJTG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PgVnJzG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnJzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_StsPyGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._StsPyGKPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_08N1-WKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._08N1-WKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_PgVnKTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnKTG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_URQpcId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_UScVMId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_QRYMcChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_UTBkAId1EemTGPCEQmMGWg"

+                called="#_PgVnKTG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_UTVGAId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_UTooAId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_MeyroChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_PgoiEDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/ResourceClass.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"

+              name="ResourceClass" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_VlOiICg6Ed-ROrlGa8LEeQ"

+              headerMethod="#_PgoiEjG0Ed-kc8dEZsdm2w" conditionMethod="#_85wYhHLYEd-09ds9dfYpFw"

+              initMethod="#_PgoiEzG0Ed-kc8dEZsdm2w" footerMethod="#_PgoiFTG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_UUcgUId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_PgoiEjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiEjG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PgoiEzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiEzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_85wYhHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._85wYhHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_PgoiFTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiFTG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PgoiFzG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiFzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_SsDRCGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._SsDRCGKPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_08qh6WKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._08qh6WKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_PgoiGTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiGTG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_UXaUwId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_UZ2kwId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_QRYMcChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_UacaoId1EemTGPCEQmMGWg"

+                called="#_PgoiGTG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_UauugId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_UbCQgId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_MeyroChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_Pg8EEDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.interface.javadoc.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.declaredFieldGenFeature.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.egfCustom.constructor.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.dynamicDelegation&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.reflectiveDelegation.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genFeatureReified.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genFeature.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genOperation.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.eUnset.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.eIsSet.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.insert&#xA;"

+              name="Interface" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_hYG6UCg6Ed-ROrlGa8LEeQ"

+              headerMethod="#_Pg8EEjG0Ed-kc8dEZsdm2w" conditionMethod="#_9Kva1HLYEd-09ds9dfYpFw"

+              initMethod="#_Pg8EEzG0Ed-kc8dEZsdm2w" footerMethod="#_Pg8EFTG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_TGAXQId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_Pg8EEjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EEjG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_Pg8EEzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EEzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_9Kva1HLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._9Kva1HLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_Pg8EFTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EFTG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_Pg8EFzG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EFzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_SrmlGGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._SrmlGGKPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_08Xm-WKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._08Xm-WKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_Pg8EGTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EGTG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_TI5TMId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_TKCisId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_Chxo4ChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_TKl8UId1EemTGPCEQmMGWg"

+                called="#_Pg8EGTG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_TK3CEId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_TLJV8Id1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_PhO_ADG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/AdapterFactoryClass.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"

+              name="AdapterFactoryClass" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_VlOiICg6Ed-ROrlGa8LEeQ"

+              headerMethod="#_PhO_AjG0Ed-kc8dEZsdm2w" conditionMethod="#_9Wzg5HLYEd-09ds9dfYpFw"

+              initMethod="#_PhO_AzG0Ed-kc8dEZsdm2w" footerMethod="#_PhO_BTG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_TqLbUId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_PhO_AjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_AjG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PhO_AzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_AzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_9Wzg5HLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._9Wzg5HLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_PhO_BTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_BTG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PhO_BzG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_BzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_Ssy372KPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._Ssy372KPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_089c2WKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._089c2WKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_PhO_CTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_CTG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_TtGMcId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_TuSfQId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_QRYMcChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_Tu4VIId1EemTGPCEQmMGWg"

+                called="#_PhO_CTG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_TvLQEId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_TveyEId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_MeyroChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_Phh58DG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/SwitchClass.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"

+              name="SwitchClass" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_VlOiICg6Ed-ROrlGa8LEeQ"

+              headerMethod="#_Phh58jG0Ed-kc8dEZsdm2w" conditionMethod="#_82LgFHLYEd-09ds9dfYpFw"

+              initMethod="#_Phh58zG0Ed-kc8dEZsdm2w" footerMethod="#_Phh59TG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_TL8AIId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_Phh58jG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh58jG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_Phh58zG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh58zG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_82LgFHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._82LgFHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_Phh59TG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh59TG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_Phh59zG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh59zG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_StieyGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._StieyGKPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_07BjKWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._07BjKWKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_Phh5-TG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh5-TG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_TO2KMId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_TQAn0Id1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_QRYMcChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_TQl2oId1EemTGPCEQmMGWg"

+                called="#_Phh5-TG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_TQ3jcId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_TRKeYId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_MeyroChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_Ph004DG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/ValidatorClass.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;    * org.eclipse.egf.emf.pattern.model.call.ValidatorClass.ValidatorClass.insert&#xA;"

+              name="ValidatorClass" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_VlOiICg6Ed-ROrlGa8LEeQ"

+              headerMethod="#_Ph004jG0Ed-kc8dEZsdm2w" conditionMethod="#_9Nt2VHLYEd-09ds9dfYpFw"

+              initMethod="#_Ph004zG0Ed-kc8dEZsdm2w" footerMethod="#_Ph005TG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_TX5YgId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_Ph004jG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph004jG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_Ph004zG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph004zG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_9Nt2VHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._9Nt2VHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_Ph005TG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph005TG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_Ph005zG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph005zG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_SspG8mKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._SspG8mKPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_07ePGWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._07ePGWKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_Ph006TG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph006TG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_Ta0wsId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_TcAccId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_QRYMcChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_Tcm5YId1EemTGPCEQmMGWg"

+                called="#_Ph006TG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_Tc5NQId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_TdK6EId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_MeyroChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_QIGxoH7rEd-W9_ZFSEQEPg" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/module.gwt.xmljet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderXml&#xA;"

+              name="ModuleGWTXML" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_ZTUvECg7Ed-ROrlGa8LEeQ"

+              headerMethod="#_QIGxon7rEd-W9_ZFSEQEPg" conditionMethod="#_QIGxpH7rEd-W9_ZFSEQEPg"

+              initMethod="#_QIGxo37rEd-W9_ZFSEQEPg" footerMethod="#_QIGxpn7rEd-W9_ZFSEQEPg">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_SyV0YId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_QIGxon7rEd-W9_ZFSEQEPg" name="header" patternFilePath="templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxon7rEd-W9_ZFSEQEPg.pt"/>

+            <methods xmi:id="_QIGxo37rEd-W9_ZFSEQEPg" name="init" patternFilePath="templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxo37rEd-W9_ZFSEQEPg.pt"/>

+            <methods xmi:id="_QIGxpH7rEd-W9_ZFSEQEPg" name="preCondition" patternFilePath="templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxpH7rEd-W9_ZFSEQEPg.pt"/>

+            <methods xmi:id="_QIGxpn7rEd-W9_ZFSEQEPg" name="footer" patternFilePath="templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxpn7rEd-W9_ZFSEQEPg.pt"/>

+            <methods xmi:id="_QIGxqH7rEd-W9_ZFSEQEPg" name="setReporterVariables"

+                patternFilePath="templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxqH7rEd-W9_ZFSEQEPg.pt"/>

+            <methods xmi:id="_QIGxqX7rEd-W9_ZFSEQEPg" name="setArgument" patternFilePath="templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxqX7rEd-W9_ZFSEQEPg.pt"/>

+            <methods xmi:id="_QIGxqn7rEd-W9_ZFSEQEPg" name="ensureProjectExists" patternFilePath="templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxqn7rEd-W9_ZFSEQEPg.pt"/>

+            <methods xmi:id="_QIGxrH7rEd-W9_ZFSEQEPg" name="doGenerate" patternFilePath="templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxrH7rEd-W9_ZFSEQEPg.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_S2yPgId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_S3_wcId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_mwzm4ChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_S4k_QId1EemTGPCEQmMGWg"

+                called="#_QIGxrH7rEd-W9_ZFSEQEPg"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_S436MId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_S5I_8Id1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>

+          </elements>

+        </libraries>

+        <libraries xmi:id="_0uqqgGJ-Ed-FqczH3ESmRw" name="org.eclipse.egf.emf.pattern.model.call.ResourceFactoryClass">

+          <elements xmi:id="_0uqqgWJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/ResourceFactoryClass.javajet&quot;&#xA;"

+              name="ResourceFactoryClass.createResource.override" headerMethod="#_0uqqg2J-Ed-FqczH3ESmRw"

+              conditionMethod="#_--X7pXLYEd-09ds9dfYpFw" initMethod="#_0uqqhGJ-Ed-FqczH3ESmRw"

+              footerMethod="#_0uqqhmJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_pe2BgId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0uqqg2J-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._0uqqg2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0uqqhGJ-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._0uqqhGJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_--X7pXLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._--X7pXLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0uqqhmJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._0uqqhmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0uqqimJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._0uqqimJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_pilSAId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_pi7QQId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_pjScoId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_piRI8Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_pkA1YId1EemTGPCEQmMGWg"

+                called="#_0uqqimJ-Ed-FqczH3ESmRw"/>

+          </elements>

+        </libraries>

+        <libraries xmi:id="_0jpGTWJ-Ed-FqczH3ESmRw" name="org.eclipse.egf.emf.pattern.model.call.Class">

+          <elements xmi:id="_0jpGTmJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.declaredFieldGenFeature.insert&#xA;"

+              name="Class.declaredFieldGenFeature.override" headerMethod="#_0jpGUGJ-Ed-FqczH3ESmRw"

+              conditionMethod="#__Dly1XLYEd-09ds9dfYpFw" initMethod="#_0jpGUWJ-Ed-FqczH3ESmRw"

+              footerMethod="#_0jpGU2J-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_gqeo4Id1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0jpGUGJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method._0jpGUGJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0jpGUWJ-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method._0jpGUWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="__Dly1XLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method.__Dly1XLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0jpGU2J-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method._0jpGU2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0jpGYGJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method._0jpGYGJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_gt_P4Id1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_guTY8Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_guoJEId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_gu8SIId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_gvRpUId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_gvlyYId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_gv57cId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_gwNdcId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_gwhmgId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_gw29sId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_gxMU4Id1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_gxi6MId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_gx3DQId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_gyLzYId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_gygjgId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_gy0FgId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_gzI1oId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_gtqfwId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_gzyV4Id1EemTGPCEQmMGWg"

+                called="#_0jpGYGJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0jyQMGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Class.declaredFieldGenFeature.insert" headerMethod="#_0jyQMmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#__Fq2dHLYEd-09ds9dfYpFw" initMethod="#_0jyQM2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0jyQNWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_g0guoId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0jyQMmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method._0jyQMmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0jyQM2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method._0jyQM2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="__Fq2dHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method.__Fq2dHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0jyQNWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method._0jyQNWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0jyQQmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method._0jyQQmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_g3-5YId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_g4TCcId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_g4nLgId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_g477oId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_g5QEsId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_g5kNwId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_g5494Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_g6NG8Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_g6h3EId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_g63OQId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_g7OaoId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_g7jKwId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_g74h8Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_g8NSEId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_g8g0EId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_g8zvAId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_g9HRAId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_g3qwUId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_g9u8EId1EemTGPCEQmMGWg"

+                called="#_0jyQQmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0kFyMGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Class.reflectiveDelegation.override" headerMethod="#_0kFyMmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#__IDcFHLYEd-09ds9dfYpFw" initMethod="#_0kFyM2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0kFyNWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_hTfJoId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0kFyMmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method._0kFyMmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0kFyM2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method._0kFyM2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="__IDcFHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method.__IDcFHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0kFyNWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method._0kFyNWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0kFyQWJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method._0kFyQWJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_hW8tUId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_hXQPUId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_hXjxUId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_hX3TUId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_hYLcYId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_hYe-YId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_hYzugId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_hZH3kId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_hZcAoId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_hZwwwId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_haFg4Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_haZp8Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_hatzAId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_hbB8EId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_hbWFIId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_hbq1QId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_hWokQId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_hcSgUId1EemTGPCEQmMGWg"

+                called="#_0kFyQWJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0kO8IGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.basicGetGenFeature.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.basicUnsetGenFeature.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.unsetGenFeature.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.isSetGenFeature.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.genFeature.insert&#xA;"

+              name="Class.genFeature.override" headerMethod="#_0kO8ImJ-Ed-FqczH3ESmRw"

+              conditionMethod="#__LCepHLYEd-09ds9dfYpFw" initMethod="#_0kO8I2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0kO8JWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_iQgLgId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0kO8ImJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method._0kO8ImJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0kO8I2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method._0kO8I2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="__LCepHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method.__LCepHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0kO8JWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method._0kO8JWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0kO8MmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method._0kO8MmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_iUGSEId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_iUabIId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_iUvyUId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_iVFJgId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_iVZ5oId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_iVupwId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_iWCy0Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_iWWU0Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_iWqd4Id1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_iW-m8Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_iXTXEId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_iXm5EId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_iX7pMId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_iYPyQId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_iYkiYId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_iY5SgId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_iZOCoId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_iTvswId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_iZ4xAId1EemTGPCEQmMGWg"

+                called="#_0kO8MmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0kh3EGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.javadoc.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.annotations.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.pre.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.TODO.override&#xA;"

+              name="Class.getGenFeature.override" headerMethod="#_0kh3EmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#__MrdZHLYEd-09ds9dfYpFw" initMethod="#_0kh3E2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0kh3FWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_iapmAId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0kh3EmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method._0kh3EmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0kh3E2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method._0kh3E2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="__MrdZHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method.__MrdZHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0kh3FWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method._0kh3FWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0kh3ImJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method._0kh3ImJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_ieMpQId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_iegyUId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_ie0UUId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_ifIdYId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_ifcmcId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ifxWkId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_igFfoId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_igZosId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_igtKsId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ihB60Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ihWq8Id1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ihrbEId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ih_kIId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_iiYlsId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_iiuj8Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ijDUEId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ijYrQId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_id5HQId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_ikCykId1EemTGPCEQmMGWg"

+                called="#_0kh3ImJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0kroEGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.javadoc.insert&#xA;"

+              name="Class.getGenFeature.javadoc.override" headerMethod="#_0kroEmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#__Nt_NHLYEd-09ds9dfYpFw" initMethod="#_0kroE2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0kroFWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_ik3R8Id1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0kroEmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method._0kroEmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0kroE2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method._0kroE2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="__Nt_NHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method.__Nt_NHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0kroFWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method._0kroFWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0kroImJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method._0kroImJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_iocKYId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_iow6gId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_ipFqoId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_ipZzsId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_ipt8wId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_iqCF0Id1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_iqWO4Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_iqqX8Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_iq-hAId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_irTRIId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_iroBQId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ir8xYId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_isRhgId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_ismRoId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_is_TMId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_itV4gId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_itrPsId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_ioIoYId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_iuUI4Id1EemTGPCEQmMGWg"

+                called="#_0kroImJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0lIUAGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Class.getGenFeature.javadoc.insert" headerMethod="#_0lIUAmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#__O6SBHLYEd-09ds9dfYpFw" initMethod="#_0lIUA2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0lIUBWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_ivEW0Id1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0lIUAmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method._0lIUAmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0lIUA2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method._0lIUA2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="__O6SBHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method.__O6SBHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0lIUBWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method._0lIUBWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0lIUEmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method._0lIUEmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_iyp2UId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_iy9YUId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_izRhYId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_izlDYId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_iz5McId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_i0NVgId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_i0g3gId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_i01noId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_i1JwsId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_i1d5wId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_i1z4AId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_i2IBEId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_i2cxMId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_i2w6QId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_i3EcQId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_i3YlUId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_i3tVcId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_iyVtQId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_i4WOoId1EemTGPCEQmMGWg"

+                called="#_0lIUEmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0lIUFGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Class.getGenFeature.annotations.insert" headerMethod="#_0lIUFmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#__P9a5HLYEd-09ds9dfYpFw" initMethod="#_0lIUF2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0lIUGWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_hnXH4Id1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0lIUFmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method._0lIUFmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0lIUF2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method._0lIUF2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="__P9a5HLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method.__P9a5HLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0lIUGWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method._0lIUGWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0lSFCmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method._0lSFCmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_hq3H0Id1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_hrLQ4Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_hrgBAId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_hr0KEId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_hsITIId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_hsccMId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_hsv-MId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_htEHQId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_htY3YId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_httAcId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_huBJgId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_huVSkId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_huqCsId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_hu9ksId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_hvRtwId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_hvlPwId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_hv5_4Id1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_hqi-wId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_hwjgIId1EemTGPCEQmMGWg"

+                called="#_0lSFCmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0lSFDGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Class.getGenFeature.pre.insert" headerMethod="#_0lSFDmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#__RvjlHLYEd-09ds9dfYpFw" initMethod="#_0lbO8GJ-Ed-FqczH3ESmRw"

+              footerMethod="#_0lbO8mJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_hxSf8Id1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0lSFDmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method._0lSFDmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0lbO8GJ-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method._0lbO8GJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="__RvjlHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method.__RvjlHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0lbO8mJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method._0lbO8mJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0lbO_2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method._0lbO_2J-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_h06bsId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_h1RoEId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_h1lxIId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_h156MId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_h2OqUId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_h2jacId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_h24KkId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_h3MToId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_h3fOkId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_h3zXoId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_h4G5oId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_h4bCsId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_h4vLwId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_h5DU0Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_h5W20Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_h5q_4Id1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_h6FPkId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_h0j2YId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_h6uIwId1EemTGPCEQmMGWg"

+                called="#_0lbO_2J-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0lbPAWJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Class.getGenFeature.TODO.override" headerMethod="#_0lbPA2J-Ed-FqczH3ESmRw"

+              conditionMethod="#__TiTVHLYEd-09ds9dfYpFw" initMethod="#_0lbPBGJ-Ed-FqczH3ESmRw"

+              footerMethod="#_0lbPBmJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_i5EnYId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0lbPA2J-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method._0lbPA2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0lbPBGJ-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method._0lbPBGJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="__TiTVHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method.__TiTVHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0lbPBmJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method._0lbPBmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0lbPE2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method._0lbPE2J-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_i8g88Id1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_i80e8Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_i9IoAId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_i9bi8Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_i9vsAId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_i-D1EId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_i-X-IId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_i-suQId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_i_CFcId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_i_YDsId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_i_sz0Id1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_jABj8Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_jAVtAId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_jAqdIId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_jA_NQId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_jBTWUId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_jBm4UId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_i8Mz4Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_jCPKcId1EemTGPCEQmMGWg"

+                called="#_0lbPE2J-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0lk_8GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.basicGetGenFeature.annotations.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.basicGetGenFeature.pre.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.basicGetGenFeature.TODO.override&#xA;"

+              name="Class.basicGetGenFeature.override" headerMethod="#_0lk_8mJ-Ed-FqczH3ESmRw"

+              conditionMethod="#__VBhFHLYEd-09ds9dfYpFw" initMethod="#_0lk_82J-Ed-FqczH3ESmRw"

+              footerMethod="#_0lk_9WJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_jC__cId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0lk_8mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method._0lk_8mJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0lk_82J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method._0lk_82J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="__VBhFHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method.__VBhFHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0lk_9WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method._0lk_9WJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0llAAmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method._0llAAmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_jGh0kId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_jG2ksId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_jHL74Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_jHk9cId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_jH67sId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_jIPEwId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_jIlDAId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_jI5zIId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_jJQ_gId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_jJlvoId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_jJ54sId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_jKOo0Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_jKix4Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_jK3iAId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_jLMSIId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_jM0p0Id1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_jNNEUId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_jGMdYId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_jN19gId1EemTGPCEQmMGWg"

+                called="#_0llAAmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0l364GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Class.basicGetGenFeature.annotations.insert" headerMethod="#_0l364mJ-Ed-FqczH3ESmRw"

+              conditionMethod="#__XjQpHLYEd-09ds9dfYpFw" initMethod="#_0l3642J-Ed-FqczH3ESmRw"

+              footerMethod="#_0l365WJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_jOlkYId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0l364mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method._0l364mJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0l3642J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method._0l3642J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="__XjQpHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method.__XjQpHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0l365WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method._0l365WJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0l368mJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method._0l368mJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_jSE9QId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_jSYfQId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_jSsoUId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_jTAKUId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_jTUTYId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_jTpDgId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_jT7-cId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_jUQHgId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_jUk3oId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_jU5AsId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_jVMisId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_jVhS0Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_jV000Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_jWIW0Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_jWe8IId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_jWzsQId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_jXH1UId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_jRw0MId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_jXvgYId1EemTGPCEQmMGWg"

+                called="#_0l368mJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0mBr4GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Class.basicGetGenFeature.pre.insert" headerMethod="#_0mBr4mJ-Ed-FqczH3ESmRw"

+              conditionMethod="#__ZDFdHLYEd-09ds9dfYpFw" initMethod="#_0mBr42J-Ed-FqczH3ESmRw"

+              footerMethod="#_0mBr5WJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_jYfHQId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0mBr4mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method._0mBr4mJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0mBr42J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method._0mBr42J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="__ZDFdHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method.__ZDFdHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0mBr5WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method._0mBr5WJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0mBr8mJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method._0mBr8mJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_jcCxkId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_jcXhsId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_jcsR0Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_jdBB8Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_jdVyEId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_jdp7IId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_jd-EMId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_jeSNQId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_jemWUId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_je6fYId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_jfOocId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_jfjYkId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_jf26kId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_jgLqsId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_jgfMsId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_jgyHoId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_jhGQsId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_jbtaYId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_jhtUsId1EemTGPCEQmMGWg"

+                called="#_0mBr8mJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0mK10GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Class.basicGetGenFeature.TODO.override" headerMethod="#_0mK10mJ-Ed-FqczH3ESmRw"

+              conditionMethod="#__a1OJHLYEd-09ds9dfYpFw" initMethod="#_0mK102J-Ed-FqczH3ESmRw"

+              footerMethod="#_0mK11WJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_jieJsId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0mK10mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method._0mK10mJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0mK102J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method._0mK102J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="__a1OJHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method.__a1OJHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0mK11WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method._0mK11WJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0mK14mJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method._0mK14mJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_jmDCIId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_jmYZUId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_jmsiYId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_jnArcId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_jnU0gId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_jnoWgId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_jn9GoId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_joRPsId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_jomm4Id1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_jo6v8Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_jpOR8Id1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_jpjCEId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_jp4ZQId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_jqOXgId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_jqjusId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_jq6UAId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_jrOdEId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_jlvgIId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_jr5ygId1EemTGPCEQmMGWg"

+                called="#_0mK14mJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0mUm0GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.annotations.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.pre.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.post.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.pre.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.post.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.pre.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.post.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.TODO.override&#xA;"

+              name="Class.basicSetGenFeature.override" headerMethod="#_0mUm0mJ-Ed-FqczH3ESmRw"

+              conditionMethod="#__d9apHLYEd-09ds9dfYpFw" initMethod="#_0mUm02J-Ed-FqczH3ESmRw"

+              footerMethod="#_0mUm1WJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_jsqngId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0mUm0mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method._0mUm0mJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0mUm02J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method._0mUm02J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="__d9apHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method.__d9apHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0mUm1WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method._0mUm1WJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0mUm4mJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method._0mUm4mJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_jwQuEId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_jwk3IId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_jw5nQId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_jxOXYId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_jxigcId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_jx33oId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_jyLZoId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_jyfisId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_jy0S0Id1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_jzIb4Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_jzfoQId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_jz0YYId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_j0IhcId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_j0efsId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_j00d8Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_j1LqUId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_j1iPoId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_jv5hsId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_j2OzMId1EemTGPCEQmMGWg"

+                called="#_0mUm4mJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0mnhwGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Class.basicSetGenFeature.annotations.insert" headerMethod="#_0mnhwmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#__fJtdHLYEd-09ds9dfYpFw" initMethod="#_0mnhw2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0mnhxWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_h7dIkId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0mnhwmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method._0mnhwmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0mnhw2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method._0mnhw2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="__fJtdHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method.__fJtdHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0mnhxWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method._0mnhxWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0mnh0mJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method._0mnh0mJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_h-7TUId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_h_O1UId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_h_iXUId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_h_15UId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_iAKCYId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_iAfZkId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_iA0JsId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_iBISwId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_iBcb0Id1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_iBxzAId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_iCFVAId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_iCaFIId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_iCtnIId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_iDBwMId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_iDWgUId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_iDqpYId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_iEAAkId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_h-nxUId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_iEwOgId1EemTGPCEQmMGWg"

+                called="#_0mnh0mJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0mxSwGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Class.basicSetGenFeature.pre.insert" headerMethod="#_0mxSwmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#__gDFVHLYEd-09ds9dfYpFw" initMethod="#_0mxSw2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0mxSxWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_j3A2UId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0mxSwmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method._0mxSwmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0mxSw2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method._0mxSw2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="__gDFVHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method.__gDFVHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0mxSxWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method._0mxSxWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0mxS0mJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method._0mxS0mJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_j6mV0Id1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_j67tAId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_j7P2EId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_j7nCcId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_j77ykId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_j8PUkId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_j8kEsId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_j85b4Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_j9OMAId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_j9iVEId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_j93FMId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_j-ORkId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_j-jBsId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_j-4Y4Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_j_Mh8Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_j_gD8Id1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_j_0NAId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_j6SMwId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_kAeUUId1EemTGPCEQmMGWg"

+                called="#_0mxS0mJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0mxS1GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Class.basicSetGenFeature.post.insert" headerMethod="#_0mxS1mJ-Ed-FqczH3ESmRw"

+              conditionMethod="#__gysNHLYEd-09ds9dfYpFw" initMethod="#_0mxS12J-Ed-FqczH3ESmRw"

+              footerMethod="#_0m6csWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_kBOiQId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0mxS1mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method._0mxS1mJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0mxS12J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method._0mxS12J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="__gysNHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method.__gysNHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0m6csWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method._0m6csWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0m6cvmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method._0m6cvmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_kEw-cId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_kFGVoId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_kFbs0Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_kFxEAId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_kGFNEId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_kGZ9MId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_kGutUId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_kHFSoId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_kHZbsId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_kHuL0Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_kIC78Id1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_kIXFAId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_kIrOEId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_kJBMUId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_kJZm0Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_kJtv4Id1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_kKE8QId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_kEcOUId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_kKwRsId1EemTGPCEQmMGWg"

+                called="#_0m6cvmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0m6cwGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Class.basicSetGenFeature.TODO.override" headerMethod="#_0m6cwmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#__hsEFHLYEd-09ds9dfYpFw" initMethod="#_0m6cw2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0m6cxWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_kLi74Id1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0m6cwmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method._0m6cwmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0m6cw2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method._0m6cw2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="__hsEFHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method.__hsEFHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0m6cxWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method._0m6cxWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0m6c0mJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method._0m6c0mJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_kPIbYId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_kPdLgId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_kPxUkId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_kQE2kId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_kRfL0Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_kR1xIId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_kSJ6MId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_kSfRYId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_kS0okId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_kTLN4Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_kThzMId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_kT2jUId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_kUNIoId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_kUh4wId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_kU2o4Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_kVKx8Id1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_kVgJIId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_kO0SUId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_kWH0MId1EemTGPCEQmMGWg"

+                called="#_0m6c0mJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0nN-sGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.javadoc.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.annotations.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.pre.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.dynamicSetGenFeature.pre.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.dynamicSetGenFeature.post.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.post.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.TODO.override&#xA;"

+              name="Class.setGenFeature.override" headerMethod="#_0nN-smJ-Ed-FqczH3ESmRw"

+              conditionMethod="#__jLR1HLYEd-09ds9dfYpFw" initMethod="#_0nN-s2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0nN-tWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_kW4CIId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0nN-smJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method._0nN-smJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0nN-s2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method._0nN-s2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="__jLR1HLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method.__jLR1HLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0nN-tWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method._0nN-tWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0nN-wmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method._0nN-wmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_kahMAId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_ka2jMId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_kbL6YId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_kbfcYId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_kby-YId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_kcGgYId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_kcaCYId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_kctkYId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_kdAfUId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_kdUoYId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_kdoxcId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_kd8TcId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_keQcgId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_keklkId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ke4HkId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_kfLpkId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_kffyoId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_kaNC8Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_kgJS4Id1EemTGPCEQmMGWg"

+                called="#_0nN-wmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0nXIoGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.javadoc.insert&#xA;"

+              name="Class.setGenFeature.javadoc.override" headerMethod="#_0nXIomJ-Ed-FqczH3ESmRw"

+              conditionMethod="#__m57RHLYEd-09ds9dfYpFw" initMethod="#_0nXIo2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0nXIpWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_kg45wId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0nXIomJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method._0nXIomJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0nXIo2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method._0nXIo2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="__m57RHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method.__m57RHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0nXIpWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method._0nXIpWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0nXIsmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method._0nXIsmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_kkZgwId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_kktCwId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_klBy4Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_klVU4Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_klo24Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_kl8_8Id1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_kmQh8Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_kmlSEId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_km40EId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_knNkMId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_knqQIId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_koAOYId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_koVlkId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_korj0Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_kpCwMId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_kpW5QId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_kpsQcId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_kkFXsId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_kqT7gId1EemTGPCEQmMGWg"

+                called="#_0nXIsmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0ng5oGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Class.setGenFeature.javadoc.insert" headerMethod="#_0ng5omJ-Ed-FqczH3ESmRw"

+              conditionMethod="#__oi6BHLYEd-09ds9dfYpFw" initMethod="#_0ng5o2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0ng5pWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_krDiYId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0ng5omJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method._0ng5omJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0ng5o2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method._0ng5o2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="__oi6BHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method.__oi6BHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0ng5pWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method._0ng5pWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0ng5smJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method._0ng5smJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_kuhGEId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_ku1PIId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_kvJYMId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_kvfWcId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_kvy4cId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_kwHBgId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_kwdm0Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_kwxv4Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_kxFR4Id1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_kxbQIId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_kxvZMId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_kyDiQId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_kyaHkId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_kywF0Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_kzEO4Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_kzY_AId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_kztIEId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_kuNkEId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_k0X2cId1EemTGPCEQmMGWg"

+                called="#_0ng5smJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0nqqoGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Class.setGenFeature.annotations.insert" headerMethod="#_0nqqomJ-Ed-FqczH3ESmRw"

+              conditionMethod="#__pvM1HLYEd-09ds9dfYpFw" initMethod="#_0nqqo2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0nqqpWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_iFf1YId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0nqqomJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method._0nqqomJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0nqqo2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method._0nqqo2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="__pvM1HLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method.__pvM1HLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0nqqpWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method._0nqqpWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0nqqsmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method._0nqqsmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_iJ_64Id1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_iKUrAId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_iKo0EId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_iK89IId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_iLQfIId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_iLkoMId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_iL4xQId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_iMM6UId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_iMgcUId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_iM0lYId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_iNJVgId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_iNf60Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_iN0D4Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_iOI0AId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_iOdkIId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_iOyUQId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_iPGdUId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_iJp8oId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_iPv9kId1EemTGPCEQmMGWg"

+                called="#_0nqqsmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0nz0kGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Class.setGenFeature.pre.insert" headerMethod="#_0nz0kmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#__rEplHLYEd-09ds9dfYpFw" initMethod="#_0nz0k2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0nz0lWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_k1HdUId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0nz0kmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method._0nz0kmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0nz0k2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method._0nz0k2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="__rEplHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method.__rEplHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0nz0lWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method._0nz0lWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0nz0o2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method._0nz0o2J-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_k4hWoId1EemTGPCEQmMGWg" name="setAccessorOperation"

+                type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>

+            <parameters xmi:id="_k42GwId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_k5MFAId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_k5gOEId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_k50XIId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_k6IgMId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_k6cpQId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_k6wyUId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_k7FicId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_k7a5oId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_k7wQ0Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_k8EZ4Id1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_k8Yi8Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_k8uhMId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_k9D4YId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_k9YBcId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_k9sKgId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_k-CIwId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_k4N0oId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_k-pz0Id1EemTGPCEQmMGWg"

+                called="#_0nz0o2J-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0qMaMGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Class.setGenFeature.post.insert" headerMethod="#_0qMaMmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#__sQ8ZHLYEd-09ds9dfYpFw" initMethod="#_0qMaM2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0qMaNWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_lWAj4Id1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0qMaMmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method._0qMaMmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0qMaM2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method._0qMaM2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="__sQ8ZHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method.__sQ8ZHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0qMaNWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method._0qMaNWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0qMaQ2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method._0qMaQ2J-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_lZn4kId1EemTGPCEQmMGWg" name="setAccessorOperation"

+                type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>

+            <parameters xmi:id="_lZ8osId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_laR_4Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_lamI8Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_la6SAId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_lbPpMId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_lblAYId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_lb6XkId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_lcOgoId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_lcjQwId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_lc3Z0Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ldLi4Id1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ldg6EId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ld1qMId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_leJzQId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_lefKcId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_le1IsId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_lfKf4Id1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_lZR6UId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_lfyyAId1EemTGPCEQmMGWg"

+                called="#_0qMaQ2J-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0qMaRWJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Class.setGenFeature.TODO.override" headerMethod="#_0qMaR2J-Ed-FqczH3ESmRw"

+              conditionMethod="#__tAjRHLYEd-09ds9dfYpFw" initMethod="#_0qMaSGJ-Ed-FqczH3ESmRw"

+              footerMethod="#_0qWLMWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_lgi_8Id1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0qMaR2J-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method._0qMaR2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0qMaSGJ-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method._0qMaSGJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="__tAjRHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method.__tAjRHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0qWLMWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method._0qWLMWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0qWLP2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method._0qWLP2J-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_lkK7sId1EemTGPCEQmMGWg" name="setAccessorOperation"

+                type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>

+            <parameters xmi:id="_lkfEwId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_lkz04Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_llJMEId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_llejQId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_llz6cId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_lmIqkId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_lmczoId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_lmxjwId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_lnFs0Id1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_lnac8Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_lnv0IId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_loEkQId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_loYGQId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_lotdcId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_lpCNkId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_lpVvkId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_lppRkId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_lj0WYId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_lqRjsId1EemTGPCEQmMGWg"

+                called="#_0qWLP2J-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0qfVIGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.basicUnsetGenFeature.annotations.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.basicUnsetGenFeature.TODO.override&#xA;"

+              name="Class.basicUnsetGenFeature.override" headerMethod="#_0qfVImJ-Ed-FqczH3ESmRw"

+              conditionMethod="#__v101HLYEd-09ds9dfYpFw" initMethod="#_0qfVI2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0qfVJWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_lrAjgId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0qfVImJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method._0qfVImJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0qfVI2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method._0qfVI2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="__v101HLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method.__v101HLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0qfVJWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method._0qfVJWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0qfVMmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method._0qfVMmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_luiYoId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_lu2hsId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_lvKqwId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_lvez0Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_lv0LAId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_lwJiMId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_lwe5YId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_lwzCcId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_lxHykId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_lxcisId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_lxwrwId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_lyE00Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_lyY94Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_lytuAId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_lzCeIId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_lzWnMId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_lzqwQId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_luOPkId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_l0U3kId1EemTGPCEQmMGWg"

+                called="#_0qfVMmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0qpGIGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Class.basicUnsetGenFeature.annotations.insert" headerMethod="#_0qpGImJ-Ed-FqczH3ESmRw"

+              conditionMethod="#__xezlHLYEd-09ds9dfYpFw" initMethod="#_0qpGI2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0qpGJWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_l1FskId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0qpGImJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method._0qpGImJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0qpGI2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method._0qpGI2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="__xezlHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method.__xezlHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0qpGJWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method._0qpGJWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0qpGMmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method._0qpGMmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_l4rMEId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_l4_VIId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_l5TeMId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_l5oOUId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_l58-cId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_l6RHgId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_l6kpgId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_l66AsId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_l7SbMId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_l7qOoId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_l8Az8Id1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_l8VkEId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_l8ptIId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_l8-dQId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_l9SmUId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_l9nWcId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_l98toId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_l4XqEId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_l-m08Id1EemTGPCEQmMGWg"

+                called="#_0qpGMmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0qy3IGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Class.basicUnsetGenFeature.TODO.override" headerMethod="#_0qy3ImJ-Ed-FqczH3ESmRw"

+              conditionMethod="#__yrGZHLYEd-09ds9dfYpFw" initMethod="#_0qy3I2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0qy3JWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_l_YRAId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0qy3ImJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method._0qy3ImJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0qy3I2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method._0qy3I2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="__yrGZHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method.__yrGZHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0qy3JWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method._0qy3JWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0qy3MmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method._0qy3MmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_mDD3IId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_mDYnQId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_mDt-cId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_mECHgId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_mEXesId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_mErnwId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_mFAX4Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_mFVIAId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_mFp4IId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_mF_PUId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_mGTYYId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_mGnhcId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_mG7qgId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_mHRBsId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_mHlx0Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_mH564Id1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_mIPSEId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_mCvHAId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_mI6AcId1EemTGPCEQmMGWg"

+                called="#_0qy3MmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0q8BEGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.unsetGenFeature.javadoc.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.unsetGenFeature.annotations.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.unsetGenFeature.TODO.override&#xA;"

+              name="Class.unsetGenFeature.override" headerMethod="#_0q8BEmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#__0BKNHLYEd-09ds9dfYpFw" initMethod="#_0q8BE2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0q8BFWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_mJq1cId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0q8BEmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method._0q8BEmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0q8BE2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method._0q8BE2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="__0BKNHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method.__0BKNHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0q8BFWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method._0q8BFWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0q8BImJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method._0q8BImJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_mNQU8Id1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_mNlFEId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_mN51MId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_mOPMYId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_mOkjkId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_mO56wId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_mPOq4Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_mPjbAId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_mP4LIId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_mQM7QId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_mQi5gId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_mQ43wId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_mROO8Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_mRkNMId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_mR49UId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_mSNtcId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_mSidkId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_mM8L4Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_mTKvsId1EemTGPCEQmMGWg"

+                called="#_0q8BImJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0rPjEGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.unsetGenFeature.javadoc.insert&#xA;"

+              name="Class.unsetGenFeature.javadoc.override" headerMethod="#_0rPjEmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#__1gX9HLYEd-09ds9dfYpFw" initMethod="#_0rPjE2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0rPjFWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_mT8y0Id1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0rPjEmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method._0rPjEmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0rPjE2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method._0rPjE2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="__1gX9HLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method.__1gX9HLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0rPjFWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method._0rPjFWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0rPjImJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method._0rPjImJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_mYTuYId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_mYpFkId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_mY91sId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_mZTM4Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_mZsOcId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_maBloId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_maYyAId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_mauJMId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_mbEHcId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_mbaswId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_mbwrAId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_mcIecId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_mccngId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_mcylwId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_mdM1cId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_mdhlkId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_md2VsId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_mX--QId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_meo_4Id1EemTGPCEQmMGWg"

+                called="#_0rPjImJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0rieAGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Class.unsetGenFeature.javadoc.insert" headerMethod="#_0rieAmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#__349lHLYEd-09ds9dfYpFw" initMethod="#_0rieA2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0rieBWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_mfdfQId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0rieAmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method._0rieAmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0rieA2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method._0rieA2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="__349lHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method.__349lHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0rieBWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method._0rieBWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0rieEmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method._0rieEmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_mjFbAId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_mjayMId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_mjwJYId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_mkE5gId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_mkZCkId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_mktysId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_mlDJ4Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_mlX6AId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_mltRMId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_mmCBUId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_mmWxcId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_mmsIoId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_mnA4wId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_mnVo4Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_mnpx8Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_mn-iEId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_moT5QId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_miwD0Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_mo8ycId1EemTGPCEQmMGWg"

+                called="#_0rieEmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0rrn8GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Class.unsetGenFeature.annotations.insert" headerMethod="#_0rrn8mJ-Ed-FqczH3ESmRw"

+              conditionMethod="#__5rtVHLYEd-09ds9dfYpFw" initMethod="#_0rrn82J-Ed-FqczH3ESmRw"

+              footerMethod="#_0rrn9WJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_mptncId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0rrn8mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method._0rrn8mJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0rrn82J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method._0rrn82J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="__5rtVHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method.__5rtVHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0rrn9WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method._0rrn9WJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0rroAmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method._0rroAmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_mtU8IId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_mtqTUId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_mt_DcId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_muVBsId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_mupKwId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_mu-h8Id1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_mvT5IId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_mvpQUId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_mv_OkId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_mwUlwId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_mwrLEId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_mxAiQId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_mxZj0Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_mxu7AId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_myESMId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_myZCUId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_mywOsId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_mtAMAId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_mzdZUId1EemTGPCEQmMGWg"

+                called="#_0rroAmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0r_J8GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Class.unsetGenFeature.TODO.override" headerMethod="#_0r_J8mJ-Ed-FqczH3ESmRw"

+              conditionMethod="#__6keJHLYEd-09ds9dfYpFw" initMethod="#_0r_J82J-Ed-FqczH3ESmRw"

+              footerMethod="#_0r_J9WJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_m0RRoId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0r_J8mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method._0r_J8mJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0r_J82J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method._0r_J82J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="__6keJHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method.__6keJHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0r_J9WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method._0r_J9WJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0r_KAmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method._0r_KAmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_m383wId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_m4S2AId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_m4pbUId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_m5BOwId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_m5V-4Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_m5r9IId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_m6AtQId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_m6XSkId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_m6spwId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_m7BZ4Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_m7WxEId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_m7svUId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_m8CtkId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_m8YEwId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_m8s04Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_m9DaMId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_m9YKUId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_m3oHoId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_m-CRoId1EemTGPCEQmMGWg"

+                called="#_0r_KAmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0sIT4GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.isSetGenFeature.javadoc.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.isSetGenFeature.annotations.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.isSetGenFeature.TODO.override&#xA;"

+              name="Class.isSetGenFeature.override" headerMethod="#_0sIT4mJ-Ed-FqczH3ESmRw"

+              conditionMethod="#__8ES9HLYEd-09ds9dfYpFw" initMethod="#_0sIT42J-Ed-FqczH3ESmRw"

+              footerMethod="#_0sIT5WJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_m-zGoId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0sIT4mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method._0sIT4mJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0sIT42J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method._0sIT42J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="__8ES9HLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method.__8ES9HLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0sIT5WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method._0sIT5WJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0sIT8mJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method._0sIT8mJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_nCkMUId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_nC4VYId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_nDNFgId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_nDh1oId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_nD2lwId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_nELV4Id1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_nEe34Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_nEzA8Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_nFHxEId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_nFb6IId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_nFwDMId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_nGEzUId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_nGZjcId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_nGu6oId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_nHCcoId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_nHXMwId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_nHrV0Id1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_nCO1IId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_nIUPAId1EemTGPCEQmMGWg"

+                called="#_0sIT8mJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0sSE4GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.isSetGenFeature.javadoc.insert&#xA;"

+              name="Class.isSetGenFeature.javadoc.override" headerMethod="#_0sSE4mJ-Ed-FqczH3ESmRw"

+              conditionMethod="#__9sqpHLYEd-09ds9dfYpFw" initMethod="#_0sSE42J-Ed-FqczH3ESmRw"

+              footerMethod="#_0sSE5WJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_nJDO0Id1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0sSE4mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method._0sSE4mJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0sSE42J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method._0sSE42J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="__9sqpHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method.__9sqpHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0sSE5WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method._0sSE5WJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0sSE8mJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method._0sSE8mJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_nMinsId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_nM2wwId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_nNK50Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_nNeb0Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_nNyk4Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_nOGG4Id1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_nOZo4Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_nOtx8Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_nPB7AId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_nPVdAId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_nPqNIId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_nQAycId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_nQXXwId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_nQsu8Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_nRDUQId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_nRZSgId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_nRvQwId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_nMOeoId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_nSZ_IId1EemTGPCEQmMGWg"

+                called="#_0sSE8mJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0sb14GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Class.isSetGenFeature.javadoc.insert" headerMethod="#_0sb14mJ-Ed-FqczH3ESmRw"

+              conditionMethod="#__-mChHLYEd-09ds9dfYpFw" initMethod="#_0sb142J-Ed-FqczH3ESmRw"

+              footerMethod="#_0sb15WJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_nTLbMId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0sb14mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method._0sb14mJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0sb142J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method._0sb142J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="__-mChHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method.__-mChHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0sb15WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method._0sb15WJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0sb18mJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method._0sb18mJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_nW42gId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_nXNmoId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_nXi90Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_nX3G4Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_nYL3AId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_nYgAEId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_nY0JIId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_nZISMId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_nZdCUId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_najOgId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_na7B8Id1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_nbSOUId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_nbnlgId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_nb9jwId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ncST4Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ncmc8Id1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_nc6mAId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_nWjfUId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_ndjfMId1EemTGPCEQmMGWg"

+                called="#_0sb18mJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0sk_0GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Class.isSetGenFeature.annotations.insert" headerMethod="#_0sk_0mJ-Ed-FqczH3ESmRw"

+              conditionMethod="#___faZHLYEd-09ds9dfYpFw" initMethod="#_0sk_02J-Ed-FqczH3ESmRw"

+              footerMethod="#_0sk_1WJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_neUUMId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0sk_0mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method._0sk_0mJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0sk_02J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method._0sk_02J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="___faZHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method.___faZHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0sk_1WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method._0sk_1WJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0sk_4mJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method._0sk_4mJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_nh8P8Id1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_niRAEId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_nilJIId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_ni88kId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_njSTwId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_njnq8Id1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_nj9CIId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_nkSZUId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_nknJcId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_nk75kId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_nlQCoId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_nlkLsId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_nl6J8Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_nmNr8Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_nmjDIId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_nm4aUId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_nnL8UId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_nhnf0Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_nn0OcId1EemTGPCEQmMGWg"

+                called="#_0sk_4mJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0suw0GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Class.isSetGenFeature.TODO.override" headerMethod="#_0suw0mJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_AAYyRHLZEd-09ds9dfYpFw" initMethod="#_0suw02J-Ed-FqczH3ESmRw"

+              footerMethod="#_0suw1WJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_noj1UId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0suw0mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._0suw0mJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0suw02J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._0suw02J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_AAYyRHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._AAYyRHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0suw1WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._0suw1WJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0suw4mJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._0suw4mJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_nsO0YId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_nsjkgId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_ns6J0Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_ntO58Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_ntkRIId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_nt5oUId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_nuPmkId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_nuk9wId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_nu5t4Id1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_nvQTMId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_nvlDUId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_nv5MYId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_nwNVcId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_nwhegId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_nw21sId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_nxMz8Id1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_nxiyMId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_nr6EQId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_nyM5gId1EemTGPCEQmMGWg"

+                called="#_0suw4mJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0s36wGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Class.genFeature.insert" headerMethod="#_0s36wmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_ADOD1HLZEd-09ds9dfYpFw" initMethod="#_0s36w2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0s36xWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_ny9ugId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0s36wmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._0s36wmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0s36w2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._0s36w2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_ADOD1HLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._ADOD1HLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0s36xWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._0s36xWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0s360mJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._0s360mJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_n2rw4Id1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_n3AhAId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_n3WfQId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_n3rPYId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_n3__gId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_n4cEYId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_n4yCoId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_n5HZ0Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_n5bi4Id1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_n5yvQId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_n6JUkId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_n6fS0Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_n60C8Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_n7KBMId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_n7fYYId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_n70IgId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_n8I4oId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_n2WZsId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_n85toId1EemTGPCEQmMGWg"

+                called="#_0s360mJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0tBrwGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.genOperation.javadoc.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.genOperation.annotations.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.implementedGenOperation.TODO.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.genOperation.insert&#xA;"

+              name="Class.genOperation.override" headerMethod="#_0tLcwGJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_AD9qtHLZEd-09ds9dfYpFw" initMethod="#_0tLcwWJ-Ed-FqczH3ESmRw"

+              footerMethod="#_0tLcw2J-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_n9tl8Id1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0tLcwGJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._0tLcwGJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0tLcwWJ-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._0tLcwWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_AD9qtHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._AD9qtHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0tLcw2J-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._0tLcw2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0tLc0GJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._0tLc0GJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_oBbBQId1EemTGPCEQmMGWg" name="genOperation" type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>

+            <parameters xmi:id="_oBxmkId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_oCG9wId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_oCc8AId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_oCzhUId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_oDKGoId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_oDePsId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_oD01AId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_oEKzQId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_oEm4IId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_oE8PUId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_oFS0oId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_oFoy4Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_oF-xIId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_oGUvYId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_oGqGkId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_oHAr4Id1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_oBEb8Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_oHtPcId1EemTGPCEQmMGWg"

+                called="#_0tLc0GJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0tUmsGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.genOperation.javadoc.insert&#xA;"

+              name="Class.genOperation.javadoc.override" headerMethod="#_0tUmsmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_AFJ9hHLZEd-09ds9dfYpFw" initMethod="#_0tUms2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0tUmtWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_oJFIcId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0tUmsmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._0tUmsmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0tUms2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._0tUms2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_AFJ9hHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._AFJ9hHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0tUmtWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._0tUmtWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0tUmwmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._0tUmwmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_oM870Id1EemTGPCEQmMGWg" name="genOperation" type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>

+            <parameters xmi:id="_oNRr8Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_oNnqMId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_oN-PgId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_oOXREId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_oOraIId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_oPAKQId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_oPWIgId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_oPq4oId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_oQAP0Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_oQVnAId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_oQpwEId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_oQ95IId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_oRSCMId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_oRoAcId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_oR8JgId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_oSQSkId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_oMlvcId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_oS7A8Id1EemTGPCEQmMGWg"

+                called="#_0tUmwmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0toIsGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Class.genOperation.javadoc.insert" headerMethod="#_0toIsmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_AG8GNHLZEd-09ds9dfYpFw" initMethod="#_0toIs2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0toItWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_oTsdAId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0toIsmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._0toIsmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0toIs2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._0toIs2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_AG8GNHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._AG8GNHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0toItWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._0toItWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0toIwmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._0toIwmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_oXh0IId1EemTGPCEQmMGWg" name="genOperation" type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>

+            <parameters xmi:id="_oX3LUId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_oYNwoId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_oYigwId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_oY4fAId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_oZN2MId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_oZimUId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_oZ4kkId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_oaNUsId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_oaiE0Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_oa4qIId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_obOoYId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_objYgId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_ob4vsId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ocOG4Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_odWIQId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_odq4YId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_oXL14Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_oeW04Id1EemTGPCEQmMGWg"

+                called="#_0toIwmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0txSoGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Class.genOperation.annotations.insert" headerMethod="#_0txSomJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_AIbT9HLZEd-09ds9dfYpFw" initMethod="#_0txSo2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0txSpWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_ofJfEId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0txSomJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._0txSomJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0txSo2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._0txSo2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_AIbT9HLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._AIbT9HLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0txSpWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._0txSpWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0txSsmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._0txSsmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_oi3hcId1EemTGPCEQmMGWg" name="genOperation" type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>

+            <parameters xmi:id="_ojMRkId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_ojhBsId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_oj2Y4Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_okNlQId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_oknN4Id1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ok8lEId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_olRVMId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_olleQId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ol6OYId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_omPlkId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_omonIId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_om9-UId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_onSucId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_onm3gId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_on7noId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ooQ-0Id1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_oijYYId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_oo6fEId1EemTGPCEQmMGWg"

+                called="#_0txSsmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0t7DoGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Class.implementedGenOperation.TODO.override" headerMethod="#_0t7DomJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_AKODtHLZEd-09ds9dfYpFw" initMethod="#_0t7Do2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0t7DpWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_optJQId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0t7DomJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._0t7DomJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0t7Do2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._0t7Do2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_AKODtHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._AKODtHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0t7DpWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._0t7DpWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0t7DsmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._0t7DsmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_otZ9gId1EemTGPCEQmMGWg" name="genOperation" type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>

+            <parameters xmi:id="_otutoId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_ouC2sId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_ouYN4Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_ouwBUId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ovFYgId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ovavsId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ovvf0Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_owFeEId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_owbcUId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_owwMcId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_oxGxwId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_oxcwAId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_oxzVUId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_oyJTkId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_oyeqwId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_oy1QEId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_otD_QId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_ozkP4Id1EemTGPCEQmMGWg"

+                called="#_0t7DsmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0uENkGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Class.genOperation.insert" headerMethod="#_0uENkmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_ALaWhHLZEd-09ds9dfYpFw" initMethod="#_0uENk2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0uENlWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_o0Vr8Id1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0uENkmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._0uENkmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0uENk2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._0uENk2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_ALaWhHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._ALaWhHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0uENlWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._0uENlWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0uENomJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._0uENomJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_o4H_wId1EemTGPCEQmMGWg" name="genOperation" type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>

+            <parameters xmi:id="_o4d-AId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_o41KYId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_o5KhkId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_o5hG4Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_o54TQId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_o6NDYId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_o6josId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_o65m8Id1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_o7O-IId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_o7ljcId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_o766oId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_o8Q44Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_o8neMId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_o89ccId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_o9UBwId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_o9qAAId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_o3wzYId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_o-V8gId1EemTGPCEQmMGWg"

+                called="#_0uENomJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0uN-kGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Class.eUnset.override" headerMethod="#_0uN-kmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_AMmpVHLZEd-09ds9dfYpFw" initMethod="#_0uN-k2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0uN-lWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_o_LC8Id1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0uN-kmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._0uN-kmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0uN-k2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._0uN-k2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_AMmpVHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._AMmpVHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0uN-lWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._0uN-lWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0uN-oWJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._0uN-oWJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_pCv7YId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_pDErgId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_pDZboId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_pDtksId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_pECU0Id1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_pEV20Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_pEqm8Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_pE-wAId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_pFTgIId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_pFo3UId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_pF-1kId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_pGS-oId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_pGoV0Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_pG9F8Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_pHRPAId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_pHl_IId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_pCbyUId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_pIRUkId1EemTGPCEQmMGWg"

+                called="#_0uN-oWJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0uXvkGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Class.eIsSet.override" headerMethod="#_0uXvkmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_AN8tJHLZEd-09ds9dfYpFw" initMethod="#_0uXvk2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0uXvlWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_pJD-wId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0uXvkmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._0uXvkmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0uXvk2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._0uXvk2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_AN8tJHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._AN8tJHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0uXvlWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._0uXvlWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0uXvoWJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._0uXvoWJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_pMu90Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_pNFjIId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_pNa6UId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_pNw4kId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_pOGPwId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_pOc1EId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_pOxlMId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_pPG8YId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_pPc6oId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_pPyR0Id1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_pQI3IId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_pQeOUId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_pQ1asId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_pRKx4Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_pRfiAId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_pR05MId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_pMZmoId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_pSfnkId1EemTGPCEQmMGWg"

+                called="#_0uXvoWJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0ug5gGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Class.insert" headerMethod="#_0ug5gmJ-Ed-FqczH3ESmRw" conditionMethod="#_AO_O9HLZEd-09ds9dfYpFw"

+              initMethod="#_0ug5g2J-Ed-FqczH3ESmRw" footerMethod="#_0ug5hWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_pTV8IId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0ug5gmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._0ug5gmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0ug5g2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._0ug5g2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_AO_O9HLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._AO_O9HLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0ug5hWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._0ug5hWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0ug5kWJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._0ug5kWJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_pXD-gId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_pXZVsId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_pXvT8Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_pYDdAId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_pYaCUId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_pYvZgId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_pZGl4Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_pZb9EId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_pZyiYId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_paIgoId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_pafF8Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_pa2SUId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_pbMQkId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_pbiO0Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_pb4NEId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_pcQAgId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_pWsyIId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_pc7V8Id1EemTGPCEQmMGWg"

+                called="#_0ug5kWJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_JLBM0HroEeC0XN9kbwkPYQ" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Class.egfCustom.constructor.override" headerMethod="#_JLBM0nroEeC0XN9kbwkPYQ"

+              conditionMethod="#_JLBM1HroEeC0XN9kbwkPYQ" initMethod="#_JLBM03roEeC0XN9kbwkPYQ"

+              footerMethod="#_JLBM1nroEeC0XN9kbwkPYQ">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_g-ei8Id1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_JLBM0nroEeC0XN9kbwkPYQ" name="header" patternFilePath="templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM0nroEeC0XN9kbwkPYQ.pt"/>

+            <methods xmi:id="_JLBM03roEeC0XN9kbwkPYQ" name="init" patternFilePath="templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM03roEeC0XN9kbwkPYQ.pt"/>

+            <methods xmi:id="_JLBM1HroEeC0XN9kbwkPYQ" name="preCondition" patternFilePath="templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM1HroEeC0XN9kbwkPYQ.pt"/>

+            <methods xmi:id="_JLBM1nroEeC0XN9kbwkPYQ" name="footer" patternFilePath="templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM1nroEeC0XN9kbwkPYQ.pt"/>

+            <methods xmi:id="_JLBM4XroEeC0XN9kbwkPYQ" name="doGenerate" patternFilePath="templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM4XroEeC0XN9kbwkPYQ.pt"/>

+            <parameters xmi:id="_hDK1sId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_hDe-wId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_hD4AUId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_hESQAId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_hErRkId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_hFAowId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_hFZDQId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_hFvokId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_hGJ4QId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_hGeBUId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_hGyxcId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_hHG6gId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_hHbDkId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_hHvzsId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_hID8wId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_hIaiEId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_hC2FkId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_hJHssId1EemTGPCEQmMGWg"

+                called="#_JLBM4XroEeC0XN9kbwkPYQ"/>

+          </elements>

+          <elements xmi:id="_C2iO4eXDEeCxnsoQRwU99Q" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Class.interface.javadoc.override" headerMethod="#_C2iO4-XDEeCxnsoQRwU99Q"

+              conditionMethod="#_C2iO5eXDEeCxnsoQRwU99Q" initMethod="#_C2iO5OXDEeCxnsoQRwU99Q"

+              footerMethod="#_C2iO5-XDEeCxnsoQRwU99Q">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_gg6dMId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_C2iO4-XDEeCxnsoQRwU99Q" name="header" patternFilePath="templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO4-XDEeCxnsoQRwU99Q.pt"/>

+            <methods xmi:id="_C2iO5OXDEeCxnsoQRwU99Q" name="init" patternFilePath="templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO5OXDEeCxnsoQRwU99Q.pt"/>

+            <methods xmi:id="_C2iO5eXDEeCxnsoQRwU99Q" name="preCondition" patternFilePath="templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO5eXDEeCxnsoQRwU99Q.pt"/>

+            <methods xmi:id="_C2iO5-XDEeCxnsoQRwU99Q" name="footer" patternFilePath="templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO5-XDEeCxnsoQRwU99Q.pt"/>

+            <methods xmi:id="_C2iO9uXDEeCxnsoQRwU99Q" name="doGenerate" patternFilePath="templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO9uXDEeCxnsoQRwU99Q.pt"/>

+            <parameters xmi:id="_gkVkoId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_gkptsId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_gk9PsId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_glR_0Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_gln-EId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_gl8uMId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_gmSFYId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_gmmOcId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_gm6XgId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_gnPHoId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_gnj3wId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_gn3ZwId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_goLi0Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_gofr4Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_gozN4Id1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_gpH-AId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_gkBbkId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_gpwQIId1EemTGPCEQmMGWg"

+                called="#_C2iO9uXDEeCxnsoQRwU99Q"/>

+          </elements>

+          <elements xmi:id="_odzp0LM-EeKd56X4hcZPSw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.annotations.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.pre.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.annotations.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.annotations.insert&#xA;"

+              name="Class.genFeatureReified.override" headerMethod="#_odzp0rM-EeKd56X4hcZPSw"

+              conditionMethod="#_odzp1LM-EeKd56X4hcZPSw" initMethod="#_odzp07M-EeKd56X4hcZPSw"

+              footerMethod="#_odzp1rM-EeKd56X4hcZPSw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_hdASAId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_odzp0rM-EeKd56X4hcZPSw" name="header" patternFilePath="templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp0rM-EeKd56X4hcZPSw.pt"/>

+            <methods xmi:id="_odzp07M-EeKd56X4hcZPSw" name="init" patternFilePath="templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp07M-EeKd56X4hcZPSw.pt"/>

+            <methods xmi:id="_odzp1LM-EeKd56X4hcZPSw" name="preCondition" patternFilePath="templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp1LM-EeKd56X4hcZPSw.pt"/>

+            <methods xmi:id="_odzp1rM-EeKd56X4hcZPSw" name="footer" patternFilePath="templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp1rM-EeKd56X4hcZPSw.pt"/>

+            <methods xmi:id="_odzp6LM-EeKd56X4hcZPSw" name="doGenerate" patternFilePath="templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp6LM-EeKd56X4hcZPSw.pt"/>

+            <parameters xmi:id="_hgZkQId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_hgtGQId1EemTGPCEQmMGWg" name="classExtendsGenClass"

+                type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_hhAoQId1EemTGPCEQmMGWg" name="classExtendsAllGenFeatures"

+                type="java.util.List"/>

+            <parameters xmi:id="_hhTjMId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_hhnFMId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_hh71UId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_hiP-YId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_hikugId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_hi5eoId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_hjNnsId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_hjhwwId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_hj150Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_hkINsId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_hkbvsId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_hkxG4Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_hlEB0Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_hlYK4Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_hls7AId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_hl_18Id1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_hgGCQId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_hmm58Id1EemTGPCEQmMGWg"

+                called="#_odzp6LM-EeKd56X4hcZPSw"/>

+          </elements>

+          <elements xmi:id="_WUeasCSWEemxeP6B0lLOpA" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Class.dynamicDelegation" headerMethod="#_WU7GoCSWEemxeP6B0lLOpA"

+              conditionMethod="#_WVqtgCSWEemxeP6B0lLOpA" initMethod="#_WVOBkCSWEemxeP6B0lLOpA"

+              footerMethod="#_WWQjYCSWEemxeP6B0lLOpA">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_hJ36oId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_WU7GoCSWEemxeP6B0lLOpA" name="header" patternFilePath="templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WU7GoCSWEemxeP6B0lLOpA.pt"/>

+            <methods xmi:id="_WVOBkCSWEemxeP6B0lLOpA" name="init" patternFilePath="templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WVOBkCSWEemxeP6B0lLOpA.pt"/>

+            <methods xmi:id="_WVqtgCSWEemxeP6B0lLOpA" name="preCondition" patternFilePath="templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WVqtgCSWEemxeP6B0lLOpA.pt"/>

+            <methods xmi:id="_WWQjYCSWEemxeP6B0lLOpA" name="footer" patternFilePath="templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WWQjYCSWEemxeP6B0lLOpA.pt"/>

+            <methods xmi:id="_WZig4CSWEemxeP6B0lLOpA" name="doGenerate" patternFilePath="templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WZig4CSWEemxeP6B0lLOpA.pt"/>

+            <parameters xmi:id="_hNa94Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_hNvG8Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_hODQAId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_hOWK8Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_hOq7EId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_hO_EIId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_hPT0QId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_hPnWQId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_hP8GYId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_hQPoYId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_hQjxcId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_hQ36gId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_hRMqoId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_hRgzsId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_hR08wId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_hSIewId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_hNHb4Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_hSwJ0Id1EemTGPCEQmMGWg"

+                called="#_WZig4CSWEemxeP6B0lLOpA"/>

+          </elements>

+          <elements xmi:id="_Y__lwCSWEemxeP6B0lLOpA" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Class.dynamicSetGenFeature.pre.insert" headerMethod="#_ZAcRsCSWEemxeP6B0lLOpA"

+              conditionMethod="#_ZBVCgCSWEemxeP6B0lLOpA" initMethod="#_ZA4WkCSWEemxeP6B0lLOpA"

+              footerMethod="#_ZB7fcCSWEemxeP6B0lLOpA">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_k_b28Id1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_ZAcRsCSWEemxeP6B0lLOpA" name="header" patternFilePath="templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZAcRsCSWEemxeP6B0lLOpA.pt"/>

+            <methods xmi:id="_ZA4WkCSWEemxeP6B0lLOpA" name="init" patternFilePath="templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZA4WkCSWEemxeP6B0lLOpA.pt"/>

+            <methods xmi:id="_ZBVCgCSWEemxeP6B0lLOpA" name="preCondition" patternFilePath="templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZBVCgCSWEemxeP6B0lLOpA.pt"/>

+            <methods xmi:id="_ZB7fcCSWEemxeP6B0lLOpA" name="footer" patternFilePath="templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZB7fcCSWEemxeP6B0lLOpA.pt"/>

+            <methods xmi:id="_ZFqI4CSWEemxeP6B0lLOpA" name="doGenerate" patternFilePath="templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZFqI4CSWEemxeP6B0lLOpA.pt"/>

+            <parameters xmi:id="_lDB9gId1EemTGPCEQmMGWg" name="setAccessorOperation"

+                type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>

+            <parameters xmi:id="_lDWGkId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_lDpokId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_lD-_wId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_lETI0Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_lEmq0Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_lE8CAId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_lFQLEId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_lFk7MId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_lF5EQId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_lGNNUId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_lGhWYId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_lG04YId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_lHJBcId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_lHdKgId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_lHx6oId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_lIGqwId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_lIcB8Id1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_lCtNYId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_lJFiMId1EemTGPCEQmMGWg"

+                called="#_ZFqI4CSWEemxeP6B0lLOpA"/>

+          </elements>

+          <elements xmi:id="_ZGGNwCSWEemxeP6B0lLOpA" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Class.dynamicSetGenFeature.post.insert" headerMethod="#_ZGZvwCSWEemxeP6B0lLOpA"

+              conditionMethod="#_ZHSgkCSWEemxeP6B0lLOpA" initMethod="#_ZG2bsCSWEemxeP6B0lLOpA"

+              footerMethod="#_ZHvMgCSWEemxeP6B0lLOpA">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_lJ1wIId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_ZGZvwCSWEemxeP6B0lLOpA" name="header" patternFilePath="templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZGZvwCSWEemxeP6B0lLOpA.pt"/>

+            <methods xmi:id="_ZG2bsCSWEemxeP6B0lLOpA" name="init" patternFilePath="templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZG2bsCSWEemxeP6B0lLOpA.pt"/>

+            <methods xmi:id="_ZHSgkCSWEemxeP6B0lLOpA" name="preCondition" patternFilePath="templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZHSgkCSWEemxeP6B0lLOpA.pt"/>

+            <methods xmi:id="_ZHvMgCSWEemxeP6B0lLOpA" name="footer" patternFilePath="templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZHvMgCSWEemxeP6B0lLOpA.pt"/>

+            <methods xmi:id="_ZLd18CSWEemxeP6B0lLOpA" name="doGenerate" patternFilePath="templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZLd18CSWEemxeP6B0lLOpA.pt"/>

+            <parameters xmi:id="_lNb2sId1EemTGPCEQmMGWg" name="setAccessorOperation"

+                type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>

+            <parameters xmi:id="_lNv_wId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_lOFW8Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_lOauIId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_lOveQId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_lPHRsId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_lPfsMId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_lP1DYId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_lQJMcId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_lQejoId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_lQzTwId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_lRJSAId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_lRfQQId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_lRzZUId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_lSIJcId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_lScSgId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_lSwbkId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_lTFywId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_lNHGkId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_lVQV8Id1EemTGPCEQmMGWg"

+                called="#_ZLd18CSWEemxeP6B0lLOpA"/>

+          </elements>

+        </libraries>

+        <libraries xmi:id="_0u0bgGJ-Ed-FqczH3ESmRw" name="org.eclipse.egf.emf.pattern.model.call.Interface">

+          <elements xmi:id="_0u0bgWJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.declaredFieldGenFeature.insert&#xA;"

+              name="Interface.declaredFieldGenFeature.override" headerMethod="#_0u0bg2J-Ed-FqczH3ESmRw"

+              conditionMethod="#_AQBwxXLZEd-09ds9dfYpFw" initMethod="#_0u0bhGJ-Ed-FqczH3ESmRw"

+              footerMethod="#_0u0bhmJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_YArhgId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0u0bg2J-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._0u0bg2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0u0bhGJ-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._0u0bhGJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_AQBwxXLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._AQBwxXLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0u0bhmJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._0u0bhmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0u0bk2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._0u0bk2J-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_YD_7QId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_YESPIId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_YEkjAId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_YE2P0Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_YFIjsId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_YFa3kId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_YF2VYId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_YGJQUId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_YGcyUId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_YGvGMId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_YHCoMId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_YHU8EId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_YHnP8Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_YH6K4Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_YIMewId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_YIgAwId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_YIy7sId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_YDtnYId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_YJYxkId1EemTGPCEQmMGWg"

+                called="#_0u0bk2J-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0vHWcGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Interface.declaredFieldGenFeature.insert" headerMethod="#_0vHWcmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_ARX0lHLZEd-09ds9dfYpFw" initMethod="#_0vHWc2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0vHWdWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_YKHxYId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0vHWcmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._0vHWcmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0vHWc2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._0vHWc2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_ARX0lHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._ARX0lHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0vHWdWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._0vHWdWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0vHWgmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._0vHWgmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_YNUPUId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_YNnKQId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_YN6sQId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_YONAIId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_YOgiIId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_YO0EIId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_YPG_EId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_YPZ6AId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_YPs08Id1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_YP_v4Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_YQTR4Id1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_YQna8Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_YQ688Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_YROe8Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_YRkdMId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_YR3YIId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_YSK6IId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_YNBUYId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_YSxXEId1EemTGPCEQmMGWg"

+                called="#_0vHWgmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0vQgYGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Interface.reflectiveDelegation.override" headerMethod="#_0vQgYmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_ASkHZHLZEd-09ds9dfYpFw" initMethod="#_0vQgY2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0vQgZWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_YmdvIId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0vQgYmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._0vQgYmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0vQgY2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._0vQgY2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_ASkHZHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._ASkHZHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0vQgZWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._0vQgZWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0vQgcWJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._0vQgcWJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_YpvsoId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_YqCAgId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_YqVigId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_Yqn2YId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_Yq6KQId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_YrNFMId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_YrgAIId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_Yry7EId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_YsF2AId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_YsZYAId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_YssS8Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_Ys_N4Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_YtSI0Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_Ytlq0Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_Yt5M0Id1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_YuNV4Id1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_YpcKoId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_YuzLwId1EemTGPCEQmMGWg"

+                called="#_0vQgcWJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0vaRYGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicGetGenFeature.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicUnsetGenFeature.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.unsetGenFeature.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.isSetGenFeature.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genFeature.insert&#xA;"

+              name="Interface.genFeature.override" headerMethod="#_0vaRYmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_AUpyFHLZEd-09ds9dfYpFw" initMethod="#_0vaRY2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0vaRZWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_Zf0ZAId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0vaRYmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._0vaRYmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0vaRY2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._0vaRY2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_AUpyFHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._AUpyFHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0vaRZWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._0vaRZWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0vaRcmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._0vaRcmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_ZjMdIId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_ZjexAId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_ZjxE4Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_ZkEm4Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_ZkW6wId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ZkqcwId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_Zk9XsId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ZlPrkId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_ZlimgId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_Zl06YId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ZmOjAId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ZmgP0Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_Zm0_8Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_ZnH64Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_Zna10Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ZntwwId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ZoBSwId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_Zi5iMId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_Zoo90Id1EemTGPCEQmMGWg"

+                called="#_0vaRcmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0vkCYGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.javadoc.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.annotations.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.pre.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.TODO.override&#xA;"

+              name="Interface.getGenFeature.override" headerMethod="#_0vkCYmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_AWlrxHLZEd-09ds9dfYpFw" initMethod="#_0vkCY2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0vkCZWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_ZpXWkId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0vkCYmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._0vkCYmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0vkCY2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._0vkCY2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_AWlrxHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._AWlrxHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0vkCZWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._0vkCZWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0vkCcmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._0vkCcmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_ZsxP4Id1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_ZtGAAId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_ZtaJEId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_ZtxVcId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_ZuE3cId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ZuegEId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ZuypIId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ZvGLIId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_ZvZGEId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ZvvrYId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ZwEbgId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ZwZysId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_Zwt7wId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_ZxDS8Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ZxafUId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ZxvPcId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ZyDYgId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_ZsaqkId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_Zyp1cId1EemTGPCEQmMGWg"

+                called="#_0vkCcmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0vtMUGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.javadoc.insert&#xA;"

+              name="Interface.getGenFeature.javadoc.override" headerMethod="#_0vtMUmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_AXx-lHLZEd-09ds9dfYpFw" initMethod="#_0vtMU2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0vtMVWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_ZzXnIId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0vtMUmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._0vtMUmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0vtMU2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._0vtMU2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_AXx-lHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._AXx-lHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0vtMVWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._0vtMVWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0vtMYmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._0vtMYmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_Z2sn8Id1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_Z3AJ8Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_Z3Tr8Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_Z4R8UId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_Z5DYYId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_Z5WTUId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_Z5pOQId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_Z57iIId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_Z6QSQId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_Z6j0QId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_Z62IIId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_Z7JDEId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_Z7bW8Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_Z7tq0Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_Z7_-sId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_Z8SSkId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_Z8l0kId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_Z2ZtAId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_Z9OGsId1EemTGPCEQmMGWg"

+                called="#_0vtMYmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0wJ4QGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Interface.getGenFeature.javadoc.insert" headerMethod="#_0wJ4QmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_AZkHRHLZEd-09ds9dfYpFw" initMethod="#_0wJ4Q2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0wJ4RWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_Z974YId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0wJ4QmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._0wJ4QmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0wJ4Q2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._0wJ4Q2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_AZkHRHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._AZkHRHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0wJ4RWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._0wJ4RWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0wJ4UmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._0wJ4UmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_aBT8gId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_aBm3cId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_aB5yYId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_aCMtUId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_aCfoQId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_aC0YYId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_aDH6YId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_aDa1UId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_aDtwQId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_aEB5UId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_aEVbUId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_aEo9UId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_aE9tcId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_aFRPcId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_aFkxcId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_aF3sYId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_aGL1cId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_aBBBkId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_aGy5cId1EemTGPCEQmMGWg"

+                called="#_0wJ4UmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0wTpQGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Interface.getGenFeature.annotations.insert" headerMethod="#_0wTpQmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_AawaFHLZEd-09ds9dfYpFw" initMethod="#_0wTpQ2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0wTpRWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_Y5yTwId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0wTpQmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._0wTpQmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0wTpQ2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._0wTpQ2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_AawaFHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._AawaFHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0wTpRWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._0wTpRWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0wTpUmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._0wTpUmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_Y9E4UId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_Y9YaUId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_Y9rVQId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_Y9-QMId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_Y-QkEId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_Y-lUMId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_Y-4PIId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_Y_MYMId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_Y_esEId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_Y_yOEId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ZAEh8Id1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ZAW10Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ZAqX0Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_ZA_H8Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ZBSp8Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ZBmzAId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ZB7jIId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_Y8xWUId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_ZCiAEId1EemTGPCEQmMGWg"

+                called="#_0wTpUmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0wczMGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Interface.getGenFeature.pre.insert" headerMethod="#_0wczMmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_Ab8s5HLZEd-09ds9dfYpFw" initMethod="#_0wczM2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0wczNWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_ZDQY0Id1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0wczMmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._0wczMmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0wczM2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._0wczM2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_Ab8s5HLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._Ab8s5HLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0wczNWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._0wczNWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0wczQmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._0wczQmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_ZG0qMId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_ZHHlIId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_ZHagEId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_ZHtbAId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_ZIAV8Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ZISp0Id1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ZImy4Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ZI5GwId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_ZJMBsId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ZJfjsId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ZJx3kId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ZKEygId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ZKXGYId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_ZKqoYId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ZK-xcId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ZLRFUId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ZLiyIId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_ZGghIId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_ZMJ2IId1EemTGPCEQmMGWg"

+                called="#_0wczQmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0wmkMGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Interface.getGenFeature.TODO.override" headerMethod="#_0wmkMmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_AdvcpHLZEd-09ds9dfYpFw" initMethod="#_0wmkM2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0wmkNWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_aHhSMId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0wmkMmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._0wmkMmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0wmkM2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._0wmkM2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_AdvcpHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._AdvcpHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0wmkNWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._0wmkNWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0wmkQmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._0wmkQmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_aK2TAId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_aLJN8Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_aLcI4Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_aLwR8Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_aMDM4Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_aMWu4Id1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_aMrfAId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_aNFusId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_aNZQsId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_aNtZwId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_aOAUsId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_aOTPoId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_aOmxoId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_aO6ToId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_aPN1oId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_aPh-sId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_aP0SkId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_aKiJ8Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_aQZhYId1EemTGPCEQmMGWg"

+                called="#_0wmkQmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0wwVMGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicGetGenFeature.annotations.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicGetGenFeature.pre.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicGetGenFeature.TODO.override&#xA;"

+              name="Interface.basicGetGenFeature.override" headerMethod="#_0wwVMmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_AfhlVHLZEd-09ds9dfYpFw" initMethod="#_0wwVM2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0wwVNWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_aRH6IId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0wwVMmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._0wwVMmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0wwVM2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._0wwVM2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_AfhlVHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._AfhlVHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0wwVNWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._0wwVNWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0wwVQmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._0wwVQmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_aUZ3oId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_aUsLgId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_aU_tgId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_aVSBYId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_aVljYId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_aV5scId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_aWMAUId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_aWfiUId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_aWzEUId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_aXK3wId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_aXdysId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_aXyi0Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_aYGE0Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_aYZm0Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_aYtv4Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_aZB48Id1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_aZWCAId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_aUGVoId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_aZ-UIId1EemTGPCEQmMGWg"

+                called="#_0wwVQmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0w5fIGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Interface.basicGetGenFeature.annotations.insert" headerMethod="#_0w5fImJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_Ag3pJHLZEd-09ds9dfYpFw" initMethod="#_0w5fI2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0w5fJWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_aauiEId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0w5fImJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._0w5fImJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0w5fI2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._0w5fI2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_Ag3pJHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._Ag3pJHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0w5fJWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._0w5fJWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0w5fMmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._0w5fMmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_aeH0UId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_aedLgId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_aewtgId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_afEPgId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_afd4IId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_afxaIId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_agDuAId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_agXQAId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_agsAIId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ahB-YId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ahWugId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ahq3kId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ah_nsId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_aiUX0Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_aipvAId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ai_GMId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ajVEcId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_adzrQId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_aj_LwId1EemTGPCEQmMGWg"

+                called="#_0w5fMmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0xDQIGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Interface.basicGetGenFeature.pre.insert" headerMethod="#_0xDQImJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_Ah6K9HLZEd-09ds9dfYpFw" initMethod="#_0xDQI2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0xDQJWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_akx18Id1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0xDQImJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._0xDQImJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0xDQI2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._0xDQI2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_Ah6K9HLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._Ah6K9HLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0xDQJWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._0xDQJWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0xDQMmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._0xDQMmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_aoWuYId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_aoqQYId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_ao9yYId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_apR7cId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_apmEgId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ap6NkId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_aqOWoId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_aqifsId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_aq2owId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_arKKwId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_arilQId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ar2uUId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_asLecId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_asgOkId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_as0-sId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_atJu0Id1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_atgUIId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_aoClUId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_auJNUId1EemTGPCEQmMGWg"

+                called="#_0xDQMmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0xNBIGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Interface.basicGetGenFeature.TODO.override" headerMethod="#_0xNBImJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_Aizi1HLZEd-09ds9dfYpFw" initMethod="#_0xNBI2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0xNBJWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_au5bQId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0xNBImJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._0xNBImJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0xNBI2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._0xNBI2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_Aizi1HLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._Aizi1HLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0xNBJWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._0xNBJWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0xNBMmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._0xNBMmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_ayfh0Id1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_ayzq4Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_azHM4Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_azbV8Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_azvfAId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_a0E2MId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_a0Y_QId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_a0shQId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_a1ADQId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_a1UMUId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_a1oVYId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_a18ecId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_a2PZYId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_a2jicId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_a23EcId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_a3KmcId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_a3eIcId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_ayKKoId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_a4ElYId1EemTGPCEQmMGWg"

+                called="#_0xNBMmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0xWLEGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.annotations.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.pre.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.post.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.pre.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.post.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.pre.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.post.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.TODO.override&#xA;"

+              name="Interface.basicSetGenFeature.override" headerMethod="#_0xWLEmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_Aj_1pHLZEd-09ds9dfYpFw" initMethod="#_0xWLE2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0xWLFWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_a4yXEId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0xWLEmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._0xWLEmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0xWLE2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._0xWLE2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_Aj_1pHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._Aj_1pHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0xWLFWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._0xWLFWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0xWLImJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._0xWLImJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_a8Gw0Id1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_a8a54Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_a8vC8Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_a9Ck8Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_a9WG8Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_a9qQAId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_a99K8Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_a-Qs8Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_a-jn4Id1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_a-3J4Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_a_LS8Id1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_a_gDEId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_a_zlEId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_bAHuIId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_bAb3MId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_bAzDkId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_bBHzsId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_a7zO0Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_bBwF0Id1EemTGPCEQmMGWg"

+                called="#_0xWLImJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0xpGAGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Interface.basicSetGenFeature.annotations.insert" headerMethod="#_0xpGAmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_AmYbRHLZEd-09ds9dfYpFw" initMethod="#_0xpGA2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0xpGBWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_ZM2ZsId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0xpGAmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._0xpGAmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0xpGA2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._0xpGA2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_AmYbRHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._AmYbRHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0xpGBWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._0xpGBWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0xpGEmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._0xpGEmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_ZQTWUId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_ZQlqMId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_ZQ5MMId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_ZRLgEId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_ZRebAId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ZRx9AId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ZSEQ4Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ZSXy4Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_ZSrU4Id1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ZS-24Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ZTS_8Id1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ZTplQId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ZT9uUId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_ZUQCMId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ZUi9IId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ZU2fIId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ZVJaEId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_ZQAbYId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_ZVweEId1EemTGPCEQmMGWg"

+                called="#_0xpGEmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0xy3AGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Interface.basicSetGenFeature.pre.insert" headerMethod="#_0xy3AmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_AsC-ZHLZEd-09ds9dfYpFw" initMethod="#_0xy3A2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0xy3BWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_bCfFoId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0xy3AmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._0xy3AmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0xy3A2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._0xy3A2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_AsC-ZHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._AsC-ZHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0xy3BWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._0xy3BWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0xy3EmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._0xy3EmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_bF7bMId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_bGOWIId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_bGjGQId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_bG32YId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_bHN0oId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_bHikwId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_bH4jAId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_bIPIUId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_bIj4cId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_bKS90Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_bKnt8Id1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_bK8eEId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_bLPZAId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_bLiT8Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_bL2dAId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_bMJ_AId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_bMdhAId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_bFn5MId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_bNIPYId1EemTGPCEQmMGWg"

+                called="#_0xy3EmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0x8oAGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Interface.basicSetGenFeature.post.insert" headerMethod="#_0x8oAmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_AtPRNHLZEd-09ds9dfYpFw" initMethod="#_0x8oA2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0x8oBWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_bN65kId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0x8oAmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._0x8oAmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0x8oA2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._0x8oA2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_AtPRNHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._AtPRNHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0x8oBWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._0x8oBWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0x8oEmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._0x8oEmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_bRdVwId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_bRys8Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_bSIEIId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_bSeCYId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_bS0nsId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_bTJX0Id1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_bTevAId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_bT0GMId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_bUHoMId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_bUdmcId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_bUyWkId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_bVHGsId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_bVdE8Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_bVwm8Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_bWEI8Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_bWYSAId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_bWsbEId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_bRKa0Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_bXTfEId1EemTGPCEQmMGWg"

+                called="#_0x8oEmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0x8oFGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Interface.basicSetGenFeature.TODO.override" headerMethod="#_0x8oFmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_Aukt9HLZEd-09ds9dfYpFw" initMethod="#_0x8oF2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0x8oGWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_bYACoId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0x8oFmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._0x8oFmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0x8oF2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._0x8oF2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_Aukt9HLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._Aukt9HLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0x8oGWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._0x8oGWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0yFx-2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._0yFx-2J-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_bbSAIId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_bbjs8Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_bb1ZwId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_bcIUsId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_bccdwId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_bcv_wId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_bdCToId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_bdVOkId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_bdm7YId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_bd7EcId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_beN_YId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_beg6UId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_be1DYId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_bfHXQId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_bfbgUId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_bfubQId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_bgAvIId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_ba_sQId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_bgl98Id1EemTGPCEQmMGWg"

+                called="#_0yFx-2J-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0yPi8GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.javadoc.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.annotations.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.pre.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.dynamicSetGenFeature.pre.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.dynamicSetGenFeature.post.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.post.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.TODO.override&#xA;"

+              name="Interface.setGenFeature.override" headerMethod="#_0yPi8mJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_AvxAxHLZEd-09ds9dfYpFw" initMethod="#_0yPi82J-Ed-FqczH3ESmRw"

+              footerMethod="#_0yPi9WJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_bhShgId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0yPi8mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._0yPi8mJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0yPi82J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._0yPi82J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_AvxAxHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._AvxAxHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0yPi9WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._0yPi9WJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0yPjAmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._0yPjAmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_bkniUId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_bk7EUId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_blOmUId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_blg6MId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_bl0cMId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_bmHXIId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_bmYc4Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_bmrX0Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_bm-SwId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_bnSb0Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_bnlWwId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_bn5f0Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_boNB0Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_bofVsId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_bozewId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_bpIO4Id1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_bpbw4Id1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_bkVOcId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_bqC04Id1EemTGPCEQmMGWg"

+                called="#_0yPjAmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0yZT8GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.javadoc.insert&#xA;"

+              name="Interface.setGenFeature.javadoc.override" headerMethod="#_0yZT8mJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_BAT-NHLZEd-09ds9dfYpFw" initMethod="#_0yZT82J-Ed-FqczH3ESmRw"

+              footerMethod="#_0yZT9WJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_bqybwId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0yZT8mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._0yZT8mJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0yZT82J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._0yZT82J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_BAT-NHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._BAT-NHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0yZT9WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._0yZT9WJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0yZUAmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._0yZUAmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_buLuAId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_bugeIId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_bu0nMId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_bvIwQId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_bvdgYId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_bvxpcId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_bwFLcId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_bwZUgId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_bwtdkId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_bxBmoId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_bxUhkId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_bxoDkId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_bx8MoId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_byQVsId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_byj3sId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_by3ZsId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_bzKUoId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_bt294Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_bzx_sId1EemTGPCEQmMGWg"

+                called="#_0yZUAmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0yid4GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Interface.setGenFeature.javadoc.insert" headerMethod="#_0yid4mJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_BGamNHLZEd-09ds9dfYpFw" initMethod="#_0yid42J-Ed-FqczH3ESmRw"

+              footerMethod="#_0yid5WJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_b0gYcId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0yid4mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._0yid4mJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0yid42J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._0yid42J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_BGamNHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._BGamNHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0yid5WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._0yid5WJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0yid8mJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._0yid8mJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_b4CNkId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_b4WWoId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_b4p4oId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_b49aoId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_b5QVkId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_b5jQgId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_b52ygId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_b6K7kId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_b6edkId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_b6xYgId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_b7GIoId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_b7ZqoId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_b7tzsId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_b8BVsId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_b8U3sId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_b8pAwId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_b877sId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_b3tdcId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_b9i_sId1EemTGPCEQmMGWg"

+                called="#_0yid8mJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0ysO4GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Interface.setGenFeature.annotations.insert" headerMethod="#_0ysO4mJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_BH6bBHLZEd-09ds9dfYpFw" initMethod="#_0ysO42J-Ed-FqczH3ESmRw"

+              footerMethod="#_0ysO5WJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_ZWePwId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0ysO4mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._0ysO4mJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0ysO42J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._0ysO42J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_BH6bBHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._BH6bBHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0ysO5WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._0ysO5WJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0ysO8mJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._0ysO8mJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_ZZsi4Id1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_ZaBTAId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_ZaTm4Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_Zamh0Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_Za5cwId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ZbMXsId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ZbfSoId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ZbxmgId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_ZcEhcId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ZcXcYId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ZcpwQId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_Zc8rMId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ZdQ0QId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_ZdkWQId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_Zd34QId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ZeKMIId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ZeeVMId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_ZZZn8Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_ZfGAQId1EemTGPCEQmMGWg"

+                called="#_0ysO8mJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0y1Y0GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Interface.setGenFeature.pre.insert" headerMethod="#_0y1Y0mJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_BI881HLZEd-09ds9dfYpFw" initMethod="#_0y1Y02J-Ed-FqczH3ESmRw"

+              footerMethod="#_0y1Y1WJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_b-SmkId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0y1Y0mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._0y1Y0mJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0y1Y02J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._0y1Y02J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_BI881HLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._BI881HLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0y1Y1WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._0y1Y1WJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0y1Y42J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._0y1Y42J-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_cBzNkId1EemTGPCEQmMGWg" name="setAccessorOperation"

+                type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>

+            <parameters xmi:id="_cCGvkId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_cCa4oId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_cCw24Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_cDE_8Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_cDcMUId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_cDw8cId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_cEFFgId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_cEacsId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_cEt-sId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_cFCHwId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_cFW34Id1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_cFrA8Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_cF_KAId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_cGSsAId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_cGmOAId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_cG5wAId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_cHN5EId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_cBedcId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_cH09EId1EemTGPCEQmMGWg"

+                called="#_0y1Y42J-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0y_J0GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Interface.setGenFeature.post.insert" headerMethod="#_0y_J0mJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_BKJPpHLZEd-09ds9dfYpFw" initMethod="#_0y_J02J-Ed-FqczH3ESmRw"

+              footerMethod="#_0y_J1WJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_ceNcwId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0y_J0mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._0y_J0mJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0y_J02J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._0y_J02J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_BKJPpHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._BKJPpHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0y_J1WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._0y_J1WJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0y_J42J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._0y_J42J-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_chpyUId1EemTGPCEQmMGWg" name="setAccessorOperation"

+                type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>

+            <parameters xmi:id="_ch97YId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_ciRdYId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_cim0kId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_ci6WkId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_cjOfoId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_cjiBoId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_cj2xwId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ckKTwId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_ckd1wId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ckxXwId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_clE5wId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_clYbwId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_clr9wId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_cl_fwId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_cmSasId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_cmmjwId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_cm7T4Id1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_chWQUId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_cnjmAId1EemTGPCEQmMGWg"

+                called="#_0y_J42J-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0y_J5WJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Interface.setGenFeature.TODO.override" headerMethod="#_0y_J52J-Ed-FqczH3ESmRw"

+              conditionMethod="#_BQGttHLZEd-09ds9dfYpFw" initMethod="#_0y_J6GJ-Ed-FqczH3ESmRw"

+              footerMethod="#_0zI60GJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_coRXsId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0y_J52J-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._0y_J52J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0y_J6GJ-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._0y_J6GJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_BQGttHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._BQGttHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0zI60GJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._0zI60GJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0zI63mJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._0zI63mJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_cr3eQId1EemTGPCEQmMGWg" name="setAccessorOperation"

+                type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>

+            <parameters xmi:id="_csNcgId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_csiMoId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_cs1uoId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_ctJQoId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_cten0Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ctyJ0Id1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_cuG58Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_cuab8Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_cuulAId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_cvDVIId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_cvW3IId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_cvrAMId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_cv-iMId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_cwVukId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_cwqesId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_cxDgQId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_cxXCQId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_crjVMId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_cyAigId1EemTGPCEQmMGWg"

+                called="#_0zI63mJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0zSEwGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicUnsetGenFeature.annotations.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicUnsetGenFeature.TODO.override&#xA;"

+              name="Interface.basicUnsetGenFeature.override" headerMethod="#_0zSEwmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_BR5ddHLZEd-09ds9dfYpFw" initMethod="#_0zSEw2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0zSExWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_cyuUMId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0zSEwmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._0zSEwmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0zSEw2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._0zSEw2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_BR5ddHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._BR5ddHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0zSExWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._0zSExWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0zSE0mJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._0zSE0mJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_c2EjIId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_c2YsMId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_c2s1QId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_c3A-UId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_c3UgUId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_c3opYId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_c38ycId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_c4Q7gId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_c4kdgId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_c45NoId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_c5NWsId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_c5g4sId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_c5zzoId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_c6H8sId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_c6cs0Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_c6vnwId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_c7Dw0Id1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_c1xBIId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_c7qNwId1EemTGPCEQmMGWg"

+                called="#_0zSE0mJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0zb1wGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Interface.basicUnsetGenFeature.annotations.insert" headerMethod="#_0zb1wmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_BS7_RHLZEd-09ds9dfYpFw" initMethod="#_0zb1w2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0zb1xWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_c8Z0oId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0zb1wmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._0zb1wmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0zb1w2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._0zb1w2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_BS7_RHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._BS7_RHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0zb1xWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._0zb1xWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0zb10mJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._0zb10mJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_c_2KMId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_dAJsMId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_dAhfoId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_dA1BoId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_dBJKsId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_dBd60Id1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_dBw1wId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_dCE-0Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_dCaWAId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_dCufEId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_dDDPMId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_dDWxMId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_dDsIYId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_dEARcId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_dEUagId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_dEojkId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_dE8FkId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_c_iBIId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_dFjwoId1EemTGPCEQmMGWg"

+                called="#_0zb10mJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0zlmwGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Interface.basicUnsetGenFeature.TODO.override" headerMethod="#_0zlmwmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_BUISFHLZEd-09ds9dfYpFw" initMethod="#_0zlmw2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0zlmxWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_dGQUMId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0zlmwmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._0zlmwmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0zlmw2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._0zlmw2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_BUISFHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._BUISFHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0zlmxWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._0zlmxWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0zlm0mJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._0zlm0mJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_dJhqoId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_dJ0lkId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_dKIHkId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_dKcQoId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_dKvLkId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_dLDUoId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_dLXdsId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_dLq_sId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_dL_IwId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_dMTR0Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_dMmz0Id1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_dM7j8Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_dNPtAId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_dNjPAId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_dN5NQId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_dOOkcId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_dOjUkId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_dJPWwId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_dPM00Id1EemTGPCEQmMGWg"

+                called="#_0zlm0mJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0z4hsGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.unsetGenFeature.javadoc.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.unsetGenFeature.annotations.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.unsetGenFeature.TODO.override&#xA;"

+              name="Interface.unsetGenFeature.override" headerMethod="#_0z4hsmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_BVnf1HLZEd-09ds9dfYpFw" initMethod="#_0z4hs2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0z4htWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_dP-Q4Id1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0z4hsmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._0z4hsmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0z4hs2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._0z4hs2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_BVnf1HLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._BVnf1HLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0z4htWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._0z4htWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0z4hwmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._0z4hwmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_dTfe8Id1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_dT0PEId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_dUIYIId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_dUchMId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_dUwDMId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_dVGBcId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_dVZjcId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_dVtFcId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_dWDqwId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_dWXMwId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_dWrV0Id1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_dXAF8Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_dXUPAId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_dXo_IId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_dX8hIId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_dYR4UId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_dYmBYId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_dTLV4Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_dZOTgId1EemTGPCEQmMGWg"

+                called="#_0z4hwmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_00BroGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.unsetGenFeature.javadoc.insert&#xA;"

+              name="Interface.unsetGenFeature.javadoc.override" headerMethod="#_00BromJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_BW9jpHLZEd-09ds9dfYpFw" initMethod="#_00Bro2J-Ed-FqczH3ESmRw"

+              footerMethod="#_00BrpWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_dZ8sQId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_00BromJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._00BromJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_00Bro2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._00Bro2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_BW9jpHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._BW9jpHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_00BrpWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._00BrpWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_00BrsmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._00BrsmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_ddcFIId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_ddwOMId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_deDwMId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_deX5QId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_derbQId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_dfAycId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_dfU7gId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_dfodgId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_df8mkId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_dgPhgId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_dgjqkId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_dg3MkId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_dhQOIId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_dhllUId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_dh6VcId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_diN3cId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_digyYId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_ddHVAId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_djJEgId1EemTGPCEQmMGWg"

+                called="#_00BrsmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_00LcoGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Interface.unsetGenFeature.javadoc.insert" headerMethod="#_00LcomJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_BX27hHLZEd-09ds9dfYpFw" initMethod="#_00Lco2J-Ed-FqczH3ESmRw"

+              footerMethod="#_00LcpWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_dj4EUId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_00LcomJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._00LcomJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_00Lco2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._00Lco2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_BX27hHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._BX27hHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_00LcpWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._00LcpWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_00LcsmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._00LcsmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_doWUoId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_dopPkId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_do-mwId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_dpSIwId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_dplDsId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_dp5MwId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_dqMuwId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_dqg30Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_dq0Z0Id1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_drIi4Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_drehIId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_dryDIId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_dsGzQId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_dsaVQId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_dsvFYId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_dtCnYId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_dtX-kId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_doCyoId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_dt_poId1EemTGPCEQmMGWg"

+                called="#_00LcsmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_00VNoGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Interface.unsetGenFeature.annotations.insert" headerMethod="#_00VNomJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_BY5dVHLZEd-09ds9dfYpFw" initMethod="#_00VNo2J-Ed-FqczH3ESmRw"

+              footerMethod="#_00VNpWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_duuCYId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_00VNomJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._00VNomJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_00VNo2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._00VNo2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_BY5dVHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._BY5dVHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_00VNpWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._00VNpWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_00VNsmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._00VNsmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_dyMNIId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_dyfvIId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_dy0fQId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_dzIBQId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_dza8MId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_dzvFQId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_d0DOUId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_d0WwUId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_d0sHgId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_d0_pgId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_d1TLgId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_d1mGcId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_d15ocId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_d2MjYId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_d2gFYId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_d20OcId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_d3HwcId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_dx4rIId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_d3vbgId1EemTGPCEQmMGWg"

+                called="#_00VNsmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_00eXkGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Interface.unsetGenFeature.TODO.override" headerMethod="#_00eXkmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_BZy1NHLZEd-09ds9dfYpFw" initMethod="#_00eXk2J-Ed-FqczH3ESmRw"

+              footerMethod="#_00eXlWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_d4dNMId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_00eXkmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._00eXkmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_00eXk2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._00eXk2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_BZy1NHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._BZy1NHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_00eXlWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._00eXlWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_00eXomJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._00eXomJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_d77_AId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_d8QIEId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_d8kRIId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_d83zIId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_d9LVIId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_d9feMId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_d9znQId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_d-HJQId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_d-cgcId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_d-wCcId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_d_ELgId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_d_ZisId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_d_u54Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_eADC8Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_eAV94Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_eApf4Id1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_eA9B4Id1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_d7odAId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_eBkF4Id1EemTGPCEQmMGWg"

+                called="#_00eXomJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_00oIkGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.isSetGenFeature.javadoc.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.isSetGenFeature.annotations.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.isSetGenFeature.TODO.override&#xA;"

+              name="Interface.isSetGenFeature.override" headerMethod="#_00oIkmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_BaPhJHLZEd-09ds9dfYpFw" initMethod="#_00oIk2J-Ed-FqczH3ESmRw"

+              footerMethod="#_00oIlWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_eCTFsId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_00oIkmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._00oIkmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_00oIk2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._00oIk2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_BaPhJHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._BaPhJHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_00oIlWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._00oIlWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_00oIomJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._00oIomJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_eFtmEId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_eGBvIId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_eGV4MId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_eGqoUId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_eG-KUId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_eHS6cId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_eHnDgId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_eH7MkId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_eIPVoId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_eIi3oId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_eI3AsId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_eJLJwId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_eJeEsId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_eJy00Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_eKGW0Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_eKZRwId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_eKrloId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_eFaEEId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_eLT3wId1EemTGPCEQmMGWg"

+                called="#_00oIomJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_00x5kGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.isSetGenFeature.javadoc.insert&#xA;"

+              name="Interface.isSetGenFeature.javadoc.override" headerMethod="#_00x5kmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_BbSC9HLZEd-09ds9dfYpFw" initMethod="#_00x5k2J-Ed-FqczH3ESmRw"

+              footerMethod="#_00x5lWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_eMBCYId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_00x5kmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._00x5kmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_00x5k2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._00x5k2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_BbSC9HLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._BbSC9HLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_00x5lWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._00x5lWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_00x5omJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._00x5omJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_ePcw4Id1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_ePyIEId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_eQGRIId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_eQbBQId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_eQvxYId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_eRIy8Id1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_eReKIId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_eRy6QId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_eSJfkId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_eSfd0Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_eS0N8Id1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_eTJlIId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_eTdHIId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_eTyeUId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_eUGAUId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_eUZiUId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_eUuScId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_ePHZsId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_eVXLoId1EemTGPCEQmMGWg"

+                called="#_00x5omJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_01N-cGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Interface.isSetGenFeature.javadoc.insert" headerMethod="#_01N-cmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_BcoGxHLZEd-09ds9dfYpFw" initMethod="#_01N-c2J-Ed-FqczH3ESmRw"

+              footerMethod="#_01N-dWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_eWGygId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_01N-cmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._01N-cmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_01N-c2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._01N-c2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_BcoGxHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._BcoGxHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_01N-dWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._01N-dWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_01N-gmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._01N-gmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_eZmLYId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_eZ5tYId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_eaOdgId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_eaj0sId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_ea39wId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ebMt4Id1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ebgP4Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_eb2OIId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_ecMzcId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_eciKoId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ec1soId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_edKcwId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_edfM4Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_edyu4Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_eeHfAId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_eeZy4Id1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_eetU4Id1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_eZSCUId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_efTx0Id1EemTGPCEQmMGWg"

+                called="#_01N-gmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_01hgcGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Interface.isSetGenFeature.annotations.insert" headerMethod="#_01hgcmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_Bd9jhHLZEd-09ds9dfYpFw" initMethod="#_01hgc2J-Ed-FqczH3ESmRw"

+              footerMethod="#_01hgdWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_egJfUId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_01hgcmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._01hgcmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_01hgc2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._01hgc2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_Bd9jhHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._Bd9jhHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_01hgdWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._01hgdWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_01hggmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._01hggmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_ejj_sId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_ej4IwId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_ekLqwId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_ekfz0Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_ekyuwId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_elHe4Id1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_elbA4Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_elvJ8Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_emDTAId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_emWN8Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_empv8Id1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_em95AId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_enUeUId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_enpOcId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_en8wcId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_eoPrYId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_eoimUId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_ejREwId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_epKRYId1EemTGPCEQmMGWg"

+                called="#_01hggmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_01qqYGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Interface.isSetGenFeature.TODO.override" headerMethod="#_01qqYmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_BfAsZHLZEd-09ds9dfYpFw" initMethod="#_01qqY2J-Ed-FqczH3ESmRw"

+              footerMethod="#_01qqZWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_ep5RMId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_01qqYmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._01qqYmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_01qqY2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._01qqY2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_BfAsZHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._BfAsZHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_01qqZWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._01qqZWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_01qqcmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._01qqcmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_etYqEId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_etszIId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_euA8MId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_euVsUId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_eupOUId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ewHN8Id1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ewb-EId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ewu5AId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_exDpIId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_exXLIId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_expfAId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ex-PIId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_eyTmUId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_eyrZwId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ezDNMId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ezWvMId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ezq4QId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_etEhAId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_e0UYgId1EemTGPCEQmMGWg"

+                called="#_01qqcmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_010bYGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Interface.genFeature.insert" headerMethod="#_010bYmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_BgWJJHLZEd-09ds9dfYpFw" initMethod="#_010bY2J-Ed-FqczH3ESmRw"

+              footerMethod="#_010bZWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_e1D_YId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_010bYmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._010bYmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_010bY2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._010bY2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_BgWJJHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._BgWJJHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_010bZWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._010bZWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_010bcmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._010bcmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_e5AEMId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_e5S_IId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_e5l6EId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_e58fYId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_e6QBYId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_e6kxgId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_e646kId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_e7MckId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_e7f-kId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_e7zgkId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_e8I3wId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_e8dA0Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_e8v7wId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_e9Er4Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_e9YN4Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_e9s-AId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_e-AgAId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_e4r7IId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_e-oLEId1EemTGPCEQmMGWg"

+                called="#_010bcmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_01-MYGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genOperation.javadoc.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genOperation.annotations.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.implementedGenOperation.TODO.override&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genOperation.insert&#xA;"

+              name="Interface.genOperation.override" headerMethod="#_01-MYmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_BiI45HLZEd-09ds9dfYpFw" initMethod="#_01-MY2J-Ed-FqczH3ESmRw"

+              footerMethod="#_01-MZWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_e_XK4Id1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_01-MYmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._01-MYmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_01-MY2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._01-MY2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_BiI45HLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._BiI45HLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_01-MZWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._01-MZWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_01-McmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._01-McmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_fCy5YId1EemTGPCEQmMGWg" name="genOperation" type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>

+            <parameters xmi:id="_fDGbYId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_fDakcId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_fDuGcId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_fEBocId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_fEWYkId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_fEsW0Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_fFAf4Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_fFUB4Id1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_fFnj4Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_fF6e0Id1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_fGOn4Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_fGiJ4Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_fG26AId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_fHLqIId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_fHgaQId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_fHz8QId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_fCewUId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_fIc1cId1EemTGPCEQmMGWg"

+                called="#_01-McmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_02HWUGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genOperation.javadoc.insert&#xA;"

+              name="Interface.genOperation.javadoc.override" headerMethod="#_02HWUmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_Bjx3pHLZEd-09ds9dfYpFw" initMethod="#_02HWU2J-Ed-FqczH3ESmRw"

+              footerMethod="#_02HWVWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_fJKnIId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_02HWUmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._02HWUmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_02HWU2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._02HWU2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_Bjx3pHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._Bjx3pHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_02HWVWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._02HWVWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_02HWYmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._02HWYmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_fMm8sId1EemTGPCEQmMGWg" name="genOperation" type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>

+            <parameters xmi:id="_fM7s0Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_fNPO0Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_fNjX4Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_fN254Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_fOLC8Id1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_fOd94Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_fOxf4Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_fPDzwId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_fPZyAId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_fPtUAId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_fQA2AId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_fQTw8Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_fQn6AId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_fQ8qIId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_fRQzMId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_fRk8QId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_fMSMkId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_fSMnUId1EemTGPCEQmMGWg"

+                called="#_02HWYmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_02kCQGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Interface.genOperation.javadoc.insert" headerMethod="#_02kCQmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_BlkAVHLZEd-09ds9dfYpFw" initMethod="#_02kCQ2J-Ed-FqczH3ESmRw"

+              footerMethod="#_02kCRWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_fS6ZAId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_02kCQmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._02kCQmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_02kCQ2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._02kCQ2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_BlkAVHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._BlkAVHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_02kCRWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._02kCRWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_02kCUmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._02kCUmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_fWhtsId1EemTGPCEQmMGWg" name="genOperation" type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>

+            <parameters xmi:id="_fW1PsId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_fXJYwId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_fXeI4Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_fXy5AId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_fYLTgId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_fYe1gId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_fY0MsId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_fZI80Id1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_fZds8Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_fZxO8Id1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_faFYAId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_faZhEId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_fau4QId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_fbE2gId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_fbY_kId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_fbuWwId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_fWM9kId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_fcaTQId1EemTGPCEQmMGWg"

+                called="#_02kCUmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_02tzQGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Interface.genOperation.annotations.insert" headerMethod="#_02tzQmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_BnDOFHLZEd-09ds9dfYpFw" initMethod="#_02tzQ2J-Ed-FqczH3ESmRw"

+              footerMethod="#_02tzRWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_fdLvUId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_02tzQmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._02tzQmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_02tzQ2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._02tzQ2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_BnDOFHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._BnDOFHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_02tzRWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._02tzRWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_02tzUmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._02tzUmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_fgtkcId1EemTGPCEQmMGWg" name="genOperation" type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>

+            <parameters xmi:id="_fhC7oId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_fhXEsId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_fhr00Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_fh_94Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_fiWjMId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_fitIgId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_fjEU4Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_fjZsEId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_fjucMId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_fkDMUId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_fkWuUId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_fksskId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_flA1oId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_flU-sId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_flpu0Id1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_fl-e8Id1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_fgY0UId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_fmpNUId1EemTGPCEQmMGWg"

+                called="#_02tzUmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0229MGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Interface.implementedGenOperation.TODO.override" headerMethod="#_0229MmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_Bn8l9HLZEd-09ds9dfYpFw" initMethod="#_0229M2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0229NWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_fnapYId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0229MmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._0229MmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0229M2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._0229M2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_Bn8l9HLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._Bn8l9HLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0229NWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._0229NWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0229QmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._0229QmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_frAv8Id1EemTGPCEQmMGWg" name="genOperation" type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>

+            <parameters xmi:id="_frVgEId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_frq3QId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_fr_nYId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_fsUXgId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_fspHoId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_fs8poId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ftQysId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_ftkUsId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ft4dwId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_fuMm0Id1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_fufhwId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_fuzDwId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_fvGlwId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_fvau0Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_fvuQ0Id1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_fwDA8Id1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_fqsm4Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_fwr6IId1EemTGPCEQmMGWg"

+                called="#_0229QmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_03AuMGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Interface.genOperation.insert" headerMethod="#_03AuMmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_BpSpxHLZEd-09ds9dfYpFw" initMethod="#_03AuM2J-Ed-FqczH3ESmRw"

+              footerMethod="#_03AuNWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_fxd9QId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_03AuMmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._03AuMmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_03AuM2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._03AuM2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_BpSpxHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._BpSpxHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_03AuNWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._03AuNWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_03AuQmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._03AuQmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_f02ocId1EemTGPCEQmMGWg" name="genOperation" type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>

+            <parameters xmi:id="_f1N00Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_f1hW0Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_f12G8Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_f2KQAId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_f2eZEId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_f2zJMId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_f3GrMId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_f3a0QId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_f3wLcId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_f4DtcId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_f5epwId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_f5zZ4Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_f6Hi8Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_f6bsAId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_f6wcIId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_f7FzUId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_f0ifYId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_f7s3UId1EemTGPCEQmMGWg"

+                called="#_03AuQmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_03KfMGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Interface.eUnset.override" headerMethod="#_03KfMmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_BqoGhHLZEd-09ds9dfYpFw" initMethod="#_03KfM2J-Ed-FqczH3ESmRw"

+              footerMethod="#_03KfNWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_f8uyEId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_03KfMmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._03KfMmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_03KfM2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._03KfM2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_BqoGhHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._BqoGhHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_03KfNWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._03KfNWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_03KfQWJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._03KfQWJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_gAFoEId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_gAZxIId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_gAssEId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_gA-_8Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_gBTJAId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_gBnSEId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_gB6NAId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_gCNvAId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_gCifIId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_gC6SkId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_gDOboId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_gDh9oId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_gD2GsId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_gEK20Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_gEgOAId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_gE0XEId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_f_wQ4Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_gFdQQId1EemTGPCEQmMGWg"

+                called="#_03KfQWJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_03TpIGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Interface.eIsSet.override" headerMethod="#_03TpImJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_BsH7VHLZEd-09ds9dfYpFw" initMethod="#_03TpI2J-Ed-FqczH3ESmRw"

+              footerMethod="#_03TpJWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_gGM3IId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_03TpImJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._03TpImJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_03TpI2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._03TpI2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_BsH7VHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._BsH7VHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_03TpJWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._03TpJWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_03TpMWJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._03TpMWJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_gJsQAId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_gKAZEId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_gKVJMId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_gKp5UId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_gK-CYId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_gLSLcId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_gLm7kId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_gL7EoId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_gMPNsId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_gMivsId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_gM2RsId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_gNJzsId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_gNd8wId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_gNys4Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_gOFn0Id1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_gOZJ0Id1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_gJYG8Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_gPBb8Id1EemTGPCEQmMGWg"

+                called="#_03TpMWJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_03daIGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Interface.insert" headerMethod="#_03daImJ-Ed-FqczH3ESmRw" conditionMethod="#_BtAsJHLZEd-09ds9dfYpFw"

+              initMethod="#_03daI2J-Ed-FqczH3ESmRw" footerMethod="#_03daJWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_gPxp4Id1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_03daImJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._03daImJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_03daI2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._03daI2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_BtAsJHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._BtAsJHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_03daJWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._03daJWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_03daMWJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._03daMWJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_gTV7QId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_gTqEUId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_gT9mUId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_gUSWcId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_gUmfgId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_gU7PoId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_gVPYsId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_gVi6sId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_gV2csId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_gWLM0Id1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_gWeHwId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_gWxpwId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_gXGZ4Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_gXai8Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_gXusAId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_gYDcIId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_gTByMId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_gYruQId1EemTGPCEQmMGWg"

+                called="#_03daMWJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_K9da0HroEeC0XN9kbwkPYQ" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Interface.egfCustom.constructor.override" headerMethod="#_K9da0nroEeC0XN9kbwkPYQ"

+              conditionMethod="#_K9da1HroEeC0XN9kbwkPYQ" initMethod="#_K9da03roEeC0XN9kbwkPYQ"

+              footerMethod="#_K9da1nroEeC0XN9kbwkPYQ">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_YTcsgId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_K9da0nroEeC0XN9kbwkPYQ" name="header" patternFilePath="templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da0nroEeC0XN9kbwkPYQ.pt"/>

+            <methods xmi:id="_K9da03roEeC0XN9kbwkPYQ" name="init" patternFilePath="templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da03roEeC0XN9kbwkPYQ.pt"/>

+            <methods xmi:id="_K9da1HroEeC0XN9kbwkPYQ" name="preCondition" patternFilePath="templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da1HroEeC0XN9kbwkPYQ.pt"/>

+            <methods xmi:id="_K9da1nroEeC0XN9kbwkPYQ" name="footer" patternFilePath="templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da1nroEeC0XN9kbwkPYQ.pt"/>

+            <methods xmi:id="_K9da4XroEeC0XN9kbwkPYQ" name="doGenerate" patternFilePath="templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da4XroEeC0XN9kbwkPYQ.pt"/>

+            <parameters xmi:id="_YWq_oId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_YW_vwId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_YXTRwId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_YXmMsId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_YX5HoId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_YYLbgId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_YYeWcId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_YYyfgId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_YZEzYId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_YZWgMId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_YZo0EId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_YZ7H8Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_YaNb0Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_YafvsId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_YayqoId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_YbE-gId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_YWXdoId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_Ybq0YId1EemTGPCEQmMGWg"

+                called="#_K9da4XroEeC0XN9kbwkPYQ"/>

+          </elements>

+          <elements xmi:id="_BsLUkeXDEeCxnsoQRwU99Q" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Interface.interface.javadoc.override" headerMethod="#_BsLUk-XDEeCxnsoQRwU99Q"

+              conditionMethod="#_BsVFkeXDEeCxnsoQRwU99Q" initMethod="#_BsVFkOXDEeCxnsoQRwU99Q"

+              footerMethod="#_BsVFk-XDEeCxnsoQRwU99Q">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_X3fwUId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_BsLUk-XDEeCxnsoQRwU99Q" name="header" patternFilePath="templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsLUk-XDEeCxnsoQRwU99Q.pt"/>

+            <methods xmi:id="_BsVFkOXDEeCxnsoQRwU99Q" name="init" patternFilePath="templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsVFkOXDEeCxnsoQRwU99Q.pt"/>

+            <methods xmi:id="_BsVFkeXDEeCxnsoQRwU99Q" name="preCondition" patternFilePath="templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsVFkeXDEeCxnsoQRwU99Q.pt"/>

+            <methods xmi:id="_BsVFk-XDEeCxnsoQRwU99Q" name="footer" patternFilePath="templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsVFk-XDEeCxnsoQRwU99Q.pt"/>

+            <methods xmi:id="_BsVFouXDEeCxnsoQRwU99Q" name="doGenerate" patternFilePath="templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsVFouXDEeCxnsoQRwU99Q.pt"/>

+            <parameters xmi:id="_X6xGwId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_X7EBsId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_X7W8oId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_X7s64Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_X7_10Id1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_X8SwwId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_X8lrsId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_X84moId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_X9PzAId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_X9jVAId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_X92P8Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_X-Ij0Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_X-a3sId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_X-uZsId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_X_B7sId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_X_UPkId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_X6eL0Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_X_5eYId1EemTGPCEQmMGWg"

+                called="#_BsVFouXDEeCxnsoQRwU99Q"/>

+          </elements>

+          <elements xmi:id="_onysQLM-EeKd56X4hcZPSw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.annotations.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.pre.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.annotations.insert&#xA;    * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.annotations.insert&#xA;"

+              name="Interface.genFeatureReified.override" headerMethod="#_onysQrM-EeKd56X4hcZPSw"

+              conditionMethod="#_onysRLM-EeKd56X4hcZPSw" initMethod="#_onysQ7M-EeKd56X4hcZPSw"

+              footerMethod="#_onysRrM-EeKd56X4hcZPSw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_YvfIQId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_onysQrM-EeKd56X4hcZPSw" name="header" patternFilePath="templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysQrM-EeKd56X4hcZPSw.pt"/>

+            <methods xmi:id="_onysQ7M-EeKd56X4hcZPSw" name="init" patternFilePath="templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysQ7M-EeKd56X4hcZPSw.pt"/>

+            <methods xmi:id="_onysRLM-EeKd56X4hcZPSw" name="preCondition" patternFilePath="templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysRLM-EeKd56X4hcZPSw.pt"/>

+            <methods xmi:id="_onysRrM-EeKd56X4hcZPSw" name="footer" patternFilePath="templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysRrM-EeKd56X4hcZPSw.pt"/>

+            <methods xmi:id="_onysWLM-EeKd56X4hcZPSw" name="doGenerate" patternFilePath="templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysWLM-EeKd56X4hcZPSw.pt"/>

+            <parameters xmi:id="_Yy7d0Id1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_YzOYwId1EemTGPCEQmMGWg" name="classExtendsGenClass"

+                type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_YzgsoId1EemTGPCEQmMGWg" name="classExtendsAllGenFeatures"

+                type="java.util.List"/>

+            <parameters xmi:id="_Yz1cwId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_Y0HwoId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_Y0aEgId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_Y0s_cId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_Y0_6YId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_Y1RnMId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_Y1j7EId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_Y122AId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_Y2NbUId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_Y2lOwId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_Y25X0Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_Y3M50Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_Y3hC4Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_Y30k4Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_Y4Hf0Id1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_Y4bo4Id1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_Yyn70Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_Y5CF0Id1EemTGPCEQmMGWg"

+                called="#_onysWLM-EeKd56X4hcZPSw"/>

+          </elements>

+          <elements xmi:id="_cAErkCSWEemxeP6B0lLOpA" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Interface.dynamicDelegation" headerMethod="#_cAhXgCSWEemxeP6B0lLOpA"

+              conditionMethod="#_cBQ-YCSWEemxeP6B0lLOpA" initMethod="#_cA-DcCSWEemxeP6B0lLOpA"

+              footerMethod="#_cB3bUCSWEemxeP6B0lLOpA">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_YcX_AId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_cAhXgCSWEemxeP6B0lLOpA" name="header" patternFilePath="templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cAhXgCSWEemxeP6B0lLOpA.pt"/>

+            <methods xmi:id="_cA-DcCSWEemxeP6B0lLOpA" name="init" patternFilePath="templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cA-DcCSWEemxeP6B0lLOpA.pt"/>

+            <methods xmi:id="_cBQ-YCSWEemxeP6B0lLOpA" name="preCondition" patternFilePath="templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cBQ-YCSWEemxeP6B0lLOpA.pt"/>

+            <methods xmi:id="_cB3bUCSWEemxeP6B0lLOpA" name="footer" patternFilePath="templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cB3bUCSWEemxeP6B0lLOpA.pt"/>

+            <methods xmi:id="_cFSiwCSWEemxeP6B0lLOpA" name="doGenerate" patternFilePath="templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cFSiwCSWEemxeP6B0lLOpA.pt"/>

+            <parameters xmi:id="_YfouYId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_Yf83cId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_YgPyYId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_YgiGQId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_Yg1oQId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_YhH8IId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_Yha3EId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_YhtK8Id1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_YiAF4Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_YiTn4Id1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_YjwZYId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_YkCtQId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_YkVoMId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_YkpKMId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_Yk8sMId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_YlPAEId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_YfXBkId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_YlyZsId1EemTGPCEQmMGWg"

+                called="#_cFSiwCSWEemxeP6B0lLOpA"/>

+          </elements>

+          <elements xmi:id="_eTdDcCSWEemxeP6B0lLOpA" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Interface.dynamicSetGenFeature.pre.insert" headerMethod="#_eT5vYCSWEemxeP6B0lLOpA"

+              conditionMethod="#_eUpWQCSWEemxeP6B0lLOpA" initMethod="#_eUMqUCSWEemxeP6B0lLOpA"

+              footerMethod="#_eVPMICSWEemxeP6B0lLOpA">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_cIjV0Id1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_eT5vYCSWEemxeP6B0lLOpA" name="header" patternFilePath="templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eT5vYCSWEemxeP6B0lLOpA.pt"/>

+            <methods xmi:id="_eUMqUCSWEemxeP6B0lLOpA" name="init" patternFilePath="templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eUMqUCSWEemxeP6B0lLOpA.pt"/>

+            <methods xmi:id="_eUpWQCSWEemxeP6B0lLOpA" name="preCondition" patternFilePath="templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eUpWQCSWEemxeP6B0lLOpA.pt"/>

+            <methods xmi:id="_eVPMICSWEemxeP6B0lLOpA" name="footer" patternFilePath="templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eVPMICSWEemxeP6B0lLOpA.pt"/>

+            <methods xmi:id="_eY91kCSWEemxeP6B0lLOpA" name="doGenerate" patternFilePath="templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eY91kCSWEemxeP6B0lLOpA.pt"/>

+            <parameters xmi:id="_cMDVwId1EemTGPCEQmMGWg" name="setAccessorOperation"

+                type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>

+            <parameters xmi:id="_cMW3wId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_cMpLoId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_cM9UsId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_cNQPoId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_cNkYsId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_cN3ToId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_cOK1oId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_cOdwkId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_cOwrgId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_cPENgId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_cPXvgId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_cPqqcId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_cP8-UId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_cQRucId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_cQl3gId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_cQ5ZgId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_cRLtYId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_cLvzwId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_cRzYcId1EemTGPCEQmMGWg"

+                called="#_eY91kCSWEemxeP6B0lLOpA"/>

+          </elements>

+          <elements xmi:id="_eZahgCSWEemxeP6B0lLOpA" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/Class.javajet&quot;&#xA;"

+              name="Interface.dynamicSetGenFeature.post.insert" headerMethod="#_eZ3NcCSWEemxeP6B0lLOpA"

+              conditionMethod="#_eam0UCSWEemxeP6B0lLOpA" initMethod="#_eaTSUCSWEemxeP6B0lLOpA"

+              footerMethod="#_ebMqMCSWEemxeP6B0lLOpA">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_cSiYQId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_eZ3NcCSWEemxeP6B0lLOpA" name="header" patternFilePath="templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._eZ3NcCSWEemxeP6B0lLOpA.pt"/>

+            <methods xmi:id="_eaTSUCSWEemxeP6B0lLOpA" name="init" patternFilePath="templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._eaTSUCSWEemxeP6B0lLOpA.pt"/>

+            <methods xmi:id="_eam0UCSWEemxeP6B0lLOpA" name="preCondition" patternFilePath="templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._eam0UCSWEemxeP6B0lLOpA.pt"/>

+            <methods xmi:id="_ebMqMCSWEemxeP6B0lLOpA" name="footer" patternFilePath="templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._ebMqMCSWEemxeP6B0lLOpA.pt"/>

+            <methods xmi:id="_efOOkCSWEemxeP6B0lLOpA" name="doGenerate" patternFilePath="templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._efOOkCSWEemxeP6B0lLOpA.pt"/>

+            <parameters xmi:id="_cWJF4Id1EemTGPCEQmMGWg" name="setAccessorOperation"

+                type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>

+            <parameters xmi:id="_cWd2AId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_cWymIId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_cXGvMId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_cXa4QId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_cXuaQId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_cZVj0Id1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>

+            <parameters xmi:id="_cZpF0Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>

+            <parameters xmi:id="_cZ9O4Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_caRX8Id1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>

+            <parameters xmi:id="_calhAId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_ca5DAId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_cbOaMId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"

+                type="java.lang.String"/>

+            <parameters xmi:id="_cbh8MId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_cb2FQId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_ccK1YId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_cceXYId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <parameters xmi:id="_cczHgId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_cVzHoId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_cddO0Id1EemTGPCEQmMGWg"

+                called="#_efOOkCSWEemxeP6B0lLOpA"/>

+          </elements>

+        </libraries>

+        <libraries xmi:id="_omcocLM-EeKd56X4hcZPSw" name="org.eclipse.egf.emf.pattern.model.call.ValidatorClass">

+          <elements xmi:id="_omcocbM-EeKd56X4hcZPSw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model/ValidatorClass.javajet&quot;&#xA;"

+              name="ValidatorClass.insert" headerMethod="#_omcoc7M-EeKd56X4hcZPSw"

+              conditionMethod="#_omcodbM-EeKd56X4hcZPSw" initMethod="#_omcodLM-EeKd56X4hcZPSw"

+              footerMethod="#_omcod7M-EeKd56X4hcZPSw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_gZtpAId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_omcoc7M-EeKd56X4hcZPSw" name="header" patternFilePath="templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcoc7M-EeKd56X4hcZPSw.pt"/>

+            <methods xmi:id="_omcodLM-EeKd56X4hcZPSw" name="init" patternFilePath="templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcodLM-EeKd56X4hcZPSw.pt"/>

+            <methods xmi:id="_omcodbM-EeKd56X4hcZPSw" name="preCondition" patternFilePath="templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcodbM-EeKd56X4hcZPSw.pt"/>

+            <methods xmi:id="_omcod7M-EeKd56X4hcZPSw" name="footer" patternFilePath="templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcod7M-EeKd56X4hcZPSw.pt"/>

+            <methods xmi:id="_omcof7M-EeKd56X4hcZPSw" name="doGenerate" patternFilePath="templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcof7M-EeKd56X4hcZPSw.pt"/>

+            <parameters xmi:id="_gdYBAId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_gdvNYId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_geEkkId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_geYGkId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>

+            <parameters xmi:id="_gerokId1EemTGPCEQmMGWg" name="_Map" type="java.lang.String"/>

+            <parameters xmi:id="_ge-jgId1EemTGPCEQmMGWg" name="objectArgument" type="java.lang.String"/>

+            <parameters xmi:id="_gfSFgId1EemTGPCEQmMGWg" name="count" type="java.lang.Integer"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_gdD38Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_gf37YId1EemTGPCEQmMGWg"

+                called="#_omcof7M-EeKd56X4hcZPSw"/>

+          </elements>

+        </libraries>

+      </viewpoints>

+    </viewpointContainer>

+    <orchestration xmi:type="fprod:ProductionPlan" xmi:id="_Prg8YDG0Ed-kc8dEZsdm2w">

+      <invocations xmi:id="_tLstwId1EemTGPCEQmMGWg" name="EMF Model Pattern" invokedActivity="ftask:Task platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_jT-SgD1hEd-m5uHrCQ1Jew">

+        <invocationContractContainer xmi:id="_tMZ4YId1EemTGPCEQmMGWg">

+          <invocationContracts xmi:id="_tNEmwId1EemTGPCEQmMGWg" factoryComponentContract="#_Prg8ZTG0Ed-kc8dEZsdm2w"

+              invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/egf/Model_driven_pattern_strategy_task.fcore#_DgB2IP6fEd64XaYPo3s6sPg"/>

+          <invocationContracts xmi:id="_tO0TMId1EemTGPCEQmMGWg" factoryComponentContract="#_WRxYEFIIEd-eGOdO3WtsxA"

+              invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/egf/Model_driven_pattern_strategy_task.fcore#_L6JSwAHAEd-4faJMEplCjxw">

+            <type xmi:type="pattern:TypePatternExecutionReporter" xmi:id="_tPJqYId1EemTGPCEQmMGWg"

+                value="org.eclipse.egf.emf.pattern.base.ContentTypePatternExecutionReporter"/>

+          </invocationContracts>

+          <invocationContracts xmi:id="_tQPPgId1EemTGPCEQmMGWg" factoryComponentContract="#_TxwAHVkTEd-bv5aydwO2Qw"

+              invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/egf/Model_driven_pattern_strategy_task.fcore#_nz1HkSCaEd-Sse0r9LJWbA">

+            <type xmi:type="pattern:TypePatternList" xmi:id="_tQl00Id1EemTGPCEQmMGWg"

+                elements="#_Pcm9szG0Ed-kc8dEZsdm2w"/>

+          </invocationContracts>

+          <invocationContracts xmi:id="_tRl6YId1EemTGPCEQmMGWg" factoryComponentContract="#_OVsagFHVEd-dr9AWwNwIMQ"

+              invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/egf/Model_driven_pattern_strategy_task.fcore#_NFhJ4UMgEd-Ixul1H5ANhg"/>

+          <invocationContracts xmi:id="_tS-acId1EemTGPCEQmMGWg" factoryComponentContract="#_RcQCMPI7Ed-Pp8S8RvVOuQ"

+              invokedContract="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_JWI2sPI7Ed-Pp8S8RvVOuQ"/>

+          <invocationContracts xmi:id="_tUW6gId1EemTGPCEQmMGWg" factoryComponentContract="#_sluXsVLLEd-ZSLMRjxSbVQ"

+              invokedContract="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_vtlEAFLMEd-ZSLMRjxSbVQ"/>

+        </invocationContractContainer>

+      </invocations>

+    </orchestration>

+  </fcore:FactoryComponent>

+  <fcore:FactoryComponent xmi:id="_PiIW4DG0Ed-kc8dEZsdm2w" name="EMF Edit Pattern">

+    <contractContainer xmi:id="_Prg8bzG0Ed-kc8dEZsdm2w">

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_Prg8cDG0Ed-kc8dEZsdm2w"

+          description="EMF Edit Pattern" name="genModel" mandatory="true" invocationContracts="#_tXP2cId1EemTGPCEQmMGWg">

+        <type xmi:type="domain:TypeDomain" xmi:id="_tYIAMId1EemTGPCEQmMGWg"/>

+      </contracts>

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_jzYi8FIIEd-eGOdO3WtsxA"

+          description="EMF Edit Pattern" name="pattern.execution.reporter" invocationContracts="#_tYwSUId1EemTGPCEQmMGWg">

+        <type xmi:type="pattern:TypePatternExecutionReporter" xmi:id="_tZWIMId1EemTGPCEQmMGWg"/>

+      </contracts>

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_Tx5xHVkTEd-bv5aydwO2Qw"

+          description="EMF Edit Pattern" name="pattern.ids" invocationContracts="#_tZ_BYId1EemTGPCEQmMGWg">

+        <type xmi:type="pattern:TypePatternList" xmi:id="_tanTgId1EemTGPCEQmMGWg"/>

+      </contracts>

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_UCnhEFHVEd-dr9AWwNwIMQ"

+          description="EMF Edit Pattern" name="pattern.substitutions" invocationContracts="#_tcMn4Id1EemTGPCEQmMGWg">

+        <type xmi:type="pattern:TypePatternSubstitution" xmi:id="_tc1hEId1EemTGPCEQmMGWg"/>

+      </contracts>

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_dgkvsPI7Ed-Pp8S8RvVOuQ"

+          description="EMF Edit Pattern" name="usedGenPackages" invocationContracts="#_tdbW8Id1EemTGPCEQmMGWg">

+        <type xmi:type="domain:TypeGenPackages" xmi:id="_teBz4Id1EemTGPCEQmMGWg"/>

+      </contracts>

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_9wHxsFLMEd-ZSLMRjxSbVQ"

+          description="EMF Edit Pattern" name="mergeRulesURI" invocationContracts="#_tenpwId1EemTGPCEQmMGWg">

+        <type xmi:type="types:TypeURI" xmi:id="_tfPU0Id1EemTGPCEQmMGWg"/>

+      </contracts>

+    </contractContainer>

+    <viewpointContainer xmi:id="_PiIW4TG0Ed-kc8dEZsdm2w">

+      <viewpoints xmi:type="pattern:PatternViewpoint" xmi:id="_PiIW4jG0Ed-kc8dEZsdm2w">

+        <libraries xmi:id="_PiIW4zG0Ed-kc8dEZsdm2w" name="org.eclipse.egf.emf.pattern.edit">

+          <elements xmi:id="_PiIW5DG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/edit/plugin.xmljet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderXml&#xA;"

+              name="PluginXML" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_ZTUvECg7Ed-ROrlGa8LEeQ"

+              headerMethod="#_PiIW5jG0Ed-kc8dEZsdm2w" conditionMethod="#_9qU51HLYEd-09ds9dfYpFw"

+              initMethod="#_PiIW5zG0Ed-kc8dEZsdm2w" footerMethod="#_PiIW6TG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_UbzFgId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_PiIW5jG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW5jG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PiIW5zG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW5zG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_9qU51HLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._9qU51HLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_PiIW6TG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW6TG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PiIW6zG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW6zG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_SuSFqGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._SuSFqGKPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_09tDuWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._09tDuWKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_PiIW7TG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW7TG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_UevEwId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_Uf47UId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_mwzm4ChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_UgeKIId1EemTGPCEQmMGWg"

+                called="#_PiIW7TG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_UgxFEId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_UhDY8Id1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_PibR0DG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/edit/build.propertiesjet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderProperties&#xA;"

+              name="BuildProperties" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_ZTUvECg7Ed-ROrlGa8LEeQ"

+              headerMethod="#_PibR0jG0Ed-kc8dEZsdm2w" conditionMethod="#_9kEg2HLYEd-09ds9dfYpFw"

+              initMethod="#_PibR0zG0Ed-kc8dEZsdm2w" footerMethod="#_PibR1TG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_Uhzm4Id1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_PibR0jG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR0jG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PibR0zG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR0zG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_9kEg2HLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._9kEg2HLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_PibR1TG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR1TG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PibR1zG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR1zG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_St_KvGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._St_KvGKPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_09QXzWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._09QXzWKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_PibR2TG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR2TG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_UktJ4Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_Ul3AcId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_mwzm4ChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_UmaaEId1EemTGPCEQmMGWg"

+                called="#_PibR2TG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_UmsG4Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_Um9MoId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_PiuMwDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/edit/manifest.mfjet&quot;&#xA;"

+              name="ManifestMF" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_ZTUvECg7Ed-ROrlGa8LEeQ"

+              headerMethod="#_PiuMwjG0Ed-kc8dEZsdm2w" conditionMethod="#_9nWeVHLYEd-09ds9dfYpFw"

+              initMethod="#_PiuMwzG0Ed-kc8dEZsdm2w" footerMethod="#_PiuMxTG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_UnqXQId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_PiuMwjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMwjG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PiuMwzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMwzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_9nWeVHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._9nWeVHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_PiuMxTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMxTG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PiuMxzG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMxzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_SuI7uGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._SuI7uGKPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_09j5yWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._09j5yWKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_PiuMyTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMyTG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_UqjTMId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_UruX4Id1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_mwzm4ChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_UsWqAId1EemTGPCEQmMGWg"

+                called="#_PiuMyTG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_Uspk8Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_Us7RwId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_Pi39wDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/edit/plugin.propertiesjet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderProperties&#xA;"

+              name="PluginProperties" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_xxtwkCg7Ed-ROrlGa8LEeQ"

+              headerMethod="#_Pi39wjG0Ed-kc8dEZsdm2w" conditionMethod="#_9tdGVHLYEd-09ds9dfYpFw"

+              initMethod="#_Pi39wzG0Ed-kc8dEZsdm2w" footerMethod="#_Pi39xTG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_UznvoId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_Pi39wjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39wjG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_Pi39wzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39wzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_9tdGVHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._9tdGVHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_Pi39xTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39xTG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_Pi39xzG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39xzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_Sub2qGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Sub2qGKPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_0920uWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._0920uWKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_Pi39yTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39yTG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_U2ak8Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_U3lpoId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_pQ16sChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_U4JDQId1EemTGPCEQmMGWg"

+                called="#_Pi39yTG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_U4b-MId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_U4uSEId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_PjK4sDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/edit/ItemProvider.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;    * org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.addPropertyDescriptor.override&#xA;    * org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.getText.override&#xA;    * org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.getStyledText.override&#xA;    * org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsReferenceDelegatedFeature.override&#xA;    * org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsAttributeDelegatedFeature.override&#xA;    * org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsReferenceFeature.override&#xA;    * org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsAttributeFeature.override&#xA;    * org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.insert&#xA;"

+              name="ItemProvider" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_hYG6UCg6Ed-ROrlGa8LEeQ"

+              headerMethod="#_PjK4sjG0Ed-kc8dEZsdm2w" conditionMethod="#_9wJN9HLYEd-09ds9dfYpFw"

+              initMethod="#_PjK4szG0Ed-kc8dEZsdm2w" footerMethod="#_PjK4tTG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_VLjHcId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_PjK4sjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4sjG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PjK4szG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4szG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_9wJN9HLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._9wJN9HLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_PjK4tTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4tTG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PjK4tzG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4tzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_SuuxqGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._SuuxqGKPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_0-TgqWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._0-TgqWKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_PjK4uTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4uTG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_VOnCgId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_VP7RIId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_Chxo4ChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_VQgf8Id1EemTGPCEQmMGWg"

+                called="#_PjK4uTG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_VQza4Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_VRFuwId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_PjdzoDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/edit/ItemProviderAdapterFactory.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;    * org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsReferenceDelegatedFeature.override&#xA;    * org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsAttributeDelegatedFeature.override&#xA;    * org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsReferenceFeature.override&#xA;    * org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsAttributeFeature.override&#xA;"

+              name="ItemProviderAdapterFactory" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_VlOiICg6Ed-ROrlGa8LEeQ"

+              headerMethod="#_PjdzojG0Ed-kc8dEZsdm2w" conditionMethod="#_92_c1HLYEd-09ds9dfYpFw"

+              initMethod="#_PjdzozG0Ed-kc8dEZsdm2w" footerMethod="#_PjdzpTG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_VFhX8Id1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_PjdzojG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzojG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PjdzozG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzozG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_92_c1HLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._92_c1HLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_PjdzpTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzpTG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PjdzpzG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzpzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_SulnpGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._SulnpGKPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_09_-qWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._09_-qWKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_PjdzqTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzqTG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_VIbiAId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_VJkxgId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_QRYMcChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_VKQuAId1EemTGPCEQmMGWg"

+                called="#_PjdzqTG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_VKia0Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_VK0usId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_MeyroChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_PjwukDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/edit/Plugin.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"

+              name="Plugin" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_F0In8Cg6Ed-ROrlGa8LEeQ"

+              headerMethod="#_PjwukjG0Ed-kc8dEZsdm2w" conditionMethod="#_9y-fhHLYEd-09ds9dfYpFw"

+              initMethod="#_PjwukzG0Ed-kc8dEZsdm2w" footerMethod="#_PjwulTG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_U5g8QId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_PjwukjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwukjG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PjwukzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwukzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_9y-fhHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._9y-fhHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_PjwulTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwulTG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PjwulzG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwulzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_SuuxmGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._SuuxmGKPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_0-JvqWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._0-JvqWKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_PjwumTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwumTG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_U8YDAId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_U9jHsId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_cjQNwChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_U-IWgId1EemTGPCEQmMGWg"

+                called="#_PjwumTG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_U-aqYId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_U-sXMId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_Pj6fkDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * &#xA;"

+              name="CreateChildIconsForGenPackage" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_HODPICrVEd-81OQ8yF10Og"

+              headerMethod="#_PkEQkDG0Ed-kc8dEZsdm2w" conditionMethod="#_97KyNHLYEd-09ds9dfYpFw"

+              initMethod="#_PkEQkTG0Ed-kc8dEZsdm2w" footerMethod="#_PkEQkzG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_VXjjIId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_PkEQkDG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._PkEQkDG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PkEQkTG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._PkEQkTG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_97KyNHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._97KyNHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_PkEQkzG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._PkEQkzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_0-wMmGKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._0-wMmGKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_PkEQlzG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._PkEQlzG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_VaeUQId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_VbBt4Id1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_yLcWwCt-Ed-D6YqMf1n1Bg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_VblHgId1EemTGPCEQmMGWg"

+                called="#_PkEQlzG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_Vb20UId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_VcJIMId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_0yyMcCt-Ed-D6YqMf1n1Bg"/>

+          </elements>

+          <elements xmi:id="_PkNagDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * &#xA;"

+              name="ItemIcon" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_IzJSwCrXEd-81OQ8yF10Og"

+              headerMethod="#_PkNagjG0Ed-kc8dEZsdm2w" conditionMethod="#_99Zm1HLYEd-09ds9dfYpFw"

+              initMethod="#_PkNagzG0Ed-kc8dEZsdm2w" footerMethod="#_PkNahTG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_Vh-DYId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_PkNagjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._PkNagjG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PkNagzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._PkNagzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_99Zm1HLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._99Zm1HLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_PkNahTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._PkNahTG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_0-mbmGKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._0-mbmGKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_PkNaiTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._PkNaiTG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_VkvqkId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_VlTrQId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_Chxo4ChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_Vl3E4Id1EemTGPCEQmMGWg"

+                called="#_PkNaiTG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_VmIKoId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_VmZ3cId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_Pkg8gDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * &#xA;"

+              name="CreateChildIconsForGenClass" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_IzJSwCrXEd-81OQ8yF10Og"

+              headerMethod="#_Pkg8gjG0Ed-kc8dEZsdm2w" conditionMethod="#_9_MWlHLYEd-09ds9dfYpFw"

+              initMethod="#_Pkg8gzG0Ed-kc8dEZsdm2w" footerMethod="#_Pkg8hTG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_Vc1rwId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_Pkg8gjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._Pkg8gjG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_Pkg8gzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._Pkg8gzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_9_MWlHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._9_MWlHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_Pkg8hTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._Pkg8hTG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_0-cqmGKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._0-cqmGKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_Pkg8iTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._Pkg8iTG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_Vfn6AId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_VgL6sId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_Chxo4ChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_VgvUUId1EemTGPCEQmMGWg"

+                called="#_Pkg8iTG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_VhBoMId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_VhSt8Id1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_QPtOcH7rEd-W9_ZFSEQEPg" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/edit/module.gwt.xmljet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderXml&#xA;"

+              name="ModuleGWTXML" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_ZTUvECg7Ed-ROrlGa8LEeQ"

+              headerMethod="#_QPtOcn7rEd-W9_ZFSEQEPg" conditionMethod="#_QPtOdH7rEd-W9_ZFSEQEPg"

+              initMethod="#_QPtOc37rEd-W9_ZFSEQEPg" footerMethod="#_QPtOdn7rEd-W9_ZFSEQEPg">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_Utq4oId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_QPtOcn7rEd-W9_ZFSEQEPg" name="header" patternFilePath="templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QPtOcn7rEd-W9_ZFSEQEPg.pt"/>

+            <methods xmi:id="_QPtOc37rEd-W9_ZFSEQEPg" name="init" patternFilePath="templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QPtOc37rEd-W9_ZFSEQEPg.pt"/>

+            <methods xmi:id="_QPtOdH7rEd-W9_ZFSEQEPg" name="preCondition" patternFilePath="templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QPtOdH7rEd-W9_ZFSEQEPg.pt"/>

+            <methods xmi:id="_QPtOdn7rEd-W9_ZFSEQEPg" name="footer" patternFilePath="templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QPtOdn7rEd-W9_ZFSEQEPg.pt"/>

+            <methods xmi:id="_QP2YYH7rEd-W9_ZFSEQEPg" name="setReporterVariables"

+                patternFilePath="templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QP2YYH7rEd-W9_ZFSEQEPg.pt"/>

+            <methods xmi:id="_QP2YYX7rEd-W9_ZFSEQEPg" name="setArgument" patternFilePath="templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QP2YYX7rEd-W9_ZFSEQEPg.pt"/>

+            <methods xmi:id="_QP2YYn7rEd-W9_ZFSEQEPg" name="ensureProjectExists" patternFilePath="templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QP2YYn7rEd-W9_ZFSEQEPg.pt"/>

+            <methods xmi:id="_QP2YZH7rEd-W9_ZFSEQEPg" name="doGenerate" patternFilePath="templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QP2YZH7rEd-W9_ZFSEQEPg.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_Uwh_YId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_Uxr18Id1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_mwzm4ChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_UyREwId1EemTGPCEQmMGWg"

+                called="#_QP2YZH7rEd-W9_ZFSEQEPg"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_Uyj_sId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_Uy1sgId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_QRpIIH7rEd-W9_ZFSEQEPg" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/edit/Images.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"

+              name="Images" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_F0In8Cg6Ed-ROrlGa8LEeQ"

+              headerMethod="#_QRpIIn7rEd-W9_ZFSEQEPg" conditionMethod="#_QRpIJH7rEd-W9_ZFSEQEPg"

+              initMethod="#_QRpII37rEd-W9_ZFSEQEPg" footerMethod="#_QRpIJn7rEd-W9_ZFSEQEPg">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_U_bXAId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_QRpIIn7rEd-W9_ZFSEQEPg" name="header" patternFilePath="templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIIn7rEd-W9_ZFSEQEPg.pt"/>

+            <methods xmi:id="_QRpII37rEd-W9_ZFSEQEPg" name="init" patternFilePath="templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpII37rEd-W9_ZFSEQEPg.pt"/>

+            <methods xmi:id="_QRpIJH7rEd-W9_ZFSEQEPg" name="preCondition" patternFilePath="templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIJH7rEd-W9_ZFSEQEPg.pt"/>

+            <methods xmi:id="_QRpIJn7rEd-W9_ZFSEQEPg" name="footer" patternFilePath="templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIJn7rEd-W9_ZFSEQEPg.pt"/>

+            <methods xmi:id="_QRpIKH7rEd-W9_ZFSEQEPg" name="setReporterVariables"

+                patternFilePath="templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIKH7rEd-W9_ZFSEQEPg.pt"/>

+            <methods xmi:id="_QRpIKX7rEd-W9_ZFSEQEPg" name="setArgument" patternFilePath="templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIKX7rEd-W9_ZFSEQEPg.pt"/>

+            <methods xmi:id="_QRpIKn7rEd-W9_ZFSEQEPg" name="ensureProjectExists" patternFilePath="templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIKn7rEd-W9_ZFSEQEPg.pt"/>

+            <methods xmi:id="_QRpILH7rEd-W9_ZFSEQEPg" name="doGenerate" patternFilePath="templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpILH7rEd-W9_ZFSEQEPg.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_VCZLcId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_VDnTcId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_cjQNwChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_VEL7MId1EemTGPCEQmMGWg"

+                called="#_QRpILH7rEd-W9_ZFSEQEPg"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_VEe2IId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_VExKAId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_QR8DEH7rEd-W9_ZFSEQEPg" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/edit/Properties.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"

+              name="Properties" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_F0In8Cg6Ed-ROrlGa8LEeQ"

+              headerMethod="#_QR8DEn7rEd-W9_ZFSEQEPg" conditionMethod="#_QR8DFH7rEd-W9_ZFSEQEPg"

+              initMethod="#_QR8DE37rEd-W9_ZFSEQEPg" footerMethod="#_QR8DFn7rEd-W9_ZFSEQEPg">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_VR1VoId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_QR8DEn7rEd-W9_ZFSEQEPg" name="header" patternFilePath="templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DEn7rEd-W9_ZFSEQEPg.pt"/>

+            <methods xmi:id="_QR8DE37rEd-W9_ZFSEQEPg" name="init" patternFilePath="templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DE37rEd-W9_ZFSEQEPg.pt"/>

+            <methods xmi:id="_QR8DFH7rEd-W9_ZFSEQEPg" name="preCondition" patternFilePath="templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DFH7rEd-W9_ZFSEQEPg.pt"/>

+            <methods xmi:id="_QR8DFn7rEd-W9_ZFSEQEPg" name="footer" patternFilePath="templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DFn7rEd-W9_ZFSEQEPg.pt"/>

+            <methods xmi:id="_QR8DGH7rEd-W9_ZFSEQEPg" name="setReporterVariables"

+                patternFilePath="templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DGH7rEd-W9_ZFSEQEPg.pt"/>

+            <methods xmi:id="_QR8DGX7rEd-W9_ZFSEQEPg" name="setArgument" patternFilePath="templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DGX7rEd-W9_ZFSEQEPg.pt"/>

+            <methods xmi:id="_QR8DGn7rEd-W9_ZFSEQEPg" name="ensureProjectExists" patternFilePath="templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DGn7rEd-W9_ZFSEQEPg.pt"/>

+            <methods xmi:id="_QR8DHH7rEd-W9_ZFSEQEPg" name="doGenerate" patternFilePath="templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DHH7rEd-W9_ZFSEQEPg.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_VUnj4Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_VVuXIId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_cjQNwChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_VWRwwId1EemTGPCEQmMGWg"

+                called="#_QR8DHH7rEd-W9_ZFSEQEPg"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_VWjdkId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_VW1KYId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>

+          </elements>

+        </libraries>

+        <libraries xmi:id="_03mkEGJ-Ed-FqczH3ESmRw" name="org.eclipse.egf.emf.pattern.edit.call.ItemProvider">

+          <elements xmi:id="_03mkEWJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/edit/ItemProvider.javajet&quot;&#xA;"

+              name="ItemProvider.addPropertyDescriptor.override" headerMethod="#_03mkE2J-Ed-FqczH3ESmRw"

+              conditionMethod="#_BuWv9XLZEd-09ds9dfYpFw" initMethod="#_03mkFGJ-Ed-FqczH3ESmRw"

+              footerMethod="#_03mkFmJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_qfFWgId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_03mkE2J-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._03mkE2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_03mkFGJ-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._03mkFGJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_BuWv9XLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._BuWv9XLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_03mkFmJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._03mkFmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_03mkHWJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._03mkHWJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_qi1OEId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_qjLMUId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_qjf8cId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_qj1ToId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_qkKq0Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_qkez4Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_qk0LEId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_qlJiQId1EemTGPCEQmMGWg" name="_List" type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_qif24Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_qlzpkId1EemTGPCEQmMGWg"

+                called="#_03mkHWJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_03wVEGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/edit/ItemProvider.javajet&quot;&#xA;"

+              name="ItemProvider.getText.override" headerMethod="#_03wVEmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_BvZRxHLZEd-09ds9dfYpFw" initMethod="#_03wVE2J-Ed-FqczH3ESmRw"

+              footerMethod="#_03wVFWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_qmj3gId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_03wVEmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._03wVEmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_03wVE2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._03wVE2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_BvZRxHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._BvZRxHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_03wVFWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._03wVFWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_03wVG2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._03wVG2J-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_qp_mAId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_qqU9MId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_qqn4IId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_qq_EgId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_qrUbsId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_qrpL0Id1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_qr-jAId1EemTGPCEQmMGWg" name="_List" type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_qpq14Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_qsncMId1EemTGPCEQmMGWg"

+                called="#_03wVG2J-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_036GEGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/edit/ItemProviderAdapterFactory.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsReferenceDelegatedFeature.insert&#xA;"

+              name="ItemProvider.newChildDescriptorsReferenceDelegatedFeature.override"

+              headerMethod="#_036GEmJ-Ed-FqczH3ESmRw" conditionMethod="#_Bx7oZHLZEd-09ds9dfYpFw"

+              initMethod="#_036GE2J-Ed-FqczH3ESmRw" footerMethod="#_036GFWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_plHooId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_036GEmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._036GEmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_036GE2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._036GE2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_Bx7oZHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._Bx7oZHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_036GFWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._036GFWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_036GIGJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._036GIGJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_polzYId1EemTGPCEQmMGWg" name="createClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_po5VYId1EemTGPCEQmMGWg" name="createFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_ppQhwId1EemTGPCEQmMGWg" name="delegatedFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_ppkDwId1EemTGPCEQmMGWg" name="createClassifier" type="org.eclipse.emf.codegen.ecore.genmodel.GenClassifier"/>

+            <parameters xmi:id="_pp3lwId1EemTGPCEQmMGWg" name="childCreationData"

+                type="org.eclipse.emf.codegen.ecore.genmodel.GenClass$ChildCreationData"/>

+            <parameters xmi:id="_pqLu0Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_pqepwId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_pqyLwId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_prG74Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_poS4cId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_prv1EId1EemTGPCEQmMGWg"

+                called="#_036GIGJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_04NBAGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/edit/ItemProviderAdapterFactory.javajet&quot;&#xA;"

+              name="ItemProvider.newChildDescriptorsReferenceDelegatedFeature.insert"

+              headerMethod="#_04NBAmJ-Ed-FqczH3ESmRw" conditionMethod="#_B2Z4tHLZEd-09ds9dfYpFw"

+              initMethod="#_04NBA2J-Ed-FqczH3ESmRw" footerMethod="#_04NBBWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_psdmwId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_04NBAmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._04NBAmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_04NBA2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._04NBA2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_B2Z4tHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._B2Z4tHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_04NBBWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._04NBBWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_04NBEGJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._04NBEGJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_pv-00Id1EemTGPCEQmMGWg" name="createClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_pwRIsId1EemTGPCEQmMGWg" name="createFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_pwjckId1EemTGPCEQmMGWg" name="delegatedFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_pw6o8Id1EemTGPCEQmMGWg" name="createClassifier" type="org.eclipse.emf.codegen.ecore.genmodel.GenClassifier"/>

+            <parameters xmi:id="_pxOK8Id1EemTGPCEQmMGWg" name="childCreationData"

+                type="org.eclipse.emf.codegen.ecore.genmodel.GenClass$ChildCreationData"/>

+            <parameters xmi:id="_pxjiIId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_px2dEId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_pyLNMId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_pyevMId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_pvr54Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_pzGaQId1EemTGPCEQmMGWg"

+                called="#_04NBEGJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_04WyAGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/edit/ItemProviderAdapterFactory.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsAttributeDelegatedFeature.insert&#xA;"

+              name="ItemProvider.newChildDescriptorsAttributeDelegatedFeature.override"

+              headerMethod="#_04WyAmJ-Ed-FqczH3ESmRw" conditionMethod="#_B3vVdHLZEd-09ds9dfYpFw"

+              initMethod="#_04WyA2J-Ed-FqczH3ESmRw" footerMethod="#_04WyBWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_pz2BIId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_04WyAmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._04WyAmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_04WyA2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._04WyA2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_B3vVdHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._B3vVdHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_04WyBWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._04WyBWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_04WyEGJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._04WyEGJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_p3SWsId1EemTGPCEQmMGWg" name="createDataType" type="org.eclipse.emf.codegen.ecore.genmodel.GenDataType"/>

+            <parameters xmi:id="_p3l4sId1EemTGPCEQmMGWg" name="createFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_p36BwId1EemTGPCEQmMGWg" name="delegatedFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_p4NjwId1EemTGPCEQmMGWg" name="createClassifier" type="org.eclipse.emf.codegen.ecore.genmodel.GenClassifier"/>

+            <parameters xmi:id="_p4iT4Id1EemTGPCEQmMGWg" name="childCreationData"

+                type="org.eclipse.emf.codegen.ecore.genmodel.GenClass$ChildCreationData"/>

+            <parameters xmi:id="_p44SIId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_p5L0IId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_p5eIAId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_p5xC8Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_p2_bwId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_p6ajMId1EemTGPCEQmMGWg"

+                called="#_04WyEGJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_04f78GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/edit/ItemProviderAdapterFactory.javajet&quot;&#xA;"

+              name="ItemProvider.newChildDescriptorsAttributeDelegatedFeature.insert"

+              headerMethod="#_04f78mJ-Ed-FqczH3ESmRw" conditionMethod="#_B4yeVHLZEd-09ds9dfYpFw"

+              initMethod="#_04f782J-Ed-FqczH3ESmRw" footerMethod="#_04f79WJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_p7Ht0Id1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_04f78mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._04f78mJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_04f782J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._04f782J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_B4yeVHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._B4yeVHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_04f79WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._04f79WJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_04f8AGJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._04f8AGJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_p-cuoId1EemTGPCEQmMGWg" name="createDataType" type="org.eclipse.emf.codegen.ecore.genmodel.GenDataType"/>

+            <parameters xmi:id="_p-vpkId1EemTGPCEQmMGWg" name="createFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_p_DLkId1EemTGPCEQmMGWg" name="delegatedFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_p_X7sId1EemTGPCEQmMGWg" name="createClassifier" type="org.eclipse.emf.codegen.ecore.genmodel.GenClassifier"/>

+            <parameters xmi:id="_p_sEwId1EemTGPCEQmMGWg" name="childCreationData"

+                type="org.eclipse.emf.codegen.ecore.genmodel.GenClass$ChildCreationData"/>

+            <parameters xmi:id="_qAAN0Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_qATv0Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_qAnR0Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_qA6z0Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_p-KawId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_qBgpsId1EemTGPCEQmMGWg"

+                called="#_04f8AGJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_04ps8GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/edit/ItemProviderAdapterFactory.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsReferenceFeature.insert&#xA;"

+              name="ItemProvider.newChildDescriptorsReferenceFeature.override" headerMethod="#_04ps8mJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_B63h9HLZEd-09ds9dfYpFw" initMethod="#_04ps82J-Ed-FqczH3ESmRw"

+              footerMethod="#_04ps9WJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_qCSs0Id1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_04ps8mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._04ps8mJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_04ps82J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._04ps82J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_B63h9HLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._B63h9HLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_04ps9WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._04ps9WJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_04ptAGJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._04ptAGJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_qFntoId1EemTGPCEQmMGWg" name="createClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_qF6BgId1EemTGPCEQmMGWg" name="createFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_qGMVYId1EemTGPCEQmMGWg" name="delegatedFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_qGfQUId1EemTGPCEQmMGWg" name="createClassifier" type="org.eclipse.emf.codegen.ecore.genmodel.GenClassifier"/>

+            <parameters xmi:id="_qGxkMId1EemTGPCEQmMGWg" name="childCreationData"

+                type="org.eclipse.emf.codegen.ecore.genmodel.GenClass$ChildCreationData"/>

+            <parameters xmi:id="_qHGUUId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_qHadYId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_qHt_YId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_qIA6UId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_qFULoId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_qImJIId1EemTGPCEQmMGWg"

+                called="#_04ptAGJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_04y24GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/edit/ItemProviderAdapterFactory.javajet&quot;&#xA;"

+              name="ItemProvider.newChildDescriptorsReferenceFeature.insert" headerMethod="#_04y24mJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_B-caZHLZEd-09ds9dfYpFw" initMethod="#_04y242J-Ed-FqczH3ESmRw"

+              footerMethod="#_04y25WJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_qJW-IId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_04y24mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._04y24mJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_04y242J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._04y242J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_B-caZHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._B-caZHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_04y25WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._04y25WJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_04y28GJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._04y28GJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_qMsmAId1EemTGPCEQmMGWg" name="createClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_qM_g8Id1EemTGPCEQmMGWg" name="createFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_qNR00Id1EemTGPCEQmMGWg" name="delegatedFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_qNl94Id1EemTGPCEQmMGWg" name="createClassifier" type="org.eclipse.emf.codegen.ecore.genmodel.GenClassifier"/>

+            <parameters xmi:id="_qN440Id1EemTGPCEQmMGWg" name="childCreationData"

+                type="org.eclipse.emf.codegen.ecore.genmodel.GenClass$ChildCreationData"/>

+            <parameters xmi:id="_qONo8Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_qOhK8Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_qO0F4Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_qPHA0Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_qMZrEId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_qPs2sId1EemTGPCEQmMGWg"

+                called="#_04y28GJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_048n4GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/edit/ItemProviderAdapterFactory.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsAttributeFeature.insert&#xA;"

+              name="ItemProvider.newChildDescriptorsAttributeFeature.override" headerMethod="#_048n4mJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_B_otNHLZEd-09ds9dfYpFw" initMethod="#_048n42J-Ed-FqczH3ESmRw"

+              footerMethod="#_048n5WJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_qQaBUId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_048n4mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._048n4mJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_048n42J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._048n42J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_B_otNHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._B_otNHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_048n5WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._048n5WJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_048n8GJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._048n8GJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_qT0hsId1EemTGPCEQmMGWg" name="createDataType" type="org.eclipse.emf.codegen.ecore.genmodel.GenDataType"/>

+            <parameters xmi:id="_qUIDsId1EemTGPCEQmMGWg" name="createFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_qUZwgId1EemTGPCEQmMGWg" name="delegatedFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_qUzZIId1EemTGPCEQmMGWg" name="createClassifier" type="org.eclipse.emf.codegen.ecore.genmodel.GenClassifier"/>

+            <parameters xmi:id="_qVGUEId1EemTGPCEQmMGWg" name="childCreationData"

+                type="org.eclipse.emf.codegen.ecore.genmodel.GenClass$ChildCreationData"/>

+            <parameters xmi:id="_qVdgcId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_qVxpgId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_qWGZoId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_qWaisId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_qTg_sId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_qXCNwId1EemTGPCEQmMGWg"

+                called="#_048n8GJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_05ZT0GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/edit/ItemProviderAdapterFactory.javajet&quot;&#xA;"

+              name="ItemProvider.newChildDescriptorsAttributeFeature.insert" headerMethod="#_05ZT0mJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_CBIiBHLZEd-09ds9dfYpFw" initMethod="#_05ZT02J-Ed-FqczH3ESmRw"

+              footerMethod="#_05ZT1WJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_qXuxUId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_05ZT0mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._05ZT0mJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_05ZT02J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._05ZT02J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_CBIiBHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._CBIiBHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_05ZT1WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._05ZT1WJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_05ZT4GJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._05ZT4GJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_qbFnUId1EemTGPCEQmMGWg" name="createDataType" type="org.eclipse.emf.codegen.ecore.genmodel.GenDataType"/>

+            <parameters xmi:id="_qbblkId1EemTGPCEQmMGWg" name="createFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_qbwVsId1EemTGPCEQmMGWg" name="delegatedFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_qcDQoId1EemTGPCEQmMGWg" name="createClassifier" type="org.eclipse.emf.codegen.ecore.genmodel.GenClassifier"/>

+            <parameters xmi:id="_qcbrIId1EemTGPCEQmMGWg" name="childCreationData"

+                type="org.eclipse.emf.codegen.ecore.genmodel.GenClass$ChildCreationData"/>

+            <parameters xmi:id="_qcv0MId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_qdFycId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_qdZUcId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_qds2cId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_qaysYId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_qeTTYId1EemTGPCEQmMGWg"

+                called="#_05ZT4GJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_051_wGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/edit/ItemProvider.javajet&quot;&#xA;"

+              name="ItemProvider.insert" headerMethod="#_051_wmJ-Ed-FqczH3ESmRw" conditionMethod="#_CCU01HLZEd-09ds9dfYpFw"

+              initMethod="#_051_w2J-Ed-FqczH3ESmRw" footerMethod="#_051_xWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_q1UFMId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_051_wmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._051_wmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_051_w2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._051_w2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_CCU01HLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._CCU01HLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_051_xWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._051_xWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_051_y2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._051_y2J-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_q4tXcId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_q5ASYId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_q5VCgId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_q5okgId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_q58GgId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_q6QPkId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_q6jKgId1EemTGPCEQmMGWg" name="_List" type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_q4Z1cId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_q7MDsId1EemTGPCEQmMGWg"

+                called="#_051_y2J-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_sd5EMKoMEeOCpsO1cKKCxA" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/edit/ItemProvider.javajet&quot;&#xA;"

+              name="ItemProvider.getStyledText.override" headerMethod="#_sd5EMqoMEeOCpsO1cKKCxA"

+              conditionMethod="#_sd5ENKoMEeOCpsO1cKKCxA" initMethod="#_sd5EM6oMEeOCpsO1cKKCxA"

+              footerMethod="#_sd5ENqoMEeOCpsO1cKKCxA">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_qtXqIId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_sd5EMqoMEeOCpsO1cKKCxA" name="header" patternFilePath="templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5EMqoMEeOCpsO1cKKCxA.pt"/>

+            <methods xmi:id="_sd5EM6oMEeOCpsO1cKKCxA" name="init" patternFilePath="templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5EM6oMEeOCpsO1cKKCxA.pt"/>

+            <methods xmi:id="_sd5ENKoMEeOCpsO1cKKCxA" name="preCondition" patternFilePath="templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5ENKoMEeOCpsO1cKKCxA.pt"/>

+            <methods xmi:id="_sd5ENqoMEeOCpsO1cKKCxA" name="footer" patternFilePath="templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5ENqoMEeOCpsO1cKKCxA.pt"/>

+            <methods xmi:id="_sd5EPKoMEeOCpsO1cKKCxA" name="doGenerate" patternFilePath="templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5EPKoMEeOCpsO1cKKCxA.pt"/>

+            <parameters xmi:id="_qxCCIId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_qxWyQId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_qyn9kId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_qy8tsId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_qzSE4Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_qzm1AId1EemTGPCEQmMGWg" name="indentDefaultCase"

+                type="java.lang.String"/>

+            <parameters xmi:id="_qz7lIId1EemTGPCEQmMGWg" name="_List" type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_qwsD4Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_q0j3QId1EemTGPCEQmMGWg"

+                called="#_sd5EPKoMEeOCpsO1cKKCxA"/>

+          </elements>

+        </libraries>

+      </viewpoints>

+    </viewpointContainer>

+    <orchestration xmi:type="fprod:ProductionPlan" xmi:id="_Prg8azG0Ed-kc8dEZsdm2w">

+      <invocations xmi:id="_tWBHYId1EemTGPCEQmMGWg" name="EMF Edit Pattern" invokedActivity="ftask:Task platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_jT-SgD1hEd-m5uHrCQ1Jew">

+        <invocationContractContainer xmi:id="_tWpZgId1EemTGPCEQmMGWg">

+          <invocationContracts xmi:id="_tXP2cId1EemTGPCEQmMGWg" factoryComponentContract="#_Prg8cDG0Ed-kc8dEZsdm2w"

+              invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/egf/Model_driven_pattern_strategy_task.fcore#_DgB2IP6fEd64XaYPo3s6sPg"/>

+          <invocationContracts xmi:id="_tYwSUId1EemTGPCEQmMGWg" factoryComponentContract="#_jzYi8FIIEd-eGOdO3WtsxA"

+              invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/egf/Model_driven_pattern_strategy_task.fcore#_L6JSwAHAEd-4faJMEplCjxw">

+            <type xmi:type="pattern:TypePatternExecutionReporter" xmi:id="_tZDNQId1EemTGPCEQmMGWg"

+                value="org.eclipse.egf.emf.pattern.base.ContentTypePatternExecutionReporter"/>

+          </invocationContracts>

+          <invocationContracts xmi:id="_tZ_BYId1EemTGPCEQmMGWg" factoryComponentContract="#_Tx5xHVkTEd-bv5aydwO2Qw"

+              invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/egf/Model_driven_pattern_strategy_task.fcore#_nz1HkSCaEd-Sse0r9LJWbA">

+            <type xmi:type="pattern:TypePatternList" xmi:id="_taTxgId1EemTGPCEQmMGWg"

+                elements="#_PiIW4zG0Ed-kc8dEZsdm2w"/>

+          </invocationContracts>

+          <invocationContracts xmi:id="_tcMn4Id1EemTGPCEQmMGWg" factoryComponentContract="#_UCnhEFHVEd-dr9AWwNwIMQ"

+              invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/egf/Model_driven_pattern_strategy_task.fcore#_NFhJ4UMgEd-Ixul1H5ANhg"/>

+          <invocationContracts xmi:id="_tdbW8Id1EemTGPCEQmMGWg" factoryComponentContract="#_dgkvsPI7Ed-Pp8S8RvVOuQ"

+              invokedContract="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_JWI2sPI7Ed-Pp8S8RvVOuQ"/>

+          <invocationContracts xmi:id="_tenpwId1EemTGPCEQmMGWg" factoryComponentContract="#_9wHxsFLMEd-ZSLMRjxSbVQ"

+              invokedContract="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_vtlEAFLMEd-ZSLMRjxSbVQ"/>

+        </invocationContractContainer>

+      </invocations>

+    </orchestration>

+  </fcore:FactoryComponent>

+  <fcore:FactoryComponent xmi:id="_PkqGcDG0Ed-kc8dEZsdm2w" name="EMF Editor Pattern">

+    <contractContainer xmi:id="_Prg8ejG0Ed-kc8dEZsdm2w">

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_Prg8ezG0Ed-kc8dEZsdm2w"

+          description="EMF Editor Pattern" name="genModel" mandatory="true" invocationContracts="#_thUYcId1EemTGPCEQmMGWg">

+        <type xmi:type="domain:TypeDomain" xmi:id="_tiL7IId1EemTGPCEQmMGWg"/>

+      </contracts>

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_pCqEMFIIEd-eGOdO3WtsxA"

+          description="EMF Editor Pattern" name="pattern.execution.reporter" invocationContracts="#_tiv70Id1EemTGPCEQmMGWg">

+        <type xmi:type="pattern:TypePatternExecutionReporter" xmi:id="_tjVKoId1EemTGPCEQmMGWg"/>

+      </contracts>

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_Tx5xMlkTEd-bv5aydwO2Qw"

+          description="EMF Editor Pattern" name="pattern.ids" invocationContracts="#_tj6ZcId1EemTGPCEQmMGWg">

+        <type xmi:type="pattern:TypePatternList" xmi:id="_tkgPUId1EemTGPCEQmMGWg"/>

+      </contracts>

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_Y3EukFHVEd-dr9AWwNwIMQ"

+          description="EMF Editor Pattern" name="pattern.substitutions" invocationContracts="#_tlGsQId1EemTGPCEQmMGWg">

+        <type xmi:type="pattern:TypePatternSubstitution" xmi:id="_tltwQId1EemTGPCEQmMGWg"/>

+      </contracts>

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_NcZ6I_MqEd-6tr0C8ZV8Ew"

+          description="EMF Editor Pattern" name="usedGenPackages" invocationContracts="#_tmS_EId1EemTGPCEQmMGWg">

+        <type xmi:type="domain:TypeGenPackages" xmi:id="_tm2YsId1EemTGPCEQmMGWg"/>

+      </contracts>

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_FqdyEFLNEd-ZSLMRjxSbVQ"

+          description="EMF Editor Pattern" name="mergeRulesURI" invocationContracts="#_tnf48Id1EemTGPCEQmMGWg">

+        <type xmi:type="types:TypeURI" xmi:id="_toHkAId1EemTGPCEQmMGWg"/>

+      </contracts>

+    </contractContainer>

+    <viewpointContainer xmi:id="_PkqGcTG0Ed-kc8dEZsdm2w">

+      <viewpoints xmi:type="pattern:PatternViewpoint" xmi:id="_PkqGcjG0Ed-kc8dEZsdm2w">

+        <libraries xmi:id="_PkqGczG0Ed-kc8dEZsdm2w" name="org.eclipse.egf.emf.pattern.editor">

+          <elements xmi:id="_PkqGdDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/editor/plugin.xmljet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderXml&#xA;"

+              name="PluginXML" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_ZTUvECg7Ed-ROrlGa8LEeQ"

+              headerMethod="#_PkqGdjG0Ed-kc8dEZsdm2w" conditionMethod="#_-G79VHLYEd-09ds9dfYpFw"

+              initMethod="#_PkqGdzG0Ed-kc8dEZsdm2w" footerMethod="#_PkqGeTG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_V0QGMId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_PkqGdjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._PkqGdjG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PkqGdzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._PkqGdzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_-G79VHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._-G79VHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_PkqGeTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._PkqGeTG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_Pkz3cDG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._Pkz3cDG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_SvoJeGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._SvoJeGKPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_0_MReWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._0_MReWKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_Pkz3cjG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._Pkz3cjG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_V3RlAId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_V4d30Id1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_mwzm4ChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_V5DGoId1EemTGPCEQmMGWg"

+                called="#_Pkz3cjG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_V5WooId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_V5o8gId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_Pk9BYDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/editor/manifest.mfjet&quot;&#xA;"

+              name="ManifestMF" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_ZTUvECg7Ed-ROrlGa8LEeQ"

+              headerMethod="#_Pk9BYjG0Ed-kc8dEZsdm2w" conditionMethod="#_-A1VWHLYEd-09ds9dfYpFw"

+              initMethod="#_Pk9BYzG0Ed-kc8dEZsdm2w" footerMethod="#_Pk9BZTG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_WGJugId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_Pk9BYjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BYjG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_Pk9BYzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BYzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_-A1VWHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._-A1VWHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_Pk9BZTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BZTG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_Pk9BZzG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BZzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_SveYeGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._SveYeGKPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_0_DHiWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._0_DHiWKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_Pk9BaTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BaTG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_WI7VsId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_WKA60Id1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_mwzm4ChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_WKk7gId1EemTGPCEQmMGWg"

+                called="#_Pk9BaTG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_WK3PYId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_WLI8MId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_PlQjYDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/editor/build.propertiesjet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderProperties&#xA;"

+              name="BuildProperties" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_ZTUvECg7Ed-ROrlGa8LEeQ"

+              headerMethod="#_PlQjYjG0Ed-kc8dEZsdm2w" conditionMethod="#_-DEJ9HLYEd-09ds9dfYpFw"

+              initMethod="#_PlQjYzG0Ed-kc8dEZsdm2w" footerMethod="#_PlQjZTG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_Vs9ycId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_PlQjYjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjYjG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PlQjYzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjYzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_-DEJ9HLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._-DEJ9HLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_PlQjZTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjZTG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PlQjZzG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjZzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_SvVOjGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._SvVOjGKPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_0-5WjWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._0-5WjWKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_PlQjaTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjaTG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_Vv05MId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_Vw-vwId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_mwzm4ChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_VxiwcId1EemTGPCEQmMGWg"

+                called="#_PlQjaTG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_Vx1rYId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_VyH_QId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_PljeUDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/editor/plugin.propertiesjet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderProperties&#xA;"

+              name="PluginProperties" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_xxtwkCg7Ed-ROrlGa8LEeQ"

+              headerMethod="#_PljeUjG0Ed-kc8dEZsdm2w" conditionMethod="#_-K9htHLYEd-09ds9dfYpFw"

+              initMethod="#_PljeUzG0Ed-kc8dEZsdm2w" footerMethod="#_PljeVTG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_WRusYId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_PljeUjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeUjG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PljeUzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeUzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_-K9htHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._-K9htHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_PljeVTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeVTG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PljeVzG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeVzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_Svx6eGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._Svx6eGKPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_0_WCeWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._0_WCeWKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_PljeWTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeWTG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_WUrSsId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_WVyF8Id1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_pQ16sChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_WWWtsId1EemTGPCEQmMGWg"

+                called="#_PljeWTG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_WWpBkId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_WW6uYId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_PltPUDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/editor/ActionBarContributor.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"

+              name="ActionBarContributor" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_VlOiICg6Ed-ROrlGa8LEeQ"

+              headerMethod="#_PltPUjG0Ed-kc8dEZsdm2w" conditionMethod="#_-VjBFHLYEd-09ds9dfYpFw"

+              initMethod="#_PltPUzG0Ed-kc8dEZsdm2w" footerMethod="#_PltPVTG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_Wdf3gId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_PltPUjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._PltPUjG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PltPUzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._PltPUzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_-VjBFHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._-VjBFHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_PltPVTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._PltPVTG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_Pl2ZQDG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._Pl2ZQDG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_SwhhWGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._SwhhWGKPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_1AFpWWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._1AFpWWKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_Pl2ZQjG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._Pl2ZQjG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_WgaooId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_WhlGQId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_QRYMcChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_WiIf4Id1EemTGPCEQmMGWg"

+                called="#_Pl2ZQjG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_WiaMsId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_Wiu80Id1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_MeyroChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_Pmc2MDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/editor/Editor.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;    * org.eclipse.egf.emf.pattern.editor.call.Editor.Editor.addItemProviderFactories.override&#xA;"

+              name="Editor" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_VlOiICg6Ed-ROrlGa8LEeQ"

+              headerMethod="#_PmmAIDG0Ed-kc8dEZsdm2w" conditionMethod="#_-SaNhHLYEd-09ds9dfYpFw"

+              initMethod="#_PmmAITG0Ed-kc8dEZsdm2w" footerMethod="#_PmmAIzG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_WjcugId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_PmmAIDG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAIDG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PmmAITG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAITG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_-SaNhHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._-SaNhHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_PmmAIzG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAIzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PmmAJTG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAJTG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_SwqrSGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._SwqrSGKPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_1APaWWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._1APaWWKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_PmmAJzG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAJzG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_WmPj0Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_WnYMQId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_QRYMcChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_Wn8M8Id1EemTGPCEQmMGWg"

+                called="#_PmmAJzG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_WoOg0Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_WoiC0Id1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_MeyroChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_PmvxIDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/editor/ModelWizard.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"

+              name="ModelWizard" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_VlOiICg6Ed-ROrlGa8LEeQ"

+              headerMethod="#_PmvxIjG0Ed-kc8dEZsdm2w" conditionMethod="#_-Y0XhHLYEd-09ds9dfYpFw"

+              initMethod="#_PmvxIzG0Ed-kc8dEZsdm2w" footerMethod="#_PmvxJTG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_WXqVQId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_PmvxIjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._PmvxIjG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PmvxIzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._PmvxIzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_-Y0XhHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._-Y0XhHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_PmvxJTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._PmvxJTG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_Pm5iIDG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._Pm5iIDG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_SwN_WGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._SwN_WGKPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_0_yuaWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._0_yuaWKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_Pm5iIjG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._Pm5iIjG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_WagN4Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_WboPQId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_QRYMcChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_WcLo4Id1EemTGPCEQmMGWg"

+                called="#_Pm5iIjG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_WcdVsId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_Wcw3sId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_MeyroChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_PnCsEDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/editor/Plugin.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"

+              name="Plugin" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_F0In8Cg6Ed-ROrlGa8LEeQ"

+              headerMethod="#_PnCsEjG0Ed-kc8dEZsdm2w" conditionMethod="#_-NpCRHLYEd-09ds9dfYpFw"

+              initMethod="#_PnCsEzG0Ed-kc8dEZsdm2w" footerMethod="#_PnCsFTG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_WvHzAId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_PnCsEjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsEjG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PnCsEzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsEzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_-NpCRHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._-NpCRHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_PnCsFTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsFTG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PnCsFzG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsFzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_SwE1aGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._SwE1aGKPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_0_fzeWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._0_fzeWKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_PnCsGTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsGTG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_WyHcoId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_WzQFEId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_cjQNwChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_Wz0s0Id1EemTGPCEQmMGWg"

+                called="#_PnCsGTG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_W0HAsId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_W0aisId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_PnVnADG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/editor/Advisor.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"

+              name="Advisor" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_F0In8Cg6Ed-ROrlGa8LEeQ"

+              headerMethod="#_PnVnAjG0Ed-kc8dEZsdm2w" conditionMethod="#_-P4d9HLYEd-09ds9dfYpFw"

+              initMethod="#_PnVnAzG0Ed-kc8dEZsdm2w" footerMethod="#_PnVnBTG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_W1KJkId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_PnVnAjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnAjG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PnVnAzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnAzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_-P4d9HLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._-P4d9HLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_PnVnBTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnBTG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PnVnBzG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnBzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_Sv7EaGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._Sv7EaGKPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_0_o9aWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._0_o9aWKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_PnVnCTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnCTG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_W4Gv4Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_W5QmcId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_cjQNwChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_W53DYId1EemTGPCEQmMGWg"

+                called="#_PnVnCTG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_W6KlYId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_W6dgUId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_PnpJADG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * &#xA;"

+              name="ModelWizardIcon" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_HODPICrVEd-81OQ8yF10Og"

+              headerMethod="#_PnpJAjG0Ed-kc8dEZsdm2w" conditionMethod="#_-bppFHLYEd-09ds9dfYpFw"

+              initMethod="#_PnpJAzG0Ed-kc8dEZsdm2w" footerMethod="#_PnpJBTG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_XAvHcId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_PnpJAjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._PnpJAjG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PnpJAzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._PnpJAzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_-bppFHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._-bppFHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_PnpJBTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._PnpJBTG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_1AiVSGKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._1AiVSGKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_PnpJCTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._PnpJCTG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_XDm1QId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_XELdAId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_yLcWwCt-Ed-D6YqMf1n1Bg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_XExS4Id1EemTGPCEQmMGWg"

+                called="#_PnpJCTG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_XFE04Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_XFZlAId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_0yyMcCt-Ed-D6YqMf1n1Bg"/>

+          </elements>

+          <elements xmi:id="_Pn8D8DG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * &#xA;"

+              name="ModelIcon" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_HODPICrVEd-81OQ8yF10Og"

+              headerMethod="#_Pn8D8jG0Ed-kc8dEZsdm2w" conditionMethod="#_-dcY1HLYEd-09ds9dfYpFw"

+              initMethod="#_Pn8D8zG0Ed-kc8dEZsdm2w" footerMethod="#_Pn8D9TG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_W7R_sId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_Pn8D8jG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._Pn8D8jG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_Pn8D8zG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._Pn8D8zG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_-dcY1HLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._-dcY1HLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_Pn8D9TG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._Pn8D9TG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_1AYkSGKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._1AYkSGKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_Pn8D-TG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._Pn8D-TG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_W-SQYId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_W-4GQId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_yLcWwCt-Ed-D6YqMf1n1Bg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_W_d8IId1EemTGPCEQmMGWg"

+                called="#_Pn8D-TG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_W_w3EId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_XADK8Id1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_0yyMcCt-Ed-D6YqMf1n1Bg"/>

+          </elements>

+          <elements xmi:id="__H8bZBmtEeCMbfVQrOfmzQ" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/editor/appengine-web.xmljet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderXml&#xA;"

+              name="AppEngineWebXML" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_ZTUvECg7Ed-ROrlGa8LEeQ"

+              headerMethod="#__H8bZhmtEeCMbfVQrOfmzQ" conditionMethod="#__H8baBmtEeCMbfVQrOfmzQ"

+              initMethod="#__H8bZxmtEeCMbfVQrOfmzQ" footerMethod="#__H8bahmtEeCMbfVQrOfmzQ">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_WL7mYId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="__H8bZhmtEeCMbfVQrOfmzQ" name="header" patternFilePath="templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bZhmtEeCMbfVQrOfmzQ.pt"/>

+            <methods xmi:id="__H8bZxmtEeCMbfVQrOfmzQ" name="init" patternFilePath="templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bZxmtEeCMbfVQrOfmzQ.pt"/>

+            <methods xmi:id="__H8baBmtEeCMbfVQrOfmzQ" name="preCondition" patternFilePath="templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8baBmtEeCMbfVQrOfmzQ.pt"/>

+            <methods xmi:id="__H8bahmtEeCMbfVQrOfmzQ" name="footer" patternFilePath="templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bahmtEeCMbfVQrOfmzQ.pt"/>

+            <methods xmi:id="__H8bbBmtEeCMbfVQrOfmzQ" name="setReporterVariables"

+                patternFilePath="templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bbBmtEeCMbfVQrOfmzQ.pt"/>

+            <methods xmi:id="__H8bbRmtEeCMbfVQrOfmzQ" name="setArgument" patternFilePath="templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bbRmtEeCMbfVQrOfmzQ.pt"/>

+            <methods xmi:id="__H8bbhmtEeCMbfVQrOfmzQ" name="ensureProjectExists" patternFilePath="templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bbhmtEeCMbfVQrOfmzQ.pt"/>

+            <methods xmi:id="__H8bcBmtEeCMbfVQrOfmzQ" name="doGenerate" patternFilePath="templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bcBmtEeCMbfVQrOfmzQ.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_WOxfAId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_WP5gYId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_mwzm4ChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_WQc6AId1EemTGPCEQmMGWg"

+                called="#__H8bcBmtEeCMbfVQrOfmzQ"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_WQum0Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_WRAToId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="__I1zQBmtEeCMbfVQrOfmzQ" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/editor/home.htmljet&quot;&#xA;"

+              name="HomeHTML" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_ZTUvECg7Ed-ROrlGa8LEeQ"

+              headerMethod="#__I1zQhmtEeCMbfVQrOfmzQ" conditionMethod="#__I1zRBmtEeCMbfVQrOfmzQ"

+              initMethod="#__I1zQxmtEeCMbfVQrOfmzQ" footerMethod="#__I1zRhmtEeCMbfVQrOfmzQ">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_VnL6kId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="__I1zQhmtEeCMbfVQrOfmzQ" name="header" patternFilePath="templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zQhmtEeCMbfVQrOfmzQ.pt"/>

+            <methods xmi:id="__I1zQxmtEeCMbfVQrOfmzQ" name="init" patternFilePath="templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zQxmtEeCMbfVQrOfmzQ.pt"/>

+            <methods xmi:id="__I1zRBmtEeCMbfVQrOfmzQ" name="preCondition" patternFilePath="templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zRBmtEeCMbfVQrOfmzQ.pt"/>

+            <methods xmi:id="__I1zRhmtEeCMbfVQrOfmzQ" name="footer" patternFilePath="templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zRhmtEeCMbfVQrOfmzQ.pt"/>

+            <methods xmi:id="__I1zSBmtEeCMbfVQrOfmzQ" name="setReporterVariables"

+                patternFilePath="templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zSBmtEeCMbfVQrOfmzQ.pt"/>

+            <methods xmi:id="__I1zSRmtEeCMbfVQrOfmzQ" name="setArgument" patternFilePath="templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zSRmtEeCMbfVQrOfmzQ.pt"/>

+            <methods xmi:id="__I1zShmtEeCMbfVQrOfmzQ" name="ensureProjectExists" patternFilePath="templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zShmtEeCMbfVQrOfmzQ.pt"/>

+            <methods xmi:id="__I1zTBmtEeCMbfVQrOfmzQ" name="doGenerate" patternFilePath="templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zTBmtEeCMbfVQrOfmzQ.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_Vp9hwId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_VrE8EId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_mwzm4ChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_Vrqx8Id1EemTGPCEQmMGWg"

+                called="#__I1zTBmtEeCMbfVQrOfmzQ"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_Vr9s4Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_VsPZsId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="__KLQABmtEeCMbfVQrOfmzQ" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/editor/module.gwt.xmljet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderXml&#xA;"

+              name="ModuleGWTXML" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_ZTUvECg7Ed-ROrlGa8LEeQ"

+              headerMethod="#__KLQAhmtEeCMbfVQrOfmzQ" conditionMethod="#__KLQBBmtEeCMbfVQrOfmzQ"

+              initMethod="#__KLQAxmtEeCMbfVQrOfmzQ" footerMethod="#__KLQBhmtEeCMbfVQrOfmzQ">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_V6X8UId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="__KLQAhmtEeCMbfVQrOfmzQ" name="header" patternFilePath="templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQAhmtEeCMbfVQrOfmzQ.pt"/>

+            <methods xmi:id="__KLQAxmtEeCMbfVQrOfmzQ" name="init" patternFilePath="templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQAxmtEeCMbfVQrOfmzQ.pt"/>

+            <methods xmi:id="__KLQBBmtEeCMbfVQrOfmzQ" name="preCondition" patternFilePath="templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQBBmtEeCMbfVQrOfmzQ.pt"/>

+            <methods xmi:id="__KLQBhmtEeCMbfVQrOfmzQ" name="footer" patternFilePath="templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQBhmtEeCMbfVQrOfmzQ.pt"/>

+            <methods xmi:id="__KLQCBmtEeCMbfVQrOfmzQ" name="setReporterVariables"

+                patternFilePath="templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQCBmtEeCMbfVQrOfmzQ.pt"/>

+            <methods xmi:id="__KLQCRmtEeCMbfVQrOfmzQ" name="setArgument" patternFilePath="templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQCRmtEeCMbfVQrOfmzQ.pt"/>

+            <methods xmi:id="__KLQChmtEeCMbfVQrOfmzQ" name="ensureProjectExists" patternFilePath="templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQChmtEeCMbfVQrOfmzQ.pt"/>

+            <methods xmi:id="__KLQDBmtEeCMbfVQrOfmzQ" name="doGenerate" patternFilePath="templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQDBmtEeCMbfVQrOfmzQ.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_V9OcAId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_V-XrgId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_mwzm4ChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_V-7sMId1EemTGPCEQmMGWg"

+                called="#__KLQDBmtEeCMbfVQrOfmzQ"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_V_OAEId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_V_gT8Id1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="__gO_kBmtEeCMbfVQrOfmzQ" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/editor/web.xmljet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderXml&#xA;"

+              name="WebXML" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_ZTUvECg7Ed-ROrlGa8LEeQ"

+              headerMethod="#__gO_khmtEeCMbfVQrOfmzQ" conditionMethod="#__gO_lBmtEeCMbfVQrOfmzQ"

+              initMethod="#__gO_kxmtEeCMbfVQrOfmzQ" footerMethod="#__gO_lhmtEeCMbfVQrOfmzQ">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_WAPTwId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="__gO_khmtEeCMbfVQrOfmzQ" name="header" patternFilePath="templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_khmtEeCMbfVQrOfmzQ.pt"/>

+            <methods xmi:id="__gO_kxmtEeCMbfVQrOfmzQ" name="init" patternFilePath="templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_kxmtEeCMbfVQrOfmzQ.pt"/>

+            <methods xmi:id="__gO_lBmtEeCMbfVQrOfmzQ" name="preCondition" patternFilePath="templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_lBmtEeCMbfVQrOfmzQ.pt"/>

+            <methods xmi:id="__gO_lhmtEeCMbfVQrOfmzQ" name="footer" patternFilePath="templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_lhmtEeCMbfVQrOfmzQ.pt"/>

+            <methods xmi:id="__gO_mBmtEeCMbfVQrOfmzQ" name="setReporterVariables"

+                patternFilePath="templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_mBmtEeCMbfVQrOfmzQ.pt"/>

+            <methods xmi:id="__gO_mRmtEeCMbfVQrOfmzQ" name="setArgument" patternFilePath="templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_mRmtEeCMbfVQrOfmzQ.pt"/>

+            <methods xmi:id="__gO_mhmtEeCMbfVQrOfmzQ" name="ensureProjectExists" patternFilePath="templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_mhmtEeCMbfVQrOfmzQ.pt"/>

+            <methods xmi:id="__gO_nBmtEeCMbfVQrOfmzQ" name="doGenerate" patternFilePath="templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_nBmtEeCMbfVQrOfmzQ.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_WDCJEId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_WEKxgId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_mwzm4ChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_WEtkEId1EemTGPCEQmMGWg"

+                called="#__gO_nBmtEeCMbfVQrOfmzQ"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_WFC7QId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_WFUBAId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="__9b48BmtEeCMbfVQrOfmzQ" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/editor/EntryPoint.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"

+              name="EntryPoint" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_F0In8Cg6Ed-ROrlGa8LEeQ"

+              headerMethod="#__9b48hmtEeCMbfVQrOfmzQ" conditionMethod="#__9b49BmtEeCMbfVQrOfmzQ"

+              initMethod="#__9b48xmtEeCMbfVQrOfmzQ" footerMethod="#__9b49hmtEeCMbfVQrOfmzQ">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_WpS30Id1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="__9b48hmtEeCMbfVQrOfmzQ" name="header" patternFilePath="templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b48hmtEeCMbfVQrOfmzQ.pt"/>

+            <methods xmi:id="__9b48xmtEeCMbfVQrOfmzQ" name="init" patternFilePath="templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b48xmtEeCMbfVQrOfmzQ.pt"/>

+            <methods xmi:id="__9b49BmtEeCMbfVQrOfmzQ" name="preCondition" patternFilePath="templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b49BmtEeCMbfVQrOfmzQ.pt"/>

+            <methods xmi:id="__9b49hmtEeCMbfVQrOfmzQ" name="footer" patternFilePath="templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b49hmtEeCMbfVQrOfmzQ.pt"/>

+            <methods xmi:id="__9b4-BmtEeCMbfVQrOfmzQ" name="setReporterVariables"

+                patternFilePath="templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b4-BmtEeCMbfVQrOfmzQ.pt"/>

+            <methods xmi:id="__9b4-RmtEeCMbfVQrOfmzQ" name="setArgument" patternFilePath="templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b4-RmtEeCMbfVQrOfmzQ.pt"/>

+            <methods xmi:id="__9b4-hmtEeCMbfVQrOfmzQ" name="ensureProjectExists" patternFilePath="templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b4-hmtEeCMbfVQrOfmzQ.pt"/>

+            <methods xmi:id="__9b4_BmtEeCMbfVQrOfmzQ" name="doGenerate" patternFilePath="templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b4_BmtEeCMbfVQrOfmzQ.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_WsGUMId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_WtQx0Id1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_cjQNwChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_Wt0LcId1EemTGPCEQmMGWg"

+                called="#__9b4_BmtEeCMbfVQrOfmzQ"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_WuF4QId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_WuYMIId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>

+          </elements>

+        </libraries>

+        <libraries xmi:id="_08-MQGJ-Ed-FqczH3ESmRw" name="org.eclipse.egf.emf.pattern.editor.call.Editor">

+          <elements xmi:id="_08-MQWJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/editor/Editor.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.editor.call.Editor.Editor.addItemProviderFactories.insert&#xA;"

+              name="Editor.addItemProviderFactories.override" headerMethod="#_08-MQ2J-Ed-FqczH3ESmRw"

+              conditionMethod="#_CC6qtXLZEd-09ds9dfYpFw" initMethod="#_08-MRGJ-Ed-FqczH3ESmRw"

+              footerMethod="#_08-MRmJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_q8N-cId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_08-MQ2J-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._08-MQ2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_08-MRGJ-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._08-MRGJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_CC6qtXLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._CC6qtXLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_08-MRmJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._08-MRmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_08-MXGJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._08-MXGJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_q_nQsId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_q_6LoId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_rANGkId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_rAgokId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_rA0KkId1EemTGPCEQmMGWg" name="importedOperationClassName"

+                type="java.lang.String"/>

+            <parameters xmi:id="_rBHskId1EemTGPCEQmMGWg" name="operationMethodName"

+                type="java.lang.String"/>

+            <parameters xmi:id="_rBccsId1EemTGPCEQmMGWg" name="_ArrayListOfObject"

+                type="java.lang.String"/>

+            <parameters xmi:id="_rBv-sId1EemTGPCEQmMGWg" name="_ArrayListOfSelectionChangedListener"

+                type="java.lang.String"/>

+            <parameters xmi:id="_rCDgsId1EemTGPCEQmMGWg" name="_CollectionOfSelectionChangedListener"

+                type="java.lang.String"/>

+            <parameters xmi:id="_rCXpwId1EemTGPCEQmMGWg" name="_ListOfResource" type="java.lang.String"/>

+            <parameters xmi:id="_rCrLwId1EemTGPCEQmMGWg" name="_ArrayListOfResource"

+                type="java.lang.String"/>

+            <parameters xmi:id="_rC-twId1EemTGPCEQmMGWg" name="_CollectionOfResource"

+                type="java.lang.String"/>

+            <parameters xmi:id="_rDSPwId1EemTGPCEQmMGWg" name="_MapOfResourceToDiagnostic"

+                type="java.lang.String"/>

+            <parameters xmi:id="_rDm_4Id1EemTGPCEQmMGWg" name="_HashMapOfResourceToBoolean"

+                type="java.lang.String"/>

+            <parameters xmi:id="_rD6h4Id1EemTGPCEQmMGWg" name="_MapOfObjectToObject"

+                type="java.lang.String"/>

+            <parameters xmi:id="_rEQgIId1EemTGPCEQmMGWg" name="_HashMapOfObjectToObject"

+                type="java.lang.String"/>

+            <parameters xmi:id="_rEkCIId1EemTGPCEQmMGWg" name="_LinkedHashMapOfResourceToDiagnostic"

+                type="java.lang.String"/>

+            <parameters xmi:id="_rE4LMId1EemTGPCEQmMGWg" name="_CollectionOfAnything"

+                type="java.lang.String"/>

+            <parameters xmi:id="_rFLtMId1EemTGPCEQmMGWg" name="_ListOfAnything" type="java.lang.String"/>

+            <parameters xmi:id="_rFf2QId1EemTGPCEQmMGWg" name="useExtendedLabelProvider"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_rF0mYId1EemTGPCEQmMGWg" name="useStyledLabelProvider"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_rGJ9kId1EemTGPCEQmMGWg" name="_AdapterFactoryLabelProvider"

+                type="java.lang.String"/>

+            <parameters xmi:id="_rGdfkId1EemTGPCEQmMGWg" name="_DelegatingAdapterFactoryLabelProvider"

+                type="java.lang.String"/>

+            <parameters xmi:id="_rGwagId1EemTGPCEQmMGWg" name="_DecoratingColumLabelProvider"

+                type="java.lang.String"/>

+            <parameters xmi:id="_rHFKoId1EemTGPCEQmMGWg" name="_DiagnosticDecorator"

+                type="java.lang.String"/>

+            <parameters xmi:id="_rHYsoId1EemTGPCEQmMGWg" name="_ArrayListOfString"

+                type="java.lang.String"/>

+            <parameters xmi:id="_rHrAgId1EemTGPCEQmMGWg" name="_ListOfString" type="java.lang.String"/>

+            <parameters xmi:id="_rH-igId1EemTGPCEQmMGWg" name="_ListOfPropertySheetPage"

+                type="java.lang.String"/>

+            <parameters xmi:id="_rIQ2YId1EemTGPCEQmMGWg" name="_ArrayListOfPropertySheetPage"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_q_UVwId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_rI2FMId1EemTGPCEQmMGWg"

+                called="#_08-MXGJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_09RHMGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/editor/Editor.javajet&quot;&#xA;"

+              name="Editor.addItemProviderFactories.insert" headerMethod="#_09RHMmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_CHY7BHLZEd-09ds9dfYpFw" initMethod="#_09RHM2J-Ed-FqczH3ESmRw"

+              footerMethod="#_09RHNWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_rJj24Id1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_09RHMmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._09RHMmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_09RHM2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._09RHM2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_CHY7BHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._CHY7BHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_09RHNWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._09RHNWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_09RHS2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._09RHS2J-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_rM43sId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_rNQrIId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_rNjmEId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <parameters xmi:id="_rN158Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>

+            <parameters xmi:id="_rOI04Id1EemTGPCEQmMGWg" name="importedOperationClassName"

+                type="java.lang.String"/>

+            <parameters xmi:id="_rOcW4Id1EemTGPCEQmMGWg" name="operationMethodName"

+                type="java.lang.String"/>

+            <parameters xmi:id="_rOvR0Id1EemTGPCEQmMGWg" name="_ArrayListOfObject"

+                type="java.lang.String"/>

+            <parameters xmi:id="_rPDa4Id1EemTGPCEQmMGWg" name="_ArrayListOfSelectionChangedListener"

+                type="java.lang.String"/>

+            <parameters xmi:id="_rPW84Id1EemTGPCEQmMGWg" name="_CollectionOfSelectionChangedListener"

+                type="java.lang.String"/>

+            <parameters xmi:id="_rPp30Id1EemTGPCEQmMGWg" name="_ListOfResource" type="java.lang.String"/>

+            <parameters xmi:id="_rP8ywId1EemTGPCEQmMGWg" name="_ArrayListOfResource"

+                type="java.lang.String"/>

+            <parameters xmi:id="_rQQUwId1EemTGPCEQmMGWg" name="_CollectionOfResource"

+                type="java.lang.String"/>

+            <parameters xmi:id="_rQjPsId1EemTGPCEQmMGWg" name="_MapOfResourceToDiagnostic"

+                type="java.lang.String"/>

+            <parameters xmi:id="_rQ4m4Id1EemTGPCEQmMGWg" name="_HashMapOfResourceToBoolean"

+                type="java.lang.String"/>

+            <parameters xmi:id="_rRMI4Id1EemTGPCEQmMGWg" name="_MapOfObjectToObject"

+                type="java.lang.String"/>

+            <parameters xmi:id="_rRfD0Id1EemTGPCEQmMGWg" name="_HashMapOfObjectToObject"

+                type="java.lang.String"/>

+            <parameters xmi:id="_rRyl0Id1EemTGPCEQmMGWg" name="_LinkedHashMapOfResourceToDiagnostic"

+                type="java.lang.String"/>

+            <parameters xmi:id="_rSHV8Id1EemTGPCEQmMGWg" name="_CollectionOfAnything"

+                type="java.lang.String"/>

+            <parameters xmi:id="_rSa38Id1EemTGPCEQmMGWg" name="_ListOfAnything" type="java.lang.String"/>

+            <parameters xmi:id="_rSvBAId1EemTGPCEQmMGWg" name="useExtendedLabelProvider"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_rTDKEId1EemTGPCEQmMGWg" name="useStyledLabelProvider"

+                type="java.lang.Boolean"/>

+            <parameters xmi:id="_rTXTIId1EemTGPCEQmMGWg" name="_AdapterFactoryLabelProvider"

+                type="java.lang.String"/>

+            <parameters xmi:id="_rTrcMId1EemTGPCEQmMGWg" name="_DelegatingAdapterFactoryLabelProvider"

+                type="java.lang.String"/>

+            <parameters xmi:id="_rT_lQId1EemTGPCEQmMGWg" name="_DecoratingColumLabelProvider"

+                type="java.lang.String"/>

+            <parameters xmi:id="_rUTuUId1EemTGPCEQmMGWg" name="_DiagnosticDecorator"

+                type="java.lang.String"/>

+            <parameters xmi:id="_rUoecId1EemTGPCEQmMGWg" name="_ArrayListOfString"

+                type="java.lang.String"/>

+            <parameters xmi:id="_rU_DwId1EemTGPCEQmMGWg" name="_ListOfString" type="java.lang.String"/>

+            <parameters xmi:id="_rVVpEId1EemTGPCEQmMGWg" name="_ListOfPropertySheetPage"

+                type="java.lang.String"/>

+            <parameters xmi:id="_rVwf0Id1EemTGPCEQmMGWg" name="_ArrayListOfPropertySheetPage"

+                type="java.lang.String"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_rMjggId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_rWW8wId1EemTGPCEQmMGWg"

+                called="#_09RHS2J-Ed-FqczH3ESmRw"/>

+          </elements>

+        </libraries>

+      </viewpoints>

+    </viewpointContainer>

+    <orchestration xmi:type="fprod:ProductionPlan" xmi:id="_Prg8djG0Ed-kc8dEZsdm2w">

+      <invocations xmi:id="_tgJ60Id1EemTGPCEQmMGWg" name="EMF Editor Pattern" invokedActivity="ftask:Task platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_jT-SgD1hEd-m5uHrCQ1Jew">

+        <invocationContractContainer xmi:id="_tgvwsId1EemTGPCEQmMGWg">

+          <invocationContracts xmi:id="_thUYcId1EemTGPCEQmMGWg" factoryComponentContract="#_Prg8ezG0Ed-kc8dEZsdm2w"

+              invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/egf/Model_driven_pattern_strategy_task.fcore#_DgB2IP6fEd64XaYPo3s6sPg"/>

+          <invocationContracts xmi:id="_tiv70Id1EemTGPCEQmMGWg" factoryComponentContract="#_pCqEMFIIEd-eGOdO3WtsxA"

+              invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/egf/Model_driven_pattern_strategy_task.fcore#_L6JSwAHAEd-4faJMEplCjxw">

+            <type xmi:type="pattern:TypePatternExecutionReporter" xmi:id="_tjCPsId1EemTGPCEQmMGWg"

+                value="org.eclipse.egf.emf.pattern.base.ContentTypePatternExecutionReporter"/>

+          </invocationContracts>

+          <invocationContracts xmi:id="_tj6ZcId1EemTGPCEQmMGWg" factoryComponentContract="#_Tx5xMlkTEd-bv5aydwO2Qw"

+              invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/egf/Model_driven_pattern_strategy_task.fcore#_nz1HkSCaEd-Sse0r9LJWbA">

+            <type xmi:type="pattern:TypePatternList" xmi:id="_tkNUYId1EemTGPCEQmMGWg"

+                elements="#_PkqGczG0Ed-kc8dEZsdm2w"/>

+          </invocationContracts>

+          <invocationContracts xmi:id="_tlGsQId1EemTGPCEQmMGWg" factoryComponentContract="#_Y3EukFHVEd-dr9AWwNwIMQ"

+              invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/egf/Model_driven_pattern_strategy_task.fcore#_NFhJ4UMgEd-Ixul1H5ANhg"/>

+          <invocationContracts xmi:id="_tmS_EId1EemTGPCEQmMGWg" factoryComponentContract="#_NcZ6I_MqEd-6tr0C8ZV8Ew"

+              invokedContract="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_JWI2sPI7Ed-Pp8S8RvVOuQ"/>

+          <invocationContracts xmi:id="_tnf48Id1EemTGPCEQmMGWg" factoryComponentContract="#_FqdyEFLNEd-ZSLMRjxSbVQ"

+              invokedContract="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_vtlEAFLMEd-ZSLMRjxSbVQ"/>

+        </invocationContractContainer>

+      </invocations>

+    </orchestration>

+  </fcore:FactoryComponent>

+  <fcore:FactoryComponent xmi:id="_PoF08DG0Ed-kc8dEZsdm2w" name="EMF Tests Pattern">

+    <contractContainer xmi:id="_Prg8hTG0Ed-kc8dEZsdm2w">

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_Prg8hjG0Ed-kc8dEZsdm2w"

+          description="EMF Tests Pattern" name="genModel" mandatory="true" invocationContracts="#_tqaDAId1EemTGPCEQmMGWg">

+        <type xmi:type="domain:TypeDomain" xmi:id="_trSMwId1EemTGPCEQmMGWg"/>

+      </contracts>

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_tvg04FIIEd-eGOdO3WtsxA"

+          description="EMF Tests Pattern" name="pattern.execution.reporter" invocationContracts="#_tr2NcId1EemTGPCEQmMGWg">

+        <type xmi:type="pattern:TypePatternExecutionReporter" xmi:id="_tscqYId1EemTGPCEQmMGWg"/>

+      </contracts>

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_Tx5xR1kTEd-bv5aydwO2Qw"

+          description="EMF Tests Pattern" name="pattern.ids" invocationContracts="#_ttDuYId1EemTGPCEQmMGWg">

+        <type xmi:type="pattern:TypePatternList" xmi:id="_ttpkQId1EemTGPCEQmMGWg"/>

+      </contracts>

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_eYFgEFHVEd-dr9AWwNwIMQ"

+          description="EMF Tests Pattern" name="pattern.substitutions" invocationContracts="#_tuQoQId1EemTGPCEQmMGWg">

+        <type xmi:type="pattern:TypePatternSubstitution" xmi:id="_tu7WoId1EemTGPCEQmMGWg"/>

+      </contracts>

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_NcjD0vMqEd-6tr0C8ZV8Ew"

+          description="EMF Tests Pattern" name="usedGenPackages" invocationContracts="#_tvhMgId1EemTGPCEQmMGWg">

+        <type xmi:type="domain:TypeGenPackages" xmi:id="_twHCYId1EemTGPCEQmMGWg"/>

+      </contracts>

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_LnCeMFLNEd-ZSLMRjxSbVQ"

+          description="EMF Tests Pattern" name="mergeRulesURI" invocationContracts="#_tws4QId1EemTGPCEQmMGWg">

+        <type xmi:type="types:TypeURI" xmi:id="_txSHEId1EemTGPCEQmMGWg"/>

+      </contracts>

+    </contractContainer>

+    <viewpointContainer xmi:id="_PoO-4DG0Ed-kc8dEZsdm2w">

+      <viewpoints xmi:type="pattern:PatternViewpoint" xmi:id="_PoO-4TG0Ed-kc8dEZsdm2w">

+        <libraries xmi:id="_PoO-4jG0Ed-kc8dEZsdm2w" name="org.eclipse.egf.emf.pattern.tests">

+          <elements xmi:id="_PoO-4zG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model.tests/plugin.xmljet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderXml&#xA;"

+              name="PluginXML" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_ZTUvECg7Ed-ROrlGa8LEeQ"

+              headerMethod="#_PoO-5TG0Ed-kc8dEZsdm2w" conditionMethod="#_-pXU9HLYEd-09ds9dfYpFw"

+              initMethod="#_PoO-5jG0Ed-kc8dEZsdm2w" footerMethod="#_PoO-6DG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_XGGvoId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_PoO-5TG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-5TG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PoO-5jG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-5jG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_-pXU9HLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._-pXU9HLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_PoO-6DG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-6DG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PoO-6jG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-6jG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_SxaSKGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._SxaSKGKPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_1A1QOWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._1A1QOWKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_PoO-7DG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-7DG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_XI_EgId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_XKJiIId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_mwzm4ChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_XKti0Id1EemTGPCEQmMGWg"

+                called="#_PoO-7DG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_XLAdwId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_XLSxoId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_PoYv4DG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model.tests/build.propertiesjet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderProperties&#xA;"

+              name="BuildProperties" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_ZTUvECg7Ed-ROrlGa8LEeQ"

+              headerMethod="#_PoYv4jG0Ed-kc8dEZsdm2w" conditionMethod="#_-iWuBHLYEd-09ds9dfYpFw"

+              initMethod="#_PoYv4zG0Ed-kc8dEZsdm2w" footerMethod="#_PoYv5TG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_XMBxcId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_PoYv4jG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv4jG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PoYv4zG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv4zG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_-iWuBHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._-iWuBHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_PoYv5TG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv5TG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PoYv5zG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv5zG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_SxHXPGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._SxHXPGKPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_1AsGTWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._1AsGTWKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_PoYv6TG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv6TG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_XQJccId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_XRWWUId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_mwzm4ChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_XR8MMId1EemTGPCEQmMGWg"

+                called="#_PoYv6TG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_XSPHIId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_XShbAId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_Po1b0DG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model.tests/manifest.mfjet&quot;&#xA;"

+              name="ManifestMF" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_ZTUvECg7Ed-ROrlGa8LEeQ"

+              headerMethod="#_Po1b0jG0Ed-kc8dEZsdm2w" conditionMethod="#_-e7mmHLYEd-09ds9dfYpFw"

+              initMethod="#_Po1b0zG0Ed-kc8dEZsdm2w" footerMethod="#_Po1b1TG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_XTRo8Id1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_Po1b0jG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b0jG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_Po1b0zG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b0zG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_-e7mmHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._-e7mmHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_Po1b1TG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b1TG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_Po1b1zG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b1zG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_SxRIOGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._SxRIOGKPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_1BIyOWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._1BIyOWKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_Po1b2TG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b2TG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_XWOPQId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_XXW3sId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_mwzm4ChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_XX7fcId1EemTGPCEQmMGWg"

+                called="#_Po1b2TG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_XYNzUId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_XYgHMId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_PplCsDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model.tests/plugin.propertiesjet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderProperties&#xA;"

+              name="PluginProperties" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_xxtwkCg7Ed-ROrlGa8LEeQ"

+              headerMethod="#_PplCsjG0Ed-kc8dEZsdm2w" conditionMethod="#_-uRqJHLYEd-09ds9dfYpFw"

+              initMethod="#_PplCszG0Ed-kc8dEZsdm2w" footerMethod="#_PplCtTG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_XZN44Id1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_PplCsjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCsjG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PplCszG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCszG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_-uRqJHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._-uRqJHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_PplCtTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCtTG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PplCtzG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCtzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_SxkDKGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._SxkDKGKPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_1BR8KWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._1BR8KWKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_PplCuTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCuTG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_XcFmsId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_XdNBAId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_pQ16sChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_XdyP0Id1EemTGPCEQmMGWg"

+                called="#_PplCuTG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_XeFKwId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_XeXeoId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_Pp39oDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model.tests/TestCase.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;    * org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.implementedGenFeature.override&#xA;    * org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.implementedGenOperation.override&#xA;    * org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.insert&#xA;"

+              name="TestCase" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_hYG6UCg6Ed-ROrlGa8LEeQ"

+              headerMethod="#_Pp39ojG0Ed-kc8dEZsdm2w" conditionMethod="#_-w9xxHLYEd-09ds9dfYpFw"

+              initMethod="#_Pp39ozG0Ed-kc8dEZsdm2w" footerMethod="#_Pp39pTG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_Xq--UId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_Pp39ojG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._Pp39ojG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_Pp39ozG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._Pp39ozG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_-w9xxHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._-w9xxHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_Pp39pTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._Pp39pTG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PqBuoDG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._PqBuoDG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_Sx2-GGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._Sx2-GGKPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_1BuoGWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._1BuoGWKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_PqBuojG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._PqBuojG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_Xt_2EId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_XvJFkId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_Chxo4ChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_XvuUYId1EemTGPCEQmMGWg"

+                called="#_PqBuojG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_XwBPUId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_XwUKQId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_PqeakDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model.tests/PackageExample.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"

+              name="PackageExample" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_VlOiICg6Ed-ROrlGa8LEeQ"

+              headerMethod="#_PqeakjG0Ed-kc8dEZsdm2w" conditionMethod="#_-0r0JHLYEd-09ds9dfYpFw"

+              initMethod="#_PqeakzG0Ed-kc8dEZsdm2w" footerMethod="#_PqealTG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_XfHskId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_PqeakjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqeakjG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PqeakzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqeakzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_-0r0JHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._-0r0JHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_PqealTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqealTG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PqealzG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqealzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_Sxt0KGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._Sxt0KGKPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_1Bk3GWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._1Bk3GWKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_PqeamTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqeamTG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_Xh8-IId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_XjE_gId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_QRYMcChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_Xjt4sId1EemTGPCEQmMGWg"

+                called="#_PqeamTG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_Xj_lgId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_XkR5YId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_MeyroChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_Pq6fcDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model.tests/ModelTestSuite.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"

+              name="ModelTestSuite" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_F0In8Cg6Ed-ROrlGa8LEeQ"

+              headerMethod="#_Pq6fcjG0Ed-kc8dEZsdm2w" conditionMethod="#_-7Y5FHLYEd-09ds9dfYpFw"

+              initMethod="#_Pq6fczG0Ed-kc8dEZsdm2w" footerMethod="#_Pq6fdTG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_XlA5MId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_Pq6fcjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6fcjG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_Pq6fczG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6fczG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_-7Y5FHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._-7Y5FHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_Pq6fdTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6fdTG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_Pq6fdzG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6fdzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_SyAvGGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._SyAvGGKPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_1BbtKWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._1BbtKWKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_Pq6feTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6feTG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_Xn2x0Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_XpDEoId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_cjQNwChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_XpoTcId1EemTGPCEQmMGWg"

+                called="#_Pq6feTG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_Xp7OYId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_XqNiQId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>

+          </elements>

+          <elements xmi:id="_PrOBcDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model.tests/PackageTestSuite.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"

+              name="PackageTestSuite" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_VlOiICg6Ed-ROrlGa8LEeQ"

+              headerMethod="#_PrOBcjG0Ed-kc8dEZsdm2w" conditionMethod="#_-5ATdHLYEd-09ds9dfYpFw"

+              initMethod="#_PrOBczG0Ed-kc8dEZsdm2w" footerMethod="#_PrOBdTG0Ed-kc8dEZsdm2w">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_XxAt0Id1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_PrOBcjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBcjG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PrOBczG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBczG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_-5ATdHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._-5ATdHLYEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_PrOBdTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBdTG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_PrOBdzG0Ed-kc8dEZsdm2w" name="setReporterVariables"

+                patternFilePath="templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBdzG0Ed-kc8dEZsdm2w.pt"/>

+            <methods xmi:id="_SyKgGGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._SyKgGGKPEd-2a5uccsiuZA.pt"/>

+            <methods xmi:id="_1B4ZGWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._1B4ZGWKMEd-_wNQtGaQ-lw.pt"/>

+            <methods xmi:id="_PrOBeTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBeTG0Ed-kc8dEZsdm2w.pt"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_X0A-gId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_X1LcIId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_QRYMcChGEd-zj5CV40Ozyg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_X1xSAId1EemTGPCEQmMGWg"

+                called="#_PrOBeTG0Ed-kc8dEZsdm2w"/>

+            <orchestration xmi:type="pattern:BackCall" xmi:id="_X2GpMId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_X2ayQId1EemTGPCEQmMGWg"

+                called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_MeyroChGEd-zj5CV40Ozyg"/>

+          </elements>

+        </libraries>

+        <libraries xmi:id="_09kCIGJ-Ed-FqczH3ESmRw" name="org.eclipse.egf.emf.pattern.tests.call.TestCase">

+          <elements xmi:id="_09kCIWJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model.tests/TestCase.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.getGenFeature.override&#xA;    * org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.setGenFeature.override&#xA;    * org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.unsetGenFeature.override&#xA;    * org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.isSetGenFeature.override&#xA;    * org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.implementedGenFeature.insert&#xA;"

+              name="TestCase.implementedGenFeature.override" headerMethod="#_09kCI2J-Ed-FqczH3ESmRw"

+              conditionMethod="#_CIbc1XLZEd-09ds9dfYpFw" initMethod="#_09kCJGJ-Ed-FqczH3ESmRw"

+              footerMethod="#_09kCJmJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_rXYQcId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_09kCI2J-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._09kCI2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_09kCJGJ-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._09kCJGJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_CIbc1XLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._CIbc1XLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_09kCJmJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._09kCJmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_09kCLGJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._09kCLGJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_rat4UId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_rbCocId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_rbVjYId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_rboeUId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_rb8nYId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_raZvQId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_rcjEUId1EemTGPCEQmMGWg"

+                called="#_09kCLGJ-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_093kIGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model.tests/TestCase.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.getGenFeature.annotations.insert&#xA;    * org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.getGenFeature.TODO.override&#xA;"

+              name="TestCase.getGenFeature.override" headerMethod="#_093kImJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_CKEblHLZEd-09ds9dfYpFw" initMethod="#_093kI2J-Ed-FqczH3ESmRw"

+              footerMethod="#_093kJWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_rdRdEId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_093kImJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._093kImJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_093kI2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._093kI2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_CKEblHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._CKEblHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_093kJWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._093kJWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_093kK2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._093kK2J-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_rgphMId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_rg9DMId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_rhPXEId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_rhhq8Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_rhz-0Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_rgWmQId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_ribC0Id1EemTGPCEQmMGWg"

+                called="#_093kK2J-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0-KfEGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model.tests/TestCase.javajet&quot;&#xA;"

+              name="TestCase.getGenFeature.annotations.insert" headerMethod="#_0-KfEmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_CLQuZHLZEd-09ds9dfYpFw" initMethod="#_0-KfE2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0-KfFWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_rjNtAId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0-KfEmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._0-KfEmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0-KfE2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._0-KfE2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_CLQuZHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._CLQuZHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0-KfFWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._0-KfFWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0-KfG2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._0-KfG2J-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_rmviIId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_rnDrMId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_rnV_EId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_rnnr4Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_rn5_wId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_rmayAId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_roiR4Id1EemTGPCEQmMGWg"

+                called="#_0-KfG2J-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0-UQEGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model.tests/TestCase.javajet&quot;&#xA;"

+              name="TestCase.getGenFeature.TODO.override" headerMethod="#_0-UQEmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_CMmyNHLZEd-09ds9dfYpFw" initMethod="#_0-UQE2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0-UQFWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_rpUVAId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0-UQEmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._0-UQEmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0-UQE2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._0-UQE2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_CMmyNHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._CMmyNHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0-UQFWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._0-UQFWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0-UQG2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._0-UQG2J-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_rs2KIId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_rtKTMId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_rtecQId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_rtzMYId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_ruH8gId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_rsiBEId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_ruwOoId1EemTGPCEQmMGWg"

+                called="#_0-UQG2J-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0-daAGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model.tests/TestCase.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.setGenFeature.annotations.insert&#xA;    * org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.setGenFeature.TODO.override&#xA;"

+              name="TestCase.setGenFeature.override" headerMethod="#_0-daAmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_CPu-tHLZEd-09ds9dfYpFw" initMethod="#_0-daA2J-Ed-FqczH3ESmRw"

+              footerMethod="#_0-daBWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_rvgckId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0-daAmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._0-daAmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0-daA2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._0-daA2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_CPu-tHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._CPu-tHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0-daBWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._0-daBWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0-daC2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._0-daC2J-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_rzC4wId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_rzXo4Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_rzrx8Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_rz_T8Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_r0S18Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_ryuIoId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_r07vIId1EemTGPCEQmMGWg"

+                called="#_0-daC2J-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0-wU8GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model.tests/TestCase.javajet&quot;&#xA;"

+              name="TestCase.setGenFeature.annotations.insert" headerMethod="#_0-wU8mJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_CRq4ZHLZEd-09ds9dfYpFw" initMethod="#_0-wU82J-Ed-FqczH3ESmRw"

+              footerMethod="#_0-wU9WJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_r1qu8Id1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0-wU8mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._0-wU8mJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0-wU82J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._0-wU82J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_CRq4ZHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._CRq4ZHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0-wU9WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._0-wU9WJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0-wU-2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._0-wU-2J-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_r5FPUId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_r5amgId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_r5uIgId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_r6EGwId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_r6XowId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_r4xGQId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_r7BJAId1EemTGPCEQmMGWg"

+                called="#_0-wU-2J-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0-6F8GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model.tests/TestCase.javajet&quot;&#xA;"

+              name="TestCase.setGenFeature.TODO.override" headerMethod="#_0-6F8mJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_CStaNHLZEd-09ds9dfYpFw" initMethod="#_0-6F82J-Ed-FqczH3ESmRw"

+              footerMethod="#_0-6F9WJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_r7u6sId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0-6F8mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._0-6F8mJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0-6F82J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._0-6F82J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_CStaNHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._CStaNHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0-6F9WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._0-6F9WJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0-6F-2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._0-6F-2J-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_r_LQQId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_r_fZUId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_r_0JcId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_sAJgoId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_sAdCoId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_r-3HMId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_sBEGoId1EemTGPCEQmMGWg"

+                called="#_0-6F-2J-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_0_NA4GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model.tests/TestCase.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.unsetGenFeature.annotations.insert&#xA;    * org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.unsetGenFeature.TODO.override&#xA;"

+              name="TestCase.unsetGenFeature.override" headerMethod="#_0_NA4mJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_CUDeBHLZEd-09ds9dfYpFw" initMethod="#_0_NA42J-Ed-FqczH3ESmRw"

+              footerMethod="#_0_NA5WJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_sB0UkId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_0_NA4mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._0_NA4mJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0_NA42J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._0_NA42J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_CUDeBHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._CUDeBHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_0_NA5WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._0_NA5WJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_0_NA62J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._0_NA62J-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_sFO08Id1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_sFhv4Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_sF0q0Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_sGG-sId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_sGcV4Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_sE8hEId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_sHEoAId1EemTGPCEQmMGWg"

+                called="#_0_NA62J-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_1BcckGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model.tests/TestCase.javajet&quot;&#xA;"

+              name="TestCase.unsetGenFeature.annotations.insert" headerMethod="#_1BcckmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_CVZh1HLZEd-09ds9dfYpFw" initMethod="#_1Bcck2J-Ed-FqczH3ESmRw"

+              footerMethod="#_1BcclWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_sI-FcId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_1BcckmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._1BcckmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_1Bcck2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._1Bcck2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_CVZh1HLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._CVZh1HLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_1BcclWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._1BcclWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_1Bccm2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._1Bccm2J-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_sMVigId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_sMpEgId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_sM8mgId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_sNQvkId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_sNkRkId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_sMCAgId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_sOLVkId1EemTGPCEQmMGWg"

+                called="#_1Bccm2J-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_1BlmgGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model.tests/TestCase.javajet&quot;&#xA;"

+              name="TestCase.unsetGenFeature.TODO.override" headerMethod="#_1BlmgmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_CWSSpHLZEd-09ds9dfYpFw" initMethod="#_1Blmg2J-Ed-FqczH3ESmRw"

+              footerMethod="#_1BlmhWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_sO68cId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_1BlmgmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._1BlmgmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_1Blmg2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._1Blmg2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_CWSSpHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._CWSSpHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_1BlmhWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._1BlmhWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_1Blmi2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._1Blmi2J-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_sSYgIId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_sSspMId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_sTAyQId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_sTU7UId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_sTpEYId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_sSEXEId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_sUPhUId1EemTGPCEQmMGWg"

+                called="#_1Blmi2J-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_1BvXgGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model.tests/TestCase.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.isSetGenFeature.annotations.insert&#xA;    * org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.isSetGenFeature.TODO.override&#xA;"

+              name="TestCase.isSetGenFeature.override" headerMethod="#_1BvXgmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_CY-aRHLZEd-09ds9dfYpFw" initMethod="#_1BvXg2J-Ed-FqczH3ESmRw"

+              footerMethod="#_1BvXhWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_sU_IMId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_1BvXgmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._1BvXgmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_1BvXg2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._1BvXg2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_CY-aRHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._CY-aRHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_1BvXhWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._1BvXhWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_1BvXi2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._1BvXi2J-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_sYbdwId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_sYuYsId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_sZEW8Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_sZX48Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_sZra8Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_sYH7wId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_saTGAId1EemTGPCEQmMGWg"

+                called="#_1BvXi2J-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_1CMDcGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model.tests/TestCase.javajet&quot;&#xA;"

+              name="TestCase.isSetGenFeature.annotations.insert" headerMethod="#_1CMDcmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_CanZBHLZEd-09ds9dfYpFw" initMethod="#_1CMDc2J-Ed-FqczH3ESmRw"

+              footerMethod="#_1CMDdWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_sbBewId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_1CMDcmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._1CMDcmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_1CMDc2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._1CMDc2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_CanZBHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._CanZBHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_1CMDdWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._1CMDdWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_1CMDe2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._1CMDe2J-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_seaxAId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_setr8Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_sfAm4Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_sfTh0Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_sfmcwId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_seHPAId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_sgNgwId1EemTGPCEQmMGWg"

+                called="#_1CMDe2J-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_1Ce-YGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model.tests/TestCase.javajet&quot;&#xA;"

+              name="TestCase.isSetGenFeature.TODO.override" headerMethod="#_1Ce-YmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_CcGmxHLZEd-09ds9dfYpFw" initMethod="#_1Ce-Y2J-Ed-FqczH3ESmRw"

+              footerMethod="#_1Ce-ZWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_sg_j4Id1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_1Ce-YmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._1Ce-YmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_1Ce-Y2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._1Ce-Y2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_CcGmxHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._CcGmxHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_1Ce-ZWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._1Ce-ZWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_1Ce-a2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._1Ce-a2J-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_skgx8Id1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_sk2wMId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_slLgUId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_slfCUId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_sl4q8Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_skMB0Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_smiyQId1EemTGPCEQmMGWg"

+                called="#_1Ce-a2J-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_1CovYGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model.tests/TestCase.javajet&quot;&#xA;"

+              name="TestCase.implementedGenFeature.insert" headerMethod="#_1CovYmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_CdcDhHLZEd-09ds9dfYpFw" initMethod="#_1CovY2J-Ed-FqczH3ESmRw"

+              footerMethod="#_1CovZWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_snWqkId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_1CovYmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._1CovYmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_1CovY2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._1CovY2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_CdcDhHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._CdcDhHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_1CovZWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._1CovZWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_1Cova2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._1Cova2J-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_sq8KEId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>

+            <parameters xmi:id="_srQTIId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_srkcMId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_sr5MUId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_ssMHQId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_sqnZ8Id1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_ss0ZYId1EemTGPCEQmMGWg"

+                called="#_1Cova2J-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_1Cx5UGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model.tests/TestCase.javajet&quot;&#xA;This pattern calls:&#xA;    * org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.genOperation.annotations.insert&#xA;    * org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.implementedGenOperation.TODO.override&#xA;    * org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.implementedGenOperation.insert&#xA;"

+              name="TestCase.implementedGenOperation.override" headerMethod="#_1Cx5UmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_CeVbZHLZEd-09ds9dfYpFw" initMethod="#_1Cx5U2J-Ed-FqczH3ESmRw"

+              footerMethod="#_1Cx5VWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_stiLEId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_1Cx5UmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._1Cx5UmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_1Cx5U2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._1Cx5U2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_CeVbZHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._CeVbZHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_1Cx5VWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._1Cx5VWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_1Cx5W2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._1Cx5W2J-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_sw8EYId1EemTGPCEQmMGWg" name="genOperation" type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>

+            <parameters xmi:id="_sxPmYId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_sxjvcId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_sx4fkId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_syMooId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_swn7UId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_sy0TsId1EemTGPCEQmMGWg"

+                called="#_1Cx5W2J-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_1C7qUGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model.tests/TestCase.javajet&quot;&#xA;"

+              name="TestCase.genOperation.annotations.insert" headerMethod="#_1C7qUmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_CgILJHLZEd-09ds9dfYpFw" initMethod="#_1C7qU2J-Ed-FqczH3ESmRw"

+              footerMethod="#_1C7qVWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_sziFYId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_1C7qUmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._1C7qUmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_1C7qU2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._1C7qU2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_CgILJHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._CgILJHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_1C7qVWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._1C7qVWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_1C7qW2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._1C7qW2J-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_s29M0Id1EemTGPCEQmMGWg" name="genOperation" type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>

+            <parameters xmi:id="_s3Qu0Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_s3kQ0Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_s32ksId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_s4JfoId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_s2pDwId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_s4xxwId1EemTGPCEQmMGWg"

+                called="#_1C7qW2J-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_1DFbUGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model.tests/TestCase.javajet&quot;&#xA;"

+              name="TestCase.implementedGenOperation.TODO.override" headerMethod="#_1DFbUmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_CjtDlHLZEd-09ds9dfYpFw" initMethod="#_1DFbU2J-Ed-FqczH3ESmRw"

+              footerMethod="#_1DFbVWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_s5rJoId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_1DFbUmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._1DFbUmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_1DFbU2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._1DFbU2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_CjtDlHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._CjtDlHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_1DFbVWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._1DFbVWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_1DFbW2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._1DFbW2J-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_s9FqAId1EemTGPCEQmMGWg" name="genOperation" type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>

+            <parameters xmi:id="_s9ddcId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_s9wYYId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_s-EhcId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_s-YqgId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_s8socId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_s_AVkId1EemTGPCEQmMGWg"

+                called="#_1DFbW2J-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_1DOlQGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model.tests/TestCase.javajet&quot;&#xA;"

+              name="TestCase.implementedGenOperation.insert" headerMethod="#_1DOlQmJ-Ed-FqczH3ESmRw"

+              conditionMethod="#_Ckl0ZHLZEd-09ds9dfYpFw" initMethod="#_1DOlQ2J-Ed-FqczH3ESmRw"

+              footerMethod="#_1DOlRWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_s_tgMId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_1DOlQmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._1DOlQmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_1DOlQ2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._1DOlQ2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_Ckl0ZHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._Ckl0ZHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_1DOlRWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._1DOlRWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_1DOlS2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._1DOlS2J-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_tDIAkId1EemTGPCEQmMGWg" name="genOperation" type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>

+            <parameters xmi:id="_tDbikId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_tDt2cId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_tEB_gId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_tEWvoId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_tCz3gId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_tE9zoId1EemTGPCEQmMGWg"

+                called="#_1DOlS2J-Ed-FqczH3ESmRw"/>

+          </elements>

+          <elements xmi:id="_1DYWQGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA;    * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA;    * Template &quot;templates/model.tests/TestCase.javajet&quot;&#xA;"

+              name="TestCase.insert" headerMethod="#_1DYWQmJ-Ed-FqczH3ESmRw" conditionMethod="#_ClCgVHLZEd-09ds9dfYpFw"

+              initMethod="#_1DYWQ2J-Ed-FqczH3ESmRw" footerMethod="#_1DYWRWJ-Ed-FqczH3ESmRw">

+            <nature xmi:type="jetpattern:JetNature" xmi:id="_tFsMYId1EemTGPCEQmMGWg"

+                name="JET"/>

+            <methods xmi:id="_1DYWQmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._1DYWQmJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_1DYWQ2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._1DYWQ2J-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_ClCgVHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._ClCgVHLZEd-09ds9dfYpFw.pt"/>

+            <methods xmi:id="_1DYWRWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._1DYWRWJ-Ed-FqczH3ESmRw.pt"/>

+            <methods xmi:id="_1DYWSmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._1DYWSmJ-Ed-FqczH3ESmRw.pt"/>

+            <parameters xmi:id="_tJFeoId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>

+            <parameters xmi:id="_tJZAoId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>

+            <parameters xmi:id="_tJsioId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>

+            <parameters xmi:id="_tKArsId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>

+            <orchestration xmi:type="pattern:SuperCall" xmi:id="_tIx8oId1EemTGPCEQmMGWg"/>

+            <orchestration xmi:type="pattern:MethodCall" xmi:id="_tKraEId1EemTGPCEQmMGWg"

+                called="#_1DYWSmJ-Ed-FqczH3ESmRw"/>

+          </elements>

+        </libraries>

+      </viewpoints>

+    </viewpointContainer>

+    <orchestration xmi:type="fprod:ProductionPlan" xmi:id="_Prg8gTG0Ed-kc8dEZsdm2w">

+      <invocations xmi:id="_tpNwMId1EemTGPCEQmMGWg" name="EMF Tests Pattern" invokedActivity="ftask:Task platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_jT-SgD1hEd-m5uHrCQ1Jew">

+        <invocationContractContainer xmi:id="_tp00MId1EemTGPCEQmMGWg">

+          <invocationContracts xmi:id="_tqaDAId1EemTGPCEQmMGWg" factoryComponentContract="#_Prg8hjG0Ed-kc8dEZsdm2w"

+              invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/egf/Model_driven_pattern_strategy_task.fcore#_DgB2IP6fEd64XaYPo3s6sPg"/>

+          <invocationContracts xmi:id="_tr2NcId1EemTGPCEQmMGWg" factoryComponentContract="#_tvg04FIIEd-eGOdO3WtsxA"

+              invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/egf/Model_driven_pattern_strategy_task.fcore#_L6JSwAHAEd-4faJMEplCjxw">

+            <type xmi:type="pattern:TypePatternExecutionReporter" xmi:id="_tsJvcId1EemTGPCEQmMGWg"

+                value="org.eclipse.egf.emf.pattern.base.ContentTypePatternExecutionReporter"/>

+          </invocationContracts>

+          <invocationContracts xmi:id="_ttDuYId1EemTGPCEQmMGWg" factoryComponentContract="#_Tx5xR1kTEd-bv5aydwO2Qw"

+              invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/egf/Model_driven_pattern_strategy_task.fcore#_nz1HkSCaEd-Sse0r9LJWbA">

+            <type xmi:type="pattern:TypePatternList" xmi:id="_ttWpUId1EemTGPCEQmMGWg"

+                elements="#_PoO-4jG0Ed-kc8dEZsdm2w"/>

+          </invocationContracts>

+          <invocationContracts xmi:id="_tuQoQId1EemTGPCEQmMGWg" factoryComponentContract="#_eYFgEFHVEd-dr9AWwNwIMQ"

+              invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/egf/Model_driven_pattern_strategy_task.fcore#_NFhJ4UMgEd-Ixul1H5ANhg"/>

+          <invocationContracts xmi:id="_tvhMgId1EemTGPCEQmMGWg" factoryComponentContract="#_NcjD0vMqEd-6tr0C8ZV8Ew"

+              invokedContract="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_JWI2sPI7Ed-Pp8S8RvVOuQ"/>

+          <invocationContracts xmi:id="_tws4QId1EemTGPCEQmMGWg" factoryComponentContract="#_LnCeMFLNEd-ZSLMRjxSbVQ"

+              invokedContract="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_vtlEAFLMEd-ZSLMRjxSbVQ"/>

+        </invocationContractContainer>

+      </invocations>

+    </orchestration>

+  </fcore:FactoryComponent>

+  <fcore:FactoryComponent xmi:id="_Prz3UDG0Ed-kc8dEZsdm2w" name="EMF Pattern">

+    <contractContainer xmi:id="_Prz3UTG0Ed-kc8dEZsdm2w">

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_Prz3UjG0Ed-kc8dEZsdm2w"

+          description="EMF Pattern" name="genModel" mandatory="true" invocationContracts="#_tyOiRId1EemTGPCEQmMGWg #_t0QikYd1EemTGPCEQmMGWg #_t2KAAYd1EemTGPCEQmMGWg #_t4F5sYd1EemTGPCEQmMGWg">

+        <type xmi:type="domain:TypeDomain" xmi:id="_tyOiQ4d1EemTGPCEQmMGWg"/>

+      </contracts>

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_yqrHUFIIEd-eGOdO3WtsxA"

+          description="EMF Pattern" name="pattern.execution.reporter" invocationContracts="#_tykggod1EemTGPCEQmMGWg #_t0kEkId1EemTGPCEQmMGWg #_t2ewIId1EemTGPCEQmMGWg #_t4bQ4Id1EemTGPCEQmMGWg">

+        <type xmi:type="pattern:TypePatternExecutionReporter" xmi:id="_tykggYd1EemTGPCEQmMGWg"/>

+      </contracts>

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_JBH151eTEd-ExtSXfVloug"

+          description="EMF Pattern" name="pattern.substitutions" invocationContracts="#_ty6ewod1EemTGPCEQmMGWg #_t03mkId1EemTGPCEQmMGWg #_t2y5MId1EemTGPCEQmMGWg #_t4vZ8Id1EemTGPCEQmMGWg">

+        <type xmi:type="pattern:TypePatternSubstitution" xmi:id="_ty6ewYd1EemTGPCEQmMGWg"/>

+      </contracts>

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_k-TskPI7Ed-Pp8S8RvVOuQ"

+          description="EMF Pattern" name="usedGenPackages" invocationContracts="#_tzP18od1EemTGPCEQmMGWg #_t1LvoId1EemTGPCEQmMGWg #_t3IQYId1EemTGPCEQmMGWg #_t5ExIId1EemTGPCEQmMGWg">

+        <type xmi:type="domain:TypeGenPackages" xmi:id="_tzP18Yd1EemTGPCEQmMGWg"/>

+      </contracts>

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_TK4DEFLNEd-ZSLMRjxSbVQ"

+          description="EMF Pattern" name="mergeRulesURI" invocationContracts="#_tzmbQYd1EemTGPCEQmMGWg #_t1eqkId1EemTGPCEQmMGWg #_t3byYId1EemTGPCEQmMGWg #_t5avYId1EemTGPCEQmMGWg">

+        <type xmi:type="types:TypeURI" xmi:id="_tzmbQId1EemTGPCEQmMGWg"/>

+      </contracts>

+    </contractContainer>

+    <orchestration xmi:type="fprod:ProductionPlan" xmi:id="_Prz3VDG0Ed-kc8dEZsdm2w">

+      <invocations xmi:id="_tx5LEod1EemTGPCEQmMGWg" invokedActivity="#_Pcm9sDG0Ed-kc8dEZsdm2w">

+        <invocationContractContainer xmi:id="_tyOiQId1EemTGPCEQmMGWg">

+          <invocationContracts xmi:id="_tyOiRId1EemTGPCEQmMGWg" factoryComponentContract="#_Prz3UjG0Ed-kc8dEZsdm2w"

+              invokedContract="#_Prg8ZTG0Ed-kc8dEZsdm2w"/>

+          <invocationContracts xmi:id="_tykggod1EemTGPCEQmMGWg" factoryComponentContract="#_yqrHUFIIEd-eGOdO3WtsxA"

+              invokedContract="#_WRxYEFIIEd-eGOdO3WtsxA"/>

+          <invocationContracts xmi:id="_ty6ewod1EemTGPCEQmMGWg" factoryComponentContract="#_JBH151eTEd-ExtSXfVloug"

+              invokedContract="#_OVsagFHVEd-dr9AWwNwIMQ"/>

+          <invocationContracts xmi:id="_tzP18od1EemTGPCEQmMGWg" factoryComponentContract="#_k-TskPI7Ed-Pp8S8RvVOuQ"

+              invokedContract="#_RcQCMPI7Ed-Pp8S8RvVOuQ"/>

+          <invocationContracts xmi:id="_tzmbQYd1EemTGPCEQmMGWg" factoryComponentContract="#_TK4DEFLNEd-ZSLMRjxSbVQ"

+              invokedContract="#_sluXsVLLEd-ZSLMRjxSbVQ"/>

+        </invocationContractContainer>

+      </invocations>

+      <invocations xmi:id="_tz7ycId1EemTGPCEQmMGWg" invokedActivity="#_PiIW4DG0Ed-kc8dEZsdm2w">

+        <invocationContractContainer xmi:id="_t0QikId1EemTGPCEQmMGWg">

+          <invocationContracts xmi:id="_t0QikYd1EemTGPCEQmMGWg" factoryComponentContract="#_Prz3UjG0Ed-kc8dEZsdm2w"

+              invokedContract="#_Prg8cDG0Ed-kc8dEZsdm2w"/>

+          <invocationContracts xmi:id="_t0kEkId1EemTGPCEQmMGWg" factoryComponentContract="#_yqrHUFIIEd-eGOdO3WtsxA"

+              invokedContract="#_jzYi8FIIEd-eGOdO3WtsxA"/>

+          <invocationContracts xmi:id="_t03mkId1EemTGPCEQmMGWg" factoryComponentContract="#_JBH151eTEd-ExtSXfVloug"

+              invokedContract="#_UCnhEFHVEd-dr9AWwNwIMQ"/>

+          <invocationContracts xmi:id="_t1LvoId1EemTGPCEQmMGWg" factoryComponentContract="#_k-TskPI7Ed-Pp8S8RvVOuQ"

+              invokedContract="#_dgkvsPI7Ed-Pp8S8RvVOuQ"/>

+          <invocationContracts xmi:id="_t1eqkId1EemTGPCEQmMGWg" factoryComponentContract="#_TK4DEFLNEd-ZSLMRjxSbVQ"

+              invokedContract="#_9wHxsFLMEd-ZSLMRjxSbVQ"/>

+        </invocationContractContainer>

+      </invocations>

+      <invocations xmi:id="_t1128Id1EemTGPCEQmMGWg" invokedActivity="#_PkqGcDG0Ed-kc8dEZsdm2w">

+        <invocationContractContainer xmi:id="_t2KAAId1EemTGPCEQmMGWg">

+          <invocationContracts xmi:id="_t2KAAYd1EemTGPCEQmMGWg" factoryComponentContract="#_Prz3UjG0Ed-kc8dEZsdm2w"

+              invokedContract="#_Prg8ezG0Ed-kc8dEZsdm2w"/>

+          <invocationContracts xmi:id="_t2ewIId1EemTGPCEQmMGWg" factoryComponentContract="#_yqrHUFIIEd-eGOdO3WtsxA"

+              invokedContract="#_pCqEMFIIEd-eGOdO3WtsxA"/>

+          <invocationContracts xmi:id="_t2y5MId1EemTGPCEQmMGWg" factoryComponentContract="#_JBH151eTEd-ExtSXfVloug"

+              invokedContract="#_Y3EukFHVEd-dr9AWwNwIMQ"/>

+          <invocationContracts xmi:id="_t3IQYId1EemTGPCEQmMGWg" factoryComponentContract="#_k-TskPI7Ed-Pp8S8RvVOuQ"

+              invokedContract="#_NcZ6I_MqEd-6tr0C8ZV8Ew"/>

+          <invocationContracts xmi:id="_t3byYId1EemTGPCEQmMGWg" factoryComponentContract="#_TK4DEFLNEd-ZSLMRjxSbVQ"

+              invokedContract="#_FqdyEFLNEd-ZSLMRjxSbVQ"/>

+        </invocationContractContainer>

+      </invocations>

+      <invocations xmi:id="_t3xJkId1EemTGPCEQmMGWg" invokedActivity="#_PoF08DG0Ed-kc8dEZsdm2w">

+        <invocationContractContainer xmi:id="_t4F5sId1EemTGPCEQmMGWg">

+          <invocationContracts xmi:id="_t4F5sYd1EemTGPCEQmMGWg" factoryComponentContract="#_Prz3UjG0Ed-kc8dEZsdm2w"

+              invokedContract="#_Prg8hjG0Ed-kc8dEZsdm2w"/>

+          <invocationContracts xmi:id="_t4bQ4Id1EemTGPCEQmMGWg" factoryComponentContract="#_yqrHUFIIEd-eGOdO3WtsxA"

+              invokedContract="#_tvg04FIIEd-eGOdO3WtsxA"/>

+          <invocationContracts xmi:id="_t4vZ8Id1EemTGPCEQmMGWg" factoryComponentContract="#_JBH151eTEd-ExtSXfVloug"

+              invokedContract="#_eYFgEFHVEd-dr9AWwNwIMQ"/>

+          <invocationContracts xmi:id="_t5ExIId1EemTGPCEQmMGWg" factoryComponentContract="#_k-TskPI7Ed-Pp8S8RvVOuQ"

+              invokedContract="#_NcjD0vMqEd-6tr0C8ZV8Ew"/>

+          <invocationContracts xmi:id="_t5avYId1EemTGPCEQmMGWg" factoryComponentContract="#_TK4DEFLNEd-ZSLMRjxSbVQ"

+              invokedContract="#_LnCeMFLNEd-ZSLMRjxSbVQ"/>

+        </invocationContractContainer>

+      </invocations>

+    </orchestration>

+  </fcore:FactoryComponent>

+</xmi:XMI>

diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/BuildProperties.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/BuildProperties.java
new file mode 100644
index 0000000..ced6b1e
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/BuildProperties.java
@@ -0,0 +1,236 @@
+//Generated with EGF 1.6.1.201902111324

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

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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 + "               ";

+	protected final String TEXT_8 = ".properties";

+	protected final String TEXT_9 = NL + "jars.compile.order = ";

+	protected final String TEXT_10 = NL + "source.";

+	protected final String TEXT_11 = " = ";

+	protected final String TEXT_12 = NL + "output.";

+	protected final String TEXT_13 = " = bin/" + NL;

+	protected final String TEXT_14 = 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_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;

+		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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.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);

+		}

+		String editBundleLocalization = genModel.getEditBundleLocalization();

+		int index = editBundleLocalization.indexOf("/");

+		if (index == -1) {

+			stringBuffer.append(TEXT_7);

+			stringBuffer.append(editBundleLocalization);

+			stringBuffer.append(TEXT_8);

+		} else {

+			stringBuffer.append(TEXT_7);

+			stringBuffer.append(editBundleLocalization.substring(0, index + 1));

+		}

+		stringBuffer.append(TEXT_9);

+		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_10);

+				stringBuffer.append(pluginClassesLocation);

+				stringBuffer.append(TEXT_11);

+				stringBuffer.append(sourceFolder);

+				first = false;

+			} else {

+				stringBuffer.append(sourceFolder);

+			}

+		}

+		stringBuffer.append(TEXT_12);

+		stringBuffer.append(pluginClassesLocation);

+		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.EditProject");

+		canGenerate = canGenerate && true;

+		return canGenerate;

+	}

+}
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/CreateChildIconsForGenClass.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/CreateChildIconsForGenClass.java
new file mode 100644
index 0000000..9276b52
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/CreateChildIconsForGenClass.java
@@ -0,0 +1,139 @@
+//Generated with EGF 1.6.1.201902111324

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

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/CreateChildIconsForGenPackage.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/CreateChildIconsForGenPackage.java
new file mode 100644
index 0000000..3b75a30
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/CreateChildIconsForGenPackage.java
@@ -0,0 +1,150 @@
+//Generated with EGF 1.6.1.201902111324

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

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/Images.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/Images.java
new file mode 100644
index 0000000..0de1d0d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/Images.java
@@ -0,0 +1,219 @@
+//Generated with EGF 1.6.1.201902111324

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

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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;

+

+	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_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;

+		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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ItemIcon.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ItemIcon.java
new file mode 100644
index 0000000..6eedfcd
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ItemIcon.java
@@ -0,0 +1,134 @@
+//Generated with EGF 1.6.1.201902111324

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

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ItemProvider.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ItemProvider.java
new file mode 100644
index 0000000..80dd5dd
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ItemProvider.java
@@ -0,0 +1,841 @@
+//Generated with EGF 1.6.1.201902111324

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

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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 -->";

+	protected final String TEXT_6 = NL + " * ";

+	protected final String TEXT_7 = NL + " * @generated" + NL + " */";

+	protected final String TEXT_8 = NL + "@Deprecated";

+	protected final String TEXT_9 = NL + "public class ";

+	protected final String TEXT_10 = " ";

+	protected final String TEXT_11 = "extends ";

+	protected final String TEXT_12 = NL + "\textends ";

+	protected final String TEXT_13 = NL + "\timplements";

+	protected final String TEXT_14 = NL + "\t\t";

+	protected final String TEXT_15 = ",";

+	protected final String TEXT_16 = NL + "{";

+	protected final String TEXT_17 = 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_18 = " copyright = ";

+	protected final String TEXT_19 = ";";

+	protected final String TEXT_20 = NL;

+	protected final String TEXT_21 = 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_22 = "(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_23 = NL + "\t@Override";

+	protected final String TEXT_24 = NL + "\tpublic ";

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

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

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

+	protected final String TEXT_26 = NL + "\t\t\tadd";

+	protected final String TEXT_27 = "PropertyDescriptor(object);";

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

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

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

+			+ "\t * <!-- end-user-doc -->";

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

+	protected final String TEXT_32 = NL + "\t * @generated" + NL + "\t */";

+	protected final String TEXT_33 = NL + "\t@Deprecated";

+	protected final String TEXT_34 = NL + "\tprotected void add";

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

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

+	protected final String TEXT_37 = 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_38 = " getChildrenFeatures(Object object)" + NL + "\t{" + NL

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

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

+	protected final String TEXT_40 = ");";

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

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

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

+	protected final String TEXT_43 = NL + "\tprotected ";

+	protected final String TEXT_44 = " 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_45 = NL + "\tpublic boolean hasChildren(Object object)" + NL + "\t{" + NL

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

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

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

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

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

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

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

+	protected final String TEXT_50 = "\"));";

+	protected final String TEXT_51 = NL + "\t/**" + NL

+			+ "\t * This returns <code>getImage(object)</code> for the column index <code>0</code> or <code>super.getImage(object)</code> otherwise."

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

+			+ "\t * @see #getText(Object)" + NL + "\t * @see #getColumnText(Object, int)" + NL + "\t * @generated" + NL

+			+ "\t */";

+	protected final String TEXT_52 = NL + "\tpublic Object getColumnImage(Object object, int columnIndex)" + NL + "\t{"

+			+ NL + "\t\t// TODO: implement this method to return appropriate information for each column." + NL

+			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL

+			+ "\t\treturn columnIndex == 0 ? getImage(object) : super.getImage(object);" + NL + "\t}" + NL;

+	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 + "\tpublic String getText(Object object)" + NL + "\t{";

+	protected final String TEXT_56 = NL + "\t/**" + NL

+			+ "\t * This returns <code>getText(object)</code> for the column index <code>0</code> or <code>super.getText(object)</code> otherwise."

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

+			+ "\t * @see #getImage(Object)" + NL + "\t * @see #getColumnImage(Object, int)" + NL + "\t * @generated"

+			+ NL + "\t */";

+	protected final String TEXT_57 = NL + "\tpublic String getColumnText(Object object, int columnIndex)" + NL + "\t{"

+			+ NL + "\t\t// TODO: implement this method to return appropriate information for each column." + NL

+			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL

+			+ "\t\treturn columnIndex == 0 ? getText(object) : super.getText(object);" + NL + "\t}" + NL;

+	protected final String TEXT_58 = 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_59 = NL + "\tpublic Object getStyledText(Object object)" + NL + "\t{";

+	protected final String TEXT_60 = NL + "\t}";

+	protected final String TEXT_61 = 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_62 = NL + "\tpublic void notifyChanged(Notification notification)" + NL + "\t{" + NL

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

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

+	protected final String TEXT_64 = ".class))" + 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\tfireNotifyChanged(new ";

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

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

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

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

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

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

+	protected final String TEXT_71 = NL + "\t\t\tdefault:";

+	protected final String TEXT_72 = NL + "\t\t}";

+	protected final String TEXT_73 = "\t\tsuper.notifyChanged(notification);";

+	protected final String TEXT_74 = "\t\treturn;" + NL + "\t\t\t}";

+	protected final String TEXT_75 = 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_76 = NL + "\tprotected void collectNewChildDescriptors(";

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

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

+	protected final String TEXT_78 = 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_79 = NL

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

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

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

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

+	protected final String TEXT_82 = " && ";

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

+	protected final String TEXT_84 = ".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_85 = NL + "\t\tboolean qualify =";

+	protected final String TEXT_86 = NL + "\t\t\tchildFeature == ";

+	protected final String TEXT_87 = 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_88 = 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_89 = 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_90 = " getResourceLocator()" + NL + "\t{";

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

+	protected final String TEXT_92 = ")adapterFactory).getResourceLocator();";

+	protected final String TEXT_93 = NL + "\t\treturn ";

+	protected final String TEXT_94 = ".INSTANCE;";

+	protected final String TEXT_95 = NL + "}";

+	protected final String TEXT_96 = 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_96);

+		stringBuffer.append(TEXT_96);

+		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-2019 IBM Corporation and others.

+		 * All rights reserved.   This program and the accompanying materials

+		 * are made available under the terms of the Eclipse Public License v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.html

+		 *

+		 * Contributors:

+		 *   IBM - Initial API and implementation

+		 *   Alexander Fedorov <alexander.fedorov@arsysop.ru> - Bug 546714

+		 */

+

+		GenClass genClass = (GenClass) argument;

+		GenPackage genPackage = genClass.getGenPackage();

+		GenModel genModel = genPackage.getGenModel();

+		final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;

+		final boolean forceDefaultCase = genModel.isSwitchMissingDefaultCase();

+		String indentDefaultCase = forceDefaultCase ? "\t\t" : "";

+		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.getRawQualifiedInterfaceName());

+		stringBuffer.append(TEXT_5);

+		if (genClass.hasImplicitAPITags()) {

+			stringBuffer.append(TEXT_6);

+			stringBuffer.append(genClass.getImplicitAPITags(genModel.getIndentation(stringBuffer)));

+		}

+		stringBuffer.append(TEXT_7);

+		if (isJDK50 && genClass.hasImplicitAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_8);

+		}

+		stringBuffer.append(TEXT_9);

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

+		stringBuffer.append(TEXT_10);

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

+			stringBuffer.append(TEXT_11);

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

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

+		}

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

+			stringBuffer.append(TEXT_12);

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

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

+			stringBuffer.append(TEXT_13);

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

+				stringBuffer.append(TEXT_14);

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

+				if (i.hasNext()) {

+					stringBuffer.append(TEXT_15);

+				}

+			}

+		}

+		stringBuffer.append(TEXT_16);

+		if (genModel.hasCopyrightField()) {

+			stringBuffer.append(TEXT_17);

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

+			stringBuffer.append(TEXT_18);

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

+			stringBuffer.append(TEXT_19);

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

+			stringBuffer.append(TEXT_20);

+		}

+		stringBuffer.append(TEXT_21);

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

+		stringBuffer.append(TEXT_22);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_23);

+		}

+		stringBuffer.append(TEXT_24);

+		stringBuffer.append(_List);

+		stringBuffer.append(TEXT_25);

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

+			stringBuffer.append(TEXT_26);

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

+			stringBuffer.append(TEXT_27);

+		}

+		stringBuffer.append(TEXT_28);

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

+			stringBuffer.append(TEXT_29);

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

+			stringBuffer.append(TEXT_30);

+			if (genFeature.hasAPITags()) {

+				stringBuffer.append(TEXT_31);

+				stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_32);

+			if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+				stringBuffer.append(TEXT_33);

+			}

+			stringBuffer.append(TEXT_34);

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

+			stringBuffer.append(TEXT_35);

+			stringBuffer.append(TEXT_20);

+			{

+				//<%@ 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,isJDK50:isJDK50,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,_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("isJDK50", isJDK50);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_36);

+		}

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

+			stringBuffer.append(TEXT_37);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_23);

+			}

+			stringBuffer.append(TEXT_24);

+			stringBuffer.append(genModel.getImportedName(

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

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

+			stringBuffer.append(TEXT_38);

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

+				stringBuffer.append(TEXT_39);

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

+				stringBuffer.append(TEXT_40);

+			}

+			stringBuffer.append(TEXT_41);

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

+				stringBuffer.append(TEXT_42);

+				if (genModel.useClassOverrideAnnotation()) {

+					stringBuffer.append(TEXT_23);

+				}

+				stringBuffer.append(TEXT_43);

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

+				stringBuffer.append(TEXT_44);

+			}

+		}

+		if (genClass.needsHasChildrenMethodOverride()) {

+			stringBuffer.append(TEXT_42);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_23);

+			}

+			stringBuffer.append(TEXT_45);

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

+			stringBuffer.append(TEXT_46);

+		}

+		if (genClass.isImage()) {

+			stringBuffer.append(TEXT_47);

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

+			stringBuffer.append(TEXT_48);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_23);

+			}

+			stringBuffer.append(TEXT_49);

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

+			stringBuffer.append(TEXT_50);

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

+			stringBuffer.append(TEXT_36);

+		}

+		if (genClass.getProviderImplementsClassNames()

+				.contains("org.eclipse.emf.edit.provider.ITableItemLabelProvider")) {

+			stringBuffer.append(TEXT_51);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_23);

+			}

+			stringBuffer.append(TEXT_52);

+		}

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

+			stringBuffer.append(TEXT_42);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_23);

+			}

+			stringBuffer.append(TEXT_53);

+		}

+		stringBuffer.append(TEXT_54);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_23);

+		}

+		stringBuffer.append(TEXT_55);

+		stringBuffer.append(TEXT_20);

+		{

+			//<%@ 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,isJDK50:isJDK50,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,_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("isJDK50", isJDK50);

+			callParameters.put("forceDefaultCase", forceDefaultCase);

+			callParameters.put("indentDefaultCase", indentDefaultCase);

+			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_36);

+		if (genClass.getProviderImplementsClassNames()

+				.contains("org.eclipse.emf.edit.provider.ITableItemLabelProvider")) {

+			stringBuffer.append(TEXT_56);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_23);

+			}

+			stringBuffer.append(TEXT_57);

+		}

+		if (genModel.isStyleProviders()) {

+			stringBuffer.append(TEXT_58);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_23);

+			}

+			stringBuffer.append(TEXT_59);

+			stringBuffer.append(TEXT_20);

+			{

+				//<%@ 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,isJDK50:isJDK50,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,_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("isJDK50", isJDK50);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_60);

+		}

+		stringBuffer.append(TEXT_61);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_23);

+		}

+		stringBuffer.append(TEXT_62);

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

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

+			stringBuffer.append(TEXT_63);

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

+			stringBuffer.append(TEXT_64);

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

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

+					stringBuffer.append(TEXT_65);

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

+					stringBuffer.append(TEXT_66);

+				}

+				stringBuffer.append(TEXT_67);

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

+				stringBuffer.append(TEXT_68);

+			}

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

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

+					stringBuffer.append(TEXT_65);

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

+					stringBuffer.append(TEXT_66);

+				}

+				stringBuffer.append(TEXT_67);

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

+				stringBuffer.append(TEXT_69);

+			}

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

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

+					stringBuffer.append(TEXT_65);

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

+					stringBuffer.append(TEXT_66);

+				}

+				stringBuffer.append(TEXT_67);

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

+				stringBuffer.append(TEXT_70);

+			}

+			if (forceDefaultCase) {

+				stringBuffer.append(TEXT_71);

+			} else { // {

+				stringBuffer.append(TEXT_72);

+			}

+			stringBuffer.append(TEXT_20);

+			stringBuffer.append(indentDefaultCase);

+			stringBuffer.append(TEXT_73);

+			if (forceDefaultCase) { // {

+				stringBuffer.append(TEXT_20);

+				stringBuffer.append(indentDefaultCase);

+				stringBuffer.append(TEXT_74);

+			} // }

+		}

+		stringBuffer.append(TEXT_36);

+		if (genModel.isCreationCommands()) {

+			stringBuffer.append(TEXT_75);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_23);

+			}

+			stringBuffer.append(TEXT_76);

+			stringBuffer.append(genModel.getImportedName(

+					genModel.useGenerics() ? "java.util.Collection<java.lang.Object>" : "java.util.Collection"));

+			stringBuffer.append(TEXT_77);

+			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_20);

+						{

+							//<%@ 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,isJDK50:isJDK50"%>

+

+							InternalPatternContext ictx = (InternalPatternContext) 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);

+							callParameters.put("isJDK50", isJDK50);

+							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_20);

+						{

+							//<%@ 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,isJDK50:isJDK50"%>

+

+							InternalPatternContext ictx = (InternalPatternContext) 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);

+							callParameters.put("isJDK50", isJDK50);

+							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_20);

+					{

+						//<%@ 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,isJDK50:isJDK50"%>

+

+						InternalPatternContext ictx = (InternalPatternContext) 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);

+						callParameters.put("isJDK50", isJDK50);

+						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_20);

+					{

+						//<%@ 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,isJDK50:isJDK50"%>

+

+						InternalPatternContext ictx = (InternalPatternContext) 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);

+						callParameters.put("isJDK50", isJDK50);

+						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_36);

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

+				stringBuffer.append(TEXT_78);

+				if (genModel.useClassOverrideAnnotation()) {

+					stringBuffer.append(TEXT_23);

+				}

+				stringBuffer.append(TEXT_79);

+				stringBuffer.append(genModel

+						.getImportedName(genModel.useGenerics() ? "java.util.Collection<?>" : "java.util.Collection"));

+				stringBuffer.append(TEXT_80);

+				if (genClass.hasFeatureMapCreateChildFeatures()) {

+					stringBuffer.append(TEXT_81);

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

+					stringBuffer.append(TEXT_82);

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

+					stringBuffer.append(TEXT_83);

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

+					stringBuffer.append(TEXT_84);

+				}

+				stringBuffer.append(TEXT_85);

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

+					GenFeature createFeature = i.next();

+					stringBuffer.append(TEXT_86);

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

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

+				}

+				stringBuffer.append(TEXT_87);

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

+				stringBuffer.append(TEXT_88);

+			}

+		}

+		if (genClass.getProviderExtendsGenClass() == null || genClass.getProviderExtendsGenClass()

+				.getGenPackage() != genPackage

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

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

+			stringBuffer.append(TEXT_89);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_23);

+			}

+			stringBuffer.append(TEXT_24);

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

+			stringBuffer.append(TEXT_90);

+			if (genPackage.isExtensibleProviderFactory()) {

+				stringBuffer.append(TEXT_91);

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

+				stringBuffer.append(TEXT_92);

+			} else {

+				stringBuffer.append(TEXT_93);

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

+				stringBuffer.append(TEXT_94);

+			}

+			stringBuffer.append(TEXT_36);

+		}

+		stringBuffer.append(TEXT_20);

+		{

+			//<%@ 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,isJDK50:isJDK50,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,_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("isJDK50", isJDK50);

+			callParameters.put("forceDefaultCase", forceDefaultCase);

+			callParameters.put("indentDefaultCase", indentDefaultCase);

+			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_95);

+		genModel.emitSortedImports();

+		stringBuffer.append(TEXT_20);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ItemProviderAdapterFactory.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ItemProviderAdapterFactory.java
new file mode 100644
index 0000000..c3215a7
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ItemProviderAdapterFactory.java
@@ -0,0 +1,889 @@
+//Generated with EGF 1.6.1.201902111324

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

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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 -->";

+	protected final String TEXT_5 = NL + " * ";

+	protected final String TEXT_6 = NL + " * @generated" + NL + " */";

+	protected final String TEXT_7 = NL + "@Deprecated";

+	protected final String TEXT_8 = NL + "@SuppressWarnings(\"deprecation\")";

+	protected final String TEXT_9 = NL + "public class ";

+	protected final String TEXT_10 = " extends ";

+	protected final String TEXT_11 = " implements ComposeableAdapterFactory, IChangeNotifier";

+	protected final String TEXT_12 = ", ";

+	protected final String TEXT_13 = NL + "{";

+	protected final String TEXT_14 = 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_15 = " copyright = ";

+	protected final String TEXT_16 = ";";

+	protected final String TEXT_17 = NL;

+	protected final String TEXT_18 = 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_19 = 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_20 = " disposable = new Disposable();" + NL;

+	protected final String TEXT_21 = 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_22 = " childCreationExtenderManager = new ";

+	protected final String TEXT_23 = "(";

+	protected final String TEXT_24 = ".INSTANCE, ";

+	protected final String TEXT_25 = ".eNS_URI);" + NL;

+	protected final String TEXT_26 = 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_27 = " supportedTypes = new ";

+	protected final String TEXT_28 = "();" + 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_29 = "()" + NL + "\t{";

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

+	protected final String TEXT_31 = ".class);";

+	protected final String TEXT_32 = NL + "\t}" + NL;

+	protected final String TEXT_33 = 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_34 = " ";

+	protected final String TEXT_35 = " = 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_36 = " get";

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

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

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

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

+	protected final String TEXT_40 = " delegateAdapterFactory =" + NL

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

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

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

+	protected final String TEXT_43 = " = (";

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

+			+ "\t\treturn ";

+	protected final String TEXT_45 = ";" + NL + "\t}" + NL;

+	protected final String TEXT_46 = NL + "\t/**" + NL

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

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

+			+ "\t * <!-- end-user-doc -->";

+	protected final String TEXT_48 = NL + "\t * ";

+	protected final String TEXT_49 = NL + "\t * @generated" + NL + "\t */";

+	protected final String TEXT_50 = NL + "\t@Deprecated";

+	protected final String TEXT_51 = NL + "\tprotected ";

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

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

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

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

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

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

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

+	protected final String TEXT_58 = "ItemProvider = new ";

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

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

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

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

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

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

+	protected final String TEXT_65 = " of ";

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

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

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

+	protected final String TEXT_69 = "().create";

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

+	protected final String TEXT_71 = 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 */";

+	protected final String TEXT_72 = 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 */";

+	protected final String TEXT_73 = 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_74 = 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_75 = 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_76 = 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_77 = "<?>";

+	protected final String TEXT_78 = ") || ";

+	protected final String TEXT_79 = ".isInstance((Class";

+	protected final String TEXT_80 = ")type, adapter)";

+	protected final String TEXT_81 = "(((Class";

+	protected final String TEXT_82 = ")type).isInstance(adapter))";

+	protected final String TEXT_83 = ")" + 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_84 = 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_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 */";

+	protected final String TEXT_92 = 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 */";

+	protected final String TEXT_93 = 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 */";

+	protected final String TEXT_94 = 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_95 = 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 */";

+	protected final String TEXT_96 = NL + "\tpublic void dispose()" + NL + "\t{";

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

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

+	protected final String TEXT_99 = "ItemProvider != null) ";

+	protected final String TEXT_100 = "ItemProvider.dispose();";

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

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

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

+	protected final String TEXT_103 = " implements ";

+	protected final String TEXT_104 = 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_105 = 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_106 = " 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_107 = " 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_108 = " newChildDescriptors, ";

+	protected final String TEXT_109 = " 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_110 = 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_111 = NL + "\t\t\t@Override";

+	protected final String TEXT_112 = NL + "\t\t\tpublic ";

+	protected final String TEXT_113 = "Object case";

+	protected final String TEXT_114 = " object)" + NL + "\t\t\t{";

+	protected final String TEXT_115 = NL + "\t\t\t\treturn null;" + NL + "\t\t\t}" + NL + " ";

+	protected final String TEXT_116 = 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_117 = " createChildParameter(Object feature, Object child)" + NL + "\t\t\t{" + NL

+			+ "\t\t\t\treturn new ";

+	protected final String TEXT_118 = "(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_119 = " editingDomain)" + NL + "\t\t{" + NL + "\t\t\t";

+	protected final String TEXT_120 = " result = new ";

+	protected final String TEXT_121 = "();" + NL + "\t\t\tnew CreationSwitch(result, editingDomain).doSwitch((";

+	protected final String TEXT_122 = ")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_123 = " getResourceLocator()" + NL + "\t\t{" + NL + "\t\t\treturn ";

+	protected final String TEXT_124 = ".INSTANCE;" + NL + "\t\t}" + NL + "\t}" + NL;

+	protected final String TEXT_125 = NL + "}";

+	protected final String TEXT_126 = 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_126);

+		stringBuffer.append(TEXT_126);

+		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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.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();

+		final boolean isJDK50 = 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.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);

+		if (genPackage.hasAPITags()) {

+			stringBuffer.append(TEXT_5);

+			stringBuffer.append(genPackage.getAPITags(genModel.getIndentation(stringBuffer)));

+		}

+		stringBuffer.append(TEXT_6);

+		if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_7);

+		} else if (isJDK50 && GenModelUtil.hasAPIDeprecatedTag(genPackage.getGenClasses())) {

+			stringBuffer.append(TEXT_8);

+		}

+		stringBuffer.append(TEXT_9);

+		stringBuffer.append(genPackage.getItemProviderAdapterFactoryClassName());

+		stringBuffer.append(TEXT_10);

+		stringBuffer.append(genPackage.getImportedAdapterFactoryClassName());

+		stringBuffer.append(TEXT_11);

+		if (genPackage.isDisposableProviderFactory()) {

+			stringBuffer.append(TEXT_12);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.IDisposable"));

+		}

+		if (genPackage.isExtensibleProviderFactory()) {

+			stringBuffer.append(TEXT_12);

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

+		}

+		stringBuffer.append(TEXT_13);

+		if (genModel.hasCopyrightField()) {

+			stringBuffer.append(TEXT_14);

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

+			stringBuffer.append(TEXT_15);

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

+			stringBuffer.append(TEXT_16);

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

+			stringBuffer.append(TEXT_17);

+		}

+		stringBuffer.append(TEXT_18);

+		if (genPackage.isDisposableProviderFactory() && genPackage.hasStatefulProvider()) {

+			stringBuffer.append(TEXT_19);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.Disposable"));

+			stringBuffer.append(TEXT_20);

+		}

+		if (genPackage.isExtensibleProviderFactory()) {

+			stringBuffer.append(TEXT_21);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.ChildCreationExtenderManager"));

+			stringBuffer.append(TEXT_22);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.ChildCreationExtenderManager"));

+			stringBuffer.append(TEXT_23);

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

+			stringBuffer.append(TEXT_24);

+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+			stringBuffer.append(TEXT_25);

+		}

+		stringBuffer.append(TEXT_26);

+		stringBuffer.append(_Collection);

+		stringBuffer.append(TEXT_27);

+		stringBuffer.append(_ArrayList);

+		stringBuffer.append(TEXT_28);

+		stringBuffer.append(genPackage.getItemProviderAdapterFactoryClassName());

+		stringBuffer.append(TEXT_29);

+		for (String name : genPackage.getProviderSupportedTypes()) {

+			stringBuffer.append(TEXT_30);

+			stringBuffer.append(genModel.getImportedName(name));

+			stringBuffer.append(TEXT_31);

+		}

+		stringBuffer.append(TEXT_32);

+		for (GenPackage genDelegate : genPackage.getAdapterDelegatePackages()) {

+			stringBuffer.append(TEXT_33);

+			stringBuffer.append(genDelegate.getImportedAdapterFactoryClassName());

+			stringBuffer.append(TEXT_34);

+			stringBuffer.append(genPackage.getUncapAdapterFactoryDelegateName(genDelegate));

+			stringBuffer.append(TEXT_35);

+			stringBuffer.append(genDelegate.getImportedAdapterFactoryClassName());

+			stringBuffer.append(TEXT_36);

+			stringBuffer.append(genPackage.getAdapterFactoryDelegateName(genDelegate));

+			stringBuffer.append(TEXT_37);

+			stringBuffer.append(genPackage.getUncapAdapterFactoryDelegateName(genDelegate));

+			stringBuffer.append(TEXT_38);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.AdapterFactory"));

+			stringBuffer.append(TEXT_39);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.AdapterFactory"));

+			stringBuffer.append(TEXT_40);

+			stringBuffer.append(genDelegate.getImportedAdapterFactoryClassName());

+			stringBuffer.append(TEXT_41);

+			stringBuffer.append(genDelegate.getImportedAdapterFactoryClassName());

+			stringBuffer.append(TEXT_42);

+			stringBuffer.append(genPackage.getUncapAdapterFactoryDelegateName(genDelegate));

+			stringBuffer.append(TEXT_43);

+			stringBuffer.append(genDelegate.getImportedAdapterFactoryClassName());

+			stringBuffer.append(TEXT_44);

+			stringBuffer.append(genPackage.getUncapAdapterFactoryDelegateName(genDelegate));

+			stringBuffer.append(TEXT_45);

+		}

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

+			if (!genClass.isAbstract() && genClass.getProvider() != GenProviderKind.NONE_LITERAL) {

+				if (genClass.isProviderSingleton()) {

+					stringBuffer.append(TEXT_46);

+					stringBuffer.append(genClass.getRawQualifiedInterfaceName());

+					stringBuffer.append(TEXT_47);

+					if (genClass.hasAPITags()) {

+						stringBuffer.append(TEXT_48);

+						stringBuffer.append(genClass.getAPITags(genModel.getIndentation(stringBuffer)));

+					}

+					stringBuffer.append(TEXT_49);

+					if (isJDK50 && genClass.hasAPIDeprecatedTag()) {

+						stringBuffer.append(TEXT_50);

+					}

+					stringBuffer.append(TEXT_51);

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

+					stringBuffer.append(TEXT_34);

+					stringBuffer.append(genClass.getUncapName());

+					stringBuffer.append(TEXT_52);

+					stringBuffer.append(genClass.getRawQualifiedInterfaceName());

+					stringBuffer.append(TEXT_53);

+					if (genClass.hasAPITags()) {

+						stringBuffer.append(TEXT_48);

+						stringBuffer.append(genClass.getAPITags(genModel.getIndentation(stringBuffer)));

+					}

+					stringBuffer.append(TEXT_49);

+					if (isJDK50 && genClass.hasAPIDeprecatedTag()) {

+						stringBuffer.append(TEXT_50);

+					}

+					if (genModel.useClassOverrideAnnotation()) {

+						stringBuffer.append(TEXT_54);

+					}

+					stringBuffer.append(TEXT_55);

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

+					stringBuffer.append(TEXT_56);

+					stringBuffer.append(genClass.getUncapName());

+					stringBuffer.append(TEXT_57);

+					stringBuffer.append(genClass.getUncapName());

+					stringBuffer.append(TEXT_58);

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

+					stringBuffer.append(TEXT_59);

+					stringBuffer.append(genClass.getUncapName());

+					stringBuffer.append(TEXT_60);

+				} else {

+					stringBuffer.append(TEXT_61);

+					stringBuffer.append(genClass.getRawQualifiedInterfaceName());

+					stringBuffer.append(TEXT_53);

+					if (genClass.hasAPITags()) {

+						stringBuffer.append(TEXT_48);

+						stringBuffer.append(genClass.getAPITags(genModel.getIndentation(stringBuffer)));

+					}

+					stringBuffer.append(TEXT_49);

+					if (isJDK50 && genClass.hasAPIDeprecatedTag()) {

+						stringBuffer.append(TEXT_50);

+					}

+					if (genModel.useClassOverrideAnnotation()) {

+						stringBuffer.append(TEXT_54);

+					}

+					stringBuffer.append(TEXT_55);

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

+					stringBuffer.append(TEXT_62);

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

+					stringBuffer.append(TEXT_63);

+				}

+			}

+		}

+		for (GenClass genClass : genPackage.getAdapterDelegateSuperClasses()) {

+			stringBuffer.append(TEXT_64);

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

+			stringBuffer.append(TEXT_65);

+			stringBuffer.append(genClass.getItemProviderAdapterFactoryClassName());

+			stringBuffer.append(TEXT_66);

+			if (genClass.hasAPITags()) {

+				stringBuffer.append(TEXT_48);

+				stringBuffer.append(genClass.getAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_49);

+			if (isJDK50 && genClass.hasAPIDeprecatedTag()) {

+				stringBuffer.append(TEXT_50);

+			}

+			stringBuffer.append(TEXT_55);

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

+			stringBuffer.append(TEXT_67);

+			stringBuffer.append(genClass.getItemProviderAdapterFactoryClassName());

+			stringBuffer.append(TEXT_68);

+			stringBuffer.append(genClass.getItemProviderAdapterFactoryClassName());

+			stringBuffer.append(TEXT_69);

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

+			stringBuffer.append(TEXT_70);

+		}

+		stringBuffer.append(TEXT_71);

+		if (genModel.useInterfaceOverrideAnnotation()) {

+			stringBuffer.append(TEXT_54);

+		}

+		stringBuffer.append(TEXT_72);

+		if (genModel.useInterfaceOverrideAnnotation()) {

+			stringBuffer.append(TEXT_54);

+		}

+		stringBuffer.append(TEXT_73);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_54);

+		}

+		stringBuffer.append(TEXT_74);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_54);

+		}

+		stringBuffer.append(TEXT_75);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_54);

+		}

+		stringBuffer.append(TEXT_76);

+		if (genModel.useGenerics()) {

+			stringBuffer.append(TEXT_77);

+		}

+		stringBuffer.append(TEXT_78);

+		if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect"));

+			stringBuffer.append(TEXT_79);

+			if (genModel.useGenerics()) {

+				stringBuffer.append(TEXT_77);

+			}

+			stringBuffer.append(TEXT_80);

+		} else {

+			stringBuffer.append(TEXT_81);

+			if (genModel.useGenerics()) {

+				stringBuffer.append(TEXT_77);

+			}

+			stringBuffer.append(TEXT_82);

+		}

+		stringBuffer.append(TEXT_83);

+		if (genPackage.isDisposableProviderFactory() && genPackage.hasStatefulProvider()) {

+			stringBuffer.append(TEXT_84);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_54);

+			}

+			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 (genModel.useInterfaceOverrideAnnotation()) {

+			stringBuffer.append(TEXT_54);

+		}

+		stringBuffer.append(TEXT_92);

+		if (genModel.useInterfaceOverrideAnnotation()) {

+			stringBuffer.append(TEXT_54);

+		}

+		stringBuffer.append(TEXT_93);

+		if (genModel.useInterfaceOverrideAnnotation()) {

+			stringBuffer.append(TEXT_54);

+		}

+		stringBuffer.append(TEXT_94);

+		if (genPackage.isDisposableProviderFactory()) {

+			stringBuffer.append(TEXT_95);

+			if (genModel.useInterfaceOverrideAnnotation()) {

+				stringBuffer.append(TEXT_54);

+			}

+			stringBuffer.append(TEXT_96);

+			if (genPackage.hasStatefulProvider()) {

+				stringBuffer.append(TEXT_97);

+			} else {

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

+					if (!genClass.isAbstract() && genClass.isProviderSingleton()) {

+						stringBuffer.append(TEXT_98);

+						stringBuffer.append(genClass.getUncapName());

+						stringBuffer.append(TEXT_99);

+						stringBuffer.append(genClass.getUncapName());

+						stringBuffer.append(TEXT_100);

+					}

+				}

+			}

+			stringBuffer.append(TEXT_32);

+		}

+		if (genPackage.isChildCreationExtenders()) {

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

+					.getExtendedChildCreationData().entrySet()) {

+				stringBuffer.append(TEXT_101);

+				stringBuffer.append(packageEntry.getKey().getImportedPackageInterfaceName());

+				stringBuffer.append(TEXT_102);

+				stringBuffer.append(genPackage.getChildCreationExtenderName(packageEntry.getKey()));

+				stringBuffer.append(TEXT_103);

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

+				stringBuffer.append(TEXT_104);

+				stringBuffer.append(genModel.getImportedName(packageEntry.getKey().getQualifiedSwitchClassName()));

+				stringBuffer.append(useGenerics ? "<Object>" : "");

+				stringBuffer.append(TEXT_105);

+				stringBuffer

+						.append(genModel.getImportedName(useGenerics ? "java.util.List<Object>" : "java.util.List"));

+				stringBuffer.append(TEXT_106);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.domain.EditingDomain"));

+				stringBuffer.append(TEXT_107);

+				stringBuffer

+						.append(genModel.getImportedName(useGenerics ? "java.util.List<Object>" : "java.util.List"));

+				stringBuffer.append(TEXT_108);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.domain.EditingDomain"));

+				stringBuffer.append(TEXT_109);

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

+						.entrySet()) {

+					GenClass genClass = classEntry.getKey();

+					stringBuffer.append(TEXT_110);

+					if (genModel.useClassOverrideAnnotation()) {

+						stringBuffer.append(TEXT_111);

+					}

+					stringBuffer.append(TEXT_112);

+					stringBuffer.append(genClass.getTypeParameters());

+					stringBuffer.append(TEXT_113);

+					stringBuffer.append(genPackage.getClassUniqueName(genClass));

+					stringBuffer.append(TEXT_23);

+					stringBuffer.append(genClass.getImportedInterfaceName());

+					stringBuffer.append(genClass.getInterfaceTypeArguments());

+					stringBuffer.append(TEXT_114);

+					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_17);

+								{

+									//<%@ 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,isJDK50:isJDK50"%>

+

+									InternalPatternContext ictx = (InternalPatternContext) 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);

+									callParameters.put("isJDK50", isJDK50);

+									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_17);

+								{

+									//<%@ 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,isJDK50:isJDK50"%>

+

+									InternalPatternContext ictx = (InternalPatternContext) 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);

+									callParameters.put("isJDK50", isJDK50);

+									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_17);

+							{

+								//<%@ 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,isJDK50:isJDK50"%>

+

+								InternalPatternContext ictx = (InternalPatternContext) 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);

+								callParameters.put("isJDK50", isJDK50);

+								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_17);

+							{

+								//<%@ 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,isJDK50:isJDK50"%>

+

+								InternalPatternContext ictx = (InternalPatternContext) 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);

+								callParameters.put("isJDK50", isJDK50);

+								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_17);

+					}

+					stringBuffer.append(TEXT_115);

+				}

+				stringBuffer.append(TEXT_116);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.command.CommandParameter"));

+				stringBuffer.append(TEXT_117);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.command.CommandParameter"));

+				stringBuffer.append(TEXT_118);

+				stringBuffer.append(_Collection);

+				stringBuffer.append(TEXT_88);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.domain.EditingDomain"));

+				stringBuffer.append(TEXT_119);

+				stringBuffer.append(_ArrayList);

+				stringBuffer.append(TEXT_120);

+				stringBuffer.append(_ArrayList);

+				stringBuffer.append(TEXT_121);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EObject"));

+				stringBuffer.append(TEXT_122);

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

+				stringBuffer.append(TEXT_123);

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

+				stringBuffer.append(TEXT_124);

+			}

+		}

+		stringBuffer.append(TEXT_125);

+		genModel.emitSortedImports();

+		stringBuffer.append(TEXT_17);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ManifestMF.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ManifestMF.java
new file mode 100644
index 0000000..1b1f54f
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ManifestMF.java
@@ -0,0 +1,271 @@
+//Generated with EGF 1.6.1.201902111324

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

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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: ";

+	protected final String TEXT_2 = NL + "Bundle-SymbolicName: ";

+	protected final String TEXT_3 = ";singleton:=true" + NL + "Automatic-Module-Name: ";

+	protected final String TEXT_4 = NL + "Bundle-Version: 1.0.0.qualifier" + NL + "Bundle-ClassPath: ";

+	protected final String TEXT_5 = ".jar";

+	protected final String TEXT_6 = ".";

+	protected final String TEXT_7 = NL + "Bundle-Activator: ";

+	protected final String TEXT_8 = "$Implementation";

+	protected final String TEXT_9 = "$Activator";

+	protected final String TEXT_10 = NL + "Bundle-Vendor: ";

+	protected final String TEXT_11 = NL + "Bundle-Localization: ";

+	protected final String TEXT_12 = NL + "Bundle-RequiredExecutionEnvironment: J2SE-1.5";

+	protected final String TEXT_13 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.6";

+	protected final String TEXT_14 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.7";

+	protected final String TEXT_15 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.8";

+	protected final String TEXT_16 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-9";

+	protected final String TEXT_17 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-10";

+	protected final String TEXT_18 = NL + "Export-Package: ";

+	protected final String TEXT_19 = ",";

+	protected final String TEXT_20 = NL + " ";

+	protected final String TEXT_21 = NL + "Require-Bundle: ";

+	protected final String TEXT_22 = ";resolution:=optional;x-installation:=greedy";

+	protected final String TEXT_23 = ";visibility:=reexport";

+	protected final String TEXT_24 = NL + "Import-Package: org.osgi.framework";

+	protected final String TEXT_25 = NL + "Eclipse-LazyStart: true";

+	protected final String TEXT_26 = NL + "Bundle-ActivationPolicy: lazy" + 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_27);

+		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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.html

+		 * 

+		 * Contributors:

+		 *   IBM - Initial API and implementation

+		 */

+

+		GenModel genModel = (GenModel) argument;

+		stringBuffer.append(TEXT_1);

+		stringBuffer.append(genModel.getEditBundleNameKey());

+		stringBuffer.append(TEXT_2);

+		stringBuffer.append(genModel.getEditPluginID());

+		stringBuffer.append(TEXT_3);

+		stringBuffer.append(genModel.getEditPluginID());

+		stringBuffer.append(TEXT_4);

+		if (genModel.isRuntimeJar()) {

+			stringBuffer.append(genModel.getEditPluginID());

+			stringBuffer.append(TEXT_5);

+		} else {

+			stringBuffer.append(TEXT_6);

+		}

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

+			stringBuffer.append(TEXT_7);

+			stringBuffer.append(genModel.getQualifiedEditPluginClassName());

+			stringBuffer.append(TEXT_8);

+			if (genModel.isOSGiCompatible()) {

+				stringBuffer.append(TEXT_9);

+			}

+		}

+		stringBuffer.append(TEXT_10);

+		stringBuffer.append(genModel.getEditBundleVendorKey());

+		stringBuffer.append(TEXT_11);

+		stringBuffer.append(genModel.getEditBundleLocalization());

+		if (genModel.getComplianceLevel() == GenJDKLevel.JDK50_LITERAL) {

+			stringBuffer.append(TEXT_12);

+		} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK60_LITERAL) {

+			stringBuffer.append(TEXT_13);

+		} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK70_LITERAL) {

+			stringBuffer.append(TEXT_14);

+		} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK80_LITERAL) {

+			stringBuffer.append(TEXT_15);

+		} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK90_LITERAL) {

+			stringBuffer.append(TEXT_16);

+		} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK100_LITERAL) {

+			stringBuffer.append(TEXT_17);

+		}

+		Iterator<String> packagesIterator = genModel.getEditQualifiedPackageNames().iterator();

+		if (packagesIterator.hasNext()) {

+			String pack = packagesIterator.next();

+			stringBuffer.append(TEXT_18);

+			stringBuffer.append(pack);

+			while (packagesIterator.hasNext()) {

+				pack = packagesIterator.next();

+				stringBuffer.append(TEXT_19);

+				stringBuffer.append(TEXT_20);

+				stringBuffer.append(pack);

+			}

+		}

+		Iterator<String> requiredPluginIterator = genModel.getEditRequiredPlugins().iterator();

+		if (requiredPluginIterator.hasNext()) {

+			String pluginID = requiredPluginIterator.next();

+			stringBuffer.append(TEXT_21);

+			stringBuffer.append(pluginID);

+			if (pluginID.startsWith("org.eclipse.core.runtime")) {

+				if (genModel.isOSGiCompatible()) {

+					stringBuffer.append(TEXT_22);

+				}

+			} else {

+				stringBuffer.append(TEXT_23);

+			}

+			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_22);

+					}

+				} else if (!pluginID.equals("org.eclipse.xtext.xbase.lib")

+						&& !pluginID.equals("org.eclipse.emf.ecore.xcore.lib")) {

+					stringBuffer.append(TEXT_23);

+				}

+			}

+		}

+		if (genModel.isOSGiCompatible()) {

+			stringBuffer.append(TEXT_24);

+		}

+		if (genModel.getRuntimeVersion() == GenRuntimeVersion.EMF22

+				|| genModel.getRuntimeVersion() == GenRuntimeVersion.EMF23) {

+			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 {

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ModuleGWTXML.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ModuleGWTXML.java
new file mode 100644
index 0000000..24bfbba
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ModuleGWTXML.java
@@ -0,0 +1,202 @@
+//Generated with EGF 1.6.1.201902111324

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

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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;

+

+	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_9);

+		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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/Plugin.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/Plugin.java
new file mode 100644
index 0000000..75059ff
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/Plugin.java
@@ -0,0 +1,512 @@
+//Generated with EGF 1.6.1.201902111324

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

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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 -->";

+	protected final String TEXT_6 = NL + " * ";

+	protected final String TEXT_7 = NL + " * @generated" + NL + " */";

+	protected final String TEXT_8 = NL + "@Deprecated";

+	protected final String TEXT_9 = NL + "public final class ";

+	protected final String TEXT_10 = " extends EMFPlugin" + NL + "{";

+	protected final String TEXT_11 = 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_12 = " copyright = ";

+	protected final String TEXT_13 = ";";

+	protected final String TEXT_14 = NL;

+	protected final String TEXT_15 = 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_16 = " INSTANCE = new ";

+	protected final String TEXT_17 = "();" + NL;

+	protected final String TEXT_18 = 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_19 = 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_20 = "()" + NL + "\t{" + NL + "\t\tsuper" + NL + "\t\t  (new ResourceLocator [] " + NL

+			+ "\t\t   {";

+	protected final String TEXT_21 = NL + "\t\t     ";

+	protected final String TEXT_22 = ".INSTANCE,";

+	protected final String TEXT_23 = 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_24 = NL + "\t@Override";

+	protected final String TEXT_25 = NL + "\tpublic ResourceLocator getPluginResourceLocator()" + NL + "\t{";

+	protected final String TEXT_26 = NL + "\t\treturn null;";

+	protected final String TEXT_27 = NL + "\t\treturn plugin;";

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

+	protected final String TEXT_29 = 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_30 = NL + "\t\t * @param descriptor the description of the plugin.";

+	protected final String TEXT_31 = NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tpublic Implementation(";

+	protected final String TEXT_32 = " descriptor";

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

+	protected final String TEXT_34 = "descriptor";

+	protected final String TEXT_35 = ");" + 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_36 = 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_37 = ".OSGiDelegatingBundleActivator" + NL + "\t\t{";

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

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

+	protected final String TEXT_40 = " createBundle()" + NL + "\t\t\t{" + NL + "\t\t\t\treturn new Implementation();"

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

+	protected final String TEXT_41 = 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_42 = " PROPERTIES = ";

+	protected final String TEXT_43 = ".create(";

+	protected final String TEXT_44 = ".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_45 = NL + "\t\t";

+	protected final String TEXT_46 = "else ";

+	protected final String TEXT_47 = "if (\"_UI_";

+	protected final String TEXT_48 = "_type\".equals(key)) return PROPERTIES.";

+	protected final String TEXT_49 = "Type();";

+	protected final String TEXT_50 = " 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_51 = NL + "\t\telse if (\"_UI_";

+	protected final String TEXT_52 = "_";

+	protected final String TEXT_53 = "_feature\".equals(key)) return PROPERTIES.";

+	protected final String TEXT_54 = "Feature();";

+	protected final String TEXT_55 = "_description\".equals(key)) return PROPERTIES.";

+	protected final String TEXT_56 = "Description();";

+	protected final String TEXT_57 = NL

+			+ "\t\telse if (\"_UI_Unknown_feature\".equals(key)) return PROPERTIES.unknownFeature();";

+	protected final String TEXT_58 = "_literal\".equals(key)) return PROPERTIES.";

+	protected final String TEXT_59 = "Literal();";

+	protected final String TEXT_60 = " = ";

+	protected final String TEXT_61 = NL + "\t\telse if (\"";

+	protected final String TEXT_62 = "\".equals(key)) return PROPERTIES.";

+	protected final String TEXT_63 = "();";

+	protected final String TEXT_64 = 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_65 = 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_66 = "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_67 = " IMAGES = ";

+	protected final String TEXT_68 = ".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_69 = "if (\"";

+	protected final String TEXT_70 = "\".equals(key)) return IMAGES.";

+	protected final String TEXT_71 = "return key;" + NL + "\t}" + NL;

+	protected final String TEXT_72 = NL + "}";

+	protected final String TEXT_73 = 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_73);

+		stringBuffer.append(TEXT_73);

+		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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.html

+		 *

+		 * Contributors:

+		 *   IBM - Initial API and implementation

+		 */

+

+		GenModel genModel = (GenModel) argument;

+		/* Trick to import java.util.* without warnings */Iterator.class.getName();

+		final boolean isJDK50 = 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(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);

+		if (genModel.hasAPITags()) {

+			stringBuffer.append(TEXT_6);

+			stringBuffer.append(genModel.getAPITags(genModel.getIndentation(stringBuffer)));

+		}

+		stringBuffer.append(TEXT_7);

+		if (isJDK50 && genModel.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_8);

+		}

+		stringBuffer.append(TEXT_9);

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

+		stringBuffer.append(TEXT_10);

+		if (genModel.hasCopyrightField()) {

+			stringBuffer.append(TEXT_11);

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

+			stringBuffer.append(TEXT_12);

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

+			stringBuffer.append(TEXT_13);

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

+			stringBuffer.append(TEXT_14);

+		}

+		stringBuffer.append(TEXT_15);

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

+		stringBuffer.append(TEXT_16);

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

+		stringBuffer.append(TEXT_17);

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

+			stringBuffer.append(TEXT_18);

+		}

+		stringBuffer.append(TEXT_19);

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

+		stringBuffer.append(TEXT_20);

+		for (String pluginClassName : genModel.getEditResourceDelegateImportedPluginClassNames()) {

+			stringBuffer.append(TEXT_21);

+			stringBuffer.append(pluginClassName);

+			stringBuffer.append(TEXT_22);

+		}

+		stringBuffer.append(TEXT_23);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_24);

+		}

+		stringBuffer.append(TEXT_25);

+		if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {

+			stringBuffer.append(TEXT_26);

+		} else {

+			stringBuffer.append(TEXT_27);

+		}

+		stringBuffer.append(TEXT_28);

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

+			stringBuffer.append(TEXT_29);

+			if (genModel.needsRuntimeCompatibility()) {

+				stringBuffer.append(TEXT_30);

+			}

+			stringBuffer.append(TEXT_31);

+			if (genModel.needsRuntimeCompatibility()) {

+				stringBuffer.append(genModel.getImportedName("org.eclipse.core.runtime.IPluginDescriptor"));

+				stringBuffer.append(TEXT_32);

+			}

+			stringBuffer.append(TEXT_33);

+			if (genModel.needsRuntimeCompatibility()) {

+				stringBuffer.append(TEXT_34);

+			}

+			stringBuffer.append(TEXT_35);

+			if (genModel.isOSGiCompatible()) {

+				stringBuffer.append(TEXT_36);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.EMFPlugin"));

+				stringBuffer.append(TEXT_37);

+				if (genModel.useClassOverrideAnnotation()) {

+					stringBuffer.append(TEXT_38);

+				}

+				stringBuffer.append(TEXT_39);

+				stringBuffer.append(genModel.getImportedName("org.osgi.framework.BundleActivator"));

+				stringBuffer.append(TEXT_40);

+			}

+			stringBuffer.append(TEXT_28);

+		} else {

+			stringBuffer.append(TEXT_41);

+			stringBuffer.append(genModel.getImportedName(genModel.getQualifiedEditPluginClassName() + "Properties"));

+			stringBuffer.append(TEXT_42);

+			stringBuffer.append(genModel.getImportedName("com.google.gwt.core.client.GWT"));

+			stringBuffer.append(TEXT_43);

+			stringBuffer.append(genModel.getImportedName(genModel.getQualifiedEditPluginClassName() + "Properties"));

+			stringBuffer.append(TEXT_44);

+			boolean first = true;

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

+				if (genPackage.getGenModel() == genModel || !genPackage.getGenModel().hasEditSupport()) {

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

+						stringBuffer.append(TEXT_45);

+						if (first) {

+							first = false;

+						} else {

+							stringBuffer.append(TEXT_46);

+						}

+						stringBuffer.append(TEXT_47);

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

+						stringBuffer.append(TEXT_48);

+						stringBuffer.append(genClass.getUncapName());

+						stringBuffer.append(TEXT_49);

+					}

+				}

+			}

+			stringBuffer.append(TEXT_45);

+			if (first) {

+				first = false;

+			} else {

+				stringBuffer.append(TEXT_46);

+			}

+			stringBuffer.append(TEXT_50);

+			for (GenFeature genFeature : genModel.getFilteredAllGenFeatures()) {

+				String description = genFeature.getPropertyDescription();

+				stringBuffer.append(TEXT_51);

+				stringBuffer.append(genFeature.getGenClass().getName());

+				stringBuffer.append(TEXT_52);

+				stringBuffer.append(genFeature.getName());

+				stringBuffer.append(TEXT_53);

+				stringBuffer.append(genFeature.getGenClass().getUncapName());

+				stringBuffer.append(TEXT_52);

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

+				stringBuffer.append(TEXT_54);

+				if (description != null && description.length() > 0) {

+					stringBuffer.append(TEXT_51);

+					stringBuffer.append(genFeature.getGenClass().getName());

+					stringBuffer.append(TEXT_52);

+					stringBuffer.append(genFeature.getName());

+					stringBuffer.append(TEXT_55);

+					stringBuffer.append(genFeature.getGenClass().getUncapName());

+					stringBuffer.append(TEXT_52);

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

+					stringBuffer.append(TEXT_56);

+				}

+			}

+			stringBuffer.append(TEXT_57);

+			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_51);

+							stringBuffer.append(genEnum.getName());

+							stringBuffer.append(TEXT_52);

+							stringBuffer.append(genEnumLiteral.getName());

+							stringBuffer.append(TEXT_58);

+							stringBuffer.append(genEnum.getSafeUncapName());

+							stringBuffer.append(TEXT_52);

+							stringBuffer.append(genEnumLiteral.getName());

+							stringBuffer.append(TEXT_59);

+						}

+					}

+				}

+			}

+			for (String category : genModel.getPropertyCategories()) {

+				stringBuffer.append(TEXT_14);

+				stringBuffer.append(genModel.getPropertyCategoryKey(category));

+				stringBuffer.append(TEXT_60);

+				stringBuffer.append(category);

+				stringBuffer.append(TEXT_61);

+				stringBuffer.append(genModel.getPropertyCategoryKey(category));

+				stringBuffer.append(TEXT_62);

+				stringBuffer.append(genModel.getPropertyCategoryKey(category));

+				stringBuffer.append(TEXT_63);

+			}

+			stringBuffer.append(TEXT_64);

+			if (genModel.isCreationCommands()) {

+				stringBuffer.append(TEXT_65);

+			}

+			stringBuffer.append(TEXT_45);

+			if (!genModel.isCreationCommands()) {

+				stringBuffer.append(TEXT_46);

+			}

+			stringBuffer.append(TEXT_66);

+			stringBuffer.append(genModel.getImportedName(genModel.getQualifiedEditPluginClassName() + "Images"));

+			stringBuffer.append(TEXT_67);

+			stringBuffer.append(genModel.getImportedName("com.google.gwt.core.client.GWT"));

+			stringBuffer.append(TEXT_43);

+			stringBuffer.append(genModel.getImportedName(genModel.getQualifiedEditPluginClassName() + "Images"));

+			stringBuffer.append(TEXT_68);

+			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_45);

+						if (first) {

+							first = false;

+						} else {

+							stringBuffer.append(TEXT_46);

+						}

+						stringBuffer.append(TEXT_69);

+						stringBuffer.append(image);

+						stringBuffer.append(TEXT_70);

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

+						stringBuffer.append(TEXT_63);

+					}

+				}

+			}

+			stringBuffer.append(TEXT_45);

+			if (first) {

+				first = false;

+			} else {

+				stringBuffer.append(TEXT_46);

+			}

+			stringBuffer.append(TEXT_71);

+		}

+		stringBuffer.append(TEXT_72);

+		genModel.emitSortedImports();

+		stringBuffer.append(TEXT_14);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/PluginProperties.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/PluginProperties.java
new file mode 100644
index 0000000..c281193
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/PluginProperties.java
@@ -0,0 +1,264 @@
+//Generated with EGF 1.6.1.201902111324

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

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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 = NL + "providerName = ";

+	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 = "_";

+	protected final String TEXT_13 = "_feature = ";

+	protected final String TEXT_14 = "_description = ";

+	protected final String TEXT_15 = NL + "_UI_Unknown_feature = Unspecified" + NL;

+	protected final String TEXT_16 = "_literal = ";

+	protected final String TEXT_17 = " = ";

+	protected final String TEXT_18 = 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_18);

+		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.getEditProjectDirectory() + "/" + genModel.getEditBundleLocalization()

+				+ ".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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.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.getEditBundleName());

+		stringBuffer.append(TEXT_3);

+		stringBuffer.append(genModel.getEditBundleVendorName());

+		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_9);

+				stringBuffer.append(genFeature.getGenClass().getName());

+				stringBuffer.append(TEXT_12);

+				stringBuffer.append(genFeature.getName());

+				stringBuffer.append(TEXT_13);

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

+				if (description != null && description.length() > 0) {

+					stringBuffer.append(TEXT_9);

+					stringBuffer.append(genFeature.getGenClass().getName());

+					stringBuffer.append(TEXT_12);

+					stringBuffer.append(genFeature.getName());

+					stringBuffer.append(TEXT_14);

+					stringBuffer.append(description);

+				}

+			}

+			stringBuffer.append(TEXT_15);

+			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_9);

+							stringBuffer.append(genEnum.getName());

+							stringBuffer.append(TEXT_12);

+							stringBuffer.append(genEnumLiteral.getName());

+							stringBuffer.append(TEXT_16);

+							stringBuffer.append(genEnumLiteral.getLiteral());

+						}

+					}

+				}

+			}

+			for (String category : genModel.getPropertyCategories()) {

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(genModel.getPropertyCategoryKey(category));

+				stringBuffer.append(TEXT_17);

+				stringBuffer.append(category);

+			}

+		}

+		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.EditProject");

+		canGenerate = canGenerate && (true);

+		return canGenerate;

+	}

+}
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/PluginXML.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/PluginXML.java
new file mode 100644
index 0000000..fd314af
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/PluginXML.java
@@ -0,0 +1,385 @@
+//Generated with EGF 1.6.1.201902111324

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

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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 + "<plugin>";

+	protected final String TEXT_4 = NL + "<plugin" + NL + "      name=\"%pluginName\"" + NL + "      id=\"";

+	protected final String TEXT_5 = "\"" + NL + "      version=\"1.0.0\"" + NL + "      provider-name=\"%providerName\""

+			+ NL + "      class=\"";

+	protected final String TEXT_6 = "$Implementation\">" + 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>";

+	protected final String TEXT_16 = NL + NL + "   <extension point=\"org.eclipse.emf.ecore.generated_package\">";

+	protected final String TEXT_17 = NL + "      <!-- @generated ";

+	protected final String TEXT_18 = " -->";

+	protected final String TEXT_19 = NL + "      <package" + NL + "            uri=\"";

+	protected final String TEXT_20 = NL + "            class=\"";

+	protected final String TEXT_21 = "\"" + NL + "            genModel=\"";

+	protected final String TEXT_22 = "\"/>";

+	protected final String TEXT_23 = NL + "   </extension>";

+	protected final String TEXT_24 = NL + NL + "   <extension point=\"org.eclipse.emf.ecore.content_parser\">";

+	protected final String TEXT_25 = NL + "      <parser" + NL + "            contentTypeIdentifier=\"";

+	protected final String TEXT_26 = "\"" + NL + "            class=\"";

+	protected final String TEXT_27 = "\"/>" + NL + "   </extension>" + NL + "" + NL

+			+ "   <extension point=\"org.eclipse.core.contenttype.contentTypes\">";

+	protected final String TEXT_28 = NL + "      <content-type" + NL + "            base-type=\"";

+	protected final String TEXT_29 = "\"" + NL + "            file-extensions=\"";

+	protected final String TEXT_30 = "\"" + NL + "            id=\"";

+	protected final String TEXT_31 = "\"" + NL + "            name=\"%_UI_";

+	protected final String TEXT_32 = "_content_type\"" + NL + "            priority=\"normal\">" + NL

+			+ "         <describer class=\"org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer\">";

+	protected final String TEXT_33 = NL + "            <parameter name=\"namespace\" value=\"";

+	protected final String TEXT_34 = NL + "            <parameter name=\"kind\" value=\"xmi\"/>";

+	protected final String TEXT_35 = NL + "         </describer>" + NL + "      </content-type>" + NL

+			+ "   </extension>";

+	protected final String TEXT_36 = NL + NL + "   <extension point=\"org.eclipse.emf.ecore.extension_parser\">";

+	protected final String TEXT_37 = NL + "      <parser" + NL + "            type=\"";

+	protected final String TEXT_38 = NL + NL

+			+ "   <extension point=\"org.eclipse.emf.edit.itemProviderAdapterFactories\">";

+	protected final String TEXT_39 = NL + "      <factory" + NL + "            uri=\"";

+	protected final String TEXT_40 = "\"" + NL + "            supportedTypes=";

+	protected final String TEXT_41 = NL + "              ";

+	protected final String TEXT_42 = NL + NL + "   <extension point=\"org.eclipse.emf.edit.childCreationExtenders\">";

+	protected final String TEXT_43 = NL + "      <extender" + NL + "            uri=\"";

+	protected final String TEXT_44 = "$";

+	protected final String TEXT_45 = NL + NL + "</plugin>" + NL;

+	protected final String TEXT_46 = 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_46);

+		stringBuffer.append(TEXT_46);

+		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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.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_2);

+		if (genModel.isBundleManifest()) {

+			stringBuffer.append(TEXT_3);

+		} else {

+			stringBuffer.append(TEXT_4);

+			stringBuffer.append(genModel.getEditPluginID());

+			stringBuffer.append(TEXT_5);

+			stringBuffer.append(genModel.getQualifiedEditPluginClassName());

+			stringBuffer.append(TEXT_6);

+			for (String pluginID : genModel.getEditRequiredPlugins()) {

+				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.getEditPluginID());

+				stringBuffer.append(TEXT_13);

+			} else {

+				stringBuffer.append(TEXT_14);

+			}

+			stringBuffer.append(TEXT_15);

+		}

+		if (genModel.sameModelEditProject()) {

+			for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {

+				stringBuffer.append(TEXT_16);

+				if (hasKey) {

+					stringBuffer.append(TEXT_17);

+					stringBuffer.append(key);

+					stringBuffer.append(TEXT_18);

+				}

+				stringBuffer.append(TEXT_19);

+				stringBuffer.append(genPackage.getNSURI());

+				stringBuffer.append(TEXT_8);

+				if (genModel.hasLocalGenModel()) {

+					stringBuffer.append(TEXT_20);

+					stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());

+					stringBuffer.append(TEXT_21);

+					stringBuffer.append(genModel.getRelativeGenModelLocation());

+					stringBuffer.append(TEXT_22);

+				} else {

+					stringBuffer.append(TEXT_20);

+					stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());

+					stringBuffer.append(TEXT_22);

+				}

+				stringBuffer.append(TEXT_23);

+				if (genPackage.isContentType()) {

+					stringBuffer.append(TEXT_24);

+					if (hasKey) {

+						stringBuffer.append(TEXT_17);

+						stringBuffer.append(key);

+						stringBuffer.append(TEXT_18);

+					}

+					stringBuffer.append(TEXT_25);

+					stringBuffer.append(genPackage.getContentTypeIdentifier());

+					stringBuffer.append(TEXT_26);

+					stringBuffer.append(genPackage.getQualifiedEffectiveResourceFactoryClassName());

+					stringBuffer.append(TEXT_27);

+					if (hasKey) {

+						stringBuffer.append(TEXT_17);

+						stringBuffer.append(key);

+						stringBuffer.append(TEXT_18);

+					}

+					stringBuffer.append(TEXT_28);

+					stringBuffer.append(

+							genPackage.isXMIResource() ? "org.eclipse.emf.ecore.xmi" : "org.eclipse.core.runtime.xml");

+					stringBuffer.append(TEXT_29);

+					stringBuffer.append(genPackage.getFileExtensions());

+					stringBuffer.append(TEXT_30);

+					stringBuffer.append(genPackage.getContentTypeIdentifier());

+					stringBuffer.append(TEXT_31);

+					stringBuffer.append(genPackage.getPrefix());

+					stringBuffer.append(TEXT_32);

+					if (genPackage.hasTargetNamespace()) {

+						stringBuffer.append(TEXT_33);

+						stringBuffer.append(genPackage.getNSURI());

+						stringBuffer.append(TEXT_22);

+					}

+					if (genPackage.isXMIResource()) {

+						stringBuffer.append(TEXT_34);

+					}

+					stringBuffer.append(TEXT_35);

+				} else if (genPackage.getResource() != GenResourceKind.NONE_LITERAL) {

+					stringBuffer.append(TEXT_36);

+					if (hasKey) {

+						stringBuffer.append(TEXT_17);

+						stringBuffer.append(key);

+						stringBuffer.append(TEXT_18);

+					}

+					for (String fileExtension : genPackage.getFileExtensionList()) {

+						stringBuffer.append(TEXT_37);

+						stringBuffer.append(fileExtension);

+						stringBuffer.append(TEXT_26);

+						stringBuffer.append(genPackage.getQualifiedResourceFactoryClassName());

+						stringBuffer.append(TEXT_22);

+					}

+					stringBuffer.append(TEXT_23);

+				}

+			}

+		}

+		for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {

+			if (!genPackage.getGenClasses().isEmpty()) {

+				stringBuffer.append(TEXT_38);

+				if (hasKey) {

+					stringBuffer.append(TEXT_17);

+					stringBuffer.append(key);

+					stringBuffer.append(TEXT_18);

+				}

+				stringBuffer.append(TEXT_39);

+				stringBuffer.append(genPackage.getNSURI());

+				stringBuffer.append(TEXT_26);

+				stringBuffer.append(genPackage.getQualifiedItemProviderAdapterFactoryClassName());

+				stringBuffer.append(TEXT_40);

+				for (ListIterator<?> j = genPackage.getProviderSupportedTypes().listIterator(); j.hasNext();) {

+					stringBuffer.append(TEXT_41);

+					stringBuffer.append(j.hasPrevious() ? " " : "\"");

+					stringBuffer.append(j.next());

+					if (!j.hasNext()) {

+						stringBuffer.append(TEXT_22);

+					}

+				}

+				stringBuffer.append(TEXT_23);

+				if (genPackage.isChildCreationExtenders()) {

+					Map<GenPackage, Map<GenClass, List<GenClass.ChildCreationData>>> extendedChildCreationData = genPackage

+							.getExtendedChildCreationData();

+					if (!extendedChildCreationData.isEmpty()) {

+						stringBuffer.append(TEXT_42);

+						if (hasKey) {

+							stringBuffer.append(TEXT_17);

+							stringBuffer.append(key);

+							stringBuffer.append(TEXT_18);

+						}

+						for (Map.Entry<GenPackage, Map<GenClass, List<GenClass.ChildCreationData>>> entry : extendedChildCreationData

+								.entrySet()) {

+							stringBuffer.append(TEXT_43);

+							stringBuffer.append(entry.getKey().getNSURI());

+							stringBuffer.append(TEXT_26);

+							stringBuffer.append(genPackage.getQualifiedItemProviderAdapterFactoryClassName());

+							stringBuffer.append(TEXT_44);

+							stringBuffer.append(genPackage.getChildCreationExtenderName(entry.getKey()));

+							stringBuffer.append(TEXT_22);

+						}

+						stringBuffer.append(TEXT_23);

+					}

+				}

+			}

+		}

+		stringBuffer.append(TEXT_45);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/Properties.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/Properties.java
new file mode 100644
index 0000000..cb22a1b
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/Properties.java
@@ -0,0 +1,335 @@
+//Generated with EGF 1.6.1.201902111324

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

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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 = "_";

+	protected final String TEXT_17 = "_feature\")" + NL + "\t@DefaultMessage(\"";

+	protected final String TEXT_18 = "Feature();" + NL;

+	protected final String TEXT_19 = "_description\")" + NL + "\t@DefaultMessage(\"";

+	protected final String TEXT_20 = "Description();" + NL;

+	protected final String TEXT_21 = 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_22 = "_literal\")" + NL + "\t@DefaultMessage(\"";

+	protected final String TEXT_23 = "Literal();" + NL;

+	protected final String TEXT_24 = NL;

+	protected final String TEXT_25 = " = ";

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

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

+	protected final String TEXT_27 = "\")" + NL + "\t@DefaultMessage(\"";

+	protected final String TEXT_28 = "();" + NL;

+	protected final String TEXT_29 = NL + "}";

+	protected final String TEXT_30 = 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_30);

+		stringBuffer.append(TEXT_30);

+		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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.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_11);

+			stringBuffer.append(genFeature.getGenClass().getName());

+			stringBuffer.append(TEXT_16);

+			stringBuffer.append(genFeature.getName());

+			stringBuffer.append(TEXT_17);

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

+			stringBuffer.append(TEXT_13);

+			stringBuffer.append(genFeature.getGenClass().getUncapName());

+			stringBuffer.append(TEXT_16);

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

+			stringBuffer.append(TEXT_18);

+			if (description != null && description.length() > 0) {

+				stringBuffer.append(TEXT_11);

+				stringBuffer.append(genFeature.getGenClass().getName());

+				stringBuffer.append(TEXT_16);

+				stringBuffer.append(genFeature.getName());

+				stringBuffer.append(TEXT_19);

+				stringBuffer.append(description);

+				stringBuffer.append(TEXT_13);

+				stringBuffer.append(genFeature.getGenClass().getUncapName());

+				stringBuffer.append(TEXT_16);

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

+				stringBuffer.append(TEXT_20);

+			}

+		}

+		stringBuffer.append(TEXT_21);

+		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_11);

+						stringBuffer.append(genEnum.getName());

+						stringBuffer.append(TEXT_16);

+						stringBuffer.append(genEnumLiteral.getName());

+						stringBuffer.append(TEXT_22);

+						stringBuffer.append(genEnumLiteral.getLiteral());

+						stringBuffer.append(TEXT_13);

+						stringBuffer.append(genEnum.getSafeUncapName());

+						stringBuffer.append(TEXT_16);

+						stringBuffer.append(genEnumLiteral.getName());

+						stringBuffer.append(TEXT_23);

+					}

+				}

+			}

+		}

+		for (String category : genModel.getPropertyCategories()) {

+			stringBuffer.append(TEXT_24);

+			stringBuffer.append(genModel.getPropertyCategoryKey(category));

+			stringBuffer.append(TEXT_25);

+			stringBuffer.append(category);

+			stringBuffer.append(TEXT_26);

+			stringBuffer.append(genModel.getPropertyCategoryKey(category));

+			stringBuffer.append(TEXT_27);

+			stringBuffer.append(category);

+			stringBuffer.append(TEXT_13);

+			stringBuffer.append(genModel.getPropertyCategoryKey(category));

+			stringBuffer.append(TEXT_28);

+		}

+		stringBuffer.append(TEXT_29);

+		genModel.emitSortedImports();

+		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 && (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT)

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

+		return canGenerate;

+	}

+}
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvideraddPropertyDescriptoroverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvideraddPropertyDescriptoroverride.java
new file mode 100644
index 0000000..72bbc8e
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvideraddPropertyDescriptoroverride.java
@@ -0,0 +1,321 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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 = "_feature\", \"_UI_";

+	protected final String TEXT_7 = "_type\"),";

+	protected final String TEXT_8 = NL + "\t\t\t\t getString(\"_UI_";

+	protected final String TEXT_9 = "_description\"),";

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

+	protected final String TEXT_11 = "," + NL + "\t\t\t\t ";

+	protected final String TEXT_12 = ",";

+	protected final String TEXT_13 = NL + "\t\t\t\t null,";

+	protected final String TEXT_14 = ".";

+	protected final String TEXT_15 = NL + "\t\t\t\t getString(\"";

+	protected final String TEXT_16 = "\"),";

+	protected final String TEXT_17 = NL + "\t\t\t\t null," + NL + "\t\t\t\t ";

+	protected final String TEXT_18 = ".createURI(";

+	protected final String TEXT_19 = ")));";

+	protected final String TEXT_20 = NL + "\t\t\t\t null));";

+	protected final String TEXT_21 = NL + "\t\t\t\t new String[] {";

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

+	protected final String TEXT_23 = "\"";

+	protected final String TEXT_24 = NL + "\t\t\t\t }," + NL + "\t\t\t\t ";

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

+	protected final String TEXT_26 = NL;

+	protected final String TEXT_27 = 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> isJDK50List = null;

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

+		List<Object> forceDefaultCaseList = null;

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

+		List<Object> indentDefaultCaseList = 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 isJDK50Parameter : isJDK50List) {

+							for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+								for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+									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.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

+										this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+										this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+										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_27);

+		stringBuffer.append(TEXT_27);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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.Boolean isJDK50 = null;

+

+	public void set_isJDK50(java.lang.Boolean object) {

+		this.isJDK50 = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("isJDK50", this.isJDK50);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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_3);

+			stringBuffer.append(genFeature.getName());

+			stringBuffer.append(TEXT_6);

+			stringBuffer.append(genFeature.getGenClass().getName());

+			stringBuffer.append(TEXT_7);

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

+			stringBuffer.append(genModel.getNonNLS(2));

+			stringBuffer.append(genModel.getNonNLS(3));

+		} else {

+			stringBuffer.append(TEXT_8);

+			stringBuffer.append(genFeature.getGenClass().getName());

+			stringBuffer.append(TEXT_3);

+			stringBuffer.append(genFeature.getName());

+			stringBuffer.append(TEXT_9);

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

+		}

+		stringBuffer.append(TEXT_10);

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

+		stringBuffer.append(TEXT_11);

+		stringBuffer.append(genFeature.getProperty() == GenPropertyKind.EDITABLE_LITERAL ? "true" : "false");

+		stringBuffer.append(TEXT_11);

+		stringBuffer.append(genFeature.isPropertyMultiLine() ? "true" : "false");

+		stringBuffer.append(TEXT_11);

+		stringBuffer.append(genFeature.isPropertySortChoices() ? "true" : "false");

+		stringBuffer.append(TEXT_12);

+		if (genFeature.isReferenceType()) {

+			stringBuffer.append(TEXT_13);

+		} else {

+			stringBuffer.append(TEXT_10);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.ItemPropertyDescriptor"));

+			stringBuffer.append(TEXT_14);

+			stringBuffer.append(genFeature.getPropertyImageName());

+			stringBuffer.append(TEXT_12);

+		}

+		if (genFeature.getPropertyCategory() == null || genFeature.getPropertyCategory().length() == 0) {

+			stringBuffer.append(TEXT_13);

+		} else {

+			stringBuffer.append(TEXT_15);

+			stringBuffer.append(genModel.getPropertyCategoryKey(genFeature.getPropertyCategory()));

+			stringBuffer.append(TEXT_16);

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

+		}

+		if (genFeature.getPropertyFilterFlags().isEmpty()) {

+			if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF214_VALUE

+					&& genFeature.getPropertyEditorFactory() != null

+					&& genFeature.getPropertyEditorFactory().trim().length() != 0) {

+				stringBuffer.append(TEXT_17);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));

+				stringBuffer.append(TEXT_18);

+				stringBuffer.append(org.eclipse.emf.codegen.ecore.genmodel.impl.Literals

+						.toStringLiteral(genFeature.getPropertyEditorFactory().trim(), genModel));

+				stringBuffer.append(TEXT_19);

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

+			} else {

+				stringBuffer.append(TEXT_20);

+			}

+		} else {

+			stringBuffer.append(TEXT_21);

+			/*}*/for (Iterator<String> j = genFeature.getPropertyFilterFlags().iterator(); j.hasNext();) {

+				String filterFlag = j.next();

+				if (filterFlag != null && filterFlag.length() > 0) {

+					stringBuffer.append(TEXT_22);

+					stringBuffer.append(filterFlag);

+					stringBuffer.append(TEXT_23);

+					if (j.hasNext()) {

+						stringBuffer.append(TEXT_12);

+					}

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

+				}

+			}

+			if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF214_VALUE

+					&& genFeature.getPropertyEditorFactory() != null

+					&& genFeature.getPropertyEditorFactory().trim().length() != 0) { // {

+				stringBuffer.append(TEXT_24);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));

+				stringBuffer.append(TEXT_18);

+				stringBuffer.append(org.eclipse.emf.codegen.ecore.genmodel.impl.Literals

+						.toStringLiteral(genFeature.getPropertyEditorFactory().trim(), genModel));

+				stringBuffer.append(TEXT_19);

+			} 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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidergetStyledTextoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidergetStyledTextoverride.java
new file mode 100644
index 0000000..3c8db51
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidergetStyledTextoverride.java
@@ -0,0 +1,383 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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 = ")object;";

+	protected final String TEXT_7 = NL + "\t\treturn new ";

+	protected final String TEXT_8 = "(\"\" + ";

+	protected final String TEXT_9 = ".getKey()).append(\" -> \", ";

+	protected final String TEXT_10 = ".QUALIFIER_STYLER).append(\"\" + ";

+	protected final String TEXT_11 = ".getValue());";

+	protected final String TEXT_12 = NL + "\t\tString key = crop(\"\" + ";

+	protected final String TEXT_13 = ".getKey());";

+	protected final String TEXT_14 = NL + "\t\tString key = \"\" + ";

+	protected final String TEXT_15 = ".getKey();";

+	protected final String TEXT_16 = NL + "\t\tString value = crop(\"\" + ";

+	protected final String TEXT_17 = NL + "\t\tString value = \"\" + ";

+	protected final String TEXT_18 = ".getValue();";

+	protected final String TEXT_19 = "(key).append(\" -> \", ";

+	protected final String TEXT_20 = ".QUALIFIER_STYLER).append(value);";

+	protected final String TEXT_21 = ")object;" + NL + "\t\treturn new ";

+	protected final String TEXT_22 = "(getString(\"_UI_";

+	protected final String TEXT_23 = "_type\"), ";

+	protected final String TEXT_24 = ".QUALIFIER_STYLER).append(\" \").append(";

+	protected final String TEXT_25 = ".toString(";

+	protected final String TEXT_26 = ".";

+	protected final String TEXT_27 = "()));";

+	protected final String TEXT_28 = NL + "\t\tString label = crop(((";

+	protected final String TEXT_29 = ")object).";

+	protected final String TEXT_30 = "());";

+	protected final String TEXT_31 = NL + "\t\tString label = ((";

+	protected final String TEXT_32 = "();";

+	protected final String TEXT_33 = " labelValue = ((";

+	protected final String TEXT_34 = ")object).eGet(";

+	protected final String TEXT_35 = ");";

+	protected final String TEXT_36 = NL + "\t\tString label = labelValue == null ? null : labelValue.toString();";

+	protected final String TEXT_37 = NL + "    \t";

+	protected final String TEXT_38 = " styledLabel = new ";

+	protected final String TEXT_39 = "();" + NL + "\t\tif (label == null || label.length() == 0)" + NL + "\t\t{" + NL

+			+ "\t\t\tstyledLabel.append(getString(\"_UI_";

+	protected final String TEXT_40 = ".QUALIFIER_STYLER); ";

+	protected final String TEXT_41 = NL + "\t\t} else {" + NL + "\t\t\tstyledLabel.append(getString(\"_UI_";

+	protected final String TEXT_42 = ".QUALIFIER_STYLER).append(\" \" + label);";

+	protected final String TEXT_43 = NL + "\t\t}" + NL + "\t\treturn styledLabel;";

+	protected final String TEXT_44 = "_type\"));";

+	protected final String TEXT_45 = NL;

+	protected final String TEXT_46 = 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> isJDK50List = null;

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

+		List<Object> forceDefaultCaseList = null;

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

+		List<Object> indentDefaultCaseList = 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 isJDK50Parameter : isJDK50List) {

+						for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+							for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+								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.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

+									this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+									this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+									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_46);

+		stringBuffer.append(TEXT_46);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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.Boolean isJDK50 = null;

+

+	public void set_isJDK50(java.lang.Boolean object) {

+		this.isJDK50 = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("isJDK50", this.isJDK50);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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_3);

+			}

+			stringBuffer.append(TEXT_6);

+			if (!genClass.getMapEntryKeyFeature().isPropertyMultiLine()

+					&& !genClass.getMapEntryValueFeature().isPropertyMultiLine()) {

+				stringBuffer.append(TEXT_7);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString"));

+				stringBuffer.append(TEXT_8);

+				stringBuffer.append(genClass.getSafeUncapName());

+				stringBuffer.append(TEXT_9);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString$Style"));

+				stringBuffer.append(TEXT_10);

+				stringBuffer.append(genClass.getSafeUncapName());

+				stringBuffer.append(TEXT_11);

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

+				stringBuffer.append(genModel.getNonNLS(2));

+			} else {

+				if (genClass.getMapEntryKeyFeature().isPropertyMultiLine()) {

+					stringBuffer.append(TEXT_12);

+					stringBuffer.append(genClass.getSafeUncapName());

+					stringBuffer.append(TEXT_13);

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

+				} else {

+					stringBuffer.append(TEXT_14);

+					stringBuffer.append(genClass.getSafeUncapName());

+					stringBuffer.append(TEXT_15);

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

+				}

+				if (genClass.getMapEntryValueFeature().isPropertyMultiLine()) {

+					stringBuffer.append(TEXT_16);

+					stringBuffer.append(genClass.getSafeUncapName());

+					stringBuffer.append(TEXT_11);

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

+				} else {

+					stringBuffer.append(TEXT_17);

+					stringBuffer.append(genClass.getSafeUncapName());

+					stringBuffer.append(TEXT_18);

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

+				}

+				stringBuffer.append(TEXT_7);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString"));

+				stringBuffer.append(TEXT_19);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString$Style"));

+				stringBuffer.append(TEXT_20);

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

+			}

+		} else if (genClass.getLabelFeature() != null) {

+			GenFeature labelFeature = genClass.getLabelFeature();

+			if (labelFeature.isPrimitiveType() && !labelFeature.getGenClass().isDynamic()

+					&& !labelFeature.isSuppressedGetVisibility()) {

+				stringBuffer.append(TEXT_2);

+				stringBuffer.append(genClass.getImportedInterfaceName());

+				stringBuffer.append(genClass.getInterfaceWildTypeArguments());

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(genClass.getSafeUncapName());

+				stringBuffer.append(TEXT_5);

+				stringBuffer.append(genClass.getImportedInterfaceName());

+				stringBuffer.append(genClass.getInterfaceWildTypeArguments());

+				stringBuffer.append(TEXT_21);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString"));

+				stringBuffer.append(TEXT_22);

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

+				stringBuffer.append(TEXT_23);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString$Style"));

+				stringBuffer.append(TEXT_24);

+				stringBuffer.append(labelFeature.getObjectType(genClass));

+				stringBuffer.append(TEXT_25);

+				stringBuffer.append(genClass.getSafeUncapName());

+				stringBuffer.append(TEXT_26);

+				stringBuffer.append(genClass.getLabelFeature().getGetAccessor());

+				stringBuffer.append(TEXT_27);

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

+				stringBuffer.append(genModel.getNonNLS(2));

+			} else {

+				if (labelFeature.isStringType() && !labelFeature.getGenClass().isDynamic()

+						&& !labelFeature.isSuppressedGetVisibility()) {

+					if (labelFeature.isPropertyMultiLine()) {

+						stringBuffer.append(TEXT_28);

+						stringBuffer.append(genClass.getImportedInterfaceName());

+						stringBuffer.append(genClass.getInterfaceWildTypeArguments());

+						stringBuffer.append(TEXT_29);

+						stringBuffer.append(labelFeature.getGetAccessor());

+						stringBuffer.append(TEXT_30);

+					} else {

+						stringBuffer.append(TEXT_31);

+						stringBuffer.append(genClass.getImportedInterfaceName());

+						stringBuffer.append(genClass.getInterfaceWildTypeArguments());

+						stringBuffer.append(TEXT_29);

+						stringBuffer.append(labelFeature.getGetAccessor());

+						stringBuffer.append(TEXT_32);

+					}

+				} else {

+					if (labelFeature.isSuppressedGetVisibility() || labelFeature.getGenClass().isDynamic()) {

+						stringBuffer.append(TEXT_2);

+						stringBuffer.append(genModel.getImportedName("java.lang.Object"));

+						stringBuffer.append(TEXT_33);

+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EObject"));

+						stringBuffer.append(TEXT_34);

+						stringBuffer.append(labelFeature.getQualifiedFeatureAccessor());

+						stringBuffer.append(TEXT_35);

+					} else {

+						stringBuffer.append(TEXT_2);

+						stringBuffer.append(labelFeature.getRawImportedType());

+						stringBuffer.append(TEXT_33);

+						stringBuffer.append(genClass.getImportedInterfaceName());

+						stringBuffer.append(genClass.getInterfaceWildTypeArguments());

+						stringBuffer.append(TEXT_29);

+						stringBuffer.append(labelFeature.getGetAccessor());

+						stringBuffer.append(TEXT_32);

+					}

+					stringBuffer.append(TEXT_36);

+				}

+				stringBuffer.append(TEXT_37);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString"));

+				stringBuffer.append(TEXT_38);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString"));

+				stringBuffer.append(TEXT_39);

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

+				stringBuffer.append(TEXT_23);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString$Style"));

+				stringBuffer.append(TEXT_40);

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

+				stringBuffer.append(TEXT_41);

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

+				stringBuffer.append(TEXT_23);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString$Style"));

+				stringBuffer.append(TEXT_42);

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

+				stringBuffer.append(genModel.getNonNLS(2));

+				stringBuffer.append(TEXT_43);

+			}

+		} else {

+			stringBuffer.append(TEXT_7);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString"));

+			stringBuffer.append(TEXT_22);

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

+			stringBuffer.append(TEXT_44);

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

+		}

+		stringBuffer.append(TEXT_45);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidergetTextoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidergetTextoverride.java
new file mode 100644
index 0000000..940bac7
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidergetTextoverride.java
@@ -0,0 +1,357 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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 = ")object;";

+	protected final String TEXT_9 = NL + "\t\treturn \"\" + ";

+	protected final String TEXT_10 = ".getKey() + \" -> \" + ";

+	protected final String TEXT_11 = ".getValue();";

+	protected final String TEXT_12 = NL + "\t\tString key = crop(\"\" + ";

+	protected final String TEXT_13 = ".getKey());";

+	protected final String TEXT_14 = NL + "\t\tString key = \"\" + ";

+	protected final String TEXT_15 = ".getKey();";

+	protected final String TEXT_16 = NL + "\t\tString value = crop(\"\" + ";

+	protected final String TEXT_17 = ".getValue());";

+	protected final String TEXT_18 = NL + "\t\tString value = \"\" + ";

+	protected final String TEXT_19 = NL + "\t\treturn key + \" -> \" + value;";

+	protected final String TEXT_20 = ")object;" + NL + "\t\treturn getString(\"_UI_";

+	protected final String TEXT_21 = "_type\") + \" \" + ";

+	protected final String TEXT_22 = ".";

+	protected final String TEXT_23 = "();";

+	protected final String TEXT_24 = NL + "\t\tString label = crop(((";

+	protected final String TEXT_25 = ")object).";

+	protected final String TEXT_26 = "());";

+	protected final String TEXT_27 = NL + "\t\tString label = ((";

+	protected final String TEXT_28 = " labelValue = ((";

+	protected final String TEXT_29 = ")object).eGet(";

+	protected final String TEXT_30 = ");";

+	protected final String TEXT_31 = NL + "\t\tString label = labelValue == null ? null : labelValue.toString();";

+	protected final String TEXT_32 = NL + "\t\treturn label == null || label.length() == 0 ?" + NL

+			+ "\t\t\tgetString(\"_UI_";

+	protected final String TEXT_33 = "_type\") :";

+	protected final String TEXT_34 = NL + "\t\t\tgetString(\"_UI_";

+	protected final String TEXT_35 = "_type\") + \" \" + label;";

+	protected final String TEXT_36 = NL + "\t\treturn getString(\"_UI_";

+	protected final String TEXT_37 = "_type\");";

+	protected final String TEXT_38 = NL;

+	protected final String TEXT_39 = 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> isJDK50List = null;

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

+		List<Object> forceDefaultCaseList = null;

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

+		List<Object> indentDefaultCaseList = 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 isJDK50Parameter : isJDK50List) {

+						for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+							for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+								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.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

+									this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+									this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+									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_39);

+		stringBuffer.append(TEXT_39);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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.Boolean isJDK50 = null;

+

+	public void set_isJDK50(java.lang.Boolean object) {

+		this.isJDK50 = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("isJDK50", this.isJDK50);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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_5);

+				}

+				stringBuffer.append(TEXT_8);

+				if (!genClass.getMapEntryKeyFeature().isPropertyMultiLine()

+						&& !genClass.getMapEntryValueFeature().isPropertyMultiLine()) {

+					stringBuffer.append(TEXT_9);

+					stringBuffer.append(genClass.getSafeUncapName());

+					stringBuffer.append(TEXT_10);

+					stringBuffer.append(genClass.getSafeUncapName());

+					stringBuffer.append(TEXT_11);

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

+					stringBuffer.append(genModel.getNonNLS(2));

+				} else {

+					if (genClass.getMapEntryKeyFeature().isPropertyMultiLine()) {

+						stringBuffer.append(TEXT_12);

+						stringBuffer.append(genClass.getSafeUncapName());

+						stringBuffer.append(TEXT_13);

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

+					} else {

+						stringBuffer.append(TEXT_14);

+						stringBuffer.append(genClass.getSafeUncapName());

+						stringBuffer.append(TEXT_15);

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

+					}

+					if (genClass.getMapEntryValueFeature().isPropertyMultiLine()) {

+						stringBuffer.append(TEXT_16);

+						stringBuffer.append(genClass.getSafeUncapName());

+						stringBuffer.append(TEXT_17);

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

+					} else {

+						stringBuffer.append(TEXT_18);

+						stringBuffer.append(genClass.getSafeUncapName());

+						stringBuffer.append(TEXT_11);

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

+					}

+					stringBuffer.append(TEXT_19);

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

+				}

+			} else if (genClass.getLabelFeature() != null) {

+				GenFeature labelFeature = genClass.getLabelFeature();

+				if (labelFeature.isPrimitiveType() && !labelFeature.getGenClass().isDynamic()

+						&& !labelFeature.isSuppressedGetVisibility()) {

+					stringBuffer.append(TEXT_4);

+					stringBuffer.append(genClass.getImportedInterfaceName());

+					stringBuffer.append(genClass.getInterfaceWildTypeArguments());

+					stringBuffer.append(TEXT_6);

+					stringBuffer.append(genClass.getSafeUncapName());

+					stringBuffer.append(TEXT_7);

+					stringBuffer.append(genClass.getImportedInterfaceName());

+					stringBuffer.append(genClass.getInterfaceWildTypeArguments());

+					stringBuffer.append(TEXT_20);

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

+					stringBuffer.append(TEXT_21);

+					stringBuffer.append(genClass.getSafeUncapName());

+					stringBuffer.append(TEXT_22);

+					stringBuffer.append(genClass.getLabelFeature().getGetAccessor());

+					stringBuffer.append(TEXT_23);

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

+					stringBuffer.append(genModel.getNonNLS(2));

+				} else {

+					if (labelFeature.isStringType() && !labelFeature.getGenClass().isDynamic()

+							&& !labelFeature.isSuppressedGetVisibility()) {

+						if (labelFeature.isPropertyMultiLine()) {

+							stringBuffer.append(TEXT_24);

+							stringBuffer.append(genClass.getImportedInterfaceName());

+							stringBuffer.append(genClass.getInterfaceWildTypeArguments());

+							stringBuffer.append(TEXT_25);

+							stringBuffer.append(labelFeature.getGetAccessor());

+							stringBuffer.append(TEXT_26);

+						} else {

+							stringBuffer.append(TEXT_27);

+							stringBuffer.append(genClass.getImportedInterfaceName());

+							stringBuffer.append(genClass.getInterfaceWildTypeArguments());

+							stringBuffer.append(TEXT_25);

+							stringBuffer.append(labelFeature.getGetAccessor());

+							stringBuffer.append(TEXT_23);

+						}

+					} else {

+						if (labelFeature.isSuppressedGetVisibility() || labelFeature.getGenClass().isDynamic()) {

+							stringBuffer.append(TEXT_4);

+							stringBuffer.append(genModel.getImportedName("java.lang.Object"));

+							stringBuffer.append(TEXT_28);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EObject"));

+							stringBuffer.append(TEXT_29);

+							stringBuffer.append(labelFeature.getQualifiedFeatureAccessor());

+							stringBuffer.append(TEXT_30);

+						} else {

+							stringBuffer.append(TEXT_4);

+							stringBuffer.append(labelFeature.getRawImportedType());

+							stringBuffer.append(TEXT_28);

+							stringBuffer.append(genClass.getImportedInterfaceName());

+							stringBuffer.append(genClass.getInterfaceWildTypeArguments());

+							stringBuffer.append(TEXT_25);

+							stringBuffer.append(labelFeature.getGetAccessor());

+							stringBuffer.append(TEXT_23);

+						}

+						stringBuffer.append(TEXT_31);

+					}

+					stringBuffer.append(TEXT_32);

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

+					stringBuffer.append(TEXT_33);

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

+					stringBuffer.append(TEXT_34);

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

+					stringBuffer.append(TEXT_35);

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

+					stringBuffer.append(genModel.getNonNLS(2));

+				}

+			} else {

+				stringBuffer.append(TEXT_36);

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

+				stringBuffer.append(TEXT_37);

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

+			}

+		}

+		stringBuffer.append(TEXT_38);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProviderinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProviderinsert.java
new file mode 100644
index 0000000..8a263e1
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProviderinsert.java
@@ -0,0 +1,186 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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> isJDK50List = null;

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

+		List<Object> forceDefaultCaseList = null;

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

+		List<Object> indentDefaultCaseList = 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 isJDK50Parameter : isJDK50List) {

+						for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+							for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+								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.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

+									this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+									this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+									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("isJDK50", this.isJDK50);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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.Boolean isJDK50 = null;

+

+	public void set_isJDK50(java.lang.Boolean object) {

+		this.isJDK50 = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("isJDK50", this.isJDK50);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeDelegatedFeatureinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeDelegatedFeatureinsert.java
new file mode 100644
index 0000000..cc57418
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeDelegatedFeatureinsert.java
@@ -0,0 +1,213 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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)

+		List<Object> isJDK50List = 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) {

+										for (Object isJDK50Parameter : isJDK50List) {

+

+											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;

+											this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

+

+											if (preCondition(ctx)) {

+												ctx.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);

+			parameterValues.put("isJDK50", this.isJDK50);

+			String outputWithCallBack = 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;

+	}

+

+	protected java.lang.Boolean isJDK50 = null;

+

+	public void set_isJDK50(java.lang.Boolean object) {

+		this.isJDK50 = 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);

+		parameters.put("isJDK50", this.isJDK50);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeDelegatedFeatureoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeDelegatedFeatureoverride.java
new file mode 100644
index 0000000..e70fbcc
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeDelegatedFeatureoverride.java
@@ -0,0 +1,281 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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 = ".createFromString(";

+	protected final String TEXT_8 = ", ";

+	protected final String TEXT_9 = "))));";

+	protected final String TEXT_10 = " // TODO: ensure this is a valid literal value";

+	protected final String TEXT_11 = NL;

+	protected final String TEXT_12 = 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)

+		List<Object> isJDK50List = 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) {

+										for (Object isJDK50Parameter : isJDK50List) {

+

+											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;

+											this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

+

+											if (preCondition(ctx)) {

+												ctx.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_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("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);

+			parameterValues.put("isJDK50", this.isJDK50);

+			String outputWithCallBack = 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;

+	}

+

+	protected java.lang.Boolean isJDK50 = null;

+

+	public void set_isJDK50(java.lang.Boolean object) {

+		this.isJDK50 = 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);

+		parameters.put("isJDK50", this.isJDK50);

+		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_5);

+			stringBuffer.append(delegatedFeature.getCreateChildValueLiteral());

+			stringBuffer.append(TEXT_6);

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

+		} else {

+			String literal = delegatedFeature.getCreateChildValueLiteral();

+			stringBuffer.append(TEXT_5);

+			stringBuffer.append(createDataType.getGenPackage().getQualifiedEFactoryInstanceAccessor());

+			stringBuffer.append(TEXT_7);

+			stringBuffer.append(createDataType.getQualifiedClassifierAccessor());

+			stringBuffer.append(TEXT_8);

+			stringBuffer.append(literal);

+			stringBuffer.append(TEXT_9);

+			if (literal != null) {

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

+			} else {

+				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.newChildDescriptorsAttributeDelegatedFeature.insert" args="createDataType:createDataType,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>

+

+			InternalPatternContext ictx = (InternalPatternContext) 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);

+			callParameters.put("isJDK50", isJDK50);

+			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_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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeFeatureinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeFeatureinsert.java
new file mode 100644
index 0000000..20f1451
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeFeatureinsert.java
@@ -0,0 +1,212 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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)

+		List<Object> isJDK50List = 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) {

+										for (Object isJDK50Parameter : isJDK50List) {

+

+											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;

+											this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

+

+											if (preCondition(ctx)) {

+												ctx.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);

+			parameterValues.put("isJDK50", this.isJDK50);

+			String outputWithCallBack = 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;

+	}

+

+	protected java.lang.Boolean isJDK50 = null;

+

+	public void set_isJDK50(java.lang.Boolean object) {

+		this.isJDK50 = 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);

+		parameters.put("isJDK50", this.isJDK50);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeFeatureoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeFeatureoverride.java
new file mode 100644
index 0000000..13bb087
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeFeatureoverride.java
@@ -0,0 +1,274 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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 = ".createFromString(";

+	protected final String TEXT_6 = ", ";

+	protected final String TEXT_7 = ")));";

+	protected final String TEXT_8 = " // TODO: ensure this is a valid literal value";

+	protected final String TEXT_9 = NL;

+	protected final String TEXT_10 = 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)

+		List<Object> isJDK50List = 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) {

+										for (Object isJDK50Parameter : isJDK50List) {

+

+											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;

+											this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

+

+											if (preCondition(ctx)) {

+												ctx.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_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("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);

+			parameterValues.put("isJDK50", this.isJDK50);

+			String outputWithCallBack = 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;

+	}

+

+	protected java.lang.Boolean isJDK50 = null;

+

+	public void set_isJDK50(java.lang.Boolean object) {

+		this.isJDK50 = 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);

+		parameters.put("isJDK50", this.isJDK50);

+		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_3);

+			stringBuffer.append(createFeature.getCreateChildValueLiteral());

+			stringBuffer.append(TEXT_4);

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

+		} else {

+			String literal = createFeature.getCreateChildValueLiteral();

+			stringBuffer.append(TEXT_3);

+			stringBuffer.append(createDataType.getGenPackage().getQualifiedEFactoryInstanceAccessor());

+			stringBuffer.append(TEXT_5);

+			stringBuffer.append(createDataType.getQualifiedClassifierAccessor());

+			stringBuffer.append(TEXT_6);

+			stringBuffer.append(literal);

+			stringBuffer.append(TEXT_7);

+			if (literal != null) {

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

+			} else {

+				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.newChildDescriptorsAttributeFeature.insert" args="createDataType:createDataType,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>

+

+			InternalPatternContext ictx = (InternalPatternContext) 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);

+			callParameters.put("isJDK50", isJDK50);

+			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_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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceDelegatedFeatureinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceDelegatedFeatureinsert.java
new file mode 100644
index 0000000..44bb237
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceDelegatedFeatureinsert.java
@@ -0,0 +1,213 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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)

+		List<Object> isJDK50List = 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) {

+										for (Object isJDK50Parameter : isJDK50List) {

+

+											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;

+											this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

+

+											if (preCondition(ctx)) {

+												ctx.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);

+			parameterValues.put("isJDK50", this.isJDK50);

+			String outputWithCallBack = 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;

+	}

+

+	protected java.lang.Boolean isJDK50 = null;

+

+	public void set_isJDK50(java.lang.Boolean object) {

+		this.isJDK50 = 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);

+		parameters.put("isJDK50", this.isJDK50);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceDelegatedFeatureoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceDelegatedFeatureoverride.java
new file mode 100644
index 0000000..2b35961
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceDelegatedFeatureoverride.java
@@ -0,0 +1,268 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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 = ".create";

+	protected final String TEXT_9 = "())));";

+	protected final String TEXT_10 = NL;

+	protected final String TEXT_11 = 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)

+		List<Object> isJDK50List = 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) {

+										for (Object isJDK50Parameter : isJDK50List) {

+

+											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;

+											this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

+

+											if (preCondition(ctx)) {

+												ctx.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_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("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);

+			parameterValues.put("isJDK50", this.isJDK50);

+			String outputWithCallBack = 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;

+	}

+

+	protected java.lang.Boolean isJDK50 = null;

+

+	public void set_isJDK50(java.lang.Boolean object) {

+		this.isJDK50 = 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);

+		parameters.put("isJDK50", this.isJDK50);

+		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_5);

+			stringBuffer.append(createClass.getGenPackage().getQualifiedFactoryInstanceAccessor());

+			stringBuffer.append(TEXT_8);

+			stringBuffer.append(createClass.getName());

+			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.edit.call.ItemProvider.ItemProvider.newChildDescriptorsReferenceDelegatedFeature.insert" args="createClass:createClass,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>

+

+			InternalPatternContext ictx = (InternalPatternContext) 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);

+			callParameters.put("isJDK50", isJDK50);

+			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_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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceFeatureinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceFeatureinsert.java
new file mode 100644
index 0000000..22bbbc1
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceFeatureinsert.java
@@ -0,0 +1,212 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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)

+		List<Object> isJDK50List = 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) {

+										for (Object isJDK50Parameter : isJDK50List) {

+

+											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;

+											this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

+

+											if (preCondition(ctx)) {

+												ctx.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);

+			parameterValues.put("isJDK50", this.isJDK50);

+			String outputWithCallBack = 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;

+	}

+

+	protected java.lang.Boolean isJDK50 = null;

+

+	public void set_isJDK50(java.lang.Boolean object) {

+		this.isJDK50 = 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);

+		parameters.put("isJDK50", this.isJDK50);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceFeatureoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceFeatureoverride.java
new file mode 100644
index 0000000..775f195
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceFeatureoverride.java
@@ -0,0 +1,261 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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 = ".create";

+	protected final String TEXT_7 = "()));";

+	protected final String TEXT_8 = NL;

+	protected final String TEXT_9 = 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)

+		List<Object> isJDK50List = 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) {

+										for (Object isJDK50Parameter : isJDK50List) {

+

+											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;

+											this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

+

+											if (preCondition(ctx)) {

+												ctx.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_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("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);

+			parameterValues.put("isJDK50", this.isJDK50);

+			String outputWithCallBack = 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;

+	}

+

+	protected java.lang.Boolean isJDK50 = null;

+

+	public void set_isJDK50(java.lang.Boolean object) {

+		this.isJDK50 = 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);

+		parameters.put("isJDK50", this.isJDK50);

+		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_3);

+			stringBuffer.append(createClass.getGenPackage().getQualifiedFactoryInstanceAccessor());

+			stringBuffer.append(TEXT_6);

+			stringBuffer.append(createClass.getName());

+			stringBuffer.append(TEXT_7);

+		}

+		stringBuffer.append(TEXT_8);

+		{

+			//<%@ 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,isJDK50:isJDK50"%>

+

+			InternalPatternContext ictx = (InternalPatternContext) 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);

+			callParameters.put("isJDK50", isJDK50);

+			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_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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ActionBarContributor.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ActionBarContributor.java
new file mode 100644
index 0000000..260be76
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ActionBarContributor.java
@@ -0,0 +1,1147 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.editor;

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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 -->";

+	protected final String TEXT_6 = NL + " * ";

+	protected final String TEXT_7 = NL + " * @generated" + NL + " */";

+	protected final String TEXT_8 = NL + "@Deprecated";

+	protected final String TEXT_9 = NL + "public class ";

+	protected final String TEXT_10 = NL + "\textends ";

+	protected final String TEXT_11 = NL + "\timplements ";

+	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 String copyright = ";

+	protected final String TEXT_14 = ";";

+	protected final String TEXT_15 = NL;

+	protected final String TEXT_16 = NL + "\t/**" + NL + "\t * Action to create objects from the ";

+	protected final String TEXT_17 = " 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_18 = 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 */";

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

+	protected final String TEXT_20 = NL + "\t\tpublic void run(";

+	protected final String TEXT_21 = " action)" + NL + "\t\t{" + NL + "\t\t\t";

+	protected final String TEXT_22 = " wizard = new ";

+	protected final String TEXT_23 = "();" + NL + "\t\t\twizard.init(getWindow().getWorkbench(), ";

+	protected final String TEXT_24 = ".EMPTY);" + NL + "\t\t\t";

+	protected final String TEXT_25 = " wizardDialog = new ";

+	protected final String TEXT_26 = "(getWindow().getShell(), wizard);" + NL + "\t\t\twizardDialog.open();" + NL

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

+	protected final String TEXT_27 = 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_28 = " 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_29 = " 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_30 = " showPropertiesViewAction =" + NL + "\t\tnew ";

+	protected final String TEXT_31 = "(";

+	protected final String TEXT_32 = ".INSTANCE.getString(\"_UI_ShowPropertiesView_menu_item\"))";

+	protected final String TEXT_33 = NL + "\t\t{";

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

+	protected final String TEXT_35 = 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_36 = NL + "\t\t\t\t}" + NL + "\t\t\t\tcatch (";

+	protected final String TEXT_37 = " exception)" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\t";

+	protected final String TEXT_38 = ".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_39 = " refreshViewerAction =" + NL + "\t\tnew ";

+	protected final String TEXT_40 = ".INSTANCE.getString(\"_UI_RefreshViewer_menu_item\"))";

+	protected final String TEXT_41 = NL + "\t\t\tpublic boolean isEnabled()" + NL + "\t\t\t{" + NL

+			+ "\t\t\t\treturn activeEditorPart instanceof ";

+	protected final String TEXT_42 = ";" + NL + "\t\t\t}" + NL;

+	protected final String TEXT_43 = NL + "\t\t\tpublic void run()" + NL + "\t\t\t{" + NL

+			+ "\t\t\t\tif (activeEditorPart instanceof ";

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

+	protected final String TEXT_45 = " viewer = ((";

+	protected final String TEXT_46 = ")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_47 = 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_48 = " createChildActions;" + NL;

+	protected final String TEXT_49 = 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_50 = " createChildSubmenuActions;" + NL;

+	protected final String TEXT_51 = 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_52 = " 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_53 = " createSiblingActions;" + NL;

+	protected final String TEXT_54 = 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_55 = " createSiblingSubmenuActions;" + NL;

+	protected final String TEXT_56 = 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_57 = " createSiblingMenuManager;" + NL;

+	protected final String TEXT_58 = 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_59 = "()" + NL + "\t{" + NL + "\t\tsuper(ADDITIONS_LAST_STYLE);" + NL

+			+ "\t\tloadResourceAction = new ";

+	protected final String TEXT_60 = "();" + NL + "\t\tvalidateAction = new ";

+	protected final String TEXT_61 = "();";

+	protected final String TEXT_62 = NL + "\t\tliveValidationAction = new ";

+	protected final String TEXT_63 = ".LiveValidator.LiveValidationAction(";

+	protected final String TEXT_64 = ".getPlugin().getDialogSettings());";

+	protected final String TEXT_65 = NL + "\t\tcontrolAction = new ";

+	protected final String TEXT_66 = NL + "\t\tfindAction = ";

+	protected final String TEXT_67 = ".create();";

+	protected final String TEXT_68 = NL + "\t\trevertAction = new ";

+	protected final String TEXT_69 = NL + "\t\texpandAllAction = new ";

+	protected final String TEXT_70 = NL + "\t\tcollapseAllAction = new ";

+	protected final String TEXT_71 = 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_72 = NL + "\t@Override";

+	protected final String TEXT_73 = NL + "\tpublic void contributeToToolBar(";

+	protected final String TEXT_74 = " toolBarManager)" + NL + "\t{" + NL

+			+ "\t\tsuper.contributeToToolBar(toolBarManager);" + NL + "\t\ttoolBarManager.add(new ";

+	protected final String TEXT_75 = "(\"";

+	protected final String TEXT_76 = "-settings\"));";

+	protected final String TEXT_77 = NL + "\t\ttoolBarManager.add(new ";

+	protected final String TEXT_78 = "-additions\"));";

+	protected final String TEXT_79 = 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_80 = NL + "\tpublic void contributeToMenu(";

+	protected final String TEXT_81 = " menuManager)" + NL + "\t{" + NL + "\t\tsuper.contributeToMenu(menuManager);" + NL

+			+ "" + NL + "\t\t";

+	protected final String TEXT_82 = " submenuManager = new ";

+	protected final String TEXT_83 = ".INSTANCE.getString(\"_UI_";

+	protected final String TEXT_84 = "_menu\"), \"";

+	protected final String TEXT_85 = "MenuID\");";

+	protected final String TEXT_86 = NL + "\t\tmenuManager.insertAfter(\"additions\", submenuManager);";

+	protected final String TEXT_87 = NL + "\t\tsubmenuManager.add(new ";

+	protected final String TEXT_88 = "(\"settings\"));";

+	protected final String TEXT_89 = "(\"actions\"));";

+	protected final String TEXT_90 = "(\"additions\"));";

+	protected final String TEXT_91 = "(\"additions-end\"));";

+	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 = ".INSTANCE.getString(\"_UI_CreateChild_menu_item\"));";

+	protected final String TEXT_94 = NL + "\t\tsubmenuManager.insertBefore(\"additions\", createChildMenuManager);";

+	protected final String TEXT_95 = NL + NL + "\t\t// Prepare for CreateSibling item addition or removal." + NL

+			+ "\t\t//" + NL + "\t\tcreateSiblingMenuManager = new ";

+	protected final String TEXT_96 = ".INSTANCE.getString(\"_UI_CreateSibling_menu_item\"));";

+	protected final String TEXT_97 = NL + "\t\tsubmenuManager.insertBefore(\"additions\", createSiblingMenuManager);";

+	protected final String TEXT_98 = 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_99 = "()" + NL + "\t\t\t {";

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

+	protected final String TEXT_101 = 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 + "\tpublic void setActiveEditor(";

+	protected final String TEXT_106 = " 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_107 = "(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 */";

+	protected final String TEXT_108 = 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 = " i = descriptors.iterator(); i.hasNext(); )";

+	protected final String TEXT_141 = NL + "\t\t\t{" + NL + "\t\t\t\tactions.add(new ";

+	protected final String TEXT_142 = "(activeEditorPart, selection, ";

+	protected final String TEXT_143 = "descriptor";

+	protected final String TEXT_144 = "i.next()";

+	protected final String TEXT_145 = "));" + 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_146 = " generateCreateSiblingActions(";

+	protected final String TEXT_147 = "));" + 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_148 = " manager, ";

+	protected final String TEXT_149 = " actions, String contributionID)" + NL + "\t{" + NL + "\t\tif (actions != null)"

+			+ NL + "\t\t{";

+	protected final String TEXT_150 = " action : actions)";

+	protected final String TEXT_151 = " i = actions.iterator(); i.hasNext(); )";

+	protected final String TEXT_152 = NL + "\t\t\t{";

+	protected final String TEXT_153 = NL + "\t\t\t\t";

+	protected final String TEXT_154 = " action = (IAction)i.next();";

+	protected final String TEXT_155 = 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_156 = " actions)" + NL + "\t{" + NL + "\t\tif (actions != null)" + NL + "\t\t{" + NL

+			+ "\t\t\t";

+	protected final String TEXT_157 = "[] 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_158 = " contributionItem = items[i];" + NL

+			+ "\t\t\t\twhile (contributionItem instanceof ";

+	protected final String TEXT_159 = ")" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\tcontributionItem = ((";

+	protected final String TEXT_160 = ")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_161 = " action = ((";

+	protected final String TEXT_162 = ")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_163 = 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_164 = " extractSubmenuActions(";

+	protected final String TEXT_165 = " createActions)" + NL + "\t{" + NL + "\t\t";

+	protected final String TEXT_166 = " createSubmenuActions = new ";

+	protected final String TEXT_167 = "();" + NL + "\t\tif (createActions != null)" + NL + "\t\t{" + NL + "\t\t\tfor (";

+	protected final String TEXT_168 = " actions = createActions.iterator(); actions.hasNext(); )" + NL + "\t\t\t{" + NL

+			+ "\t\t\t\t";

+	protected final String TEXT_169 = " action = ";

+	protected final String TEXT_170 = ")";

+	protected final String TEXT_171 = "actions.next();" + NL + "\t\t\t\t";

+	protected final String TEXT_172 = " st = new ";

+	protected final String TEXT_173 = "(action.getText(), \"|\");";

+	protected final String TEXT_174 = 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_175 = " submenuActions = ";

+	protected final String TEXT_176 = "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_177 = "());" + 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_178 = " submenuActions, String contributionID)" + NL + "\t{" + NL

+			+ "\t\tif (submenuActions != null)" + NL + "\t\t{";

+	protected final String TEXT_179 = " entry : submenuActions.entrySet())" + NL + "\t\t\t{";

+	protected final String TEXT_180 = " entries = submenuActions.entrySet().iterator(); entries.hasNext();)" + NL

+			+ "\t\t\t{" + NL + "\t\t\t\t";

+	protected final String TEXT_181 = " entry = (";

+	protected final String TEXT_182 = ")entries.next();";

+	protected final String TEXT_183 = "(String)";

+	protected final String TEXT_184 = "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_185 = "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_186 = " submenuActions)" + NL + "\t{" + NL + "\t\tif (submenuActions != null)" + NL

+			+ "\t\t{" + NL + "\t\t\t";

+	protected final String TEXT_187 = "[] 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_188 = " contributionItem = items[i];" + NL + "\t\t\t\tif (contributionItem instanceof ";

+	protected final String TEXT_189 = " submenuManager = (";

+	protected final String TEXT_190 = ")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_191 = "submenuActions.get(submenuManager.getMenuText()));" + 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_192 = 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_193 = NL + "\tpublic void menuAboutToShow(";

+	protected final String TEXT_194 = " menuManager)" + NL + "\t{" + NL + "\t\tsuper.menuAboutToShow(menuManager);";

+	protected final String TEXT_195 = NL + "\t\t";

+	protected final String TEXT_196 = " submenuManager = null;" + NL + "" + NL + "\t\tsubmenuManager = new ";

+	protected final String TEXT_197 = NL + "\t\tpopulateManager(submenuManager, createChildSubmenuActions, null);";

+	protected final String TEXT_198 = NL + "\t\tpopulateManager(submenuManager, createChildActions, null);" + NL

+			+ "\t\tmenuManager.insertBefore(\"edit\", submenuManager);";

+	protected final String TEXT_199 = NL + NL + "\t\tsubmenuManager = new ";

+	protected final String TEXT_200 = NL + "\t\tpopulateManager(submenuManager, createSiblingSubmenuActions, null);";

+	protected final String TEXT_201 = NL + "\t\tpopulateManager(submenuManager, createSiblingActions, null);" + NL

+			+ "\t\tmenuManager.insertBefore(\"edit\", submenuManager);";

+	protected final String TEXT_202 = 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_203 = NL + "\tprotected void addGlobalActions(";

+	protected final String TEXT_204 = " menuManager)" + NL + "\t{" + NL

+			+ "\t\tmenuManager.insertAfter(\"additions-end\", new ";

+	protected final String TEXT_205 = "(\"ui-actions\"));";

+	protected final String TEXT_206 = NL + "\t\tmenuManager.insertAfter(\"ui-actions\", showPropertiesViewAction);";

+	protected final String TEXT_207 = NL + NL

+			+ "\t\trefreshViewerAction.setEnabled(refreshViewerAction.isEnabled());\t\t" + NL

+			+ "\t\tmenuManager.insertAfter(\"ui-actions\", refreshViewerAction);";

+	protected final String TEXT_208 = 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_209 = NL + "\tprotected boolean removeAllReferencesOnDelete()" + NL + "\t{" + NL

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

+	protected final String TEXT_210 = 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_210);

+		stringBuffer.append(TEXT_210);

+		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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.html

+		 *

+		 * Contributors:

+		 *   IBM - Initial API and implementation

+		 */

+

+		GenPackage genPackage = (GenPackage) argument;

+		GenModel genModel = genPackage.getGenModel();

+		final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;

+

+		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);

+		if (genPackage.hasAPITags()) {

+			stringBuffer.append(TEXT_6);

+			stringBuffer.append(genPackage.getAPITags(genModel.getIndentation(stringBuffer)));

+		}

+		stringBuffer.append(TEXT_7);

+		if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_8);

+		}

+		stringBuffer.append(TEXT_9);

+		stringBuffer.append(genPackage.getActionBarContributorClassName());

+		stringBuffer.append(TEXT_10);

+		stringBuffer

+				.append(genModel.getImportedName("org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor"));

+		stringBuffer.append(TEXT_11);

+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.ISelectionChangedListener"));

+		stringBuffer.append(TEXT_12);

+		if (genModel.hasCopyrightField()) {

+			stringBuffer.append(TEXT_13);

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

+			stringBuffer.append(TEXT_14);

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

+			stringBuffer.append(TEXT_15);

+		}

+		if (genModel.isRichClientPlatform() && genPackage.isGenerateModelWizard()) {

+			stringBuffer.append(TEXT_16);

+			stringBuffer.append(genPackage.getPrefix());

+			stringBuffer.append(TEXT_17);

+			stringBuffer

+					.append(genModel.getImportedName("org.eclipse.emf.common.ui.action.WorkbenchWindowActionDelegate"));

+			stringBuffer.append(TEXT_18);

+			if (genModel.useInterfaceOverrideAnnotation()) {

+				stringBuffer.append(TEXT_19);

+			}

+			stringBuffer.append(TEXT_20);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IAction"));

+			stringBuffer.append(TEXT_21);

+			stringBuffer.append(genPackage.getModelWizardClassName());

+			stringBuffer.append(TEXT_22);

+			stringBuffer.append(genPackage.getModelWizardClassName());

+			stringBuffer.append(TEXT_23);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.StructuredSelection"));

+			stringBuffer.append(TEXT_24);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.wizard.WizardDialog"));

+			stringBuffer.append(TEXT_25);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.wizard.WizardDialog"));

+			stringBuffer.append(TEXT_26);

+		}

+		stringBuffer.append(TEXT_27);

+		stringBuffer.append(genModel.getImportedName("org.eclipse.ui.IEditorPart"));

+		stringBuffer.append(TEXT_28);

+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.ISelectionProvider"));

+		stringBuffer.append(TEXT_29);

+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IAction"));

+		stringBuffer.append(TEXT_30);

+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.Action"));

+		stringBuffer.append(TEXT_31);

+		stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+		stringBuffer.append(TEXT_32);

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

+		stringBuffer.append(TEXT_33);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_34);

+		}

+		stringBuffer.append(TEXT_35);

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

+		stringBuffer.append(TEXT_36);

+		stringBuffer.append(genModel.getImportedName("org.eclipse.ui.PartInitException"));

+		stringBuffer.append(TEXT_37);

+		stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+		stringBuffer.append(TEXT_38);

+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IAction"));

+		stringBuffer.append(TEXT_39);

+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.Action"));

+		stringBuffer.append(TEXT_31);

+		stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+		stringBuffer.append(TEXT_40);

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

+		stringBuffer.append(TEXT_33);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_34);

+		}

+		stringBuffer.append(TEXT_41);

+		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.ui.viewer.IViewerProvider"));

+		stringBuffer.append(TEXT_42);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_34);

+		}

+		stringBuffer.append(TEXT_43);

+		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.ui.viewer.IViewerProvider"));

+		stringBuffer.append(TEXT_44);

+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.Viewer"));

+		stringBuffer.append(TEXT_45);

+		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.ui.viewer.IViewerProvider"));

+		stringBuffer.append(TEXT_46);

+		if (genModel.isCreationCommands()) {

+			stringBuffer.append(TEXT_47);

+			stringBuffer.append(_CollectionOfIAction);

+			stringBuffer.append(TEXT_48);

+			if (genModel.isCreationSubmenus()) {

+				stringBuffer.append(TEXT_49);

+				stringBuffer.append(_MapOfStringToCollectionOfIAction);

+				stringBuffer.append(TEXT_50);

+			}

+			stringBuffer.append(TEXT_51);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IMenuManager"));

+			stringBuffer.append(TEXT_52);

+			stringBuffer.append(_CollectionOfIAction);

+			stringBuffer.append(TEXT_53);

+			if (genModel.isCreationSubmenus()) {

+				stringBuffer.append(TEXT_54);

+				stringBuffer.append(_MapOfStringToCollectionOfIAction);

+				stringBuffer.append(TEXT_55);

+			}

+			stringBuffer.append(TEXT_56);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IMenuManager"));

+			stringBuffer.append(TEXT_57);

+		}

+		stringBuffer.append(TEXT_58);

+		stringBuffer.append(genPackage.getActionBarContributorClassName());

+		stringBuffer.append(TEXT_59);

+		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.ui.action.LoadResourceAction"));

+		stringBuffer.append(TEXT_60);

+		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.ui.action.ValidateAction"));

+		stringBuffer.append(TEXT_61);

+		if (genModel.getDecoration() == GenDecoration.LIVE) {

+			stringBuffer.append(TEXT_62);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.ui.provider.DiagnosticDecorator"));

+			stringBuffer.append(TEXT_63);

+			stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+			stringBuffer.append(TEXT_64);

+		}

+		stringBuffer.append(TEXT_65);

+		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.ui.action.ControlAction"));

+		stringBuffer.append(TEXT_61);

+		if (genModel.isFindAction()) {

+			stringBuffer.append(TEXT_66);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.ui.action.FindAction"));

+			stringBuffer.append(TEXT_67);

+		}

+		if (genModel.isRevertAction()) {

+			stringBuffer.append(TEXT_68);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.ui.action.RevertAction"));

+			stringBuffer.append(TEXT_61);

+		}

+		if (genModel.isExpandAllAction()) {

+			stringBuffer.append(TEXT_69);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.ui.action.ExpandAllAction"));

+			stringBuffer.append(TEXT_61);

+		}

+		if (genModel.isCollapseAllAction()) {

+			stringBuffer.append(TEXT_70);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.ui.action.CollapseAllAction"));

+			stringBuffer.append(TEXT_61);

+		}

+		stringBuffer.append(TEXT_71);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_72);

+		}

+		stringBuffer.append(TEXT_73);

+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IToolBarManager"));

+		stringBuffer.append(TEXT_74);

+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.Separator"));

+		stringBuffer.append(TEXT_75);

+		stringBuffer.append(genPackage.getPrefix().toLowerCase(genModel.getLocale()));

+		stringBuffer.append(TEXT_76);

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

+		stringBuffer.append(TEXT_77);

+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.Separator"));

+		stringBuffer.append(TEXT_75);

+		stringBuffer.append(genPackage.getPrefix().toLowerCase(genModel.getLocale()));

+		stringBuffer.append(TEXT_78);

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

+		stringBuffer.append(TEXT_79);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_72);

+		}

+		stringBuffer.append(TEXT_80);

+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IMenuManager"));

+		stringBuffer.append(TEXT_81);

+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IMenuManager"));

+		stringBuffer.append(TEXT_82);

+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));

+		stringBuffer.append(TEXT_31);

+		stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+		stringBuffer.append(TEXT_83);

+		stringBuffer.append(genPackage.getEditorClassName());

+		stringBuffer.append(TEXT_84);

+		stringBuffer.append(genPackage.getInterfacePackageName());

+		stringBuffer.append(TEXT_85);

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

+		stringBuffer.append(genModel.getNonNLS(2));

+		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_87);

+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.Separator"));

+		stringBuffer.append(TEXT_89);

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

+		stringBuffer.append(TEXT_87);

+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.Separator"));

+		stringBuffer.append(TEXT_90);

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

+		stringBuffer.append(TEXT_87);

+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.Separator"));

+		stringBuffer.append(TEXT_91);

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

+		stringBuffer.append(TEXT_15);

+		if (genModel.isCreationCommands()) {

+			stringBuffer.append(TEXT_92);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));

+			stringBuffer.append(TEXT_31);

+			stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+			stringBuffer.append(TEXT_93);

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

+			stringBuffer.append(TEXT_94);

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

+			stringBuffer.append(TEXT_95);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));

+			stringBuffer.append(TEXT_31);

+			stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+			stringBuffer.append(TEXT_96);

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

+			stringBuffer.append(TEXT_97);

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

+			stringBuffer.append(TEXT_98);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IMenuListener"));

+			stringBuffer.append(TEXT_99);

+			if (genModel.useInterfaceOverrideAnnotation()) {

+				stringBuffer.append(TEXT_100);

+			}

+			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_72);

+		}

+		stringBuffer.append(TEXT_105);

+		stringBuffer.append(genModel.getImportedName("org.eclipse.ui.IEditorPart"));

+		stringBuffer.append(TEXT_106);

+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.SelectionChangedEvent"));

+		stringBuffer.append(TEXT_107);

+		if (genModel.useInterfaceOverrideAnnotation()) {

+			stringBuffer.append(TEXT_72);

+		}

+		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_138);

+				stringBuffer.append(genModel.getImportedName("java.util.Iterator"));

+				stringBuffer.append(TEXT_140);

+			}

+			stringBuffer.append(TEXT_141);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.ui.action.CreateChildAction"));

+			stringBuffer.append(TEXT_142);

+			if (genModel.useGenerics()) {

+				stringBuffer.append(TEXT_143);

+			} else {

+				stringBuffer.append(TEXT_144);

+			}

+			stringBuffer.append(TEXT_145);

+			stringBuffer.append(_CollectionOfIAction);

+			stringBuffer.append(TEXT_146);

+			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_138);

+				stringBuffer.append(genModel.getImportedName("java.util.Iterator"));

+				stringBuffer.append(TEXT_140);

+			}

+			stringBuffer.append(TEXT_141);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.ui.action.CreateSiblingAction"));

+			stringBuffer.append(TEXT_142);

+			if (genModel.useGenerics()) {

+				stringBuffer.append(TEXT_143);

+			} else {

+				stringBuffer.append(TEXT_144);

+			}

+			stringBuffer.append(TEXT_147);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IContributionManager"));

+			stringBuffer.append(TEXT_148);

+			stringBuffer.append(_CollectionOfExtendsIAction);

+			stringBuffer.append(TEXT_149);

+			if (genModel.useGenerics()) {

+				stringBuffer.append(TEXT_138);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IAction"));

+				stringBuffer.append(TEXT_150);

+			} else {

+				stringBuffer.append(TEXT_138);

+				stringBuffer.append(genModel.getImportedName("java.util.Iterator"));

+				stringBuffer.append(TEXT_151);

+			}

+			stringBuffer.append(TEXT_152);

+			if (!genModel.useGenerics()) {

+				stringBuffer.append(TEXT_153);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IAction"));

+				stringBuffer.append(TEXT_154);

+			}

+			stringBuffer.append(TEXT_155);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IContributionManager"));

+			stringBuffer.append(TEXT_148);

+			stringBuffer.append(_CollectionOfExtendsIAction);

+			stringBuffer.append(TEXT_156);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IContributionItem"));

+			stringBuffer.append(TEXT_157);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IContributionItem"));

+			stringBuffer.append(TEXT_158);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.SubContributionItem"));

+			stringBuffer.append(TEXT_159);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.SubContributionItem"));

+			stringBuffer.append(TEXT_160);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.ActionContributionItem"));

+			stringBuffer.append(TEXT_44);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IAction"));

+			stringBuffer.append(TEXT_161);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.ActionContributionItem"));

+			stringBuffer.append(TEXT_162);

+			if (genModel.isCreationSubmenus()) {

+				stringBuffer.append(TEXT_163);

+				stringBuffer.append(_MapOfStringToCollectionOfIAction);

+				stringBuffer.append(TEXT_164);

+				stringBuffer.append(_CollectionOfIAction);

+				stringBuffer.append(TEXT_165);

+				stringBuffer.append(_MapOfStringToCollectionOfIAction);

+				stringBuffer.append(TEXT_166);

+				stringBuffer.append(_LinkedHashMapOfStringToCollectionOfIAction);

+				stringBuffer.append(TEXT_167);

+				stringBuffer.append(_IteratorOfIAction);

+				stringBuffer.append(TEXT_168);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IAction"));

+				stringBuffer.append(TEXT_169);

+				if (!genModel.useGenerics()) {

+					stringBuffer.append(TEXT_31);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IAction"));

+					stringBuffer.append(TEXT_170);

+				}

+				stringBuffer.append(TEXT_171);

+				stringBuffer.append(genModel.getImportedName("java.util.StringTokenizer"));

+				stringBuffer.append(TEXT_172);

+				stringBuffer.append(genModel.getImportedName("java.util.StringTokenizer"));

+				stringBuffer.append(TEXT_173);

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

+				stringBuffer.append(TEXT_174);

+				stringBuffer.append(_CollectionOfIAction);

+				stringBuffer.append(TEXT_175);

+				if (!genModel.useGenerics()) {

+					stringBuffer.append(TEXT_31);

+					stringBuffer.append(_CollectionOfIAction);

+					stringBuffer.append(TEXT_170);

+				}

+				stringBuffer.append(TEXT_176);

+				stringBuffer.append(_ArrayListOfIAction);

+				stringBuffer.append(TEXT_177);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IContributionManager"));

+				stringBuffer.append(TEXT_148);

+				stringBuffer.append(_MapOfStringToCollectionOfIAction);

+				stringBuffer.append(TEXT_178);

+				if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) {

+					stringBuffer.append(TEXT_138);

+					stringBuffer.append(_MapEntryOfStringToCollectionOfIAction);

+					stringBuffer.append(TEXT_179);

+				} else {

+					stringBuffer.append(TEXT_138);

+					stringBuffer.append(genModel.getImportedName("java.util.Iterator"));

+					stringBuffer.append(TEXT_180);

+					stringBuffer.append(_MapEntryOfStringToCollectionOfIAction);

+					stringBuffer.append(TEXT_181);

+					stringBuffer.append(_MapEntryOfStringToCollectionOfIAction);

+					stringBuffer.append(TEXT_182);

+				}

+				stringBuffer.append(TEXT_153);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));

+				stringBuffer.append(TEXT_82);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));

+				stringBuffer.append(TEXT_31);

+				if (!genModel.useGenerics()) {

+					stringBuffer.append(TEXT_183);

+				}

+				stringBuffer.append(TEXT_184);

+				if (!genModel.useGenerics()) {

+					stringBuffer.append(TEXT_31);

+					stringBuffer.append(_CollectionOfIAction);

+					stringBuffer.append(TEXT_170);

+				}

+				stringBuffer.append(TEXT_185);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IContributionManager"));

+				stringBuffer.append(TEXT_148);

+				stringBuffer.append(_MapOfStringToCollectionOfIAction);

+				stringBuffer.append(TEXT_186);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IContributionItem"));

+				stringBuffer.append(TEXT_187);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IContributionItem"));

+				stringBuffer.append(TEXT_188);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));

+				stringBuffer.append(TEXT_44);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));

+				stringBuffer.append(TEXT_189);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));

+				stringBuffer.append(TEXT_190);

+				if (!genModel.useGenerics()) {

+					stringBuffer.append(TEXT_31);

+					stringBuffer.append(_CollectionOfIAction);

+					stringBuffer.append(TEXT_170);

+				}

+				stringBuffer.append(TEXT_191);

+			}

+		}

+		stringBuffer.append(TEXT_192);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_72);

+		}

+		stringBuffer.append(TEXT_193);

+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IMenuManager"));

+		stringBuffer.append(TEXT_194);

+		if (genModel.isCreationCommands()) {

+			stringBuffer.append(TEXT_195);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));

+			stringBuffer.append(TEXT_196);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));

+			stringBuffer.append(TEXT_31);

+			stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+			stringBuffer.append(TEXT_93);

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

+			if (genModel.isCreationSubmenus()) {

+				stringBuffer.append(TEXT_197);

+			}

+			stringBuffer.append(TEXT_198);

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

+			stringBuffer.append(TEXT_199);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));

+			stringBuffer.append(TEXT_31);

+			stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+			stringBuffer.append(TEXT_96);

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

+			if (genModel.isCreationSubmenus()) {

+				stringBuffer.append(TEXT_200);

+			}

+			stringBuffer.append(TEXT_201);

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

+		}

+		stringBuffer.append(TEXT_202);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_72);

+		}

+		stringBuffer.append(TEXT_203);

+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IMenuManager"));

+		stringBuffer.append(TEXT_204);

+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.Separator"));

+		stringBuffer.append(TEXT_205);

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

+		stringBuffer.append(genModel.getNonNLS(2));

+		stringBuffer.append(TEXT_206);

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

+		stringBuffer.append(TEXT_207);

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

+		stringBuffer.append(TEXT_208);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_72);

+		}

+		stringBuffer.append(TEXT_209);

+		genModel.emitSortedImports();

+		stringBuffer.append(TEXT_15);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/Advisor.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/Advisor.java
new file mode 100644
index 0000000..def9d84
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/Advisor.java
@@ -0,0 +1,723 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.editor;

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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 -->";

+	protected final String TEXT_18 = NL + " * ";

+	protected final String TEXT_19 = NL + " * @generated" + NL + " */";

+	protected final String TEXT_20 = NL + "@Deprecated";

+	protected final String TEXT_21 = NL + "@SuppressWarnings(\"deprecation\")";

+	protected final String TEXT_22 = NL + "public final class ";

+	protected final String TEXT_23 = " extends WorkbenchAdvisor" + NL + "{";

+	protected final String TEXT_24 = 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_25 = NL;

+	protected final String TEXT_26 = 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_27 = NL + "\tprivate static final String[] FILE_EXTENSION_FILTERS = ";

+	protected final String TEXT_28 = "(String[])";

+	protected final String TEXT_29 = ".FILE_EXTENSION_FILTERS.toArray(new String[0]);";

+	protected final String TEXT_30 = 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_31 = " result = new ";

+	protected final String TEXT_32 = "();";

+	protected final String TEXT_33 = NL + "\t\tresult.addAll(";

+	protected final String TEXT_34 = ".FILE_EXTENSION_FILTERS);";

+	protected final String TEXT_35 = NL + "\t\treturn ";

+	protected final String TEXT_36 = "result.toArray(new String[0]);" + NL + "\t}";

+	protected final String TEXT_37 = " ";

+	protected final String TEXT_38 = 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_39 = ".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_40 = ".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 */";

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

+	protected final String TEXT_42 = NL + "\t\tpublic Object start(IApplicationContext context) throws Exception" + NL

+			+ "\t\t{" + NL + "\t\t\tWorkbenchAdvisor workbenchAdvisor = new ";

+	protected final String TEXT_43 = "();" + 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 */";

+	protected final String TEXT_44 = 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_45 = "Perspective\";";

+	protected final String TEXT_46 = 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 */";

+	protected final String TEXT_47 = 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_48 = 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_49 = 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_50 = 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_51 = 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_52 = 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_53 = 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_54 = 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_55 = 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_56 = 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_57 = 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_58 = NL + "\t\t\tmenu.add(ContributionItemFactory.OPEN_WINDOWS.create(window));";

+	protected final String TEXT_59 = 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_60 = 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 */";

+	protected final String TEXT_61 = 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_62 = NL + "\t\t\tgetString(\"_UI_About_text\"));";

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

+	protected final String TEXT_64 = NL + "\t/**" + NL + "\t * Open action for the objects from the ";

+	protected final String TEXT_65 = " 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 */";

+	protected final String TEXT_66 = 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_67 = NL + "\t" + NL + "\t/**" + NL + "\t * Open URI action for the objects from the ";

+	protected final String TEXT_68 = " 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 */";

+	protected final String TEXT_69 = 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_70 = 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_71 = 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_72 = NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t}" + NL + "\t";

+	protected final String TEXT_73 = 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_74 = " group = includeGroupFilter ? new ";

+	protected final String TEXT_75 = "() : 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_76 = 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_77 = 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_78 = 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_79 = NL + "\t\t\t\tgetString(\"_WARN_No_Editor\", uri.lastSegment()));";

+	protected final String TEXT_80 = 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_81 = 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_82 = 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_83 = 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_84 = NL

+			+ "\tpublic WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer)" + NL

+			+ "\t{" + NL + "\t\treturn new WindowAdvisor(configurer);" + NL + "\t}" + NL + "}";

+	protected final String TEXT_85 = 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_85);

+		stringBuffer.append(TEXT_85);

+		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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.html

+		 *

+		 * Contributors:

+		 *   IBM - Initial API and implementation

+		 */

+

+		GenModel genModel = (GenModel) argument;

+		final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;

+		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);

+		if (genModel.hasAPITags()) {

+			stringBuffer.append(TEXT_18);

+			stringBuffer.append(genModel.getAPITags(genModel.getIndentation(stringBuffer)));

+		}

+		stringBuffer.append(TEXT_19);

+		if (isJDK50 && genModel.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_20);

+		} else if (isJDK50 && GenModelUtil.hasAPIDeprecatedTag(genModel.getAllGenPackagesWithConcreteClasses())) {

+			stringBuffer.append(TEXT_21);

+		}

+		stringBuffer.append(TEXT_22);

+		stringBuffer.append(genModel.getEditorAdvisorClassName());

+		stringBuffer.append(TEXT_23);

+		if (genModel.hasCopyrightField()) {

+			stringBuffer.append(TEXT_24);

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

+			stringBuffer.append(TEXT_16);

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

+			stringBuffer.append(TEXT_25);

+		}

+		if (!genModel.isRichAjaxPlatform()) {

+			stringBuffer.append(TEXT_26);

+			if (genModel.getAllGenPackagesWithConcreteClasses().size() == 1) {

+				stringBuffer.append(TEXT_27);

+				if (!genModel.useGenerics()) {

+					stringBuffer.append(TEXT_28);

+				}

+				stringBuffer

+						.append(genModel.getAllGenPackagesWithConcreteClasses().get(0).getImportedEditorClassName());

+				stringBuffer.append(TEXT_29);

+			} else {

+				stringBuffer.append(TEXT_30);

+				stringBuffer.append(_ListOfString);

+				stringBuffer.append(TEXT_31);

+				stringBuffer.append(_UniqueEListOfString);

+				stringBuffer.append(TEXT_32);

+				for (GenPackage genPackage : genModel.getAllGenPackagesWithConcreteClasses()) {

+					stringBuffer.append(TEXT_33);

+					stringBuffer.append(genPackage.getImportedEditorClassName());

+					stringBuffer.append(TEXT_34);

+				}

+				stringBuffer.append(TEXT_35);

+				if (!genModel.useGenerics()) {

+					stringBuffer.append(TEXT_28);

+				}

+				stringBuffer.append(TEXT_36);

+			}

+			stringBuffer.append(TEXT_37);

+		}

+		stringBuffer.append(TEXT_38);

+		stringBuffer.append(genModel.getEditorPluginClassName());

+		stringBuffer.append(TEXT_39);

+		stringBuffer.append(genModel.getQualifiedEditorPluginClassName());

+		stringBuffer.append(TEXT_40);

+		if (genModel.useInterfaceOverrideAnnotation()) {

+			stringBuffer.append(TEXT_41);

+		}

+		stringBuffer.append(TEXT_42);

+		stringBuffer.append(genModel.getEditorAdvisorClassName());

+		stringBuffer.append(TEXT_43);

+		if (genModel.useInterfaceOverrideAnnotation()) {

+			stringBuffer.append(TEXT_41);

+		}

+		stringBuffer.append(TEXT_44);

+		stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());

+		stringBuffer.append(TEXT_45);

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

+		stringBuffer.append(TEXT_46);

+		if (genModel.useInterfaceOverrideAnnotation()) {

+			stringBuffer.append(TEXT_41);

+		}

+		stringBuffer.append(TEXT_47);

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

+		stringBuffer.append(TEXT_48);

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

+		stringBuffer.append(genModel.getNonNLS(2));

+		stringBuffer.append(TEXT_49);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_41);

+		}

+		stringBuffer.append(TEXT_50);

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

+		stringBuffer.append(TEXT_51);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_41);

+		}

+		stringBuffer.append(TEXT_52);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_41);

+		}

+		stringBuffer.append(TEXT_53);

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

+		stringBuffer.append(TEXT_54);

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

+		stringBuffer.append(genModel.getNonNLS(2));

+		stringBuffer.append(TEXT_55);

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

+		stringBuffer.append(TEXT_56);

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

+		stringBuffer.append(TEXT_57);

+		if (!genModel.isRichAjaxPlatform()) {

+			stringBuffer.append(TEXT_58);

+		}

+		stringBuffer.append(TEXT_59);

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

+		stringBuffer.append(TEXT_60);

+		if (genModel.useInterfaceOverrideAnnotation()) {

+			stringBuffer.append(TEXT_41);

+		}

+		stringBuffer.append(TEXT_61);

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

+		stringBuffer.append(TEXT_62);

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

+		stringBuffer.append(TEXT_63);

+		if (!genModel.isRichAjaxPlatform()) {

+			stringBuffer.append(TEXT_64);

+			stringBuffer.append(genModel.getModelName());

+			stringBuffer.append(TEXT_65);

+			if (genModel.useInterfaceOverrideAnnotation()) {

+				stringBuffer.append(TEXT_41);

+			}

+			stringBuffer.append(TEXT_66);

+		}

+		stringBuffer.append(TEXT_67);

+		stringBuffer.append(genModel.getModelName());

+		stringBuffer.append(TEXT_68);

+		if (genModel.useInterfaceOverrideAnnotation()) {

+			stringBuffer.append(TEXT_41);

+		}

+		stringBuffer.append(TEXT_69);

+		if (genModel.useGenerics()) {

+			stringBuffer.append(TEXT_70);

+		} else {

+			stringBuffer.append(TEXT_71);

+		}

+		stringBuffer.append(TEXT_72);

+		if (!genModel.isRichAjaxPlatform()) {

+			stringBuffer.append(TEXT_73);

+			stringBuffer.append(_StringBuilder);

+			stringBuffer.append(TEXT_74);

+			stringBuffer.append(_StringBuilder);

+			stringBuffer.append(TEXT_75);

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

+			stringBuffer.append(TEXT_76);

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

+			stringBuffer.append(TEXT_77);

+		}

+		stringBuffer.append(TEXT_78);

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

+		stringBuffer.append(TEXT_79);

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

+		stringBuffer.append(TEXT_80);

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

+		stringBuffer.append(TEXT_81);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_41);

+		}

+		stringBuffer.append(TEXT_82);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_41);

+		}

+		stringBuffer.append(TEXT_83);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_41);

+		}

+		stringBuffer.append(TEXT_84);

+		genModel.emitSortedImports();

+		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.EditorProject");

+		canGenerate = canGenerate && (genModel.isRichClientPlatform());

+		return canGenerate;

+	}

+}
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/AppEngineWebXML.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/AppEngineWebXML.java
new file mode 100644
index 0000000..ab0a32e
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/AppEngineWebXML.java
@@ -0,0 +1,187 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.editor;

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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

+			+ "\t<threadsafe>true</threadsafe>" + NL + "</appengine-web-app>" + NL;

+	protected final String TEXT_5 = 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_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.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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/BuildProperties.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/BuildProperties.java
new file mode 100644
index 0000000..61566a4
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/BuildProperties.java
@@ -0,0 +1,240 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.editor;

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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 + "               ";

+	protected final String TEXT_7 = ".properties";

+	protected final String TEXT_8 = NL + "jars.compile.order = ";

+	protected final String TEXT_9 = NL + "source.";

+	protected final String TEXT_10 = " = ";

+	protected final String TEXT_11 = NL + "output.";

+	protected final String TEXT_12 = "bin";

+	protected final String TEXT_13 = "war/WEB-INF/classes";

+	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_15);

+		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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.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);

+		}

+		String editorBundleLocalization = genModel.getEditorBundleLocalization();

+		int index = editorBundleLocalization.indexOf("/");

+		if (index == -1) {

+			stringBuffer.append(TEXT_6);

+			stringBuffer.append(editorBundleLocalization);

+			stringBuffer.append(TEXT_7);

+		} else {

+			stringBuffer.append(TEXT_6);

+			stringBuffer.append(editorBundleLocalization.substring(0, index + 1));

+		}

+		stringBuffer.append(TEXT_8);

+		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_9);

+				stringBuffer.append(pluginClassesLocation);

+				stringBuffer.append(TEXT_10);

+				stringBuffer.append(sourceFolder);

+				first = false;

+			} else {

+				stringBuffer.append(sourceFolder);

+			}

+		}

+		stringBuffer.append(TEXT_11);

+		stringBuffer.append(pluginClassesLocation);

+		stringBuffer.append(TEXT_10);

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

+			stringBuffer.append(TEXT_12);

+		} else {

+			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 {

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/Editor.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/Editor.java
new file mode 100644
index 0000000..fced2b3
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/Editor.java
@@ -0,0 +1,2713 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.editor;

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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;" + NL + "import org.eclipse.swt.graphics.Rectangle;";

+	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 + "import org.eclipse.ui.part.FileEditorInput;";

+	protected final String TEXT_27 = 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_28 = NL + "import org.eclipse.emf.common.ui.MarkerHelper;";

+	protected final String TEXT_29 = NL + "import org.eclipse.emf.common.ui.ViewerPane;";

+	protected final String TEXT_30 = 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_31 = NL + "import org.eclipse.emf.ecore.EObject;" + NL

+			+ "import org.eclipse.emf.ecore.EValidator;";

+	protected final String TEXT_32 = NL + NL + "import org.eclipse.emf.ecore.resource.Resource;" + NL

+			+ "import org.eclipse.emf.ecore.resource.ResourceSet;" + 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_33 = NL + "import org.eclipse.emf.edit.ui.provider.UnwrappingSelectionProvider;";

+	protected final String TEXT_34 = NL + NL + "import org.eclipse.emf.edit.ui.util.EditUIMarkerHelper;";

+	protected final String TEXT_35 = NL + "import org.eclipse.emf.edit.ui.util.EditUIUtil;";

+	protected final String TEXT_36 = NL + NL + "import org.eclipse.emf.edit.ui.view.ExtendedPropertySheetPage;" + NL

+			+ "" + NL + "import ";

+	protected final String TEXT_37 = ";" + NL;

+	protected final String TEXT_38 = NL + NL + NL + "/**" + NL + " * This is an example of a ";

+	protected final String TEXT_39 = " model editor." + NL + " * <!-- begin-user-doc -->" + NL

+			+ " * <!-- end-user-doc -->";

+	protected final String TEXT_40 = NL + " * ";

+	protected final String TEXT_41 = NL + " * @generated" + NL + " */";

+	protected final String TEXT_42 = NL + "@Deprecated";

+	protected final String TEXT_43 = NL + "public class ";

+	protected final String TEXT_44 = NL + "\textends MultiPageEditorPart" + NL

+			+ "\timplements IEditingDomainProvider, ISelectionProvider, IMenuListener, IViewerProvider";

+	protected final String TEXT_45 = ", IGotoMarker";

+	protected final String TEXT_46 = ", ";

+	protected final String TEXT_47 = NL + "{";

+	protected final String TEXT_48 = 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_49 = " copyright = ";

+	protected final String TEXT_50 = ";";

+	protected final String TEXT_51 = 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_52 = NL + "\tpublic static final ";

+	protected final String TEXT_53 = " FILE_EXTENSION_FILTERS = prefixExtensions(";

+	protected final String TEXT_54 = ".FILE_EXTENSIONS, \"*.\");";

+	protected final String TEXT_55 = NL + "\t";

+	protected final String TEXT_56 = ".asList(";

+	protected final String TEXT_57 = ".INSTANCE.getString(\"_UI_";

+	protected final String TEXT_58 = "FilenameExtensions\").split(\"\\\\s*,\\\\s*\")), \"*.\");";

+	protected final String TEXT_59 = 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_60 = " prefixExtensions(";

+	protected final String TEXT_61 = " extensions, String prefix)" + NL + "\t{" + NL + "\t\t";

+	protected final String TEXT_62 = " result = new ";

+	protected final String TEXT_63 = "();";

+	protected final String TEXT_64 = NL + "\t\tfor (String extension : extensions)" + NL + "\t\t{" + NL

+			+ "\t\t\tresult.add(prefix + extension);";

+	protected final String TEXT_65 = 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_66 = NL + "\t\t}" + NL + "\t\treturn Collections.unmodifiableList(result);" + NL + "\t}"

+			+ NL;

+	protected final String TEXT_67 = 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_68 = " propertySheetPages = new ";

+	protected final String TEXT_69 = "();" + 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_70 = 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_71 = 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_72 = " selectionChangedListeners = new ";

+	protected final String TEXT_73 = "();" + 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_74 = 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_75 = 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{";

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

+	protected final String TEXT_77 = 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}";

+	protected final String TEXT_81 = NL + "\t\t\tpublic void partBroughtToTop(IWorkbenchPart p)" + NL + "\t\t\t{" + NL

+			+ "\t\t\t\t// Ignore." + NL + "\t\t\t}";

+	protected final String TEXT_82 = NL + "\t\t\tpublic void partClosed(IWorkbenchPart p)" + NL + "\t\t\t{" + NL

+			+ "\t\t\t\t// Ignore." + NL + "\t\t\t}";

+	protected final String TEXT_83 = NL + "\t\t\tpublic void partDeactivated(IWorkbenchPart p)" + NL + "\t\t\t{" + NL

+			+ "\t\t\t\t// Ignore." + NL + "\t\t\t}";

+	protected final String TEXT_84 = 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_85 = " removedResources = new ";

+	protected final String TEXT_86 = "();" + 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_87 = " changedResources = new ";

+	protected final String TEXT_88 = "();" + 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_89 = " savedResources = new ";

+	protected final String TEXT_90 = "();" + 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_91 = " resourceToDiagnosticMap = new ";

+	protected final String TEXT_92 = "();" + 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{" + NL + "\t\t\tprotected boolean dispatching;" + NL;

+	protected final String TEXT_93 = 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

+			+ "\t\t\t\t\t\t\tdispatchUpdateProblemIndication();" + NL + "\t\t\t\t\t\t\tbreak;" + NL + "\t\t\t\t\t\t}";

+	protected final String TEXT_94 = NL + "\t\t\t\t\t\tdefault:" + NL + "\t\t\t\t\t\t\tbreak;";

+	protected final String TEXT_95 = 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 + "" + NL

+			+ "\t\t\tprotected void dispatchUpdateProblemIndication()" + NL + "\t\t\t{" + NL

+			+ "\t\t\t\tif (updateProblemIndication && !dispatching)" + NL + "\t\t\t\t{" + NL

+			+ "\t\t\t\t\tdispatching = true;" + 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 {";

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

+	protected final String TEXT_97 = 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 dispatching = false;" + 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;

+	protected final String TEXT_98 = 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_99 = 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\tdispatchUpdateProblemIndication();" + NL + "\t\t\t}" + NL + "\t\t};";

+	protected final String TEXT_100 = 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{";

+	protected final String TEXT_101 = 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_102 = "();" + NL + "\t\t\t\t\t\tprotected ";

+	protected final String TEXT_103 = "();" + NL;

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

+	protected final String TEXT_105 = NL + "\t\t\t\t\t\tpublic boolean visit(";

+	protected final String TEXT_106 = "final ";

+	protected final String TEXT_107 = "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_108 = " && delta.getFlags() != IResourceDelta.MARKERS";

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

+	protected final String TEXT_110 = "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_111 = 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_112 = 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_113 = ".DiagnosticAdapter.update(resource, markerHelper.getMarkerDiagnostics(resource, (IFile)delta.getResource()";

+	protected final String TEXT_114 = ", false";

+	protected final String TEXT_115 = "));" + 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_116 = 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_117 = " 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_118 = " 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 {";

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

+	protected final String TEXT_120 = 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_121 = ".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 {";

+	protected final String TEXT_122 = 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_123 = ".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_124 = ".INSTANCE.log(exception);" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t};";

+	protected final String TEXT_125 = 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_126 = ".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\tResourceSet resourceSet = editingDomain.getResourceSet();" + NL + "\t\t\tif (isDirty())" + NL

+			+ "\t\t\t{" + NL + "\t\t\t\tchangedResources.addAll(resourceSet.getResources());" + NL + "\t\t\t}" + NL

+			+ "\t\t\teditingDomain.getCommandStack().flush();" + NL + "" + NL

+			+ "\t\t\tupdateProblemIndication = false;";

+	protected final String TEXT_127 = NL + "\t\t\tfor (Resource resource : changedResources)";

+	protected final String TEXT_128 = NL + "\t\t\tfor (Iterator i = changedResources.iterator(); i.hasNext(); )";

+	protected final String TEXT_129 = NL + "\t\t\t{";

+	protected final String TEXT_130 = NL + "\t\t\t\tResource resource = (Resource)i.next();";

+	protected final String TEXT_131 = 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(resourceSet.getLoadOptions());" + 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_132 = 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_133 = 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_134 = "\",";

+	protected final String TEXT_135 = 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_136 = NL + "\t\t\tfor (Diagnostic childDiagnostic : resourceToDiagnosticMap.values())";

+	protected final String TEXT_137 = NL

+			+ "\t\t\tfor (Iterator i = resourceToDiagnosticMap.values().iterator(); i.hasNext(); )";

+	protected final String TEXT_138 = NL + "\t\t\t\tDiagnostic childDiagnostic = (Diagnostic)i.next();";

+	protected final String TEXT_139 = 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_140 = NL + "\t\t\t\tproblemEditorPart.setMarkerHelper(markerHelper);";

+	protected final String TEXT_141 = 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_142 = ".INSTANCE.log(exception);" + NL + "\t\t\t\t}" + NL + "\t\t\t}";

+	protected final String TEXT_143 = NL + NL + "\t\t\tif (markerHelper.hasMarkers(editingDomain.getResourceSet()))"

+			+ NL + "\t\t\t{";

+	protected final String TEXT_144 = 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_145 = ".INSTANCE.log(exception);" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}";

+	protected final String TEXT_146 = NL + "\t\t\t\ttry" + NL + "\t\t\t\t{" + NL

+			+ "\t\t\t\t\tmarkerHelper.updateMarkers(diagnostic);" + 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_147 = ".INSTANCE.log(exception);" + NL + "\t\t\t\t}";

+	protected final String TEXT_148 = NL + "\t\t\t}";

+	protected final String TEXT_149 = 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_150 = NL + "\t\t\t\t getString(\"_WARN_FileConflict\"));";

+	protected final String TEXT_151 = 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_152 = "()" + 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_153 = 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//";

+	protected final String TEXT_154 = NL + "\t\tBasicCommandStack commandStack = new BasicCommandStack();";

+	protected final String TEXT_155 = NL + "\t\tBasicCommandStack commandStack =" + NL + "\t\t\tnew BasicCommandStack()"

+			+ NL + "\t\t\t{";

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

+	protected final String TEXT_157 = NL + "\t\t\t\tpublic void execute(Command command)" + NL + "\t\t\t\t{" + NL

+			+ "\t\t\t\t\t// Cancel live validation before executing a command that will trigger a new round of validation."

+			+ NL + "\t\t\t\t\t//" + NL + "\t\t\t\t\tif (!(command instanceof ";

+	protected final String TEXT_158 = ".NonDirtying))" + NL + "\t\t\t\t\t{" + NL + "\t\t\t\t\t\t";

+	protected final String TEXT_159 = ".cancel(editingDomain);" + NL + "\t\t\t\t\t}" + NL

+			+ "\t\t\t\t\tsuper.execute(command);" + NL + "\t\t\t\t}" + NL + "\t\t\t};";

+	protected final String TEXT_160 = 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 {";

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

+	protected final String TEXT_162 = 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  {";

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

+	protected final String TEXT_164 = 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_165 = "<PropertySheetPage>";

+	protected final String TEXT_166 = " 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_167 = "(PropertySheetPage)";

+	protected final String TEXT_168 = "i.next();" + NL

+			+ "\t\t\t\t\t\t\t\t\t  if (propertySheetPage.getControl() == null || 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_169 = "());" + 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_170 = 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_171 = " collection)" + NL + "\t{" + NL + "\t\tfinal ";

+	protected final String TEXT_172 = " 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{";

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

+	protected final String TEXT_174 = 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 */";

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

+	protected final String TEXT_176 = 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_177 = NL + "\t\t@Override";

+	protected final String TEXT_178 = 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_179 = 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_180 = 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_181 = NL + "\t\tpublic Object getParent(Object object)" + NL + "\t\t{" + NL

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

+	protected final String TEXT_182 = 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_183 = 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//";

+	protected final String TEXT_184 = 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 */";

+	protected final String TEXT_185 = 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_186 = NL + "\t\tcontextMenu.add(new Separator(\"additions\"));";

+	protected final String TEXT_187 = 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_188 = NL

+			+ "\t\tgetSite().registerContextMenu(contextMenu, new UnwrappingSelectionProvider(viewer));";

+	protected final String TEXT_189 = NL + "\t\tgetSite().registerContextMenu(contextMenu, viewer);";

+	protected final String TEXT_190 = 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_191 = ", LocalSelectionTransfer.getTransfer(), FileTransfer.getInstance()";

+	protected final String TEXT_192 = " };" + 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_193 = NL

+			+ "\t\tURI resourceURI = EditUIUtil.getURI(getEditorInput(), editingDomain.getResourceSet().getURIConverter());";

+	protected final String TEXT_194 = NL + "\t\tURI resourceURI = EditUIUtil.getURI(getEditorInput());";

+	protected final String TEXT_195 = NL + "\t\tURI resourceURI = URI.createURI(getEditorInput().getName());";

+	protected final String TEXT_196 = 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_197 = 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_198 = NL + "\t\t\t\t\t 0," + NL

+			+ "\t\t\t\t\t getString(\"_UI_CreateModelError_message\", resource.getURI()),";

+	protected final String TEXT_199 = 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_200 = 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_201 = 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_202 = NL + "\t\t\t{" + NL + "\t\t\t\tViewerPane viewerPane =" + NL

+			+ "\t\t\t\t\tnew ViewerPane(getSite().getPage(), ";

+	protected final String TEXT_203 = ".this)" + NL + "\t\t\t\t\t{";

+	protected final String TEXT_204 = 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_205 = 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

+			+ "\t\t\t\tselectionViewer.setUseHashlookup(true);" + NL + "" + NL

+			+ "\t\t\t\tselectionViewer.setLabelProvider(";

+	protected final String TEXT_206 = "new ";

+	protected final String TEXT_207 = "(";

+	protected final String TEXT_208 = "(adapterFactory";

+	protected final String TEXT_209 = ", selectionViewer";

+	protected final String TEXT_210 = ")";

+	protected final String TEXT_211 = ", new ";

+	protected final String TEXT_212 = "(editingDomain";

+	protected final String TEXT_213 = ".getResourceSet()";

+	protected final String TEXT_214 = ".getPlugin().getDialogSettings()";

+	protected final String TEXT_215 = "))";

+	protected final String TEXT_216 = ");" + 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_217 = NL + "\t\t\t\tnew ";

+	protected final String TEXT_218 = "(selectionViewer, new ";

+	protected final String TEXT_219 = ".EditingDomainLocationListener(editingDomain, selectionViewer));";

+	protected final String TEXT_220 = 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_221 = 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_222 = 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_223 = ", parentViewer";

+	protected final String TEXT_224 = ");" + 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_225 = 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_226 = 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_227 = 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_228 = ", listViewer";

+	protected final String TEXT_229 = ");" + 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_230 = 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_231 = 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_232 = 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_233 = ", treeViewer";

+	protected final String TEXT_234 = ", treeViewer))";

+	protected final String TEXT_235 = ");" + NL + "" + NL

+			+ "\t\t\t\tnew AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory);";

+	protected final String TEXT_236 = "(treeViewer, new ";

+	protected final String TEXT_237 = ".EditingDomainLocationListener(editingDomain, treeViewer));";

+	protected final String TEXT_238 = 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_239 = 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_240 = 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_241 = 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_242 = 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_243 = NL + "\t\t\t\tselfColumn.setResizable(true);" + NL + "" + NL

+			+ "\t\t\t\ttableViewer.setColumnProperties(new String [] {\"a\", \"b\"});";

+	protected final String TEXT_244 = NL

+			+ "\t\t\t\ttableViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));" + NL

+			+ "\t\t\t\ttableViewer.setLabelProvider(";

+	protected final String TEXT_245 = ", tableViewer";

+	protected final String TEXT_246 = ");" + NL;

+	protected final String TEXT_247 = "(tableViewer, new ";

+	protected final String TEXT_248 = ".EditingDomainLocationListener(editingDomain, tableViewer));" + NL;

+	protected final String TEXT_249 = 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_250 = 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_251 = 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_252 = 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_253 = 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_254 = NL

+			+ "\t\t\t\ttreeViewerWithColumns.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));"

+			+ NL + "\t\t\t\ttreeViewerWithColumns.setLabelProvider(";

+	protected final String TEXT_255 = ", treeViewerWithColumns";

+	protected final String TEXT_256 = "(treeViewerWithColumns, new ";

+	protected final String TEXT_257 = ".EditingDomainLocationListener(editingDomain, treeViewerWithColumns));" + NL;

+	protected final String TEXT_258 = 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_259 = 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.setUseHashlookup(true);" + NL

+			+ "\t\t\tselectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));" + NL

+			+ "\t\t\tselectionViewer.setLabelProvider(";

+	protected final String TEXT_260 = ");" + 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_261 = NL + "\t\t\tnew ";

+	protected final String TEXT_262 = 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_263 = NL + NL + "\t\t\tgetSite().getShell().getDisplay().asyncExec" + NL

+			+ "\t\t\t\t(new Runnable()" + NL + "\t\t\t\t {";

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

+	protected final String TEXT_265 = NL + "\t\t\t\t\t public void run()" + NL + "\t\t\t\t\t {" + NL

+			+ "\t\t\t\t\t\t if (!getContainer().isDisposed())" + NL + "\t\t\t\t\t\t {" + NL

+			+ "\t\t\t\t\t\t\t setActivePage(0);" + NL + "\t\t\t\t\t\t }" + 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_266 = 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 {";

+	protected final String TEXT_267 = 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_268 = NL + "\t\t\tif (getContainer() instanceof CTabFolder)" + NL + "\t\t\t{" + NL

+			+ "\t\t\t\tPoint point = getContainer().getSize();" + NL

+			+ "\t\t\t\tRectangle clientArea = getContainer().getClientArea();" + NL

+			+ "\t\t\t\tgetContainer().setSize(point.x,  2 * point.y - clientArea.height - clientArea.y);" + 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_269 = NL + "\t\t\tif (getContainer() instanceof CTabFolder)" + NL + "\t\t\t{" + NL

+			+ "\t\t\t\tPoint point = getContainer().getSize();" + NL

+			+ "\t\t\t\tRectangle clientArea = getContainer().getClientArea();" + NL

+			+ "\t\t\t\tgetContainer().setSize(point.x, clientArea.height + clientArea.y);" + 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_270 = 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_271 = NL + "\t@SuppressWarnings(\"";

+	protected final String TEXT_272 = "rawtypes";

+	protected final String TEXT_273 = "unchecked";

+	protected final String TEXT_274 = "\")";

+	protected final String TEXT_275 = NL + "\tpublic <T> T getAdapter(Class<T> key)";

+	protected final String TEXT_276 = NL + "\tpublic Object getAdapter(Class key)";

+	protected final String TEXT_277 = NL + "\t{" + NL + "\t\tif (key.equals(IContentOutlinePage.class))" + NL + "\t\t{";

+	protected final String TEXT_278 = NL + "\t\t\treturn showOutlineView() ? key.cast(getContentOutlinePage()) : null;";

+	protected final String TEXT_279 = NL + "\t\t\treturn showOutlineView() ? getContentOutlinePage() : null;";

+	protected final String TEXT_280 = NL + "\t\t}" + NL + "\t\telse if (key.equals(IPropertySheetPage.class))" + NL

+			+ "\t\t{";

+	protected final String TEXT_281 = NL + "\t\t\treturn key.cast(getPropertySheetPage());";

+	protected final String TEXT_282 = NL + "\t\t\treturn getPropertySheetPage();";

+	protected final String TEXT_283 = NL + "\t\t}";

+	protected final String TEXT_284 = NL + "\t\telse if (key.equals(IGotoMarker.class))" + NL + "\t\t{";

+	protected final String TEXT_285 = NL + "\t\t\treturn key.cast(this);";

+	protected final String TEXT_286 = NL + "\t\t\treturn this;";

+	protected final String TEXT_287 = NL + "\t\telse if (key.equals(";

+	protected final String TEXT_288 = ".class)) " + NL + "\t\t{" + NL + "\t\t\treturn ";

+	protected final String TEXT_289 = ".getAdapter(key, this, ";

+	protected final String TEXT_290 = ".getPlugin());" + NL + "\t\t}";

+	protected final String TEXT_291 = 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_292 = 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.setUseHashlookup(true);" + NL

+			+ "\t\t\t\t\tcontentOutlineViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));"

+			+ NL + "\t\t\t\t\tcontentOutlineViewer.setLabelProvider(";

+	protected final String TEXT_293 = ", contentOutlineViewer";

+	protected final String TEXT_294 = ");" + NL

+			+ "\t\t\t\t\tcontentOutlineViewer.setInput(editingDomain.getResourceSet());" + NL;

+	protected final String TEXT_295 = NL + "\t\t\t\t\tnew ";

+	protected final String TEXT_296 = "(contentOutlineViewer, new ";

+	protected final String TEXT_297 = ".EditingDomainLocationListener(editingDomain, contentOutlineViewer));" + NL;

+	protected final String TEXT_298 = 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_299 = 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_300 = 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 //";

+	protected final String TEXT_301 = 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_302 = ", ExtendedPropertySheetPage.Decoration.MANUAL";

+	protected final String TEXT_303 = ", ExtendedPropertySheetPage.Decoration.LIVE, ";

+	protected final String TEXT_304 = "ExtendedPropertySheetPage.Decoration.NONE, ";

+	protected final String TEXT_305 = "null, ";

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

+	protected final String TEXT_307 = NL + "\t\t\t\tpublic void setSelectionToViewer(";

+	protected final String TEXT_308 = " selection)" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\t";

+	protected final String TEXT_309 = ".this.setSelectionToViewer(selection);" + NL + "\t\t\t\t\t";

+	protected final String TEXT_310 = ".this.setFocus();" + NL + "\t\t\t\t}" + NL;

+	protected final String TEXT_311 = 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_312 = NL

+			+ "\t\tif (currentViewerPane != null && !selection.isEmpty() && selection instanceof IStructuredSelection)";

+	protected final String TEXT_313 = NL

+			+ "\t\tif (selectionViewer != null && !selection.isEmpty() && selection instanceof IStructuredSelection)";

+	protected final String TEXT_314 = NL + "\t\t{" + NL + "\t\t\tIterator";

+	protected final String TEXT_315 = "<?>";

+	protected final String TEXT_316 = " 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_317 = 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_318 = " selectionList = new ";

+	protected final String TEXT_319 = "();" + 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_320 = NL + "\t\t\t\t";

+	protected final String TEXT_321 = "();" + 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_322 = 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_323 = NL + "\tpublic boolean isDirty()" + NL + "\t{" + NL

+			+ "\t\treturn ((BasicCommandStack)editingDomain.getCommandStack()).isSaveNeeded();" + NL + "\t}" + NL;

+	protected final String TEXT_324 = NL + "\t/**" + NL + "\t * This is for implementing {@link IRevertablePart}." + NL

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

+			+ "\t */";

+	protected final String TEXT_325 = NL + "\tpublic void doRevert()" + NL + "\t{";

+	protected final String TEXT_326 = NL + "\t\tDiagnosticDecorator.cancel(editingDomain);" + NL;

+	protected final String TEXT_327 = "\t\t" + NL + "\t\tResourceSet resourceSet = editingDomain.getResourceSet();" + NL

+			+ "\t\t";

+	protected final String TEXT_328 = " resources = resourceSet.getResources();" + NL + "\t\t";

+	protected final String TEXT_329 = " unloadedResources = new ";

+	protected final String TEXT_330 = "();" + NL + "\t\tupdateProblemIndication = false;" + NL

+			+ "\t\tfor (int i = 0; i < resources.size(); ++i)" + NL + "\t\t{" + NL

+			+ "\t\t\tResource resource = resources.get(i);" + NL + "\t\t\tif (resource.isLoaded())" + NL + "\t\t\t{"

+			+ NL + "\t\t\t\tresource.unload();" + NL + "\t\t\t\tunloadedResources.add(resource);" + NL + "\t\t\t}" + NL

+			+ "\t\t}" + NL + "" + NL + "\t\tresourceToDiagnosticMap.clear();";

+	protected final String TEXT_331 = NL + "\t\tfor (Resource resource : unloadedResources)";

+	protected final String TEXT_332 = NL + "\t\tfor (Iterator i = unloadedResources.iterator(); i.hasNext(); )";

+	protected final String TEXT_333 = NL + "\t\t{";

+	protected final String TEXT_334 = NL + "\t\t\ttry" + NL + "\t\t\t{" + NL

+			+ "\t\t\t\tresource.load(resourceSet.getLoadOptions());" + NL + "\t\t\t}" + NL

+			+ "\t\t\tcatch (IOException exception)" + NL + "\t\t\t{" + NL

+			+ "\t\t\t\tif (!resourceToDiagnosticMap.containsKey(resource))" + NL + "\t\t\t\t{" + NL

+			+ "\t\t\t\t\tresourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));" + NL

+			+ "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "" + NL

+			+ "\t\teditingDomain.getCommandStack().flush();" + NL + "" + NL

+			+ "\t\tif (AdapterFactoryEditingDomain.isStale(editorSelection))" + NL + "\t\t{" + NL

+			+ "\t\t\tsetSelection(StructuredSelection.EMPTY);" + NL + "\t\t}" + NL + "" + NL

+			+ "\t\tupdateProblemIndication = true;" + NL + "\t\tupdateProblemIndication();" + NL + "\t}" + NL;

+	protected final String TEXT_335 = 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_336 = 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_337 = " saveOptions = new ";

+	protected final String TEXT_338 = NL

+			+ "\t\tsaveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED, Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER);";

+	protected final String TEXT_339 = NL

+			+ "\t\tsaveOptions.put(Resource.OPTION_LINE_DELIMITER, Resource.OPTION_LINE_DELIMITER_UNSPECIFIED);";

+	protected final String TEXT_340 = 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_341 = " operation =" + NL + "\t\t\tnew ";

+	protected final String TEXT_342 = "()" + 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_343 = NL + "\t\t\t\tpublic void ";

+	protected final String TEXT_344 = "(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;" + NL + "\t\t\t\t\t";

+	protected final String TEXT_345 = " resources = editingDomain.getResourceSet().getResources();" + NL

+			+ "\t\t\t\t\tfor (int i = 0; i < resources.size(); ++i)" + NL + "\t\t\t\t\t{" + NL

+			+ "\t\t\t\t\t\tResource resource = ";

+	protected final String TEXT_346 = "(Resource)";

+	protected final String TEXT_347 = "resources.get(i);" + 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_348 = 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_349 = 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_350 = 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_351 = ".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_352 = 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_353 = NL + "\tpublic void doSaveAs()" + NL + "\t{";

+	protected final String TEXT_354 = NL + "\t\tnew ";

+	protected final String TEXT_355 = "(getSite().getShell(), null, SWT.NONE)" + NL + "\t\t\t{";

+	protected final String TEXT_356 = 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_357 = NL + "\t\t\t\tprotected boolean processResources()" + NL + "\t\t\t\t{" + NL

+			+ "\t\t\t\t\t";

+	protected final String TEXT_358 = " 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_359 = "uris.get(0);" + NL + "\t\t\t\t\t\tdoSaveAs(uri, new ";

+	protected final String TEXT_360 = "(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_361 = NL + "\t\tString[] filters = ";

+	protected final String TEXT_362 = "(String[])";

+	protected final String TEXT_363 = "FILE_EXTENSION_FILTERS.toArray(new String[FILE_EXTENSION_FILTERS.size()]);" + NL

+			+ "\t\tString[] files = ";

+	protected final String TEXT_364 = ".openFilePathDialog(getSite().getShell(), ";

+	protected final String TEXT_365 = ".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_366 = "(uri));" + NL + "\t\t}";

+	protected final String TEXT_367 = 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_368 = 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_369 = "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_370 = "();" + NL + "\t\tdoSave(progressMonitor);" + NL + "\t}";

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

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

+	protected final String TEXT_372 = NL + "\tpublic void gotoMarker(IMarker marker)" + NL + "\t{";

+	protected final String TEXT_373 = NL + "\t\t";

+	protected final String TEXT_374 = " 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_375 = 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_376 = ".INSTANCE.log(exception);" + NL + "\t\t}";

+	protected final String TEXT_377 = NL + "\t}";

+	protected final String TEXT_378 = 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_379 = 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_380 = NL

+			+ "\t\tResourcesPlugin.getWorkspace().addResourceChangeListener(resourceChangeListener, IResourceChangeEvent.POST_CHANGE);";

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

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

+	protected final String TEXT_382 = NL + "\tpublic void setFocus()" + NL + "\t{";

+	protected final String TEXT_383 = 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_384 = NL + "\t\tgetControl(getActivePage()).setFocus();";

+	protected final String TEXT_385 = 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 */";

+	protected final String TEXT_386 = 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 */";

+	protected final String TEXT_387 = 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 */";

+	protected final String TEXT_388 = 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 */";

+	protected final String TEXT_389 = NL + "\tpublic void setSelection(ISelection selection)" + NL + "\t{" + NL

+			+ "\t\teditorSelection = selection;" + NL;

+	protected final String TEXT_390 = NL + "\t\tfor (ISelectionChangedListener listener : selectionChangedListeners)";

+	protected final String TEXT_391 = NL

+			+ "\t\tfor (Iterator listeners = selectionChangedListeners.iterator(); listeners.hasNext(); )";

+	protected final String TEXT_392 = NL

+			+ "\t\t\tISelectionChangedListener listener = (ISelectionChangedListener)listeners.next();";

+	protected final String TEXT_393 = 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_394 = " 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_395 = 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_396 = 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_397 = 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_398 = 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_399 = ".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_400 = ".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 */";

+	protected final String TEXT_401 = 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_402 = NL + "\tpublic void dispose()" + NL + "\t{" + NL

+			+ "\t\tupdateProblemIndication = false;" + NL;

+	protected final String TEXT_403 = NL

+			+ "\t\tResourcesPlugin.getWorkspace().removeResourceChangeListener(resourceChangeListener);" + NL;

+	protected final String TEXT_404 = 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_405 = NL + "\t\tfor (PropertySheetPage propertySheetPage : propertySheetPages)";

+	protected final String TEXT_406 = NL + "\t\tfor (Iterator i = propertySheetPages.iterator(); i.hasNext(); )";

+	protected final String TEXT_407 = NL + "\t\t\tPropertySheetPage propertySheetPage = (PropertySheetPage)i.next();";

+	protected final String TEXT_408 = 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_409 = ";" + NL + "\t}" + NL + "}";

+	protected final String TEXT_410 = 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_410);

+		stringBuffer.append(TEXT_410);

+		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-2019 IBM Corporation and others.

+		 * All rights reserved.   This program and the accompanying materials

+		 * are made available under the terms of the Eclipse Public License v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.html

+		 *

+		 * Contributors:

+		 *   IBM - Initial API and implementation

+		 *   Alexander Fedorov <alexander.fedorov@arsysop.ru> - Bug 546714

+		 */

+

+		GenPackage genPackage = (GenPackage) argument;

+		GenModel genModel = genPackage.getGenModel();

+		/* Trick to import java.util.* without warnings */Iterator.class.getName();

+		final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;

+		final boolean forceDefaultCase = genModel.isSwitchMissingDefaultCase();

+		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 _ListOfResource = "List" + (genModel.useGenerics() ? "<Resource>" : "");

+		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_5);

+		if (!genModel.isRichClientPlatform()) {

+			stringBuffer.append(TEXT_26);

+		}

+		stringBuffer.append(TEXT_27);

+		if (!genModel.isRichClientPlatform()) {

+			stringBuffer.append(TEXT_28);

+		}

+		if (genPackage.isMultipleEditorPages()) {

+			stringBuffer.append(TEXT_29);

+		}

+		stringBuffer.append(TEXT_30);

+		if (!genModel.isRichClientPlatform()

+				&& genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF23_VALUE) {

+			stringBuffer.append(TEXT_31);

+		}

+		stringBuffer.append(TEXT_32);

+		if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF23_VALUE) {

+			stringBuffer.append(TEXT_33);

+		}

+		if (!genModel.isRichClientPlatform()) {

+			stringBuffer.append(TEXT_34);

+		}

+		if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) {

+			stringBuffer.append(TEXT_35);

+		}

+		stringBuffer.append(TEXT_36);

+		stringBuffer.append(genPackage.getQualifiedItemProviderAdapterFactoryClassName());

+		stringBuffer.append(TEXT_37);

+		genModel.markImportLocation(stringBuffer);

+		stringBuffer.append(TEXT_38);

+		stringBuffer.append(genPackage.getPrefix());

+		stringBuffer.append(TEXT_39);

+		if (genPackage.hasAPITags()) {

+			stringBuffer.append(TEXT_40);

+			stringBuffer.append(genPackage.getAPITags(genModel.getIndentation(stringBuffer)));

+		}

+		stringBuffer.append(TEXT_41);

+		if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_42);

+		}

+		stringBuffer.append(TEXT_43);

+		stringBuffer.append(genPackage.getEditorClassName());

+		stringBuffer.append(TEXT_44);

+		if (!genModel.isRichClientPlatform()) {

+			stringBuffer.append(TEXT_45);

+		}

+		if (genModel.isRevertAction()) {

+			stringBuffer.append(TEXT_46);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.ui.util.IRevertablePart"));

+		}

+		stringBuffer.append(TEXT_47);

+		if (genModel.hasCopyrightField()) {

+			stringBuffer.append(TEXT_48);

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

+			stringBuffer.append(TEXT_49);

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

+			stringBuffer.append(TEXT_50);

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

+			stringBuffer.append(TEXT_5);

+		}

+		if (genModel.isRichClientPlatform()) {

+			stringBuffer.append(TEXT_51);

+			if (genPackage.isGenerateModelWizard()) {

+				stringBuffer.append(TEXT_52);

+				stringBuffer.append(_ListOfString);

+				stringBuffer.append(TEXT_53);

+				stringBuffer.append(genPackage.getImportedModelWizardClassName());

+				stringBuffer.append(TEXT_54);

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

+				stringBuffer.append(TEXT_55);

+			} else {

+				stringBuffer.append(TEXT_52);

+				stringBuffer.append(_ListOfString);

+				stringBuffer.append(TEXT_53);

+				stringBuffer.append(genModel.getImportedName("java.util.Arrays"));

+				stringBuffer.append(TEXT_56);

+				stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+				stringBuffer.append(TEXT_57);

+				stringBuffer.append(genPackage.getEditorClassName());

+				stringBuffer.append(TEXT_58);

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

+				stringBuffer.append(genModel.getNonNLS(2));

+				stringBuffer.append(genModel.getNonNLS(3));

+				stringBuffer.append(TEXT_55);

+			}

+			stringBuffer.append(TEXT_59);

+			stringBuffer.append(_ListOfString);

+			stringBuffer.append(TEXT_60);

+			stringBuffer.append(_ListOfString);

+			stringBuffer.append(TEXT_61);

+			stringBuffer.append(_ListOfString);

+			stringBuffer.append(TEXT_62);

+			stringBuffer.append(_ArrayListOfString);

+			stringBuffer.append(TEXT_63);

+			if (genModel.useGenerics()) {

+				stringBuffer.append(TEXT_64);

+			} else {

+				stringBuffer.append(TEXT_65);

+			}

+			stringBuffer.append(TEXT_66);

+		}

+		stringBuffer.append(TEXT_67);

+		stringBuffer.append(_ListOfPropertySheetPage);

+		stringBuffer.append(TEXT_68);

+		stringBuffer.append(_ArrayListOfPropertySheetPage);

+		stringBuffer.append(TEXT_69);

+		if (genPackage.isMultipleEditorPages()) {

+			stringBuffer.append(TEXT_70);

+		}

+		stringBuffer.append(TEXT_71);

+		stringBuffer.append(_CollectionOfSelectionChangedListener);

+		stringBuffer.append(TEXT_72);

+		stringBuffer.append(_ArrayListOfSelectionChangedListener);

+		stringBuffer.append(TEXT_73);

+		if (!genModel.isRichClientPlatform()) {

+			stringBuffer.append(TEXT_74);

+		}

+		stringBuffer.append(TEXT_75);

+		if (genModel.useInterfaceOverrideAnnotation()) {

+			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);

+		if (genModel.useInterfaceOverrideAnnotation()) {

+			stringBuffer.append(TEXT_76);

+		}

+		stringBuffer.append(TEXT_81);

+		if (genModel.useInterfaceOverrideAnnotation()) {

+			stringBuffer.append(TEXT_76);

+		}

+		stringBuffer.append(TEXT_82);

+		if (genModel.useInterfaceOverrideAnnotation()) {

+			stringBuffer.append(TEXT_76);

+		}

+		stringBuffer.append(TEXT_83);

+		if (genModel.useInterfaceOverrideAnnotation()) {

+			stringBuffer.append(TEXT_76);

+		}

+		stringBuffer.append(TEXT_84);

+		stringBuffer.append(_CollectionOfResource);

+		stringBuffer.append(TEXT_85);

+		stringBuffer.append(_ArrayListOfResource);

+		stringBuffer.append(TEXT_86);

+		stringBuffer.append(_CollectionOfResource);

+		stringBuffer.append(TEXT_87);

+		stringBuffer.append(_ArrayListOfResource);

+		stringBuffer.append(TEXT_88);

+		stringBuffer.append(_CollectionOfResource);

+		stringBuffer.append(TEXT_89);

+		stringBuffer.append(_ArrayListOfResource);

+		stringBuffer.append(TEXT_90);

+		stringBuffer.append(_MapOfResourceToDiagnostic);

+		stringBuffer.append(TEXT_91);

+		stringBuffer.append(_LinkedHashMapOfResourceToDiagnostic);

+		stringBuffer.append(TEXT_92);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_76);

+		}

+		stringBuffer.append(TEXT_93);

+		if (forceDefaultCase) {

+			stringBuffer.append(TEXT_94);

+		}

+		stringBuffer.append(TEXT_95);

+		if (genModel.useInterfaceOverrideAnnotation()) {

+			stringBuffer.append(TEXT_96);

+		}

+		stringBuffer.append(TEXT_97);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_76);

+		}

+		stringBuffer.append(TEXT_98);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_76);

+		}

+		stringBuffer.append(TEXT_99);

+		if (!genModel.isRichClientPlatform()) {

+			stringBuffer.append(TEXT_100);

+			if (genModel.useInterfaceOverrideAnnotation()) {

+				stringBuffer.append(TEXT_76);

+			}

+			stringBuffer.append(TEXT_101);

+			stringBuffer.append(_CollectionOfResource);

+			stringBuffer.append(TEXT_87);

+			stringBuffer.append(_ArrayListOfResource);

+			stringBuffer.append(TEXT_102);

+			stringBuffer.append(_CollectionOfResource);

+			stringBuffer.append(TEXT_85);

+			stringBuffer.append(_ArrayListOfResource);

+			stringBuffer.append(TEXT_103);

+			if (genModel.useInterfaceOverrideAnnotation()) {

+				stringBuffer.append(TEXT_104);

+			}

+			stringBuffer.append(TEXT_105);

+			if (genModel.getDecoration() != GenDecoration.NONE) {

+				stringBuffer.append(TEXT_106);

+			}

+			stringBuffer.append(TEXT_107);

+			if (genModel.getDecoration() == GenDecoration.NONE) {

+				stringBuffer.append(TEXT_108);

+			}

+			stringBuffer.append(TEXT_109);

+			if (genModel.getDecoration() != GenDecoration.NONE) {

+				stringBuffer.append(TEXT_106);

+			}

+			stringBuffer.append(TEXT_110);

+			if (genModel.getDecoration() == GenDecoration.NONE) {

+				stringBuffer.append(TEXT_111);

+			} else {

+				stringBuffer.append(TEXT_112);

+				stringBuffer.append(_DiagnosticDecorator);

+				stringBuffer.append(TEXT_113);

+				if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF211_VALUE) {

+					stringBuffer.append(TEXT_114);

+				}

+				stringBuffer.append(TEXT_115);

+			}

+			stringBuffer.append(TEXT_116);

+			stringBuffer.append(_CollectionOfResource);

+			stringBuffer.append(TEXT_117);

+			stringBuffer.append(_CollectionOfResource);

+			stringBuffer.append(TEXT_118);

+			if (genModel.useInterfaceOverrideAnnotation()) {

+				stringBuffer.append(TEXT_119);

+			}

+			stringBuffer.append(TEXT_120);

+			stringBuffer.append(genPackage.getEditorClassName());

+			stringBuffer.append(TEXT_121);

+			if (genModel.useInterfaceOverrideAnnotation()) {

+				stringBuffer.append(TEXT_119);

+			}

+			stringBuffer.append(TEXT_122);

+			stringBuffer.append(genPackage.getEditorClassName());

+			stringBuffer.append(TEXT_123);

+			stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+			stringBuffer.append(TEXT_124);

+		}

+		stringBuffer.append(TEXT_125);

+		stringBuffer.append(genPackage.getEditorClassName());

+		stringBuffer.append(TEXT_126);

+		if (genModel.useGenerics()) {

+			stringBuffer.append(TEXT_127);

+		} else {

+			stringBuffer.append(TEXT_128);

+		}

+		stringBuffer.append(TEXT_129);

+		if (!genModel.useGenerics()) {

+			stringBuffer.append(TEXT_130);

+		}

+		stringBuffer.append(TEXT_131);

+		if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {

+			stringBuffer.append(TEXT_132);

+		}

+		stringBuffer.append(TEXT_133);

+		stringBuffer.append(genPackage.getGenModel().getEditorPluginID());

+		stringBuffer.append(TEXT_134);

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

+		stringBuffer.append(TEXT_135);

+		if (genModel.useGenerics()) {

+			stringBuffer.append(TEXT_136);

+		} else {

+			stringBuffer.append(TEXT_137);

+		}

+		stringBuffer.append(TEXT_129);

+		if (!genModel.useGenerics()) {

+			stringBuffer.append(TEXT_138);

+		}

+		stringBuffer.append(TEXT_139);

+		if (!genModel.isRichClientPlatform()) {

+			stringBuffer.append(TEXT_140);

+		}

+		stringBuffer.append(TEXT_141);

+		stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+		stringBuffer.append(TEXT_142);

+		if (!genModel.isRichClientPlatform()) {

+			stringBuffer.append(TEXT_143);

+			if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF213_VALUE) {

+				stringBuffer.append(TEXT_144);

+				stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+				stringBuffer.append(TEXT_145);

+			} else {

+				stringBuffer.append(TEXT_146);

+				stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+				stringBuffer.append(TEXT_147);

+			}

+			stringBuffer.append(TEXT_148);

+		}

+		stringBuffer.append(TEXT_149);

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

+		stringBuffer.append(TEXT_150);

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

+		stringBuffer.append(TEXT_151);

+		stringBuffer.append(genPackage.getEditorClassName());

+		stringBuffer.append(TEXT_152);

+		stringBuffer.append(TEXT_5);

+		{

+			//<%@ 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,isJDK50:isJDK50,forceDefaultCase:forceDefaultCase,importedOperationClassName:importedOperationClassName,operationMethodName:operationMethodName,_ArrayListOfObject:_ArrayListOfObject,_ArrayListOfSelectionChangedListener:_ArrayListOfSelectionChangedListener,_CollectionOfSelectionChangedListener:_CollectionOfSelectionChangedListener,_ListOfResource:_ListOfResource,_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("isJDK50", isJDK50);

+			callParameters.put("forceDefaultCase", forceDefaultCase);

+			callParameters.put("importedOperationClassName", importedOperationClassName);

+			callParameters.put("operationMethodName", operationMethodName);

+			callParameters.put("_ArrayListOfObject", _ArrayListOfObject);

+			callParameters.put("_ArrayListOfSelectionChangedListener", _ArrayListOfSelectionChangedListener);

+			callParameters.put("_CollectionOfSelectionChangedListener", _CollectionOfSelectionChangedListener);

+			callParameters.put("_ListOfResource", _ListOfResource);

+			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_153);

+		if (genModel.getDecoration() != GenDecoration.LIVE

+				|| genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF212_VALUE) {

+			stringBuffer.append(TEXT_154);

+		} else {

+			stringBuffer.append(TEXT_155);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_156);

+			}

+			stringBuffer.append(TEXT_157);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.command.AbstractCommand"));

+			stringBuffer.append(TEXT_158);

+			stringBuffer.append(_DiagnosticDecorator);

+			stringBuffer.append(TEXT_159);

+		}

+		stringBuffer.append(TEXT_160);

+		if (genModel.useInterfaceOverrideAnnotation()) {

+			stringBuffer.append(TEXT_161);

+		}

+		stringBuffer.append(TEXT_162);

+		if (genModel.useInterfaceOverrideAnnotation()) {

+			stringBuffer.append(TEXT_163);

+		}

+		stringBuffer.append(TEXT_164);

+		if (genModel.useGenerics()) {

+			stringBuffer.append(TEXT_165);

+		}

+		stringBuffer.append(TEXT_166);

+		if (!genModel.useGenerics()) {

+			stringBuffer.append(TEXT_167);

+		}

+		stringBuffer.append(TEXT_168);

+		stringBuffer.append(_HashMapOfResourceToBoolean);

+		stringBuffer.append(TEXT_169);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_76);

+		}

+		stringBuffer.append(TEXT_170);

+		stringBuffer.append(_CollectionOfAnything);

+		stringBuffer.append(TEXT_171);

+		stringBuffer.append(_CollectionOfAnything);

+		stringBuffer.append(TEXT_172);

+		if (genModel.useInterfaceOverrideAnnotation()) {

+			stringBuffer.append(TEXT_173);

+		}

+		stringBuffer.append(TEXT_174);

+		if (genModel.useInterfaceOverrideAnnotation()) {

+			stringBuffer.append(TEXT_175);

+		}

+		stringBuffer.append(TEXT_176);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_177);

+		}

+		stringBuffer.append(TEXT_178);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_177);

+		}

+		stringBuffer.append(TEXT_179);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_177);

+		}

+		stringBuffer.append(TEXT_180);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_177);

+		}

+		stringBuffer.append(TEXT_181);

+		if (genPackage.isMultipleEditorPages()) {

+			stringBuffer.append(TEXT_182);

+		}

+		stringBuffer.append(TEXT_183);

+		if (genModel.useInterfaceOverrideAnnotation()) {

+			stringBuffer.append(TEXT_104);

+		}

+		stringBuffer.append(TEXT_184);

+		if (genModel.useInterfaceOverrideAnnotation()) {

+			stringBuffer.append(TEXT_175);

+		}

+		stringBuffer.append(TEXT_185);

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

+		stringBuffer.append(TEXT_186);

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

+		stringBuffer.append(TEXT_187);

+		if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF23_VALUE) {

+			stringBuffer.append(TEXT_188);

+		} else {

+			stringBuffer.append(TEXT_189);

+		}

+		stringBuffer.append(TEXT_190);

+		if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF29_VALUE) {

+			stringBuffer.append(TEXT_191);

+		}

+		stringBuffer.append(TEXT_192);

+		if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF211_VALUE) {

+			stringBuffer.append(TEXT_193);

+		} else if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF23_VALUE) {

+			stringBuffer.append(TEXT_194);

+		} else if (genModel.isRichClientPlatform()) {

+			stringBuffer.append(TEXT_195);

+		} else {

+			stringBuffer.append(TEXT_196);

+		}

+		stringBuffer.append(TEXT_197);

+		stringBuffer.append(genPackage.getGenModel().getEditorPluginID());

+		stringBuffer.append(TEXT_134);

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

+		stringBuffer.append(TEXT_198);

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

+		stringBuffer.append(TEXT_199);

+		stringBuffer.append(genPackage.getGenModel().getEditorPluginID());

+		stringBuffer.append(TEXT_134);

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

+		stringBuffer.append(TEXT_198);

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

+		stringBuffer.append(TEXT_200);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_175);

+		}

+		stringBuffer.append(TEXT_201);

+		if (genPackage.isMultipleEditorPages()) {

+			stringBuffer.append(TEXT_202);

+			stringBuffer.append(genPackage.getEditorClassName());

+			stringBuffer.append(TEXT_203);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_104);

+			}

+			stringBuffer.append(TEXT_204);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_104);

+			}

+			stringBuffer.append(TEXT_205);

+			if (useStyledLabelProvider) {

+				stringBuffer.append(TEXT_206);

+				stringBuffer.append(_DelegatingAdapterFactoryLabelProvider);

+				stringBuffer.append(TEXT_207);

+			}

+			if (genModel.getDecoration() != GenDecoration.NONE) {

+				stringBuffer.append(TEXT_206);

+				stringBuffer.append(_DecoratingColumLabelProvider);

+				stringBuffer.append(TEXT_207);

+			}

+			stringBuffer.append(TEXT_206);

+			stringBuffer.append(_AdapterFactoryLabelProvider);

+			stringBuffer.append(TEXT_208);

+			if (useExtendedLabelProvider) {

+				stringBuffer.append(TEXT_209);

+			}

+			stringBuffer.append(TEXT_210);

+			if (genModel.getDecoration() != GenDecoration.NONE) {

+				stringBuffer.append(TEXT_211);

+				stringBuffer.append(_DiagnosticDecorator);

+				stringBuffer.append(TEXT_212);

+				if (genModel.getDecoration() == GenDecoration.MANUAL) {

+					stringBuffer.append(TEXT_213);

+				}

+				stringBuffer.append(TEXT_209);

+				if (genModel.getDecoration() == GenDecoration.LIVE) {

+					stringBuffer.append(TEXT_46);

+					stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+					stringBuffer.append(TEXT_214);

+				}

+				stringBuffer.append(TEXT_215);

+			}

+			if (useStyledLabelProvider) {

+				stringBuffer.append(TEXT_210);

+			}

+			stringBuffer.append(TEXT_216);

+			if (genModel.getDecoration() != GenDecoration.NONE) {

+				stringBuffer.append(TEXT_217);

+				stringBuffer.append(genModel.getImportedName(

+						"org.eclipse.emf.common.ui.viewer.ColumnViewerInformationControlToolTipSupport"));

+				stringBuffer.append(TEXT_218);

+				stringBuffer.append(_DiagnosticDecorator);

+				stringBuffer.append(TEXT_219);

+			}

+			stringBuffer.append(TEXT_220);

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

+			stringBuffer.append(TEXT_221);

+			stringBuffer.append(genPackage.getEditorClassName());

+			stringBuffer.append(TEXT_203);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_104);

+			}

+			stringBuffer.append(TEXT_204);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_104);

+			}

+			stringBuffer.append(TEXT_222);

+			if (useStyledLabelProvider) {

+				stringBuffer.append(TEXT_206);

+				stringBuffer.append(_DelegatingAdapterFactoryLabelProvider);

+				stringBuffer.append(TEXT_207);

+			}

+			stringBuffer.append(TEXT_206);

+			stringBuffer.append(_AdapterFactoryLabelProvider);

+			stringBuffer.append(TEXT_208);

+			if (useExtendedLabelProvider) {

+				stringBuffer.append(TEXT_223);

+			}

+			stringBuffer.append(TEXT_210);

+			if (useStyledLabelProvider) {

+				stringBuffer.append(TEXT_210);

+			}

+			stringBuffer.append(TEXT_224);

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

+			stringBuffer.append(TEXT_225);

+			stringBuffer.append(genPackage.getEditorClassName());

+			stringBuffer.append(TEXT_203);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_104);

+			}

+			stringBuffer.append(TEXT_226);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_104);

+			}

+			stringBuffer.append(TEXT_227);

+			if (useStyledLabelProvider) {

+				stringBuffer.append(TEXT_206);

+				stringBuffer.append(_DelegatingAdapterFactoryLabelProvider);

+				stringBuffer.append(TEXT_207);

+			}

+			stringBuffer.append(TEXT_206);

+			stringBuffer.append(_AdapterFactoryLabelProvider);

+			stringBuffer.append(TEXT_208);

+			if (useExtendedLabelProvider) {

+				stringBuffer.append(TEXT_228);

+			}

+			stringBuffer.append(TEXT_210);

+			if (useStyledLabelProvider) {

+				stringBuffer.append(TEXT_210);

+			}

+			stringBuffer.append(TEXT_229);

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

+			stringBuffer.append(TEXT_230);

+			stringBuffer.append(genPackage.getEditorClassName());

+			stringBuffer.append(TEXT_203);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_104);

+			}

+			stringBuffer.append(TEXT_231);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_104);

+			}

+			stringBuffer.append(TEXT_232);

+			if (useStyledLabelProvider) {

+				stringBuffer.append(TEXT_206);

+				stringBuffer.append(_DelegatingAdapterFactoryLabelProvider);

+				stringBuffer.append(TEXT_207);

+			}

+			if (genModel.getDecoration() != GenDecoration.NONE) {

+				stringBuffer.append(TEXT_206);

+				stringBuffer.append(_DecoratingColumLabelProvider);

+				stringBuffer.append(TEXT_207);

+			}

+			stringBuffer.append(TEXT_206);

+			stringBuffer.append(_AdapterFactoryLabelProvider);

+			stringBuffer.append(TEXT_208);

+			if (useExtendedLabelProvider) {

+				stringBuffer.append(TEXT_233);

+			}

+			stringBuffer.append(TEXT_210);

+			if (genModel.getDecoration() != GenDecoration.NONE) {

+				stringBuffer.append(TEXT_211);

+				stringBuffer.append(_DiagnosticDecorator);

+				stringBuffer.append(TEXT_212);

+				if (genModel.getDecoration() == GenDecoration.MANUAL) {

+					stringBuffer.append(TEXT_213);

+				}

+				stringBuffer.append(TEXT_234);

+			}

+			if (useStyledLabelProvider) {

+				stringBuffer.append(TEXT_210);

+			}

+			stringBuffer.append(TEXT_235);

+			if (genModel.getDecoration() != GenDecoration.NONE) {

+				stringBuffer.append(TEXT_217);

+				stringBuffer.append(genModel.getImportedName(

+						"org.eclipse.emf.common.ui.viewer.ColumnViewerInformationControlToolTipSupport"));

+				stringBuffer.append(TEXT_236);

+				stringBuffer.append(_DiagnosticDecorator);

+				stringBuffer.append(TEXT_237);

+			}

+			stringBuffer.append(TEXT_238);

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

+			stringBuffer.append(TEXT_239);

+			stringBuffer.append(genPackage.getEditorClassName());

+			stringBuffer.append(TEXT_203);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_104);

+			}

+			stringBuffer.append(TEXT_240);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_104);

+			}

+			stringBuffer.append(TEXT_241);

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

+			stringBuffer.append(TEXT_242);

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

+			stringBuffer.append(TEXT_243);

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

+			stringBuffer.append(genModel.getNonNLS(2));

+			stringBuffer.append(TEXT_244);

+			if (useStyledLabelProvider) {

+				stringBuffer.append(TEXT_206);

+				stringBuffer.append(_DelegatingAdapterFactoryLabelProvider);

+				stringBuffer.append(TEXT_207);

+			}

+			if (genModel.getDecoration() != GenDecoration.NONE) {

+				stringBuffer.append(TEXT_206);

+				stringBuffer.append(_DecoratingColumLabelProvider);

+				stringBuffer.append(TEXT_207);

+			}

+			stringBuffer.append(TEXT_206);

+			stringBuffer.append(_AdapterFactoryLabelProvider);

+			stringBuffer.append(TEXT_208);

+			if (useExtendedLabelProvider) {

+				stringBuffer.append(TEXT_245);

+			}

+			stringBuffer.append(TEXT_210);

+			if (genModel.getDecoration() != GenDecoration.NONE) {

+				stringBuffer.append(TEXT_211);

+				stringBuffer.append(_DiagnosticDecorator);

+				stringBuffer.append(TEXT_212);

+				if (genModel.getDecoration() == GenDecoration.MANUAL) {

+					stringBuffer.append(TEXT_213);

+				}

+				stringBuffer.append(TEXT_245);

+				if (genModel.getDecoration() == GenDecoration.LIVE) {

+					stringBuffer.append(TEXT_46);

+					stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+					stringBuffer.append(TEXT_214);

+				}

+				stringBuffer.append(TEXT_215);

+			}

+			if (useStyledLabelProvider) {

+				stringBuffer.append(TEXT_210);

+			}

+			stringBuffer.append(TEXT_246);

+			if (genModel.getDecoration() != GenDecoration.NONE) {

+				stringBuffer.append(TEXT_217);

+				stringBuffer.append(genModel.getImportedName(

+						"org.eclipse.emf.common.ui.viewer.ColumnViewerInformationControlToolTipSupport"));

+				stringBuffer.append(TEXT_247);

+				stringBuffer.append(_DiagnosticDecorator);

+				stringBuffer.append(TEXT_248);

+			}

+			stringBuffer.append(TEXT_249);

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

+			stringBuffer.append(TEXT_250);

+			stringBuffer.append(genPackage.getEditorClassName());

+			stringBuffer.append(TEXT_203);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_104);

+			}

+			stringBuffer.append(TEXT_231);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_104);

+			}

+			stringBuffer.append(TEXT_251);

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

+			stringBuffer.append(TEXT_252);

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

+			stringBuffer.append(TEXT_253);

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

+			stringBuffer.append(genModel.getNonNLS(2));

+			stringBuffer.append(TEXT_254);

+			if (useStyledLabelProvider) {

+				stringBuffer.append(TEXT_206);

+				stringBuffer.append(_DelegatingAdapterFactoryLabelProvider);

+				stringBuffer.append(TEXT_207);

+			}

+			if (genModel.getDecoration() != GenDecoration.NONE) {

+				stringBuffer.append(TEXT_206);

+				stringBuffer.append(_DecoratingColumLabelProvider);

+				stringBuffer.append(TEXT_207);

+			}

+			stringBuffer.append(TEXT_206);

+			stringBuffer.append(_AdapterFactoryLabelProvider);

+			stringBuffer.append(TEXT_208);

+			if (useExtendedLabelProvider) {

+				stringBuffer.append(TEXT_255);

+			}

+			stringBuffer.append(TEXT_210);

+			if (genModel.getDecoration() != GenDecoration.NONE) {

+				stringBuffer.append(TEXT_211);

+				stringBuffer.append(_DiagnosticDecorator);

+				stringBuffer.append(TEXT_212);

+				if (genModel.getDecoration() == GenDecoration.MANUAL) {

+					stringBuffer.append(TEXT_213);

+				}

+				stringBuffer.append(TEXT_255);

+				if (genModel.getDecoration() == GenDecoration.LIVE) {

+					stringBuffer.append(TEXT_46);

+					stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+					stringBuffer.append(TEXT_214);

+				}

+				stringBuffer.append(TEXT_215);

+			}

+			if (useStyledLabelProvider) {

+				stringBuffer.append(TEXT_210);

+			}

+			stringBuffer.append(TEXT_246);

+			if (genModel.getDecoration() != GenDecoration.NONE) {

+				stringBuffer.append(TEXT_217);

+				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_148);

+		} else {

+			stringBuffer.append(TEXT_259);

+			if (useStyledLabelProvider) {

+				stringBuffer.append(TEXT_206);

+				stringBuffer.append(_DelegatingAdapterFactoryLabelProvider);

+				stringBuffer.append(TEXT_207);

+			}

+			if (genModel.getDecoration() != GenDecoration.NONE) {

+				stringBuffer.append(TEXT_206);

+				stringBuffer.append(_DecoratingColumLabelProvider);

+				stringBuffer.append(TEXT_207);

+			}

+			stringBuffer.append(TEXT_206);

+			stringBuffer.append(_AdapterFactoryLabelProvider);

+			stringBuffer.append(TEXT_208);

+			if (useExtendedLabelProvider) {

+				stringBuffer.append(TEXT_209);

+			}

+			stringBuffer.append(TEXT_210);

+			if (genModel.getDecoration() != GenDecoration.NONE) {

+				stringBuffer.append(TEXT_211);

+				stringBuffer.append(_DiagnosticDecorator);

+				stringBuffer.append(TEXT_212);

+				if (genModel.getDecoration() == GenDecoration.MANUAL) {

+					stringBuffer.append(TEXT_213);

+				}

+				stringBuffer.append(TEXT_209);

+				if (genModel.getDecoration() == GenDecoration.LIVE) {

+					stringBuffer.append(TEXT_46);

+					stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+					stringBuffer.append(TEXT_214);

+				}

+				stringBuffer.append(TEXT_215);

+			}

+			if (useStyledLabelProvider) {

+				stringBuffer.append(TEXT_210);

+			}

+			stringBuffer.append(TEXT_260);

+			if (genModel.getDecoration() != GenDecoration.NONE) {

+				stringBuffer.append(TEXT_261);

+				stringBuffer.append(genModel.getImportedName(

+						"org.eclipse.emf.common.ui.viewer.ColumnViewerInformationControlToolTipSupport"));

+				stringBuffer.append(TEXT_218);

+				stringBuffer.append(_DiagnosticDecorator);

+				stringBuffer.append(TEXT_219);

+			}

+			stringBuffer.append(TEXT_262);

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

+		}

+		stringBuffer.append(TEXT_263);

+		if (genModel.useInterfaceOverrideAnnotation()) {

+			stringBuffer.append(TEXT_264);

+		}

+		stringBuffer.append(TEXT_265);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_156);

+		}

+		stringBuffer.append(TEXT_266);

+		if (genModel.useInterfaceOverrideAnnotation()) {

+			stringBuffer.append(TEXT_161);

+		}

+		stringBuffer.append(TEXT_267);

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

+		stringBuffer.append(TEXT_268);

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

+		stringBuffer.append(TEXT_269);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_175);

+		}

+		stringBuffer.append(TEXT_270);

+		if (genModel.useGenerics()

+				&& genModel.getEclipsePlatformVersion().getValue() < GenEclipsePlatformVersion.MARS_VALUE) {

+			stringBuffer.append(TEXT_271);

+			if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF26_VALUE) {

+				stringBuffer.append(TEXT_272);

+			} else {

+				stringBuffer.append(TEXT_273);

+			}

+			stringBuffer.append(TEXT_274);

+		}

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_175);

+		}

+		if (genModel.getEclipsePlatformVersion().getValue() >= GenEclipsePlatformVersion.MARS_VALUE) {

+			stringBuffer.append(TEXT_275);

+		} else {

+			stringBuffer.append(TEXT_276);

+		}

+		stringBuffer.append(TEXT_277);

+		if (genModel.getEclipsePlatformVersion().getValue() >= GenEclipsePlatformVersion.MARS_VALUE) {

+			stringBuffer.append(TEXT_278);

+		} else {

+			stringBuffer.append(TEXT_279);

+		}

+		stringBuffer.append(TEXT_280);

+		if (genModel.getEclipsePlatformVersion().getValue() >= GenEclipsePlatformVersion.MARS_VALUE) {

+			stringBuffer.append(TEXT_281);

+		} else {

+			stringBuffer.append(TEXT_282);

+		}

+		stringBuffer.append(TEXT_283);

+		if (!genModel.isRichClientPlatform()) {

+			stringBuffer.append(TEXT_284);

+			if (genModel.getEclipsePlatformVersion().getValue() >= GenEclipsePlatformVersion.MARS_VALUE) {

+				stringBuffer.append(TEXT_285);

+			} else {

+				stringBuffer.append(TEXT_286);

+			}

+			stringBuffer.append(TEXT_283);

+		}

+		if (genModel.isFindAction()) {

+			stringBuffer.append(TEXT_287);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.text.IFindReplaceTarget"));

+			stringBuffer.append(TEXT_288);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.ui.util.FindAndReplaceTarget"));

+			stringBuffer.append(TEXT_289);

+			stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+			stringBuffer.append(TEXT_290);

+		}

+		stringBuffer.append(TEXT_291);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_156);

+		}

+		stringBuffer.append(TEXT_292);

+		if (useStyledLabelProvider) {

+			stringBuffer.append(TEXT_206);

+			stringBuffer.append(_DelegatingAdapterFactoryLabelProvider);

+			stringBuffer.append(TEXT_207);

+		}

+		if (genModel.getDecoration() != GenDecoration.NONE) {

+			stringBuffer.append(TEXT_206);

+			stringBuffer.append(_DecoratingColumLabelProvider);

+			stringBuffer.append(TEXT_207);

+		}

+		stringBuffer.append(TEXT_206);

+		stringBuffer.append(_AdapterFactoryLabelProvider);

+		stringBuffer.append(TEXT_208);

+		if (useExtendedLabelProvider) {

+			stringBuffer.append(TEXT_293);

+		}

+		stringBuffer.append(TEXT_210);

+		if (genModel.getDecoration() != GenDecoration.NONE) {

+			stringBuffer.append(TEXT_211);

+			stringBuffer.append(_DiagnosticDecorator);

+			stringBuffer.append(TEXT_212);

+			if (genModel.getDecoration() == GenDecoration.MANUAL) {

+				stringBuffer.append(TEXT_213);

+			}

+			stringBuffer.append(TEXT_293);

+			if (genModel.getDecoration() == GenDecoration.LIVE) {

+				stringBuffer.append(TEXT_46);

+				stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+				stringBuffer.append(TEXT_214);

+			}

+			stringBuffer.append(TEXT_215);

+		}

+		if (useStyledLabelProvider) {

+			stringBuffer.append(TEXT_210);

+		}

+		stringBuffer.append(TEXT_294);

+		if (genModel.getDecoration() != GenDecoration.NONE) {

+			stringBuffer.append(TEXT_295);

+			stringBuffer.append(genModel

+					.getImportedName("org.eclipse.emf.common.ui.viewer.ColumnViewerInformationControlToolTipSupport"));

+			stringBuffer.append(TEXT_296);

+			stringBuffer.append(_DiagnosticDecorator);

+			stringBuffer.append(TEXT_297);

+		}

+		stringBuffer.append(TEXT_298);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_156);

+		}

+		stringBuffer.append(TEXT_299);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_156);

+		}

+		stringBuffer.append(TEXT_300);

+		if (genModel.useInterfaceOverrideAnnotation()) {

+			stringBuffer.append(TEXT_264);

+		}

+		stringBuffer.append(TEXT_301);

+		if (genModel.getDecoration() == GenDecoration.MANUAL) {

+			stringBuffer.append(TEXT_302);

+		} else if (genModel.getDecoration() == GenDecoration.LIVE) {

+			stringBuffer.append(TEXT_303);

+			stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+			stringBuffer.append(TEXT_214);

+		}

+		if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF214_VALUE) {

+			stringBuffer.append(TEXT_46);

+			if (genModel.getDecoration() == GenDecoration.NONE) {

+				stringBuffer.append(TEXT_304);

+			}

+			if (genModel.getDecoration() != GenDecoration.LIVE) {

+				stringBuffer.append(TEXT_305);

+			}

+			stringBuffer.append(genModel.getAutoExpandProperties());

+			stringBuffer.append(TEXT_46);

+			stringBuffer.append(genModel.isAutoResizeProperties());

+		}

+		stringBuffer.append(TEXT_306);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_156);

+		}

+		stringBuffer.append(TEXT_307);

+		stringBuffer.append(_ListOfAnything);

+		stringBuffer.append(TEXT_308);

+		stringBuffer.append(genPackage.getEditorClassName());

+		stringBuffer.append(TEXT_309);

+		stringBuffer.append(genPackage.getEditorClassName());

+		stringBuffer.append(TEXT_310);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_156);

+		}

+		stringBuffer.append(TEXT_311);

+		if (genPackage.isMultipleEditorPages()) {

+			stringBuffer.append(TEXT_312);

+		} else {

+			stringBuffer.append(TEXT_313);

+		}

+		stringBuffer.append(TEXT_314);

+		if (genModel.useGenerics()) {

+			stringBuffer.append(TEXT_315);

+		}

+		stringBuffer.append(TEXT_316);

+		if (genPackage.isMultipleEditorPages()) {

+			stringBuffer.append(TEXT_317);

+			stringBuffer.append(_ArrayListOfObject);

+			stringBuffer.append(TEXT_318);

+			stringBuffer.append(_ArrayListOfObject);

+			stringBuffer.append(TEXT_319);

+		} else {

+			stringBuffer.append(TEXT_320);

+			stringBuffer.append(_ArrayListOfObject);

+			stringBuffer.append(TEXT_318);

+			stringBuffer.append(_ArrayListOfObject);

+			stringBuffer.append(TEXT_321);

+		}

+		stringBuffer.append(TEXT_322);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_175);

+		}

+		stringBuffer.append(TEXT_323);

+		if (genModel.isRevertAction()) {

+			stringBuffer.append(TEXT_324);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_175);

+			}

+			stringBuffer.append(TEXT_325);

+			if (genModel.getDecoration() == GenDecoration.LIVE) {

+				stringBuffer.append(TEXT_326);

+			}

+			stringBuffer.append(TEXT_327);

+			stringBuffer.append(_ListOfResource);

+			stringBuffer.append(TEXT_328);

+			stringBuffer.append(_ListOfResource);

+			stringBuffer.append(TEXT_329);

+			stringBuffer.append(_ArrayListOfResource);

+			stringBuffer.append(TEXT_330);

+			if (genModel.useGenerics()) {

+				stringBuffer.append(TEXT_331);

+			} else {

+				stringBuffer.append(TEXT_332);

+			}

+			stringBuffer.append(TEXT_333);

+			if (!genModel.useGenerics()) {

+				stringBuffer.append(TEXT_130);

+			}

+			stringBuffer.append(TEXT_334);

+		}

+		stringBuffer.append(TEXT_335);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_175);

+		}

+		stringBuffer.append(TEXT_336);

+		stringBuffer.append(_MapOfObjectToObject);

+		stringBuffer.append(TEXT_337);

+		stringBuffer.append(_HashMapOfObjectToObject);

+		stringBuffer.append(TEXT_63);

+		if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF23_VALUE) {

+			stringBuffer.append(TEXT_338);

+		}

+		if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF29_VALUE) {

+			stringBuffer.append(TEXT_339);

+		}

+		stringBuffer.append(TEXT_340);

+		stringBuffer.append(importedOperationClassName);

+		stringBuffer.append(TEXT_341);

+		stringBuffer.append(importedOperationClassName);

+		stringBuffer.append(TEXT_342);

+		if (genModel.useInterfaceOverrideAnnotation()

+				|| !genModel.isRichClientPlatform() && genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_156);

+		}

+		stringBuffer.append(TEXT_343);

+		stringBuffer.append(operationMethodName);

+		stringBuffer.append(TEXT_344);

+		stringBuffer.append(_ListOfResource);

+		stringBuffer.append(TEXT_345);

+		if (!genModel.useGenerics()) {

+			stringBuffer.append(TEXT_346);

+		}

+		stringBuffer.append(TEXT_347);

+		if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {

+			stringBuffer.append(TEXT_348);

+		} else {

+			stringBuffer.append(TEXT_349);

+		}

+		stringBuffer.append(TEXT_350);

+		stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+		stringBuffer.append(TEXT_351);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_175);

+		}

+		stringBuffer.append(TEXT_352);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_175);

+		}

+		stringBuffer.append(TEXT_353);

+		if (genModel.isRichClientPlatform()) {

+			if (genModel.isRichAjaxPlatform()) {

+				stringBuffer.append(TEXT_354);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.ui.dialogs.ResourceDialog"));

+				stringBuffer.append(TEXT_355);

+				if (genModel.useClassOverrideAnnotation()) {

+					stringBuffer.append(TEXT_156);

+				}

+				stringBuffer.append(TEXT_356);

+				if (genModel.useClassOverrideAnnotation()) {

+					stringBuffer.append(TEXT_156);

+				}

+				stringBuffer.append(TEXT_357);

+				stringBuffer.append("List" + (genModel.useGenerics() ? "<URI>" : ""));

+				stringBuffer.append(TEXT_358);

+				stringBuffer.append(genModel.useGenerics() ? "" : "(URI)");

+				stringBuffer.append(TEXT_359);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.ui.URIEditorInput"));

+				stringBuffer.append(TEXT_360);

+			} else {

+				stringBuffer.append(TEXT_361);

+				if (!genModel.useGenerics()) {

+					stringBuffer.append(TEXT_362);

+				}

+				stringBuffer.append(TEXT_363);

+				stringBuffer.append(genModel.getImportedName(genModel.getQualifiedEditorAdvisorClassName()));

+				stringBuffer.append(TEXT_364);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.swt.SWT"));

+				stringBuffer.append(TEXT_365);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.ui.URIEditorInput"));

+				stringBuffer.append(TEXT_366);

+			}

+		} else {

+			stringBuffer.append(TEXT_367);

+		}

+		stringBuffer.append(TEXT_368);

+		if (!genModel.useGenerics()) {

+			stringBuffer.append(TEXT_346);

+		}

+		stringBuffer.append(TEXT_369);

+		stringBuffer.append(genModel.getImportedName("org.eclipse.core.runtime.NullProgressMonitor"));

+		stringBuffer.append(TEXT_370);

+		if (!genModel.isRichClientPlatform()) {

+			stringBuffer.append(TEXT_371);

+			if (genModel.useInterfaceOverrideAnnotation()) {

+				stringBuffer.append(TEXT_175);

+			}

+			stringBuffer.append(TEXT_372);

+			if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF23_VALUE) {

+				stringBuffer.append(TEXT_373);

+				stringBuffer.append(_ListOfAnything);

+				stringBuffer.append(TEXT_374);

+			} else {

+				stringBuffer.append(TEXT_375);

+				stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+				stringBuffer.append(TEXT_376);

+			}

+			stringBuffer.append(TEXT_377);

+		}

+		stringBuffer.append(TEXT_378);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_175);

+		}

+		stringBuffer.append(TEXT_379);

+		if (!genModel.isRichClientPlatform()) {

+			stringBuffer.append(TEXT_380);

+		}

+		stringBuffer.append(TEXT_381);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_175);

+		}

+		stringBuffer.append(TEXT_382);

+		if (genPackage.isMultipleEditorPages()) {

+			stringBuffer.append(TEXT_383);

+		} else {

+			stringBuffer.append(TEXT_384);

+		}

+		stringBuffer.append(TEXT_385);

+		if (genModel.useInterfaceOverrideAnnotation()) {

+			stringBuffer.append(TEXT_175);

+		}

+		stringBuffer.append(TEXT_386);

+		if (genModel.useInterfaceOverrideAnnotation()) {

+			stringBuffer.append(TEXT_175);

+		}

+		stringBuffer.append(TEXT_387);

+		if (genModel.useInterfaceOverrideAnnotation()) {

+			stringBuffer.append(TEXT_175);

+		}

+		stringBuffer.append(TEXT_388);

+		if (genModel.useInterfaceOverrideAnnotation()) {

+			stringBuffer.append(TEXT_175);

+		}

+		stringBuffer.append(TEXT_389);

+		if (genModel.useGenerics()) {

+			stringBuffer.append(TEXT_390);

+		} else {

+			stringBuffer.append(TEXT_391);

+		}

+		stringBuffer.append(TEXT_333);

+		if (!genModel.useGenerics()) {

+			stringBuffer.append(TEXT_392);

+		}

+		stringBuffer.append(TEXT_393);

+		stringBuffer.append(_CollectionOfAnything);

+		stringBuffer.append(TEXT_394);

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

+		stringBuffer.append(TEXT_395);

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

+		stringBuffer.append(TEXT_396);

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

+		stringBuffer.append(TEXT_397);

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

+		stringBuffer.append(TEXT_398);

+		stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+		stringBuffer.append(TEXT_399);

+		stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+		stringBuffer.append(TEXT_400);

+		if (genModel.useInterfaceOverrideAnnotation()) {

+			stringBuffer.append(TEXT_175);

+		}

+		stringBuffer.append(TEXT_401);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_175);

+		}

+		stringBuffer.append(TEXT_402);

+		if (!genModel.isRichClientPlatform()) {

+			stringBuffer.append(TEXT_403);

+		}

+		stringBuffer.append(TEXT_404);

+		if (genModel.useGenerics()) {

+			stringBuffer.append(TEXT_405);

+		} else {

+			stringBuffer.append(TEXT_406);

+		}

+		stringBuffer.append(TEXT_333);

+		if (!genModel.useGenerics()) {

+			stringBuffer.append(TEXT_407);

+		}

+		stringBuffer.append(TEXT_408);

+		stringBuffer.append(genPackage.isMultipleEditorPages());

+		stringBuffer.append(TEXT_409);

+		genModel.emitSortedImports();

+		stringBuffer.append(TEXT_5);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/EntryPoint.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/EntryPoint.java
new file mode 100644
index 0000000..24f16d8
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/EntryPoint.java
@@ -0,0 +1,267 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.editor;

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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 -->";

+	protected final String TEXT_5 = NL + " * ";

+	protected final String TEXT_6 = NL + " * @generated" + NL + " */";

+	protected final String TEXT_7 = NL + "@Deprecated";

+	protected final String TEXT_8 = NL + "@SuppressWarnings(\"deprecation\")";

+	protected final String TEXT_9 = NL + "public class ";

+	protected final String TEXT_10 = " extends EditorEntryPoint" + NL + "{";

+	protected final String TEXT_11 = 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_12 = " copyright = ";

+	protected final String TEXT_13 = ";";

+	protected final String TEXT_14 = NL + "\t";

+	protected final String TEXT_15 = 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_16 = ".Registry packageRegistry)" + NL + "\t{";

+	protected final String TEXT_17 = NL + "\t\tpackageRegistry.put(";

+	protected final String TEXT_18 = ".eNS_URI, ";

+	protected final String TEXT_19 = ".eINSTANCE);";

+	protected final String TEXT_20 = 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_21 = " adapterFactory)" + NL + "\t{";

+	protected final String TEXT_22 = NL + "\t\tadapterFactory.addAdapterFactory(new ";

+	protected final String TEXT_23 = "());";

+	protected final String TEXT_24 = 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_25 = " Application\";";

+	protected final String TEXT_26 = NL + "\t}" + NL + "}";

+	protected final String TEXT_27 = NL;

+	protected final String TEXT_28 = 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_28);

+		stringBuffer.append(TEXT_28);

+		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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.html

+		 *

+		 * Contributors:

+		 *   Ed Merks - Initial API and implementation

+		 */

+

+		GenModel genModel = (GenModel) argument;

+		/* Trick to import java.util.* without warnings */Iterator.class.getName();

+		final boolean isJDK50 = 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(genModel.getEditorPluginPackageName());

+		stringBuffer.append(TEXT_3);

+		genModel.markImportLocation(stringBuffer);

+		stringBuffer.append(TEXT_4);

+		if (genModel.hasAPITags()) {

+			stringBuffer.append(TEXT_5);

+			stringBuffer.append(genModel.getAPITags(genModel.getIndentation(stringBuffer)));

+		}

+		stringBuffer.append(TEXT_6);

+		if (isJDK50 && genModel.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_7);

+		} else if (isJDK50 && GenModelUtil.hasAPIDeprecatedTag(genModel.getAllGenAndUsedGenPackagesWithClassifiers())) {

+			stringBuffer.append(TEXT_8);

+		}

+		stringBuffer.append(TEXT_9);

+		stringBuffer.append(genModel.getEditorEntryPointClassName());

+		stringBuffer.append(TEXT_10);

+		if (genModel.hasCopyrightField()) {

+			stringBuffer.append(TEXT_11);

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

+			stringBuffer.append(TEXT_12);

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

+			stringBuffer.append(TEXT_13);

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

+			stringBuffer.append(TEXT_14);

+		}

+		stringBuffer.append(TEXT_15);

+		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

+		stringBuffer.append(TEXT_16);

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

+			stringBuffer.append(TEXT_17);

+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+			stringBuffer.append(TEXT_18);

+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+			stringBuffer.append(TEXT_19);

+		}

+		stringBuffer.append(TEXT_20);

+		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.ComposedAdapterFactory"));

+		stringBuffer.append(TEXT_21);

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

+			stringBuffer.append(TEXT_22);

+			stringBuffer.append(genPackage.getImportedItemProviderAdapterFactoryClassName());

+			stringBuffer.append(TEXT_23);

+		}

+		stringBuffer.append(TEXT_24);

+		stringBuffer.append(genModel.getModelName());

+		stringBuffer.append(TEXT_25);

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

+		stringBuffer.append(TEXT_26);

+		genModel.emitSortedImports();

+		stringBuffer.append(TEXT_27);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/HomeHTML.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/HomeHTML.java
new file mode 100644
index 0000000..00dd801
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/HomeHTML.java
@@ -0,0 +1,197 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.editor;

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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;

+

+	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_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.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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ManifestMF.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ManifestMF.java
new file mode 100644
index 0000000..986a0ec
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ManifestMF.java
@@ -0,0 +1,274 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.editor;

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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: ";

+	protected final String TEXT_2 = NL + "Bundle-SymbolicName: ";

+	protected final String TEXT_3 = ";singleton:=true" + NL + "Automatic-Module-Name: ";

+	protected final String TEXT_4 = NL + "Bundle-Version: 1.0.0.qualifier" + NL + "Bundle-ClassPath: ";

+	protected final String TEXT_5 = ".jar";

+	protected final String TEXT_6 = ".";

+	protected final String TEXT_7 = NL + "Bundle-Activator: ";

+	protected final String TEXT_8 = "$Implementation";

+	protected final String TEXT_9 = NL + "Bundle-Vendor: ";

+	protected final String TEXT_10 = NL + "Bundle-Localization: ";

+	protected final String TEXT_11 = NL + "Bundle-RequiredExecutionEnvironment: J2SE-1.5";

+	protected final String TEXT_12 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.6";

+	protected final String TEXT_13 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.7";

+	protected final String TEXT_14 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.8";

+	protected final String TEXT_15 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-9";

+	protected final String TEXT_16 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-10";

+	protected final String TEXT_17 = NL + "Export-Package: ";

+	protected final String TEXT_18 = ",";

+	protected final String TEXT_19 = NL + " ";

+	protected final String TEXT_20 = NL + "Require-Bundle: ";

+	protected final String TEXT_21 = ";visibility:=reexport";

+	protected final String TEXT_22 = 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.text," + NL + " org.eclipse.jface.util,"

+			+ 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.plugin," + NL

+			+ " org.eclipse.ui.views," + NL + " org.eclipse.ui.views.contentoutline," + NL

+			+ " org.eclipse.ui.views.properties;ui.views=\"split\"";

+	protected final String TEXT_23 = NL + "Eclipse-LazyStart: true";

+	protected final String TEXT_24 = NL + "Bundle-ActivationPolicy: lazy" + NL;

+	protected final String TEXT_25 = 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_25);

+		stringBuffer.append(TEXT_25);

+		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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.html

+		 * 

+		 * Contributors: 

+		 *   IBM - Initial API and implementation

+		 */

+

+		GenModel genModel = (GenModel) argument;

+		stringBuffer.append(TEXT_1);

+		stringBuffer.append(genModel.getEditorBundleNameKey());

+		stringBuffer.append(TEXT_2);

+		stringBuffer.append(genModel.getEditorPluginID());

+		stringBuffer.append(TEXT_3);

+		stringBuffer.append(genModel.getEditorPluginID());

+		stringBuffer.append(TEXT_4);

+		if (genModel.isRuntimeJar()) {

+			stringBuffer.append(genModel.getEditorPluginID());

+			stringBuffer.append(TEXT_5);

+		} else {

+			stringBuffer.append(TEXT_6);

+		}

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

+			stringBuffer.append(TEXT_7);

+			stringBuffer.append(genModel.getQualifiedEditorPluginClassName());

+			stringBuffer.append(TEXT_8);

+		}

+		stringBuffer.append(TEXT_9);

+		stringBuffer.append(genModel.getEditorBundleVendorKey());

+		stringBuffer.append(TEXT_10);

+		stringBuffer.append(genModel.getEditorBundleLocalization());

+		if (genModel.getComplianceLevel() == GenJDKLevel.JDK50_LITERAL) {

+			stringBuffer.append(TEXT_11);

+		} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK60_LITERAL) {

+			stringBuffer.append(TEXT_12);

+		} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK70_LITERAL) {

+			stringBuffer.append(TEXT_13);

+		} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK80_LITERAL) {

+			stringBuffer.append(TEXT_14);

+		} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK90_LITERAL) {

+			stringBuffer.append(TEXT_15);

+		} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK100_LITERAL) {

+			stringBuffer.append(TEXT_16);

+		}

+		Iterator<String> packagesIterator = genModel.getEditorQualifiedPackageNames().iterator();

+		if (packagesIterator.hasNext()) {

+			String pack = packagesIterator.next();

+			stringBuffer.append(TEXT_17);

+			stringBuffer.append(pack);

+			while (packagesIterator.hasNext()) {

+				pack = packagesIterator.next();

+				stringBuffer.append(TEXT_18);

+				stringBuffer.append(TEXT_19);

+				stringBuffer.append(pack);

+			}

+		}

+		Iterator<String> requiredPluginIterator = genModel.getEditorRequiredPlugins().iterator();

+		if (requiredPluginIterator.hasNext()) {

+			String pluginID = requiredPluginIterator.next();

+			stringBuffer.append(TEXT_20);

+			stringBuffer.append(pluginID);

+			if (!pluginID.startsWith("org.eclipse.core.runtime")) {

+				stringBuffer.append(TEXT_21);

+			}

+			while (requiredPluginIterator.hasNext()) {

+				pluginID = requiredPluginIterator.next();

+				stringBuffer.append(TEXT_18);

+				stringBuffer.append(TEXT_19);

+				stringBuffer.append(pluginID);

+				if (!pluginID.startsWith("org.eclipse.core.runtime") && !pluginID.equals("org.eclipse.jface.text")

+						&& !pluginID.equals("org.eclipse.xtext.xbase.lib")

+						&& !pluginID.equals("org.eclipse.emf.ecore.xcore.lib")) {

+					stringBuffer.append(TEXT_21);

+				}

+			}

+		}

+		if (genModel.isRichAjaxPlatform()) {

+			stringBuffer.append(TEXT_22);

+		}

+		if (genModel.getRuntimeVersion() == GenRuntimeVersion.EMF22

+				|| genModel.getRuntimeVersion() == GenRuntimeVersion.EMF23) {

+			stringBuffer.append(TEXT_23);

+		}

+		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.EditorProject");

+		canGenerate = canGenerate && (genModel.isBundleManifest());

+		return canGenerate;

+	}

+}
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModelIcon.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModelIcon.java
new file mode 100644
index 0000000..388ddf9
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModelIcon.java
@@ -0,0 +1,134 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.editor;

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModelWizard.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModelWizard.java
new file mode 100644
index 0000000..3a5dc44
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModelWizard.java
@@ -0,0 +1,1198 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.editor;

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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 + NL;

+	protected final String TEXT_15 = NL + NL + NL + "/**" + NL

+			+ " * This is a simple wizard for creating a new model file." + NL + " * <!-- begin-user-doc -->" + NL

+			+ " * <!-- end-user-doc -->";

+	protected final String TEXT_16 = NL + " * ";

+	protected final String TEXT_17 = NL + " * @generated" + NL + " */";

+	protected final String TEXT_18 = NL + "@Deprecated";

+	protected final String TEXT_19 = NL + "public class ";

+	protected final String TEXT_20 = " extends Wizard implements INewWizard" + NL + "{";

+	protected final String TEXT_21 = 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_22 = " copyright = ";

+	protected final String TEXT_23 = NL;

+	protected final String TEXT_24 = 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_25 = " FILE_EXTENSIONS =" + NL + "\t\tCollections.unmodifiableList(Arrays.asList(";

+	protected final String TEXT_26 = ".INSTANCE.getString(\"_UI_";

+	protected final String TEXT_27 = "FilenameExtensions\").split(\"\\\\s*,\\\\s*\")));";

+	protected final String TEXT_28 = 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_29 = "FilenameExtensions\").replaceAll(\"\\\\s*,\\\\s*\", \", \");";

+	protected final String TEXT_30 = 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_31 = " ";

+	protected final String TEXT_32 = " = ";

+	protected final String TEXT_33 = ".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_34 = ".get";

+	protected final String TEXT_35 = "();" + NL;

+	protected final String TEXT_36 = 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_37 = "NewFileCreationPage newFileCreationPage;" + NL;

+	protected final String TEXT_38 = 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_39 = "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_40 = NL + "\t * Caches the names of the types that can be created as the root object.";

+	protected final String TEXT_41 = NL + "\t * Caches the names of the features representing global elements.";

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

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

+	protected final String TEXT_43 = " 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 */";

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

+	protected final String TEXT_45 = 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_46 = ".INSTANCE.getString(\"_UI_Wizard_label\"));";

+	protected final String TEXT_47 = NL

+			+ "\t\tsetDefaultPageImageDescriptor(ExtendedImageRegistry.INSTANCE.getImageDescriptor(";

+	protected final String TEXT_48 = ".INSTANCE.getImage(\"full/wizban/New";

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

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

+	protected final String TEXT_51 = NL + "\t * Returns the names of the types that can be created as the root object.";

+	protected final String TEXT_52 = NL + "\t * Returns the names of the features representing global elements.";

+	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 = ")).iterator(); elements.hasNext(); )";

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

+	protected final String TEXT_70 = " eStructuralFeature = (";

+	protected final String TEXT_71 = ")elements.next();";

+	protected final String TEXT_72 = 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_73 = NL + "\t\t\tCollections.sort(initialObjectNames, ";

+	protected final String TEXT_74 = "CommonPlugin.INSTANCE.getComparator()";

+	protected final String TEXT_75 = "java.text.Collator.getInstance()";

+	protected final String TEXT_76 = ");" + 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_77 = NL + "\t\tEClass eClass = (EClass)";

+	protected final String TEXT_78 = ".getEClassifier(initialObjectCreationPage.getInitialObjectName());" + NL

+			+ "\t\tEObject rootObject = ";

+	protected final String TEXT_79 = ".create(eClass);";

+	protected final String TEXT_80 = NL + "\t\tEClass eClass = ";

+	protected final String TEXT_81 = ");" + NL

+			+ "\t\tEStructuralFeature eStructuralFeature = eClass.getEStructuralFeature(initialObjectCreationPage.getInitialObjectName());"

+			+ NL + "\t\tEObject rootObject = ";

+	protected final String TEXT_82 = ".create(eClass);" + NL + "\t\trootObject.eSet(eStructuralFeature, ";

+	protected final String TEXT_83 = ".create((EClass)eStructuralFeature.getEType()));";

+	protected final String TEXT_84 = 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_85 = NL + "\tpublic boolean performFinish()" + NL + "\t{" + NL + "\t\ttry" + NL

+			+ "\t\t{";

+	protected final String TEXT_86 = 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_87 = "(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_88 = ".INSTANCE.getString(\"_UI_Question_title\"),";

+	protected final String TEXT_89 = NL + "\t\t\t\t\t\t ";

+	protected final String TEXT_90 = ".INSTANCE.getString(\"_WARN_FileConflict\", new String []{ fileURI.toFileString() })))";

+	protected final String TEXT_91 = 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_92 = " operation = new ";

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

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

+	protected final String TEXT_95 = NL + "\t\t\t\tpublic void run(IProgressMonitor progressMonitor)";

+	protected final String TEXT_96 = 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_97 = NL + "\t\t\t\t\t@Override";

+	protected final String TEXT_98 = NL + "\t\t\t\t\tprotected void execute(IProgressMonitor progressMonitor)";

+	protected final String TEXT_99 = 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_100 = 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_101 = 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_102 = ", ";

+	protected final String TEXT_103 = ".eCONTENT_TYPE";

+	protected final String TEXT_104 = ");" + 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_105 = " options = new ";

+	protected final String TEXT_106 = "();" + 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_107 = ".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_108 = NL + "\t\t\treturn ";

+	protected final String TEXT_109 = ".openEditor(workbench, fileURI);\t\t\t";

+	protected final String TEXT_110 = 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_111 = " workbenchWindow = workbench.getActiveWorkbenchWindow();" + NL + "\t\t\t";

+	protected final String TEXT_112 = " page = workbenchWindow.getActivePage();" + NL + "\t\t\tfinal ";

+	protected final String TEXT_113 = " activePart = page.getActivePart();" + NL

+			+ "\t\t\tif (activePart instanceof ISetSelectionTarget)" + NL + "\t\t\t{" + NL + "\t\t\t\tfinal ";

+	protected final String TEXT_114 = " targetSelection = new ";

+	protected final String TEXT_115 = "(modelFile);" + NL + "\t\t\t\tgetShell().getDisplay().asyncExec" + NL

+			+ "\t\t\t\t\t(new Runnable()" + NL + "\t\t\t\t\t {";

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

+	protected final String TEXT_117 = 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_118 = "(modelFile.getFullPath().toString()).getId());";

+	protected final String TEXT_119 = NL + "\t\t\t\t\t \t(modelFile.getFullPath().toString()," + NL + "\t\t\t\t\t \t ";

+	protected final String TEXT_120 = ".getContentTypeManager().getContentType(";

+	protected final String TEXT_121 = ".eCONTENT_TYPE)).getId());";

+	protected final String TEXT_122 = "\t\t\t\t\t \t " + NL + "\t\t\t}" + NL + "\t\t\tcatch (";

+	protected final String TEXT_123 = " exception)" + NL + "\t\t\t{" + NL

+			+ "\t\t\t\tMessageDialog.openError(workbenchWindow.getShell(), ";

+	protected final String TEXT_124 = ".INSTANCE.getString(\"_UI_OpenEditorError_label\"), exception.getMessage());";

+	protected final String TEXT_125 = NL + "\t\t\t\treturn false;" + NL + "\t\t\t}" + NL + "" + NL

+			+ "\t\t\treturn true;";

+	protected final String TEXT_126 = NL + "\t\t}" + NL + "\t\tcatch (Exception exception)" + NL + "\t\t{" + NL

+			+ "\t\t\t";

+	protected final String TEXT_127 = ".INSTANCE.log(exception);" + NL + "\t\t\treturn false;" + NL + "\t\t}" + NL

+			+ "\t}" + NL;

+	protected final String TEXT_128 = 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_129 = "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_130 = "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_131 = NL + "\t\t@Override";

+	protected final String TEXT_132 = 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_133 = "(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_134 = NL + "\t\t\t\t\tsetErrorMessage(";

+	protected final String TEXT_135 = ".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_136 = 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_137 = "InitialObjectCreationPage extends WizardPage" + NL + "\t{";

+	protected final String TEXT_138 = 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_139 = " fileField;" + NL;

+	protected final String TEXT_140 = 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_141 = " 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_142 = "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 */";

+	protected final String TEXT_143 = 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{";

+	protected final String TEXT_173 = 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_174 = 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_175 = NL + "\t\t\t\tsetErrorMessage(";

+	protected final String TEXT_176 = ".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_177 = 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_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\tString name = (String)i.next();";

+	protected final String TEXT_185 = 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_186 = 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_187 = NL + NL + "\t\t/**" + NL + "\t\t * Returns the label for the specified ";

+	protected final String TEXT_188 = " 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_189 = "Name)" + NL + "\t\t{" + NL + "\t\t\ttry" + NL + "\t\t\t{" + NL

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

+	protected final String TEXT_190 = ".INSTANCE.getString(\"";

+	protected final String TEXT_191 = "\" + ";

+	protected final String TEXT_192 = "Name + \"_";

+	protected final String TEXT_193 = "\");";

+	protected final String TEXT_194 = NL + "\t\t\t}" + NL + "\t\t\tcatch(MissingResourceException mre)" + NL + "\t\t\t{"

+			+ NL + "\t\t\t\t";

+	protected final String TEXT_195 = ".INSTANCE.log(mre);" + NL + "\t\t\t}" + NL + "\t\t\treturn ";

+	protected final String TEXT_196 = "Name;" + NL + "\t\t}";

+	protected final String TEXT_197 = 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_198 = " getEncodings()" + NL + "\t\t{" + NL + "\t\t\tif (encodings == null)" + NL

+			+ "\t\t\t{" + NL + "\t\t\t\tencodings = new ";

+	protected final String TEXT_199 = "();" + NL

+			+ "\t\t\t\tfor (StringTokenizer stringTokenizer = new StringTokenizer(";

+	protected final String TEXT_200 = ".INSTANCE.getString(\"_UI_XMLEncodingChoices\")); stringTokenizer.hasMoreTokens(); )";

+	protected final String TEXT_201 = 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_202 = NL + "\tpublic void addPages()" + NL + "\t{";

+	protected final String TEXT_203 = 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_204 = "NewFileCreationPage(\"Whatever\", selection);";

+	protected final String TEXT_205 = NL + "\t\tnewFileCreationPage.setTitle(";

+	protected final String TEXT_206 = "_label\"));";

+	protected final String TEXT_207 = NL + "\t\tnewFileCreationPage.setDescription(";

+	protected final String TEXT_208 = "_description\"));";

+	protected final String TEXT_209 = NL + "\t\tnewFileCreationPage.setFileName(";

+	protected final String TEXT_210 = "FilenameDefaultBase\") + \".\" + ";

+	protected final String TEXT_211 = "(String)";

+	protected final String TEXT_212 = "FILE_EXTENSIONS.get(0));";

+	protected final String TEXT_213 = 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_214 = "FilenameDefaultBase\");";

+	protected final String TEXT_215 = NL + "\t\t\t\t\tString defaultModelFilenameExtension = ";

+	protected final String TEXT_216 = "FILE_EXTENSIONS.get(0);" + NL

+			+ "\t\t\t\t\tString modelFilename = defaultModelBaseFilename + \".\" + defaultModelFilenameExtension;";

+	protected final String TEXT_217 = 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_218 = 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_219 = NL + "\t\tinitialObjectCreationPage = new ";

+	protected final String TEXT_220 = "InitialObjectCreationPage(\"Whatever2\");";

+	protected final String TEXT_221 = NL + "\t\tinitialObjectCreationPage.setTitle(";

+	protected final String TEXT_222 = NL + "\t\tinitialObjectCreationPage.setDescription(";

+	protected final String TEXT_223 = ".INSTANCE.getString(\"_UI_Wizard_initial_object_description\"));";

+	protected final String TEXT_224 = NL + "\t\taddPage(initialObjectCreationPage);" + NL + "\t}" + NL;

+	protected final String TEXT_225 = 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_226 = 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_227 = NL + "}";

+	protected final String TEXT_228 = 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_228);

+		stringBuffer.append(TEXT_228);

+		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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.html

+		 *

+		 * Contributors:

+		 *   IBM - Initial API and implementation

+		 */

+

+		GenPackage genPackage = (GenPackage) argument;

+		GenModel genModel = genPackage.getGenModel();

+		final boolean isJDK50 = 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);

+		}

+

+		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_11);

+		stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());

+		stringBuffer.append(TEXT_13);

+		stringBuffer.append(genPackage.getQualifiedEditPluginClassName());

+		stringBuffer.append(TEXT_14);

+		genModel.markImportLocation(stringBuffer);

+		stringBuffer.append(TEXT_15);

+		if (genPackage.hasAPITags()) {

+			stringBuffer.append(TEXT_16);

+			stringBuffer.append(genPackage.getAPITags(genModel.getIndentation(stringBuffer)));

+		}

+		stringBuffer.append(TEXT_17);

+		if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_18);

+		}

+		stringBuffer.append(TEXT_19);

+		stringBuffer.append(genPackage.getModelWizardClassName());

+		stringBuffer.append(TEXT_20);

+		if (genModel.hasCopyrightField()) {

+			stringBuffer.append(TEXT_21);

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

+			stringBuffer.append(TEXT_22);

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

+			stringBuffer.append(TEXT_12);

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

+			stringBuffer.append(TEXT_23);

+		}

+		stringBuffer.append(TEXT_24);

+		stringBuffer.append(_ListOfString);

+		stringBuffer.append(TEXT_25);

+		stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+		stringBuffer.append(TEXT_26);

+		stringBuffer.append(genPackage.getEditorClassName());

+		stringBuffer.append(TEXT_27);

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

+		stringBuffer.append(genModel.getNonNLS(2));

+		stringBuffer.append(TEXT_28);

+		stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+		stringBuffer.append(TEXT_26);

+		stringBuffer.append(genPackage.getEditorClassName());

+		stringBuffer.append(TEXT_29);

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

+		stringBuffer.append(genModel.getNonNLS(2));

+		stringBuffer.append(genModel.getNonNLS(3));

+		stringBuffer.append(TEXT_30);

+		stringBuffer

+				.append(genModel.isSuppressEMFMetaData() ? genModel.getImportedName("org.eclipse.emf.ecore.EPackage")

+						: genPackage.getPackageInterfaceName());

+		stringBuffer.append(TEXT_31);

+		stringBuffer.append(genPackage.getUncapPackageName());

+		stringBuffer.append(TEXT_32);

+		stringBuffer.append(genPackage.getPackageInterfaceName());

+		stringBuffer.append(TEXT_33);

+		stringBuffer

+				.append(genModel.isSuppressEMFMetaData() ? genModel.getImportedName("org.eclipse.emf.ecore.EFactory")

+						: genPackage.getFactoryInterfaceName());

+		stringBuffer.append(TEXT_31);

+		stringBuffer.append(genPackage.getUncapFactoryName());

+		stringBuffer.append(TEXT_32);

+		stringBuffer.append(genPackage.getUncapPackageName());

+		stringBuffer.append(TEXT_34);

+		stringBuffer.append(genModel.isSuppressEMFMetaData() ? "EFactoryInstance" : genPackage.getFactoryName());

+		stringBuffer.append(TEXT_35);

+		if (!genModel.isRichClientPlatform()) {

+			stringBuffer.append(TEXT_36);

+			stringBuffer.append(genPackage.getModelWizardClassName());

+			stringBuffer.append(TEXT_37);

+		}

+		stringBuffer.append(TEXT_38);

+		stringBuffer.append(genPackage.getModelWizardClassName());

+		stringBuffer.append(TEXT_39);

+		if (!genPackage.hasDocumentRoot()) {

+			stringBuffer.append(TEXT_40);

+		} else {

+			stringBuffer.append(TEXT_41);

+		}

+		stringBuffer.append(TEXT_42);

+		stringBuffer.append(_ListOfString);

+		stringBuffer.append(TEXT_43);

+		if (genModel.useInterfaceOverrideAnnotation()) {

+			stringBuffer.append(TEXT_44);

+		}

+		stringBuffer.append(TEXT_45);

+		stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+		stringBuffer.append(TEXT_46);

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

+		stringBuffer.append(TEXT_47);

+		stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+		stringBuffer.append(TEXT_48);

+		stringBuffer.append(genPackage.getPrefix());

+		stringBuffer.append(TEXT_49);

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

+		stringBuffer.append(TEXT_50);

+		if (!genPackage.hasDocumentRoot()) {

+			stringBuffer.append(TEXT_51);

+		} else {

+			stringBuffer.append(TEXT_52);

+		}

+		stringBuffer.append(TEXT_42);

+		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_64);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.ExtendedMetaData"));

+				stringBuffer.append(TEXT_65);

+				stringBuffer.append(genPackage.getUncapPackageName());

+				stringBuffer.append(TEXT_68);

+			}

+			stringBuffer.append(TEXT_59);

+			if (!genModel.useGenerics()) {

+				stringBuffer.append(TEXT_69);

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

+				stringBuffer.append(TEXT_70);

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

+				stringBuffer.append(TEXT_71);

+			}

+			stringBuffer.append(TEXT_72);

+		}

+		stringBuffer.append(TEXT_73);

+		if (!genModel.isRichClientPlatform() && genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) {

+			stringBuffer.append(TEXT_74);

+		} else {

+			stringBuffer.append(TEXT_75);

+		}

+		stringBuffer.append(TEXT_76);

+		if (!genPackage.hasDocumentRoot()) {

+			stringBuffer.append(TEXT_77);

+			stringBuffer.append(genPackage.getUncapPackageName());

+			stringBuffer.append(TEXT_78);

+			stringBuffer.append(genPackage.getUncapFactoryName());

+			stringBuffer.append(TEXT_79);

+		} else {

+			stringBuffer.append(TEXT_80);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.ExtendedMetaData"));

+			stringBuffer.append(TEXT_65);

+			stringBuffer.append(genPackage.getUncapPackageName());

+			stringBuffer.append(TEXT_81);

+			stringBuffer.append(genPackage.getUncapFactoryName());

+			stringBuffer.append(TEXT_82);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.EcoreUtil"));

+			stringBuffer.append(TEXT_83);

+		}

+		stringBuffer.append(TEXT_84);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_44);

+		}

+		stringBuffer.append(TEXT_85);

+		if (genModel.isRichClientPlatform()) {

+			stringBuffer.append(TEXT_86);

+			stringBuffer.append(genModel.getImportedName("java.io.File"));

+			stringBuffer.append(TEXT_87);

+			stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+			stringBuffer.append(TEXT_88);

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

+			stringBuffer.append(TEXT_89);

+			stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+			stringBuffer.append(TEXT_90);

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

+			stringBuffer.append(TEXT_91);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.operation.IRunnableWithProgress"));

+			stringBuffer.append(TEXT_92);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.operation.IRunnableWithProgress"));

+			stringBuffer.append(TEXT_93);

+			if (genModel.useInterfaceOverrideAnnotation()) {

+				stringBuffer.append(TEXT_94);

+			}

+			stringBuffer.append(TEXT_95);

+		} else {

+			stringBuffer.append(TEXT_96);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_97);

+			}

+			stringBuffer.append(TEXT_98);

+		}

+		stringBuffer.append(TEXT_99);

+		if (!genModel.isRichClientPlatform()) {

+			stringBuffer.append(TEXT_100);

+		}

+		stringBuffer.append(TEXT_101);

+		if (genPackage.isContentType()) {

+			stringBuffer.append(TEXT_102);

+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+			stringBuffer.append(TEXT_103);

+		}

+		stringBuffer.append(TEXT_104);

+		stringBuffer.append(_MapOfObjectToObject);

+		stringBuffer.append(TEXT_105);

+		stringBuffer.append(_HashMapOfObjectToObject);

+		stringBuffer.append(TEXT_106);

+		stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+		stringBuffer.append(TEXT_107);

+		if (genModel.isRichClientPlatform()) {

+			stringBuffer.append(TEXT_108);

+			stringBuffer.append(genModel.getImportedName(genModel.getQualifiedEditorAdvisorClassName()));

+			stringBuffer.append(TEXT_109);

+		} else {

+			stringBuffer.append(TEXT_110);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.ui.IWorkbenchWindow"));

+			stringBuffer.append(TEXT_111);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.ui.IWorkbenchPage"));

+			stringBuffer.append(TEXT_112);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.ui.IWorkbenchPart"));

+			stringBuffer.append(TEXT_113);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.ISelection"));

+			stringBuffer.append(TEXT_114);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.StructuredSelection"));

+			stringBuffer.append(TEXT_115);

+			if (genModel.useInterfaceOverrideAnnotation()) {

+				stringBuffer.append(TEXT_116);

+			}

+			stringBuffer.append(TEXT_117);

+			if (!genPackage.isContentType()) {

+				stringBuffer.append(TEXT_118);

+			} else {

+				stringBuffer.append(TEXT_119);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.core.runtime.Platform"));

+				stringBuffer.append(TEXT_120);

+				stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+				stringBuffer.append(TEXT_121);

+			}

+			stringBuffer.append(TEXT_122);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.ui.PartInitException"));

+			stringBuffer.append(TEXT_123);

+			stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+			stringBuffer.append(TEXT_124);

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

+			stringBuffer.append(TEXT_125);

+		}

+		stringBuffer.append(TEXT_126);

+		stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+		stringBuffer.append(TEXT_127);

+		if (!genModel.isRichClientPlatform()) {

+			stringBuffer.append(TEXT_128);

+			stringBuffer.append(genPackage.getModelWizardClassName());

+			stringBuffer.append(TEXT_129);

+			stringBuffer.append(genPackage.getModelWizardClassName());

+			stringBuffer.append(TEXT_130);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_131);

+			}

+			stringBuffer.append(TEXT_132);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.core.runtime.Path"));

+			stringBuffer.append(TEXT_133);

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

+			stringBuffer.append(genModel.getNonNLS(2));

+			stringBuffer.append(TEXT_134);

+			stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+			stringBuffer.append(TEXT_135);

+		}

+		stringBuffer.append(TEXT_136);

+		stringBuffer.append(genPackage.getModelWizardClassName());

+		stringBuffer.append(TEXT_137);

+		if (genModel.isRichClientPlatform()) {

+			stringBuffer.append(TEXT_138);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.swt.widgets.Text"));

+			stringBuffer.append(TEXT_139);

+		}

+		stringBuffer.append(TEXT_140);

+		stringBuffer.append(_ListOfString);

+		stringBuffer.append(TEXT_141);

+		stringBuffer.append(genPackage.getModelWizardClassName());

+		stringBuffer.append(TEXT_142);

+		if (genModel.useInterfaceOverrideAnnotation()) {

+			stringBuffer.append(TEXT_131);

+		}

+		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.useInterfaceOverrideAnnotation()) {

+			stringBuffer.append(TEXT_94);

+		}

+		stringBuffer.append(TEXT_173);

+		if (genModel.isRichClientPlatform()) {

+			stringBuffer.append(TEXT_174);

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

+			stringBuffer.append(genModel.getNonNLS(2));

+			stringBuffer.append(TEXT_175);

+			stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+			stringBuffer.append(TEXT_176);

+		}

+		stringBuffer.append(TEXT_177);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_131);

+		}

+		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_59);

+		if (!genModel.useGenerics()) {

+			stringBuffer.append(TEXT_184);

+		}

+		stringBuffer.append(TEXT_185);

+		if (genModel.isRichClientPlatform()) {

+			stringBuffer.append(TEXT_186);

+		}

+		{

+			String type = genPackage.hasDocumentRoot() ? "feature" : "type";

+			String prefix = genPackage.hasDocumentRoot() ? "_UI_DocumentRoot_" : "_UI_";

+			stringBuffer.append(TEXT_187);

+			stringBuffer.append(type);

+			stringBuffer.append(TEXT_188);

+			stringBuffer.append(type);

+			stringBuffer.append(TEXT_189);

+			stringBuffer.append(genPackage.getEditPluginClassName());

+			stringBuffer.append(TEXT_190);

+			stringBuffer.append(prefix);

+			stringBuffer.append(TEXT_191);

+			stringBuffer.append(type);

+			stringBuffer.append(TEXT_192);

+			stringBuffer.append(type);

+			stringBuffer.append(TEXT_193);

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

+			stringBuffer.append(genModel.getNonNLS(2));

+			stringBuffer.append(TEXT_194);

+			stringBuffer.append(genModel.getImportedName(genModel.getQualifiedEditorPluginClassName()));

+			stringBuffer.append(TEXT_195);

+			stringBuffer.append(type);

+			stringBuffer.append(TEXT_196);

+		}

+		stringBuffer.append(TEXT_197);

+		stringBuffer.append(_CollectionOfString);

+		stringBuffer.append(TEXT_198);

+		stringBuffer.append(_ArrayListOfString);

+		stringBuffer.append(TEXT_199);

+		stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+		stringBuffer.append(TEXT_200);

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

+		stringBuffer.append(TEXT_201);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_131);

+		}

+		stringBuffer.append(TEXT_202);

+		if (!genModel.isRichClientPlatform()) {

+			stringBuffer.append(TEXT_203);

+			stringBuffer.append(genPackage.getModelWizardClassName());

+			stringBuffer.append(TEXT_204);

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

+			stringBuffer.append(TEXT_205);

+			stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+			stringBuffer.append(TEXT_26);

+			stringBuffer.append(genPackage.getModelWizardClassName());

+			stringBuffer.append(TEXT_206);

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

+			stringBuffer.append(TEXT_207);

+			stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+			stringBuffer.append(TEXT_26);

+			stringBuffer.append(genPackage.getModelWizardClassName());

+			stringBuffer.append(TEXT_208);

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

+			stringBuffer.append(TEXT_209);

+			stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+			stringBuffer.append(TEXT_26);

+			stringBuffer.append(genPackage.getEditorClassName());

+			stringBuffer.append(TEXT_210);

+			if (!genModel.useGenerics()) {

+				stringBuffer.append(TEXT_211);

+			}

+			stringBuffer.append(TEXT_212);

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

+			stringBuffer.append(genModel.getNonNLS(2));

+			stringBuffer.append(TEXT_213);

+			stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+			stringBuffer.append(TEXT_26);

+			stringBuffer.append(genPackage.getEditorClassName());

+			stringBuffer.append(TEXT_214);

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

+			stringBuffer.append(TEXT_215);

+			if (!genModel.useGenerics()) {

+				stringBuffer.append(TEXT_211);

+			}

+			stringBuffer.append(TEXT_216);

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

+			stringBuffer.append(TEXT_217);

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

+			stringBuffer.append(TEXT_218);

+		}

+		stringBuffer.append(TEXT_219);

+		stringBuffer.append(genPackage.getModelWizardClassName());

+		stringBuffer.append(TEXT_220);

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

+		stringBuffer.append(TEXT_221);

+		stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+		stringBuffer.append(TEXT_26);

+		stringBuffer.append(genPackage.getModelWizardClassName());

+		stringBuffer.append(TEXT_206);

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

+		stringBuffer.append(TEXT_222);

+		stringBuffer.append(genPackage.getImportedEditorPluginClassName());

+		stringBuffer.append(TEXT_223);

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

+		stringBuffer.append(TEXT_224);

+		if (genModel.isRichClientPlatform()) {

+			stringBuffer.append(TEXT_225);

+		} else {

+			stringBuffer.append(TEXT_226);

+		}

+		stringBuffer.append(TEXT_227);

+		genModel.emitSortedImports();

+		stringBuffer.append(TEXT_23);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModelWizardIcon.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModelWizardIcon.java
new file mode 100644
index 0000000..60c23df
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModelWizardIcon.java
@@ -0,0 +1,134 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.editor;

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModuleGWTXML.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModuleGWTXML.java
new file mode 100644
index 0000000..09462c1
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModuleGWTXML.java
@@ -0,0 +1,207 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.editor;

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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;

+

+	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_11);

+		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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/Plugin.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/Plugin.java
new file mode 100644
index 0000000..6442a4b
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/Plugin.java
@@ -0,0 +1,313 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.editor;

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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 -->";

+	protected final String TEXT_6 = NL + " * ";

+	protected final String TEXT_7 = NL + " * @generated" + NL + " */";

+	protected final String TEXT_8 = NL + "@Deprecated";

+	protected final String TEXT_9 = NL + "public final class ";

+	protected final String TEXT_10 = " extends EMFPlugin" + NL + "{";

+	protected final String TEXT_11 = 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_12 = " copyright = ";

+	protected final String TEXT_13 = ";";

+	protected final String TEXT_14 = NL + "\t";

+	protected final String TEXT_15 = 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_16 = " INSTANCE = new ";

+	protected final String TEXT_17 = "();" + NL + "\t";

+	protected final String TEXT_18 = 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_19 = 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_20 = "()" + NL + "\t{" + NL + "\t\tsuper" + NL + "\t\t\t(new ResourceLocator [] " + NL

+			+ "\t\t\t{";

+	protected final String TEXT_21 = NL + "\t\t\t\t";

+	protected final String TEXT_22 = ".INSTANCE,";

+	protected final String TEXT_23 = 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_24 = NL + "\t@Override";

+	protected final String TEXT_25 = NL + "\tpublic ResourceLocator getPluginResourceLocator()" + NL + "\t{";

+	protected final String TEXT_26 = NL + "\t\treturn null;";

+	protected final String TEXT_27 = NL + "\t\treturn plugin;";

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

+	protected final String TEXT_29 = 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_30 = 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_31 = NL + "\t\t * @param descriptor the description of the plugin.";

+	protected final String TEXT_32 = NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tpublic Implementation(";

+	protected final String TEXT_33 = " descriptor";

+	protected final String TEXT_34 = ")" + NL + "\t\t{" + NL + "\t\t\tsuper(";

+	protected final String TEXT_35 = "descriptor";

+	protected final String TEXT_36 = ");" + 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_37 = NL + "}";

+	protected final String TEXT_38 = NL;

+	protected final String TEXT_39 = 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_39);

+		stringBuffer.append(TEXT_39);

+		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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.html

+		 *

+		 * Contributors:

+		 *   IBM - Initial API and implementation

+		 */

+

+		GenModel genModel = (GenModel) argument;

+		/* Trick to import java.util.* without warnings */Iterator.class.getName();

+		final boolean isJDK50 = 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(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);

+		if (genModel.hasAPITags()) {

+			stringBuffer.append(TEXT_6);

+			stringBuffer.append(genModel.getAPITags(genModel.getIndentation(stringBuffer)));

+		}

+		stringBuffer.append(TEXT_7);

+		if (isJDK50 && genModel.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_8);

+		}

+		stringBuffer.append(TEXT_9);

+		stringBuffer.append(genModel.getEditorPluginClassName());

+		stringBuffer.append(TEXT_10);

+		if (genModel.hasCopyrightField()) {

+			stringBuffer.append(TEXT_11);

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

+			stringBuffer.append(TEXT_12);

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

+			stringBuffer.append(TEXT_13);

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

+			stringBuffer.append(TEXT_14);

+		}

+		stringBuffer.append(TEXT_15);

+		stringBuffer.append(genModel.getEditorPluginClassName());

+		stringBuffer.append(TEXT_16);

+		stringBuffer.append(genModel.getEditorPluginClassName());

+		stringBuffer.append(TEXT_17);

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

+			stringBuffer.append(TEXT_18);

+		}

+		stringBuffer.append(TEXT_19);

+		stringBuffer.append(genModel.getEditorPluginClassName());

+		stringBuffer.append(TEXT_20);

+		for (String pluginClassName : genModel.getEditResourceDelegateImportedPluginClassNames()) {

+			stringBuffer.append(TEXT_21);

+			stringBuffer.append(pluginClassName);

+			stringBuffer.append(TEXT_22);

+		}

+		stringBuffer.append(TEXT_23);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_24);

+		}

+		stringBuffer.append(TEXT_25);

+		if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {

+			stringBuffer.append(TEXT_26);

+		} else {

+			stringBuffer.append(TEXT_27);

+		}

+		stringBuffer.append(TEXT_28);

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

+			stringBuffer.append(TEXT_29);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.ui.EclipseUIPlugin"));

+			stringBuffer.append(TEXT_30);

+			if (genModel.needsRuntimeCompatibility()) {

+				stringBuffer.append(TEXT_31);

+			}

+			stringBuffer.append(TEXT_32);

+			if (genModel.needsRuntimeCompatibility()) {

+				stringBuffer.append(genModel.getImportedName("org.eclipse.core.runtime.IPluginDescriptor"));

+				stringBuffer.append(TEXT_33);

+			}

+			stringBuffer.append(TEXT_34);

+			if (genModel.needsRuntimeCompatibility()) {

+				stringBuffer.append(TEXT_35);

+			}

+			stringBuffer.append(TEXT_36);

+		}

+		stringBuffer.append(TEXT_37);

+		genModel.emitSortedImports();

+		stringBuffer.append(TEXT_38);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/PluginProperties.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/PluginProperties.java
new file mode 100644
index 0000000..5a4da4a
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/PluginProperties.java
@@ -0,0 +1,318 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.editor;

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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 = NL + "providerName = ";

+	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 + "_UI_CreateChild_menu_item = &New Child" + NL

+			+ "_UI_CreateSibling_menu_item = N&ew Sibling" + NL;

+	protected final String TEXT_9 = NL + "_UI_ShowPropertiesView_menu_item = Show &Properties View" + NL

+			+ "_UI_RefreshViewer_menu_item = &Refresh" + NL + "" + NL + "_UI_SelectionPage_label = Selection";

+	protected final String TEXT_10 = 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_11 = 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_12 = "_label = ";

+	protected final String TEXT_13 = " Model" + NL + "_UI_";

+	protected final String TEXT_14 = "_description = Create a new ";

+	protected final String TEXT_15 = " model" + NL;

+	protected final String TEXT_16 = " Model Editor" + NL + "" + NL + "_UI_";

+	protected final String TEXT_17 = "FilenameDefaultBase = My" + NL + "_UI_";

+	protected final String TEXT_18 = "FilenameExtensions = ";

+	protected final String TEXT_19 = 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_20 = NL

+			+ "_UI_Wizard_initial_object_description = Specify a file name and select a model object to create";

+	protected final String TEXT_21 = NL + "_UI_Wizard_initial_object_description = Select a model object to create";

+	protected final String TEXT_22 = 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_23 = "_ActionSet_label = ";

+	protected final String TEXT_24 = " Action Set" + NL + "_UI_Perspective_label = ";

+	protected final String TEXT_25 = 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_26 = " 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_27 = " &About..." + NL + "_UI_About_title = ";

+	protected final String TEXT_28 = " Application" + NL + "_UI_About_text = ";

+	protected final String TEXT_29 = " Application about box goes here." + NL;

+	protected final String TEXT_30 = " Model Action Set";

+	protected final String TEXT_31 = 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_31);

+		stringBuffer.append(TEXT_31);

+		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() + "/" + genModel.getEditorBundleLocalization()

+				+ ".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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.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.getEditorBundleName());

+		stringBuffer.append(TEXT_3);

+		stringBuffer.append(genModel.getEditorBundleVendorName());

+		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_4);

+			if (genModel.isCreationCommands()) {

+				stringBuffer.append(TEXT_8);

+			}

+			stringBuffer.append(TEXT_9);

+			if (hasMultiPageEditor) {

+				stringBuffer.append(TEXT_10);

+			}

+			stringBuffer.append(TEXT_11);

+			for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {

+				if (genPackage.isGenerateModelWizard()) {

+					stringBuffer.append(TEXT_5);

+					stringBuffer.append(genPackage.getModelWizardClassName());

+					stringBuffer.append(TEXT_12);

+					stringBuffer.append(genPackage.getPrefix());

+					stringBuffer.append(TEXT_13);

+					stringBuffer.append(genPackage.getModelWizardClassName());

+					stringBuffer.append(TEXT_14);

+					stringBuffer.append(genPackage.getPrefix());

+					stringBuffer.append(TEXT_15);

+				}

+				stringBuffer.append(TEXT_5);

+				stringBuffer.append(genPackage.getEditorClassName());

+				stringBuffer.append(TEXT_12);

+				stringBuffer.append(genPackage.getPrefix());

+				stringBuffer.append(TEXT_16);

+				stringBuffer.append(genPackage.getEditorClassName());

+				stringBuffer.append(TEXT_17);

+				stringBuffer.append(genPackage.getEditorClassName());

+				stringBuffer.append(TEXT_18);

+				stringBuffer.append(genPackage.getFileExtensions());

+				stringBuffer.append(TEXT_4);

+			}

+			stringBuffer.append(TEXT_19);

+			stringBuffer.append(genModel.getXMLEncodingChoices());

+			if (genModel.isRichClientPlatform()) {

+				stringBuffer.append(TEXT_20);

+			} else {

+				stringBuffer.append(TEXT_21);

+			}

+			stringBuffer.append(TEXT_22);

+			if (genModel.isRichClientPlatform()) {

+				stringBuffer.append(TEXT_5);

+				stringBuffer.append(genModel.getEditorAdvisorClassName());

+				stringBuffer.append(TEXT_23);

+				stringBuffer.append(genModel.getModelName());

+				stringBuffer.append(TEXT_24);

+				stringBuffer.append(genModel.getModelName());

+				stringBuffer.append(TEXT_25);

+				stringBuffer.append(genModel.getModelName());

+				stringBuffer.append(TEXT_26);

+				stringBuffer.append(genModel.getModelName());

+				stringBuffer.append(TEXT_27);

+				stringBuffer.append(genModel.getModelName());

+				stringBuffer.append(TEXT_28);

+				stringBuffer.append(genModel.getModelName());

+				stringBuffer.append(TEXT_29);

+				for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {

+					if (genPackage.isGenerateModelWizard()) {

+						stringBuffer.append(TEXT_5);

+						stringBuffer.append(genPackage.getModelWizardClassName());

+						stringBuffer.append(TEXT_23);

+						stringBuffer.append(genPackage.getPrefix());

+						stringBuffer.append(TEXT_30);

+					}

+				}

+				stringBuffer.append(TEXT_4);

+			}

+		}

+		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 && true;

+		return canGenerate;

+	}

+}
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/PluginXML.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/PluginXML.java
new file mode 100644
index 0000000..03f9353
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/PluginXML.java
@@ -0,0 +1,613 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.editor;

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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 + "<plugin>";

+	protected final String TEXT_4 = NL + "<plugin" + NL + "      name=\"%pluginName\"" + NL + "      id=\"";

+	protected final String TEXT_5 = "\"" + NL + "      version=\"1.0.0\"" + NL + "      provider-name=\"%providerName\""

+			+ NL + "      class=\"";

+	protected final String TEXT_6 = "$Implementation\">" + 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>";

+	protected final String TEXT_16 = NL + NL + "   <extension point=\"org.eclipse.emf.ecore.generated_package\">";

+	protected final String TEXT_17 = NL + "      <!-- @generated ";

+	protected final String TEXT_18 = " -->";

+	protected final String TEXT_19 = NL + "      <package" + NL + "            uri=\"";

+	protected final String TEXT_20 = NL + "            class=\"";

+	protected final String TEXT_21 = "\"" + NL + "            genModel=\"";

+	protected final String TEXT_22 = "\"/>";

+	protected final String TEXT_23 = NL + "   </extension>";

+	protected final String TEXT_24 = NL + NL + "   <extension point=\"org.eclipse.emf.ecore.content_parser\">";

+	protected final String TEXT_25 = NL + "      <parser" + NL + "            contentTypeIdentifier=\"";

+	protected final String TEXT_26 = "\"" + NL + "            class=\"";

+	protected final String TEXT_27 = "\"/>" + NL + "   </extension>" + NL + "" + NL

+			+ "   <extension point=\"org.eclipse.core.contenttype.contentTypes\">";

+	protected final String TEXT_28 = NL + "      <content-type" + NL + "            base-type=\"";

+	protected final String TEXT_29 = "\"" + NL + "            file-extensions=\"";

+	protected final String TEXT_30 = "\"" + NL + "            id=\"";

+	protected final String TEXT_31 = "\"" + NL + "            name=\"%_UI_";

+	protected final String TEXT_32 = "_content_type\"" + NL + "            priority=\"normal\">" + NL

+			+ "         <describer class=\"org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer\">";

+	protected final String TEXT_33 = NL + "            <parameter name=\"namespace\" value=\"";

+	protected final String TEXT_34 = NL + "            <parameter name=\"kind\" value=\"xmi\"/>";

+	protected final String TEXT_35 = NL + "         </describer>" + NL + "      </content-type>" + NL

+			+ "   </extension>";

+	protected final String TEXT_36 = NL + NL + "   <extension point=\"org.eclipse.emf.ecore.extension_parser\">";

+	protected final String TEXT_37 = NL + "      <parser" + NL + "            type=\"";

+	protected final String TEXT_38 = NL + NL

+			+ "   <extension point=\"org.eclipse.emf.edit.itemProviderAdapterFactories\">";

+	protected final String TEXT_39 = NL + "      <factory" + NL + "            uri=\"";

+	protected final String TEXT_40 = "\"" + NL + "            supportedTypes=";

+	protected final String TEXT_41 = NL + "              ";

+	protected final String TEXT_42 = NL + NL + "   <extension point=\"org.eclipse.emf.edit.childCreationExtenders\">";

+	protected final String TEXT_43 = NL + "      <extender" + NL + "            uri=\"";

+	protected final String TEXT_44 = "$";

+	protected final String TEXT_45 = NL + NL + "   <extension" + NL

+			+ "         point=\"org.eclipse.core.runtime.applications\"" + NL + "         id=\"";

+	protected final String TEXT_46 = "Application\">";

+	protected final String TEXT_47 = NL + "      <application>" + NL + "         <run class=\"";

+	protected final String TEXT_48 = "$Application\"/>" + NL + "      </application>" + NL + "   </extension>" + NL + ""

+			+ NL + "   <extension point=\"org.eclipse.ui.perspectives\">";

+	protected final String TEXT_49 = NL + "      <perspective" + NL + "            name=\"%_UI_Perspective_label\"" + NL

+			+ "            class=\"";

+	protected final String TEXT_50 = "$Perspective\"" + NL + "            id=\"";

+	protected final String TEXT_51 = "Perspective\">" + NL + "      </perspective>" + NL + "   </extension>" + NL + ""

+			+ NL + "   <extension point=\"org.eclipse.ui.commands\">";

+	protected final String TEXT_52 = 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_53 = "OpenURICommand\"/>";

+	protected final String TEXT_54 = 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_55 = "OpenCommand\"/>";

+	protected final String TEXT_56 = NL + "   </extension>" + NL;

+	protected final String TEXT_57 = NL + "   <extension point=\"org.eclipse.ui.bindings\">";

+	protected final String TEXT_58 = NL + "      <key" + NL + "            commandId=\"";

+	protected final String TEXT_59 = "OpenURICommand\"" + NL + "            sequence=\"M1+U\"" + NL

+			+ "            schemeId=\"org.eclipse.ui.defaultAcceleratorConfiguration\"/>" + NL + "      <key" + NL

+			+ "            commandId=\"";

+	protected final String TEXT_60 = "OpenCommand\"" + NL + "            sequence=\"M1+O\"" + NL

+			+ "            schemeId=\"org.eclipse.ui.defaultAcceleratorConfiguration\"/>" + NL + "   </extension>";

+	protected final String TEXT_61 = NL + NL + "   <extension point=\"org.eclipse.ui.actionSets\">";

+	protected final String TEXT_62 = NL + "      <actionSet" + NL + "            label=\"%_UI_";

+	protected final String TEXT_63 = "_ActionSet_label\"" + NL + "            visible=\"true\"" + NL

+			+ "            id=\"";

+	protected final String TEXT_64 = "ActionSet\">" + NL + "         <action" + NL

+			+ "               label=\"%_UI_Menu_About_label\"" + NL + "               class=\"";

+	protected final String TEXT_65 = "$AboutAction\"" + NL + "               menubarPath=\"help/additions\"" + NL

+			+ "               id=\"";

+	protected final String TEXT_66 = "AboutAction\"/>" + NL + "         <action" + NL

+			+ "               label=\"%_UI_Menu_OpenURI_label\"" + NL + "               definitionId=\"";

+	protected final String TEXT_67 = "OpenURICommand\"" + NL + "               class=\"";

+	protected final String TEXT_68 = "$OpenURIAction\"" + NL + "               menubarPath=\"file/additions\"" + NL

+			+ "               id=\"";

+	protected final String TEXT_69 = "OpenURIAction\"/>";

+	protected final String TEXT_70 = NL + "         <action" + NL + "               label=\"%_UI_Menu_Open_label\"" + NL

+			+ "               definitionId=\"";

+	protected final String TEXT_71 = "OpenCommand\"" + NL + "               class=\"";

+	protected final String TEXT_72 = "$OpenAction\"" + NL + "               menubarPath=\"file/additions\"" + NL

+			+ "               id=\"";

+	protected final String TEXT_73 = "OpenAction\"/>";

+	protected final String TEXT_74 = NL + "      </actionSet>" + NL + "   </extension>";

+	protected final String TEXT_75 = "ActionSet\">" + NL + "         <action" + NL + "               label=\"%_UI_";

+	protected final String TEXT_76 = "_label\"" + NL + "               class=\"";

+	protected final String TEXT_77 = "$NewAction\"" + NL + "               menubarPath=\"file/new/additions\"" + NL

+			+ "               id=\"";

+	protected final String TEXT_78 = "NewAction\"/>" + NL + "      </actionSet>" + NL + "   </extension>";

+	protected final String TEXT_79 = NL + NL + "   <extension point=\"org.eclipse.ui.newWizards\">";

+	protected final String TEXT_80 = NL + "      <category" + NL

+			+ "            id=\"org.eclipse.emf.ecore.Wizard.category.ID\"" + NL

+			+ "            name=\"%_UI_Wizard_category\"/>" + NL + "      <wizard" + NL + "            id=\"";

+	protected final String TEXT_81 = "ID\"" + NL + "            name=\"%_UI_";

+	protected final String TEXT_82 = "_label\"" + NL + "            class=\"";

+	protected final String TEXT_83 = "\"" + NL + "            category=\"org.eclipse.emf.ecore.Wizard.category.ID\""

+			+ NL + "            icon=\"icons/full/obj16/";

+	protected final String TEXT_84 = "ModelFile.gif\">" + NL + "         <description>%_UI_";

+	protected final String TEXT_85 = "_description</description>" + NL

+			+ "         <selection class=\"org.eclipse.core.resources.IResource\"/>" + NL + "      </wizard>" + NL

+			+ "   </extension>";

+	protected final String TEXT_86 = NL + NL + "   <extension point=\"org.eclipse.ui.editors\">";

+	protected final String TEXT_87 = NL + "      <editor" + NL + "            id=\"";

+	protected final String TEXT_88 = "_label\"" + NL + "            icon=\"icons/full/obj16/";

+	protected final String TEXT_89 = "ModelFile.gif\"";

+	protected final String TEXT_90 = NL + "            extensions=\"";

+	protected final String TEXT_91 = "\"" + NL + "            contributorClass=\"";

+	protected final String TEXT_92 = "\">";

+	protected final String TEXT_93 = NL + "         <contentTypeBinding contentTypeId=\"";

+	protected final String TEXT_94 = NL + "      </editor>" + NL + "   </extension>";

+	protected final String TEXT_95 = NL + NL + "</plugin>" + NL;

+	protected final String TEXT_96 = 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_96);

+		stringBuffer.append(TEXT_96);

+		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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.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_2);

+		if (genModel.isBundleManifest()) {

+			stringBuffer.append(TEXT_3);

+		} else {

+			stringBuffer.append(TEXT_4);

+			stringBuffer.append(genModel.getEditorPluginID());

+			stringBuffer.append(TEXT_5);

+			stringBuffer.append(genModel.getQualifiedEditorPluginClassName());

+			stringBuffer.append(TEXT_6);

+			for (String pluginID : genModel.getEditorRequiredPlugins()) {

+				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.getEditorPluginID());

+				stringBuffer.append(TEXT_13);

+			} else {

+				stringBuffer.append(TEXT_14);

+			}

+			stringBuffer.append(TEXT_15);

+		}

+		if (genModel.sameModelEditorProject()) {

+			for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {

+				stringBuffer.append(TEXT_16);

+				if (hasKey) {

+					stringBuffer.append(TEXT_17);

+					stringBuffer.append(key);

+					stringBuffer.append(TEXT_18);

+				}

+				stringBuffer.append(TEXT_19);

+				stringBuffer.append(genPackage.getNSURI());

+				stringBuffer.append(TEXT_8);

+				if (genModel.hasLocalGenModel()) {

+					stringBuffer.append(TEXT_20);

+					stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());

+					stringBuffer.append(TEXT_21);

+					stringBuffer.append(genModel.getRelativeGenModelLocation());

+					stringBuffer.append(TEXT_22);

+				} else {

+					stringBuffer.append(TEXT_20);

+					stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());

+					stringBuffer.append(TEXT_22);

+				}

+				stringBuffer.append(TEXT_23);

+				if (genPackage.isContentType()) {

+					stringBuffer.append(TEXT_24);

+					if (hasKey) {

+						stringBuffer.append(TEXT_17);

+						stringBuffer.append(key);

+						stringBuffer.append(TEXT_18);

+					}

+					stringBuffer.append(TEXT_25);

+					stringBuffer.append(genPackage.getContentTypeIdentifier());

+					stringBuffer.append(TEXT_26);

+					stringBuffer.append(genPackage.getQualifiedEffectiveResourceFactoryClassName());

+					stringBuffer.append(TEXT_27);

+					if (hasKey) {

+						stringBuffer.append(TEXT_17);

+						stringBuffer.append(key);

+						stringBuffer.append(TEXT_18);

+					}

+					stringBuffer.append(TEXT_28);

+					stringBuffer.append(

+							genPackage.isXMIResource() ? "org.eclipse.emf.ecore.xmi" : "org.eclipse.core.runtime.xml");

+					stringBuffer.append(TEXT_29);

+					stringBuffer.append(genPackage.getFileExtensions());

+					stringBuffer.append(TEXT_30);

+					stringBuffer.append(genPackage.getContentTypeIdentifier());

+					stringBuffer.append(TEXT_31);

+					stringBuffer.append(genPackage.getPrefix());

+					stringBuffer.append(TEXT_32);

+					if (genPackage.hasTargetNamespace()) {

+						stringBuffer.append(TEXT_33);

+						stringBuffer.append(genPackage.getNSURI());

+						stringBuffer.append(TEXT_22);

+					}

+					if (genPackage.isXMIResource()) {

+						stringBuffer.append(TEXT_34);

+					}

+					stringBuffer.append(TEXT_35);

+				} else if (genPackage.getResource() != GenResourceKind.NONE_LITERAL) {

+					stringBuffer.append(TEXT_36);

+					if (hasKey) {

+						stringBuffer.append(TEXT_17);

+						stringBuffer.append(key);

+						stringBuffer.append(TEXT_18);

+					}

+					for (String fileExtension : genPackage.getFileExtensionList()) {

+						stringBuffer.append(TEXT_37);

+						stringBuffer.append(fileExtension);

+						stringBuffer.append(TEXT_26);

+						stringBuffer.append(genPackage.getQualifiedResourceFactoryClassName());

+						stringBuffer.append(TEXT_22);

+					}

+					stringBuffer.append(TEXT_23);

+				}

+			}

+		}

+		if (genModel.sameEditEditorProject()) {

+			for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {

+				if (!genPackage.getGenClasses().isEmpty()) {

+					stringBuffer.append(TEXT_38);

+					if (hasKey) {

+						stringBuffer.append(TEXT_17);

+						stringBuffer.append(key);

+						stringBuffer.append(TEXT_18);

+					}

+					stringBuffer.append(TEXT_39);

+					stringBuffer.append(genPackage.getNSURI());

+					stringBuffer.append(TEXT_26);

+					stringBuffer.append(genPackage.getQualifiedItemProviderAdapterFactoryClassName());

+					stringBuffer.append(TEXT_40);

+					for (ListIterator<?> j = genPackage.getProviderSupportedTypes().listIterator(); j.hasNext();) {

+						stringBuffer.append(TEXT_41);

+						stringBuffer.append(j.hasPrevious() ? " " : "\"");

+						stringBuffer.append(j.next());

+						if (!j.hasNext()) {

+							stringBuffer.append(TEXT_22);

+						}

+					}

+					stringBuffer.append(TEXT_23);

+					if (genPackage.isChildCreationExtenders()) {

+						Map<GenPackage, Map<GenClass, List<GenClass.ChildCreationData>>> extendedChildCreationData = genPackage

+								.getExtendedChildCreationData();

+						if (!extendedChildCreationData.isEmpty()) {

+							stringBuffer.append(TEXT_42);

+							for (Map.Entry<GenPackage, Map<GenClass, List<GenClass.ChildCreationData>>> entry : extendedChildCreationData

+									.entrySet()) {

+								if (hasKey) {

+									stringBuffer.append(TEXT_17);

+									stringBuffer.append(key);

+									stringBuffer.append(TEXT_18);

+								}

+								stringBuffer.append(TEXT_43);

+								stringBuffer.append(entry.getKey().getNSURI());

+								stringBuffer.append(TEXT_26);

+								stringBuffer.append(genPackage.getQualifiedItemProviderAdapterFactoryClassName());

+								stringBuffer.append(TEXT_44);

+								stringBuffer.append(genPackage.getChildCreationExtenderName(entry.getKey()));

+								stringBuffer.append(TEXT_22);

+							}

+							stringBuffer.append(TEXT_23);

+						}

+					}

+				}

+			}

+		}

+		if (genModel.isRichClientPlatform()) {

+			stringBuffer.append(TEXT_45);

+			stringBuffer.append(genModel.getEditorAdvisorClassName());

+			stringBuffer.append(TEXT_46);

+			if (hasKey) {

+				stringBuffer.append(TEXT_17);

+				stringBuffer.append(key);

+				stringBuffer.append(TEXT_18);

+			}

+			stringBuffer.append(TEXT_47);

+			stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());

+			stringBuffer.append(TEXT_48);

+			if (hasKey) {

+				stringBuffer.append(TEXT_17);

+				stringBuffer.append(key);

+				stringBuffer.append(TEXT_18);

+			}

+			stringBuffer.append(TEXT_49);

+			stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());

+			stringBuffer.append(TEXT_50);

+			stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());

+			stringBuffer.append(TEXT_51);

+			if (hasKey) {

+				stringBuffer.append(TEXT_17);

+				stringBuffer.append(key);

+				stringBuffer.append(TEXT_18);

+			}

+			stringBuffer.append(TEXT_52);

+			stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());

+			stringBuffer.append(TEXT_53);

+			if (!genModel.isRichAjaxPlatform()) {

+				stringBuffer.append(TEXT_54);

+				stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());

+				stringBuffer.append(TEXT_55);

+			}

+			stringBuffer.append(TEXT_56);

+			if (!genModel.isRichAjaxPlatform()) {

+				stringBuffer.append(TEXT_57);

+				if (hasKey) {

+					stringBuffer.append(TEXT_17);

+					stringBuffer.append(key);

+					stringBuffer.append(TEXT_18);

+				}

+				stringBuffer.append(TEXT_58);

+				stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());

+				stringBuffer.append(TEXT_59);

+				stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());

+				stringBuffer.append(TEXT_60);

+			}

+			stringBuffer.append(TEXT_61);

+			if (hasKey) {

+				stringBuffer.append(TEXT_17);

+				stringBuffer.append(key);

+				stringBuffer.append(TEXT_18);

+			}

+			stringBuffer.append(TEXT_62);

+			stringBuffer.append(genModel.getEditorAdvisorClassName());

+			stringBuffer.append(TEXT_63);

+			stringBuffer.append(genModel.getEditorAdvisorClassName());

+			stringBuffer.append(TEXT_64);

+			stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());

+			stringBuffer.append(TEXT_65);

+			stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());

+			stringBuffer.append(TEXT_66);

+			stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());

+			stringBuffer.append(TEXT_67);

+			stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());

+			stringBuffer.append(TEXT_68);

+			stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());

+			stringBuffer.append(TEXT_69);

+			if (!genModel.isRichAjaxPlatform()) {

+				stringBuffer.append(TEXT_70);

+				stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());

+				stringBuffer.append(TEXT_71);

+				stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());

+				stringBuffer.append(TEXT_72);

+				stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());

+				stringBuffer.append(TEXT_73);

+			}

+			stringBuffer.append(TEXT_74);

+		}

+		for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {

+			if (genPackage.hasConcreteClasses()) {

+				if (genPackage.isGenerateModelWizard()) {

+					if (genModel.isRichClientPlatform()) {

+						stringBuffer.append(TEXT_61);

+						if (hasKey) {

+							stringBuffer.append(TEXT_17);

+							stringBuffer.append(key);

+							stringBuffer.append(TEXT_18);

+						}

+						stringBuffer.append(TEXT_62);

+						stringBuffer.append(genPackage.getModelWizardClassName());

+						stringBuffer.append(TEXT_63);

+						stringBuffer.append(genPackage.getQualifiedActionBarContributorClassName());

+						stringBuffer.append(TEXT_75);

+						stringBuffer.append(genPackage.getModelWizardClassName());

+						stringBuffer.append(TEXT_76);

+						stringBuffer.append(genPackage.getQualifiedActionBarContributorClassName());

+						stringBuffer.append(TEXT_77);

+						stringBuffer.append(genPackage.getQualifiedActionBarContributorClassName());

+						stringBuffer.append(TEXT_78);

+					} else {

+						stringBuffer.append(TEXT_79);

+						if (hasKey) {

+							stringBuffer.append(TEXT_17);

+							stringBuffer.append(key);

+							stringBuffer.append(TEXT_18);

+						}

+						stringBuffer.append(TEXT_80);

+						stringBuffer.append(genPackage.getQualifiedModelWizardClassName());

+						stringBuffer.append(TEXT_81);

+						stringBuffer.append(genPackage.getModelWizardClassName());

+						stringBuffer.append(TEXT_82);

+						stringBuffer.append(genPackage.getQualifiedModelWizardClassName());

+						stringBuffer.append(TEXT_83);

+						stringBuffer.append(genPackage.getPrefix());

+						stringBuffer.append(TEXT_84);

+						stringBuffer.append(genPackage.getModelWizardClassName());

+						stringBuffer.append(TEXT_85);

+					}

+				}

+				stringBuffer.append(TEXT_86);

+				if (hasKey) {

+					stringBuffer.append(TEXT_17);

+					stringBuffer.append(key);

+					stringBuffer.append(TEXT_18);

+				}

+				stringBuffer.append(TEXT_87);

+				stringBuffer.append(genPackage.getQualifiedEditorClassName());

+				stringBuffer.append(TEXT_81);

+				stringBuffer.append(genPackage.getEditorClassName());

+				stringBuffer.append(TEXT_88);

+				stringBuffer.append(genPackage.getPrefix());

+				stringBuffer.append(TEXT_89);

+				if (!genPackage.isContentType()) {

+					stringBuffer.append(TEXT_90);

+					stringBuffer.append(genPackage.getFileExtensions());

+					stringBuffer.append(TEXT_8);

+				}

+				stringBuffer.append(TEXT_20);

+				stringBuffer.append(genPackage.getQualifiedEditorClassName());

+				stringBuffer.append(TEXT_91);

+				stringBuffer.append(genPackage.getQualifiedActionBarContributorClassName());

+				stringBuffer.append(TEXT_92);

+				if (genPackage.isContentType()) {

+					stringBuffer.append(TEXT_93);

+					stringBuffer.append(genPackage.getQualifiedContentTypeIdentifier());

+					stringBuffer.append(TEXT_22);

+				}

+				stringBuffer.append(TEXT_94);

+			}

+		}

+		stringBuffer.append(TEXT_95);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/WebXML.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/WebXML.java
new file mode 100644
index 0000000..979366c
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/WebXML.java
@@ -0,0 +1,194 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.editor;

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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;

+

+	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_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/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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/call/Editor/EditoraddItemProviderFactoriesinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/call/Editor/EditoraddItemProviderFactoriesinsert.java
new file mode 100644
index 0000000..f387c8f
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/call/Editor/EditoraddItemProviderFactoriesinsert.java
@@ -0,0 +1,477 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.editor.call.Editor;

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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> isJDK50List = null;

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

+		List<Object> forceDefaultCaseList = 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> _ListOfResourceList = 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 isJDK50Parameter : isJDK50List) {

+					for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+						for (Object importedOperationClassNameParameter : importedOperationClassNameList) {

+							for (Object operationMethodNameParameter : operationMethodNameList) {

+								for (Object _ArrayListOfObjectParameter : _ArrayListOfObjectList) {

+									for (Object _ArrayListOfSelectionChangedListenerParameter : _ArrayListOfSelectionChangedListenerList) {

+										for (Object _CollectionOfSelectionChangedListenerParameter : _CollectionOfSelectionChangedListenerList) {

+											for (Object _ListOfResourceParameter : _ListOfResourceList) {

+												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.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

+																															this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																															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._ListOfResource = (java.lang.String) _ListOfResourceParameter;

+																															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("isJDK50", this.isJDK50);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			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("_ListOfResource", this._ListOfResource);

+			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.Boolean isJDK50 = null;

+

+	public void set_isJDK50(java.lang.Boolean object) {

+		this.isJDK50 = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = 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 _ListOfResource = null;

+

+	public void set__ListOfResource(java.lang.String object) {

+		this._ListOfResource = 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("isJDK50", this.isJDK50);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		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("_ListOfResource", this._ListOfResource);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/call/Editor/EditoraddItemProviderFactoriesoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/call/Editor/EditoraddItemProviderFactoriesoverride.java
new file mode 100644
index 0000000..83b662c
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/call/Editor/EditoraddItemProviderFactoriesoverride.java
@@ -0,0 +1,540 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.editor.call.Editor;

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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;

+	protected final String TEXT_5 = 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> isJDK50List = null;

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

+		List<Object> forceDefaultCaseList = 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> _ListOfResourceList = 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 isJDK50Parameter : isJDK50List) {

+					for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+						for (Object importedOperationClassNameParameter : importedOperationClassNameList) {

+							for (Object operationMethodNameParameter : operationMethodNameList) {

+								for (Object _ArrayListOfObjectParameter : _ArrayListOfObjectList) {

+									for (Object _ArrayListOfSelectionChangedListenerParameter : _ArrayListOfSelectionChangedListenerList) {

+										for (Object _CollectionOfSelectionChangedListenerParameter : _CollectionOfSelectionChangedListenerList) {

+											for (Object _ListOfResourceParameter : _ListOfResourceList) {

+												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.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

+																															this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																															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._ListOfResource = (java.lang.String) _ListOfResourceParameter;

+																															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_5);

+		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("genPackage", this.genPackage);

+			parameterValues.put("genModel", this.genModel);

+			parameterValues.put("isJDK50", this.isJDK50);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			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("_ListOfResource", this._ListOfResource);

+			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.Boolean isJDK50 = null;

+

+	public void set_isJDK50(java.lang.Boolean object) {

+		this.isJDK50 = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = 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 _ListOfResource = null;

+

+	public void set__ListOfResource(java.lang.String object) {

+		this._ListOfResource = 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("isJDK50", this.isJDK50);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		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("_ListOfResource", this._ListOfResource);

+		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_2);

+				stringBuffer.append(aGenPackage.getImportedItemProviderAdapterFactoryClassName());

+				stringBuffer.append(TEXT_3);

+			}

+		}

+		stringBuffer.append(TEXT_4);

+		{

+			//<%@ 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,isJDK50:isJDK50,forceDefaultCase:forceDefaultCase,importedOperationClassName:importedOperationClassName,operationMethodName:operationMethodName,_ArrayListOfObject:_ArrayListOfObject,_ArrayListOfSelectionChangedListener:_ArrayListOfSelectionChangedListener,_CollectionOfSelectionChangedListener:_CollectionOfSelectionChangedListener,_ListOfResource:_ListOfResource,_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("isJDK50", isJDK50);

+			callParameters.put("forceDefaultCase", forceDefaultCase);

+			callParameters.put("importedOperationClassName", importedOperationClassName);

+			callParameters.put("operationMethodName", operationMethodName);

+			callParameters.put("_ArrayListOfObject", _ArrayListOfObject);

+			callParameters.put("_ArrayListOfSelectionChangedListener", _ArrayListOfSelectionChangedListener);

+			callParameters.put("_CollectionOfSelectionChangedListener", _CollectionOfSelectionChangedListener);

+			callParameters.put("_ListOfResource", _ListOfResource);

+			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_4);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/AdapterFactoryClass.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/AdapterFactoryClass.java
new file mode 100644
index 0000000..cbfdcfb
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/AdapterFactoryClass.java
@@ -0,0 +1,366 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model;

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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 + " * ";

+	protected final String TEXT_6 = NL + " * @generated" + NL + " */";

+	protected final String TEXT_7 = NL + "@Deprecated";

+	protected final String TEXT_8 = NL + "@SuppressWarnings(\"deprecation\")";

+	protected final String TEXT_9 = NL + "public class ";

+	protected final String TEXT_10 = " extends AdapterFactoryImpl" + NL + "{";

+	protected final String TEXT_11 = 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_12 = " copyright = ";

+	protected final String TEXT_13 = ";";

+	protected final String TEXT_14 = NL;

+	protected final String TEXT_15 = 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_16 = " 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_17 = "()" + NL + "\t{" + NL + "\t\tif (modelPackage == null)" + NL + "\t\t{" + NL

+			+ "\t\t\tmodelPackage = ";

+	protected final String TEXT_18 = ".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_19 = NL + "\t@Override";

+	protected final String TEXT_20 = 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_21 = " modelSwitch =" + NL + "\t\tnew ";

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

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

+	protected final String TEXT_24 = NL + "\t\t\tpublic ";

+	protected final String TEXT_25 = " case";

+	protected final String TEXT_26 = "(";

+	protected final String TEXT_27 = " object)" + NL + "\t\t\t{" + NL + "\t\t\t\treturn create";

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

+	protected final String TEXT_29 = " defaultCase(EObject object)" + NL + "\t\t\t{" + NL + "\t\t\t\treturn create";

+	protected final String TEXT_30 = "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_31 = NL + "\tpublic Adapter createAdapter(Notifier target)" + NL + "\t{" + NL

+			+ "\t\treturn ";

+	protected final String TEXT_32 = "modelSwitch.doSwitch((EObject)target);" + NL + "\t}" + NL;

+	protected final String TEXT_33 = NL + NL + "\t/**" + NL

+			+ "\t * Creates a new adapter for an object of class '{@link ";

+	protected final String TEXT_34 = " <em>";

+	protected final String TEXT_35 = "</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_36 = NL + "\t * ";

+	protected final String TEXT_37 = NL + "\t * @generated" + NL + "\t */";

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

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

+	protected final String TEXT_40 = "Adapter()" + NL + "\t{" + NL + "\t\treturn null;" + NL + "\t}";

+	protected final String TEXT_41 = 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_42 = "Adapter()" + NL + "\t{" + NL + "\t\treturn null;" + NL + "\t}" + NL + "" + NL

+			+ "} //";

+	protected final String TEXT_43 = 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_43);

+		stringBuffer.append(TEXT_43);

+		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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.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();

+		final boolean isJDK50 = 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("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());

+		if (genPackage.hasAPITags()) {

+			stringBuffer.append(TEXT_5);

+			stringBuffer.append(genPackage.getAPITags(genModel.getIndentation(stringBuffer)));

+		}

+		stringBuffer.append(TEXT_6);

+		if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_7);

+		} else if (isJDK50 && GenModelUtil.hasAPIDeprecatedTag(genPackage.getAllSwitchGenClasses())) {

+			stringBuffer.append(TEXT_8);

+		}

+		stringBuffer.append(TEXT_9);

+		stringBuffer.append(genPackage.getAdapterFactoryClassName());

+		stringBuffer.append(TEXT_10);

+		if (genModel.hasCopyrightField()) {

+			stringBuffer.append(TEXT_11);

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

+			stringBuffer.append(TEXT_12);

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

+			stringBuffer.append(TEXT_13);

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

+			stringBuffer.append(TEXT_14);

+		}

+		stringBuffer.append(TEXT_15);

+		stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+		stringBuffer.append(TEXT_16);

+		stringBuffer.append(genPackage.getAdapterFactoryClassName());

+		stringBuffer.append(TEXT_17);

+		stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+		stringBuffer.append(TEXT_18);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_19);

+		}

+		stringBuffer.append(TEXT_20);

+		stringBuffer.append(genPackage.getSwitchClassName());

+		stringBuffer.append(typeArgument);

+		stringBuffer.append(TEXT_21);

+		stringBuffer.append(genPackage.getSwitchClassName());

+		stringBuffer.append(typeArgument);

+		stringBuffer.append(TEXT_22);

+		for (GenClass genClass : genPackage.getAllSwitchGenClasses()) {

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_23);

+			}

+			stringBuffer.append(TEXT_24);

+			stringBuffer.append(genClass.getTypeParameters());

+			stringBuffer.append(returnType);

+			stringBuffer.append(TEXT_25);

+			stringBuffer.append(genPackage.getClassUniqueName(genClass));

+			stringBuffer.append(TEXT_26);

+			stringBuffer.append(genClass.getImportedInterfaceName());

+			stringBuffer.append(genClass.getInterfaceTypeArguments());

+			stringBuffer.append(TEXT_27);

+			stringBuffer.append(genPackage.getClassUniqueName(genClass));

+			stringBuffer.append(TEXT_28);

+		}

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_23);

+		}

+		stringBuffer.append(TEXT_24);

+		stringBuffer.append(returnType);

+		stringBuffer.append(TEXT_29);

+		stringBuffer.append(genPackage.getClassUniqueName(null));

+		stringBuffer.append(TEXT_30);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_19);

+		}

+		stringBuffer.append(TEXT_31);

+		stringBuffer.append(adapterCast);

+		stringBuffer.append(TEXT_32);

+		for (GenClass genClass : genPackage.getAllSwitchGenClasses()) {

+			stringBuffer.append(TEXT_33);

+			stringBuffer.append(genClass.getRawQualifiedInterfaceName());

+			stringBuffer.append(TEXT_34);

+			stringBuffer.append(genClass.getFormattedName());

+			stringBuffer.append(TEXT_35);

+			stringBuffer.append(genClass.getRawQualifiedInterfaceName());

+			if (genClass.hasAPITags()) {

+				stringBuffer.append(TEXT_36);

+				stringBuffer.append(genClass.getAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_37);

+			if (isJDK50 && genClass.hasAPIDeprecatedTag()) {

+				stringBuffer.append(TEXT_38);

+			}

+			stringBuffer.append(TEXT_39);

+			stringBuffer.append(genPackage.getClassUniqueName(genClass));

+			stringBuffer.append(TEXT_40);

+		}

+		stringBuffer.append(TEXT_41);

+		stringBuffer.append(genPackage.getClassUniqueName(null));

+		stringBuffer.append(TEXT_42);

+		stringBuffer.append(genPackage.getAdapterFactoryClassName());

+		genModel.emitSortedImports();

+		stringBuffer.append(TEXT_14);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/BuildProperties.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/BuildProperties.java
new file mode 100644
index 0000000..ce86b98
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/BuildProperties.java
@@ -0,0 +1,236 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model;

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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 + "               ";

+	protected final String TEXT_8 = ".properties";

+	protected final String TEXT_9 = NL + "jars.compile.order = ";

+	protected final String TEXT_10 = NL + "source.";

+	protected final String TEXT_11 = " = ";

+	protected final String TEXT_12 = NL + "output.";

+	protected final String TEXT_13 = " = bin/" + NL;

+	protected final String TEXT_14 = 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_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;

+		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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.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);

+		}

+		String modelBundleLocalization = genModel.getModelBundleLocalization();

+		int index = modelBundleLocalization.indexOf("/");

+		if (index == -1) {

+			stringBuffer.append(TEXT_7);

+			stringBuffer.append(modelBundleLocalization);

+			stringBuffer.append(TEXT_8);

+		} else {

+			stringBuffer.append(TEXT_7);

+			stringBuffer.append(modelBundleLocalization.substring(0, index + 1));

+		}

+		stringBuffer.append(TEXT_9);

+		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_10);

+				stringBuffer.append(pluginClassesLocation);

+				stringBuffer.append(TEXT_11);

+				stringBuffer.append(sourceFolder);

+				first = false;

+			} else {

+				stringBuffer.append(sourceFolder);

+			}

+		}

+		stringBuffer.append(TEXT_12);

+		stringBuffer.append(pluginClassesLocation);

+		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.ModelProject");

+		canGenerate = canGenerate && (genModel.hasPluginSupport());

+		return canGenerate;

+	}

+}
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/Class.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/Class.java
new file mode 100644
index 0000000..538cf4a
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/Class.java
@@ -0,0 +1,2262 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model;

+

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

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

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

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

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

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

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

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

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

+import java.util.*;

+import 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;

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

+			+ " * An implementation of the model object '<em><b>";

+	protected final String TEXT_6 = "</b></em>'." + NL + " * <!-- end-user-doc -->";

+	protected final String TEXT_7 = NL + " * <p>" + NL + " * The following features are implemented:" + NL + " * </p>"

+			+ NL + " * <ul>";

+	protected final String TEXT_8 = NL + " *   <li>{@link ";

+	protected final String TEXT_9 = "#";

+	protected final String TEXT_10 = " <em>";

+	protected final String TEXT_11 = "</em>}</li>";

+	protected final String TEXT_12 = NL + " * </ul>";

+	protected final String TEXT_13 = NL + " *";

+	protected final String TEXT_14 = NL + " * ";

+	protected final String TEXT_15 = NL + " * @generated" + NL + " */";

+	protected final String TEXT_16 = NL + "@Deprecated";

+	protected final String TEXT_17 = NL + "@SuppressWarnings(\"deprecation\")";

+	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 = 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_26 = " mofDriverNumber = \"";

+	protected final String TEXT_27 = "\";";

+	protected final String TEXT_28 = 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_29 = 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_30 = NL + "\t@";

+	protected final String TEXT_31 = NL + "\tprotected Object[] ";

+	protected final String TEXT_32 = ";" + NL;

+	protected final String TEXT_33 = 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_34 = NL + "\tprotected int ";

+	protected final String TEXT_35 = 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_36 = " = 0;" + NL;

+	protected final String TEXT_37 = NL + "\t/**" + NL + "\t * The empty value for the '{@link #";

+	protected final String TEXT_38 = "() <em>";

+	protected final String TEXT_39 = "</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_40 = "()";

+	protected final String TEXT_41 = NL + "\t * ";

+	protected final String TEXT_42 = NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";

+	protected final String TEXT_43 = NL + "\t@Deprecated";

+	protected final String TEXT_44 = NL + "\t@SuppressWarnings(\"rawtypes\")";

+	protected final String TEXT_45 = NL + "\tprotected static final ";

+	protected final String TEXT_46 = "[] ";

+	protected final String TEXT_47 = "_EEMPTY_ARRAY = new ";

+	protected final String TEXT_48 = " [0]";

+	protected final String TEXT_49 = 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_50 = " = ";

+	protected final String TEXT_51 = ".getFeatureID(";

+	protected final String TEXT_52 = ") - ";

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

+			+ "\t * <!-- end-user-doc -->";

+	protected final String TEXT_54 = NL + "\t * @generated" + NL + "\t */";

+	protected final String TEXT_55 = NL + "\tprivate static final int ";

+	protected final String TEXT_56 = 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_57 = ".getOperationID(";

+	protected final String TEXT_58 = "public";

+	protected final String TEXT_59 = "protected";

+	protected final String TEXT_60 = " ";

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

+	protected final String TEXT_62 = NL + "\t\t";

+	protected final String TEXT_63 = " |= ";

+	protected final String TEXT_64 = "_EFLAG";

+	protected final String TEXT_65 = "_DEFAULT";

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

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

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

+	protected final String TEXT_68 = NL + "\tprotected ";

+	protected final String TEXT_69 = " eStaticClass()" + NL + "\t{" + NL + "\t\treturn ";

+	protected final String TEXT_70 = ";" + 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 */";

+	protected final String TEXT_72 = NL + "\t@SuppressWarnings(\"unchecked\")";

+	protected final String TEXT_73 = NL + "\tpublic ";

+	protected final String TEXT_74 = " eInverseAdd(";

+	protected final String TEXT_75 = " otherEnd, int featureID, ";

+	protected final String TEXT_76 = " msgs)" + NL + "\t{" + NL + "\t\tswitch (featureID";

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

+	protected final String TEXT_78 = NL + "\t\t\tcase ";

+	protected final String TEXT_79 = ":";

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

+	protected final String TEXT_81 = "(";

+	protected final String TEXT_82 = ".InternalMapView";

+	protected final String TEXT_83 = ")";

+	protected final String TEXT_84 = "()).eMap()).basicAdd(otherEnd, msgs);";

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

+	protected final String TEXT_86 = "()).basicAdd(otherEnd, msgs);";

+	protected final String TEXT_87 = NL + "\t\t\t\tif (eInternalContainer() != null)" + NL

+			+ "\t\t\t\t\tmsgs = eBasicRemoveFromContainer(msgs);";

+	protected final String TEXT_88 = NL + "\t\t\t\treturn basicSet";

+	protected final String TEXT_89 = "((";

+	protected final String TEXT_90 = ")otherEnd, msgs);";

+	protected final String TEXT_91 = NL + "\t\t\t\treturn eBasicSetContainer(otherEnd, ";

+	protected final String TEXT_92 = ", msgs);";

+	protected final String TEXT_93 = NL + "\t\t\t\t";

+	protected final String TEXT_94 = " = (";

+	protected final String TEXT_95 = ")eVirtualGet(";

+	protected final String TEXT_96 = ");";

+	protected final String TEXT_97 = "basicGet";

+	protected final String TEXT_98 = "();";

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

+	protected final String TEXT_100 = " != null)";

+	protected final String TEXT_101 = NL + "\t\t\t\t\tmsgs = ";

+	protected final String TEXT_102 = ".eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ";

+	protected final String TEXT_103 = ", null, msgs);";

+	protected final String TEXT_104 = ".eInverseRemove(this, ";

+	protected final String TEXT_105 = ", ";

+	protected final String TEXT_106 = ".class, msgs);";

+	protected final String TEXT_107 = NL + "\t\t\tdefault:";

+	protected final String TEXT_108 = NL + "\t\t}";

+	protected final String TEXT_109 = "\t\treturn super.eInverseAdd(otherEnd, featureID, msgs);";

+	protected final String TEXT_110 = "\t\treturn eDynamicInverseAdd(otherEnd, featureID, msgs);";

+	protected final String TEXT_111 = NL + "\t}" + NL;

+	protected final String TEXT_112 = " eInverseRemove(";

+	protected final String TEXT_113 = ")((";

+	protected final String TEXT_114 = "()).eMap()).basicRemove(otherEnd, msgs);";

+	protected final String TEXT_115 = ".Internal.Wrapper)";

+	protected final String TEXT_116 = "()).featureMap()).basicRemove(otherEnd, msgs);";

+	protected final String TEXT_117 = "()).basicRemove(otherEnd, msgs);";

+	protected final String TEXT_118 = NL + "\t\t\t\treturn eBasicSetContainer(null, ";

+	protected final String TEXT_119 = NL + "\t\t\t\treturn basicUnset";

+	protected final String TEXT_120 = "(msgs);";

+	protected final String TEXT_121 = "(null, msgs);";

+	protected final String TEXT_122 = "\t\treturn super.eInverseRemove(otherEnd, featureID, msgs);";

+	protected final String TEXT_123 = "\t\treturn eDynamicInverseRemove(otherEnd, featureID, msgs);";

+	protected final String TEXT_124 = " eBasicRemoveFromContainerFeature(";

+	protected final String TEXT_125 = " msgs)" + NL + "\t{" + NL + "\t\tswitch (eContainerFeatureID()";

+	protected final String TEXT_126 = ":" + NL + "\t\t\t\treturn eInternalContainer().eInverseRemove(this, ";

+	protected final String TEXT_127 = "\t\treturn super.eBasicRemoveFromContainerFeature(msgs);";

+	protected final String TEXT_128 = "\t\treturn eDynamicBasicRemoveFromContainer(msgs);";

+	protected final String TEXT_129 = NL + "\tpublic Object eGet(int featureID, boolean resolve, boolean coreType)" + NL

+			+ "\t{" + NL + "\t\tswitch (featureID";

+	protected final String TEXT_130 = NL + "\t\t\t\treturn ";

+	protected final String TEXT_131 = "() ? Boolean.TRUE : Boolean.FALSE;";

+	protected final String TEXT_132 = NL + "\t\t\t\treturn new ";

+	protected final String TEXT_133 = "());";

+	protected final String TEXT_134 = NL + "\t\t\t\tif (resolve) return ";

+	protected final String TEXT_135 = "();" + NL + "\t\t\t\treturn basicGet";

+	protected final String TEXT_136 = NL + "\t\t\t\tif (coreType) return ((";

+	protected final String TEXT_137 = "()).eMap();" + NL + "\t\t\t\telse return ";

+	protected final String TEXT_138 = NL + "\t\t\t\tif (coreType) return ";

+	protected final String TEXT_139 = "();" + NL + "\t\t\t\telse return ";

+	protected final String TEXT_140 = "().map();";

+	protected final String TEXT_141 = "()).featureMap();" + NL + "\t\t\t\treturn ";

+	protected final String TEXT_142 = "();" + NL + "\t\t\t\treturn ((";

+	protected final String TEXT_143 = ".Internal)";

+	protected final String TEXT_144 = "()).getWrapper();";

+	protected final String TEXT_145 = "\t\treturn super.eGet(featureID, resolve, coreType);";

+	protected final String TEXT_146 = "\t\treturn eDynamicGet(featureID, resolve, coreType);";

+	protected final String TEXT_147 = NL + "\tpublic void eSet(int featureID, Object newValue)" + NL + "\t{" + NL

+			+ "\t\tswitch (featureID";

+	protected final String TEXT_148 = NL + "\t\t\t\t((";

+	protected final String TEXT_149 = ".Internal)((";

+	protected final String TEXT_150 = "()).featureMap()).set(newValue);";

+	protected final String TEXT_151 = "()).set(newValue);";

+	protected final String TEXT_152 = ".Setting)((";

+	protected final String TEXT_153 = "()).eMap()).set(newValue);";

+	protected final String TEXT_154 = ".Setting)";

+	protected final String TEXT_155 = "().clear();" + NL + "\t\t\t\t";

+	protected final String TEXT_156 = "().addAll((";

+	protected final String TEXT_157 = "<? extends ";

+	protected final String TEXT_158 = ">";

+	protected final String TEXT_159 = ")newValue);";

+	protected final String TEXT_160 = NL + "\t\t\t\tset";

+	protected final String TEXT_161 = "(((";

+	protected final String TEXT_162 = ")newValue).";

+	protected final String TEXT_163 = "newValue);";

+	protected final String TEXT_164 = NL + "\t\t\t\treturn;";

+	protected final String TEXT_165 = "\t\tsuper.eSet(featureID, newValue);";

+	protected final String TEXT_166 = "\t\teDynamicSet(featureID, newValue);";

+	protected final String TEXT_167 = NL + "\tpublic int eBaseStructuralFeatureID(int derivedFeatureID, Class";

+	protected final String TEXT_168 = " baseClass)" + NL + "\t{";

+	protected final String TEXT_169 = NL + "\t\tif (baseClass == ";

+	protected final String TEXT_170 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (derivedFeatureID";

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

+	protected final String TEXT_172 = NL + "\t\t\t\tcase ";

+	protected final String TEXT_173 = ": return ";

+	protected final String TEXT_174 = NL + "\t\t\t\tdefault: return -1;" + NL + "\t\t\t}" + NL + "\t\t}";

+	protected final String TEXT_175 = NL + "\t\treturn super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);"

+			+ NL + "\t}";

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

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

+	protected final String TEXT_177 = NL + "\tpublic int eDerivedStructuralFeatureID(int baseFeatureID, Class";

+	protected final String TEXT_178 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseFeatureID)" + NL + "\t\t\t{";

+	protected final String TEXT_179 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseFeatureID";

+	protected final String TEXT_180 = NL + "\t\treturn super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);"

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

+	protected final String TEXT_181 = NL + "\tpublic int eDerivedOperationID(int baseOperationID, Class";

+	protected final String TEXT_182 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseOperationID)" + NL + "\t\t\t{";

+	protected final String TEXT_183 = NL

+			+ "\t\t\t\tdefault: return super.eDerivedOperationID(baseOperationID, baseClass);" + NL + "\t\t\t}" + NL

+			+ "\t\t}";

+	protected final String TEXT_184 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseOperationID";

+	protected final String TEXT_185 = NL + "\t\treturn super.eDerivedOperationID(baseOperationID, baseClass);" + NL

+			+ "\t}" + NL;

+	protected final String TEXT_186 = NL + "\tprotected Object[] eVirtualValues()" + NL + "\t{" + NL + "\t\treturn ";

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

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

+	protected final String TEXT_188 = NL + "\tprotected void eSetVirtualValues(Object[] newValues)" + NL + "\t{" + NL

+			+ "\t\t";

+	protected final String TEXT_189 = " = newValues;" + NL + "\t}" + NL;

+	protected final String TEXT_190 = NL + "\tprotected int eVirtualIndexBits(int offset)" + NL + "\t{" + NL

+			+ "\t\tswitch (offset)" + NL + "\t\t{";

+	protected final String TEXT_191 = " :" + NL + "\t\t\t\treturn ";

+	protected final String TEXT_192 = 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_193 = NL + "\tprotected void eSetVirtualIndexBits(int offset, int newIndexBits)" + NL

+			+ "\t{" + NL + "\t\tswitch (offset)" + NL + "\t\t{";

+	protected final String TEXT_194 = " :" + NL + "\t\t\t\t";

+	protected final String TEXT_195 = " = newIndexBits;" + NL + "\t\t\t\tbreak;";

+	protected final String TEXT_196 = NL + "\t\t\tdefault :" + NL + "\t\t\t\tthrow new IndexOutOfBoundsException();"

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

+	protected final String TEXT_197 = NL + "\t@SuppressWarnings(";

+	protected final String TEXT_198 = "\"unchecked\"";

+	protected final String TEXT_199 = "{\"rawtypes\", \"unchecked\" }";

+	protected final String TEXT_200 = NL + "\tpublic Object eInvoke(int operationID, ";

+	protected final String TEXT_201 = " arguments) throws ";

+	protected final String TEXT_202 = NL + "\t{" + NL + "\t\tswitch (operationID";

+	protected final String TEXT_203 = NL + "\t\t\t\ttry" + NL + "\t\t\t\t{";

+	protected final String TEXT_204 = "arguments.get(";

+	protected final String TEXT_205 = ").";

+	protected final String TEXT_206 = ");" + NL + "\t\t\t\t";

+	protected final String TEXT_207 = "return null;";

+	protected final String TEXT_208 = "return ";

+	protected final String TEXT_209 = "new ";

+	protected final String TEXT_210 = NL + "\t\t\t\t}" + NL + "\t\t\t\tcatch (";

+	protected final String TEXT_211 = " throwable)" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\tthrow new ";

+	protected final String TEXT_212 = "(throwable);" + NL + "\t\t\t\t}";

+	protected final String TEXT_213 = "\t\treturn super.eInvoke(operationID, arguments);";

+	protected final String TEXT_214 = "\t\treturn eDynamicInvoke(operationID, arguments);";

+	protected final String TEXT_215 = NL + "\tpublic String toString()" + NL + "\t{" + NL

+			+ "\t\tif (eIsProxy()) return super.toString();" + NL + "" + NL + "\t\t";

+	protected final String TEXT_216 = " result = new ";

+	protected final String TEXT_217 = "(super.toString());";

+	protected final String TEXT_218 = NL + "\t\tresult.append(\" (";

+	protected final String TEXT_219 = ": \");";

+	protected final String TEXT_220 = NL + "\t\tresult.append(\", ";

+	protected final String TEXT_221 = NL + "\t\tif (eVirtualIsSet(";

+	protected final String TEXT_222 = ")) result.append(eVirtualGet(";

+	protected final String TEXT_223 = ")); else result.append(\"<unset>\");";

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

+	protected final String TEXT_225 = " & ";

+	protected final String TEXT_226 = "_ESETFLAG) != 0";

+	protected final String TEXT_227 = "ESet";

+	protected final String TEXT_228 = ") result.append((";

+	protected final String TEXT_229 = "_EFLAG) != 0); else result.append(\"<unset>\");";

+	protected final String TEXT_230 = ") result.append(";

+	protected final String TEXT_231 = "_EFLAG_VALUES[(";

+	protected final String TEXT_232 = "_EFLAG) >>> ";

+	protected final String TEXT_233 = "_EFLAG_OFFSET]); else result.append(\"<unset>\");";

+	protected final String TEXT_234 = "); else result.append(\"<unset>\");";

+	protected final String TEXT_235 = NL + "\t\tresult.append(eVirtualGet(";

+	protected final String TEXT_236 = "));";

+	protected final String TEXT_237 = NL + "\t\tresult.append((";

+	protected final String TEXT_238 = "_EFLAG) != 0);";

+	protected final String TEXT_239 = NL + "\t\tresult.append(";

+	protected final String TEXT_240 = "_EFLAG_OFFSET]);";

+	protected final String TEXT_241 = NL + "\t\tresult.append(')');" + NL + "\t\treturn result.toString();" + NL + "\t}"

+			+ NL;

+	protected final String TEXT_242 = NL + "\tprotected int hash = -1;" + NL + "" + NL + "\t/**" + NL

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

+			+ "\t */";

+	protected final String TEXT_243 = NL + "\tpublic int getHash()" + NL + "\t{" + NL + "\t\tif (hash == -1)" + NL

+			+ "\t\t{" + NL + "\t\t\t";

+	protected final String TEXT_244 = " 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 */";

+	protected final String TEXT_245 = 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 */";

+	protected final String TEXT_246 = " getKey()" + NL + "\t{";

+	protected final String TEXT_247 = NL + "\t\treturn new ";

+	protected final String TEXT_248 = "(getTypedKey());";

+	protected final String TEXT_249 = NL + "\t\treturn getTypedKey();";

+	protected final String TEXT_250 = NL + "\tpublic void setKey(";

+	protected final String TEXT_251 = " key)" + NL + "\t{";

+	protected final String TEXT_252 = NL + "\t\tgetTypedKey().addAll(";

+	protected final String TEXT_253 = "key);";

+	protected final String TEXT_254 = NL + "\t\tsetTypedKey(key);";

+	protected final String TEXT_255 = NL + "\t\tsetTypedKey(((";

+	protected final String TEXT_256 = ")key).";

+	protected final String TEXT_257 = NL + "\t\tsetTypedKey((";

+	protected final String TEXT_258 = ")key);";

+	protected final String TEXT_259 = " getValue()" + NL + "\t{";

+	protected final String TEXT_260 = "(getTypedValue());";

+	protected final String TEXT_261 = NL + "\t\treturn getTypedValue();";

+	protected final String TEXT_262 = " setValue(";

+	protected final String TEXT_263 = " value)" + NL + "\t{" + NL + "\t\t";

+	protected final String TEXT_264 = " oldValue = getValue();";

+	protected final String TEXT_265 = NL + "\t\tgetTypedValue().clear();" + NL + "\t\tgetTypedValue().addAll(";

+	protected final String TEXT_266 = "value);";

+	protected final String TEXT_267 = NL + "\t\tsetTypedValue(value);";

+	protected final String TEXT_268 = NL + "\t\tsetTypedValue(((";

+	protected final String TEXT_269 = ")value).";

+	protected final String TEXT_270 = NL + "\t\tsetTypedValue((";

+	protected final String TEXT_271 = ")value);";

+	protected final String TEXT_272 = 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_273 = " getEMap()" + NL + "\t{" + NL + "\t\t";

+	protected final String TEXT_274 = " container = eContainer();" + NL + "\t\treturn container == null ? null : (";

+	protected final String TEXT_275 = ")container.eGet(eContainmentFeature());" + NL + "\t}" + NL;

+	protected final String TEXT_276 = NL + "} //";

+	protected final String TEXT_277 = 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_277);

+		stringBuffer.append(TEXT_277);

+		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-2019 IBM Corporation and others.

+		 * All rights reserved.   This program and the accompanying materials

+		 * are made available under the terms of the Eclipse Public License v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.html

+		 *

+		 * Contributors:

+		 *   IBM - Initial API and implementation

+		 *   Alexander Fedorov <alexander.fedorov@arsysop.ru> - Bug 546714

+		 */

+

+		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 useInterfaceOverrideAnnotation = genModel.useInterfaceOverrideAnnotation()

+				&& !(isInterface && isImplementation);

+		final boolean isGWT = genModel.getRuntimePlatform() == GenRuntimePlatform.GWT;

+		final boolean forceDefaultCase = genModel.isSwitchMissingDefaultCase();

+		final String indentDefaultCase = forceDefaultCase ? "\t\t" : "";

+		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_2);

+			stringBuffer.append(genPackage.getClassPackageName());

+			stringBuffer.append(TEXT_3);

+		}

+		stringBuffer.append(TEXT_4);

+		genModel.markImportLocation(stringBuffer, genPackage);

+		if (isImplementation) {

+			genClass.addClassPsuedoImports();

+		}

+		stringBuffer.append(TEXT_4);

+		if (isInterface) {

+			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.interface.javadoc.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_5);

+			stringBuffer.append(genClass.getFormattedName());

+			stringBuffer.append(TEXT_6);

+			if (!genClass.getImplementedGenFeatures().isEmpty()) {

+				stringBuffer.append(TEXT_7);

+				for (GenFeature genFeature : genClass.getImplementedGenFeatures()) {

+					stringBuffer.append(TEXT_8);

+					stringBuffer.append(genClass.getQualifiedClassName());

+					stringBuffer.append(TEXT_9);

+					stringBuffer.append(genFeature.getGetAccessor());

+					stringBuffer.append(TEXT_10);

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

+					stringBuffer.append(TEXT_11);

+				}

+				stringBuffer.append(TEXT_12);

+			}

+			stringBuffer.append(TEXT_13);

+			if (genClass.hasImplicitAPITags()) {

+				stringBuffer.append(TEXT_14);

+				stringBuffer.append(genClass.getImplicitAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_15);

+		}

+		if (isJDK50 && genClass.hasImplicitAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_16);

+		}

+		if (isImplementation) {

+			if (isJDK50 && !genClass.hasAPIDeprecatedTag()

+					&& GenModelUtil.hasImplicitAPIDeprecatedTag(genClass.getEGetGenFeatures(),

+							genClass.getEIsSetGenFeatures(), genClass.getESetGenFeatures(),

+							genClass.getEUnsetGenFeatures(), genClass.getEInverseAddGenFeatures(),

+							genClass.getEInverseRemoveGenFeatures(), genClass.getEBasicRemoveFromContainerGenFeatures(),

+							genClass.getToStringGenFeatures())) {

+				stringBuffer.append(TEXT_17);

+			}

+			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_3);

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

+			stringBuffer.append(TEXT_4);

+		}

+		if (isImplementation && genModel.getDriverNumber() != null) {

+			stringBuffer.append(TEXT_25);

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

+			stringBuffer.append(TEXT_26);

+			stringBuffer.append(genModel.getDriverNumber());

+			stringBuffer.append(TEXT_27);

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

+			stringBuffer.append(TEXT_4);

+		}

+		if (isImplementation && genClass.isJavaIOSerializable()) {

+			stringBuffer.append(TEXT_28);

+		}

+		if (isImplementation && genModel.isVirtualDelegation()) {

+			String eVirtualValuesField = genClass.getEVirtualValuesField();

+			if (eVirtualValuesField != null) {

+				stringBuffer.append(TEXT_29);

+				if (isGWT) {

+					stringBuffer.append(TEXT_30);

+					stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));

+				}

+				stringBuffer.append(TEXT_31);

+				stringBuffer.append(eVirtualValuesField);

+				stringBuffer.append(TEXT_32);

+			}

+			{

+				List<String> eVirtualIndexBitFields = genClass.getEVirtualIndexBitFields(new ArrayList<String>());

+				if (!eVirtualIndexBitFields.isEmpty()) {

+					for (String eVirtualIndexBitField : eVirtualIndexBitFields) {

+						stringBuffer.append(TEXT_33);

+						if (isGWT) {

+							stringBuffer.append(TEXT_30);

+							stringBuffer

+									.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));

+						}

+						stringBuffer.append(TEXT_34);

+						stringBuffer.append(eVirtualIndexBitField);

+						stringBuffer.append(TEXT_32);

+					}

+				}

+			}

+		}

+		if (isImplementation && genClass.isModelRoot() && genModel.isBooleanFlagsEnabled()

+				&& genModel.getBooleanFlagsReservedBits() == -1) {

+			stringBuffer.append(TEXT_35);

+			if (isGWT) {

+				stringBuffer.append(TEXT_30);

+				stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));

+			}

+			stringBuffer.append(TEXT_34);

+			stringBuffer.append(genModel.getBooleanFlagsField());

+			stringBuffer.append(TEXT_36);

+		}

+		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_37);

+					stringBuffer.append(genFeature.getGetArrayAccessor());

+					stringBuffer.append(TEXT_38);

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

+					stringBuffer.append(TEXT_39);

+					stringBuffer.append(genFeature.getGetArrayAccessor());

+					stringBuffer.append(TEXT_40);

+					if (genFeature.hasAPITags()) {

+						stringBuffer.append(TEXT_41);

+						stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+					}

+					stringBuffer.append(TEXT_42);

+					if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+						stringBuffer.append(TEXT_43);

+					}

+					if (genFeature.getQualifiedListItemType(genClass).contains("<")

+							|| genFeature.getArrayItemType(genClass).contains("<")) {

+						stringBuffer.append(TEXT_44);

+					}

+					stringBuffer.append(TEXT_45);

+					stringBuffer.append(rawListItemType);

+					stringBuffer.append(TEXT_46);

+					stringBuffer.append(genFeature.getUpperName());

+					stringBuffer.append(TEXT_47);

+					stringBuffer.append(head);

+					stringBuffer.append(TEXT_48);

+					stringBuffer.append(tail);

+					stringBuffer.append(TEXT_32);

+				}

+			}

+			for (GenFeature genFeature : genClass.getDeclaredFieldGenFeatures()) {

+				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.declaredFieldGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+					callParameters.put("isGWT", isGWT);

+					callParameters.put("forceDefaultCase", forceDefaultCase);

+					callParameters.put("indentDefaultCase", indentDefaultCase);

+					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_49);

+			stringBuffer.append(genClass.getOffsetCorrectionField(null));

+			stringBuffer.append(TEXT_50);

+			stringBuffer.append(genClass.getQualifiedClassifierAccessor());

+			stringBuffer.append(TEXT_51);

+			stringBuffer.append(genClass.getImplementedGenFeatures().get(0).getQualifiedFeatureAccessor());

+			stringBuffer.append(TEXT_52);

+			stringBuffer.append(genClass.getQualifiedFeatureID(genClass.getImplementedGenFeatures().get(0)));

+			stringBuffer.append(TEXT_32);

+		}

+		if (isImplementation && !genModel.isReflectiveDelegation()) {

+			for (GenFeature genFeature : genClass.getImplementedGenFeatures()) {

+				GenFeature reverseFeature = genFeature.getReverse();

+				if (reverseFeature != null && reverseFeature.getGenClass().hasOffsetCorrection()) {

+					stringBuffer.append(TEXT_53);

+					if (genFeature.hasAPITags()) {

+						stringBuffer.append(TEXT_41);

+						stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+					}

+					stringBuffer.append(TEXT_54);

+					if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+						stringBuffer.append(TEXT_43);

+					}

+					stringBuffer.append(TEXT_55);

+					stringBuffer.append(genClass.getOffsetCorrectionField(genFeature));

+					stringBuffer.append(TEXT_50);

+					stringBuffer.append(reverseFeature.getGenClass().getQualifiedClassifierAccessor());

+					stringBuffer.append(TEXT_51);

+					stringBuffer.append(reverseFeature.getQualifiedFeatureAccessor());

+					stringBuffer.append(TEXT_52);

+					stringBuffer.append(reverseFeature.getGenClass().getQualifiedFeatureID(reverseFeature));

+					stringBuffer.append(TEXT_32);

+				}

+			}

+		}

+		if (genModel.isOperationReflection() && isImplementation && genClass.hasOffsetCorrection()

+				&& !genClass.getImplementedGenOperations().isEmpty()) {

+			stringBuffer.append(TEXT_56);

+			stringBuffer.append(genClass.getQualifiedClassifierAccessor());

+			stringBuffer.append(TEXT_57);

+			stringBuffer.append(genClass.getImplementedGenOperations().get(0).getQualifiedOperationAccessor());

+			stringBuffer.append(TEXT_52);

+			stringBuffer.append(genClass.getQualifiedOperationID(genClass.getImplementedGenOperations().get(0)));

+			stringBuffer.append(TEXT_32);

+		}

+		if (isImplementation) {

+			stringBuffer.append(TEXT_23);

+			if (genModel.isPublicConstructors()) {

+				stringBuffer.append(TEXT_58);

+			} else {

+				stringBuffer.append(TEXT_59);

+			}

+			stringBuffer.append(TEXT_60);

+			stringBuffer.append(genClass.getClassName());

+			stringBuffer.append(TEXT_61);

+			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.egfCustom.constructor.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_62);

+				stringBuffer.append(genClass.getFlagsField(genFeature));

+				stringBuffer.append(TEXT_63);

+				stringBuffer.append(genFeature.getUpperName());

+				stringBuffer.append(TEXT_64);

+				if (!genFeature.isBooleanType()) {

+					stringBuffer.append(TEXT_65);

+				}

+				stringBuffer.append(TEXT_3);

+			}

+			stringBuffer.append(TEXT_66);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_67);

+			}

+			stringBuffer.append(TEXT_68);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClass"));

+			stringBuffer.append(TEXT_69);

+			stringBuffer.append(genClass.getQualifiedClassifierAccessor());

+			stringBuffer.append(TEXT_70);

+		}

+		if (isImplementation && genModel.isDynamicDelegation()) {

+			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.dynamicDelegation" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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#_WUeasCSWEemxeP6B0lLOpA",

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

+				stringBuffer.setLength(0);

+			}

+

+		}

+		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.reflectiveDelegation.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+			callParameters.put("isGWT", isGWT);

+			callParameters.put("forceDefaultCase", forceDefaultCase);

+			callParameters.put("indentDefaultCase", indentDefaultCase);

+			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_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.genFeatureReified.override" args="genFeature:genFeature,classExtendsGenClass:classExtendsGenClass,classExtendsAllGenFeatures:classExtendsAllGenFeatures,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+							callParameters.put("isGWT", isGWT);

+							callParameters.put("forceDefaultCase", forceDefaultCase);

+							callParameters.put("indentDefaultCase", indentDefaultCase);

+							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_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.genFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+						callParameters.put("isGWT", isGWT);

+						callParameters.put("forceDefaultCase", forceDefaultCase);

+						callParameters.put("indentDefaultCase", indentDefaultCase);

+						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_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.genOperation.override" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_71);

+			if (genModel.useGenerics()) {

+				for (GenFeature genFeature : genClass.getEInverseAddGenFeatures()) {

+					if (genFeature.isUncheckedCast(genClass)) {

+						stringBuffer.append(TEXT_72);

+						break;

+					}

+				}

+			}

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_67);

+			}

+			stringBuffer.append(TEXT_73);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

+			stringBuffer.append(TEXT_74);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

+			stringBuffer.append(TEXT_75);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

+			stringBuffer.append(TEXT_76);

+			stringBuffer.append(negativeOffsetCorrection);

+			stringBuffer.append(TEXT_77);

+			for (GenFeature genFeature : genClass.getEInverseAddGenFeatures()) {

+				stringBuffer.append(TEXT_78);

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

+				stringBuffer.append(TEXT_79);

+				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_80);

+						stringBuffer.append(cast);

+						stringBuffer.append(TEXT_81);

+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EMap"));

+						stringBuffer.append(TEXT_82);

+						stringBuffer.append(genFeature.getImportedMapTemplateArguments(genClass));

+						stringBuffer.append(TEXT_83);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_84);

+					} else {

+						stringBuffer.append(TEXT_85);

+						stringBuffer.append(cast);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_86);

+					}

+				} else if (genFeature.isContainer()) {

+					stringBuffer.append(TEXT_87);

+					if (genFeature.isBasicSet()) {

+						stringBuffer.append(TEXT_88);

+						stringBuffer.append(genFeature.getAccessorName());

+						stringBuffer.append(TEXT_89);

+						stringBuffer.append(genFeature.getImportedType(genClass));

+						stringBuffer.append(TEXT_90);

+					} else {

+						stringBuffer.append(TEXT_91);

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

+						stringBuffer.append(positiveOffsetCorrection);

+						stringBuffer.append(TEXT_92);

+					}

+				} else {

+					if (genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {

+						stringBuffer.append(TEXT_93);

+						stringBuffer.append(genFeature.getImportedType(genClass));

+						stringBuffer.append(TEXT_60);

+						stringBuffer.append(genFeature.getSafeName());

+						stringBuffer.append(TEXT_94);

+						stringBuffer.append(genFeature.getImportedType(genClass));

+						stringBuffer.append(TEXT_95);

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

+						stringBuffer.append(positiveOffsetCorrection);

+						stringBuffer.append(TEXT_96);

+					} else if (genFeature.isVolatile()

+							|| genClass.getImplementingGenModel(genFeature).isDynamicDelegation()) {

+						stringBuffer.append(TEXT_93);

+						stringBuffer.append(genFeature.getImportedType(genClass));

+						stringBuffer.append(TEXT_60);

+						stringBuffer.append(genFeature.getSafeName());

+						stringBuffer.append(TEXT_50);

+						if (genFeature.isResolveProxies()) {

+							stringBuffer.append(TEXT_97);

+							stringBuffer.append(genFeature.getAccessorName());

+						} else {

+							stringBuffer.append(genFeature.getGetAccessor());

+						}

+						stringBuffer.append(TEXT_98);

+					}

+					stringBuffer.append(TEXT_99);

+					stringBuffer.append(genFeature.getSafeName());

+					stringBuffer.append(TEXT_100);

+					if (genFeature.isEffectiveContains()) {

+						stringBuffer.append(TEXT_101);

+						stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), true));

+						stringBuffer.append(TEXT_102);

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

+						stringBuffer.append(negativeOffsetCorrection);

+						stringBuffer.append(TEXT_103);

+					} else {

+						GenFeature reverseFeature = genFeature.getReverse();

+						GenClass targetClass = reverseFeature.getGenClass();

+						String reverseOffsetCorrection = targetClass.hasOffsetCorrection()

+								? " + " + genClass.getOffsetCorrectionField(genFeature)

+								: "";

+						stringBuffer.append(TEXT_101);

+						stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), true));

+						stringBuffer.append(TEXT_104);

+						stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));

+						stringBuffer.append(reverseOffsetCorrection);

+						stringBuffer.append(TEXT_105);

+						stringBuffer.append(targetClass.getRawImportedInterfaceName());

+						stringBuffer.append(TEXT_106);

+					}

+					stringBuffer.append(TEXT_88);

+					stringBuffer.append(genFeature.getAccessorName());

+					stringBuffer.append(TEXT_89);

+					stringBuffer.append(genFeature.getImportedType(genClass));

+					stringBuffer.append(TEXT_90);

+				}

+			}

+			if (forceDefaultCase) {

+				stringBuffer.append(TEXT_107);

+			} else {

+				stringBuffer.append(TEXT_108);

+			}

+			if (genModel.isMinimalReflectiveMethods()) {

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(indentDefaultCase);

+				stringBuffer.append(TEXT_109);

+			} else {

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(indentDefaultCase);

+				stringBuffer.append(TEXT_110);

+			}

+			if (forceDefaultCase) {

+				stringBuffer.append(TEXT_108);

+			}

+			stringBuffer.append(TEXT_111);

+		}

+		if (isImplementation && !genModel.isReflectiveDelegation()

+				&& genClass.implementsAny(genClass.getEInverseRemoveGenFeatures())) {

+			stringBuffer.append(TEXT_71);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_67);

+			}

+			stringBuffer.append(TEXT_73);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

+			stringBuffer.append(TEXT_112);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

+			stringBuffer.append(TEXT_75);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

+			stringBuffer.append(TEXT_76);

+			stringBuffer.append(negativeOffsetCorrection);

+			stringBuffer.append(TEXT_77);

+			for (GenFeature genFeature : genClass.getEInverseRemoveGenFeatures()) {

+				stringBuffer.append(TEXT_78);

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

+				stringBuffer.append(TEXT_79);

+				if (genFeature.isListType()) {

+					if (genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes()) {

+						stringBuffer.append(TEXT_80);

+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList"));

+						stringBuffer.append(singleWildcard);

+						stringBuffer.append(TEXT_113);

+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EMap"));

+						stringBuffer.append(TEXT_82);

+						stringBuffer.append(genFeature.getImportedMapTemplateArguments(genClass));

+						stringBuffer.append(TEXT_83);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_114);

+					} else if (genFeature.isWrappedFeatureMapType()) {

+						stringBuffer.append(TEXT_80);

+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList"));

+						stringBuffer.append(singleWildcard);

+						stringBuffer.append(TEXT_113);

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

+						stringBuffer.append(TEXT_115);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_116);

+					} else {

+						stringBuffer.append(TEXT_80);

+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList"));

+						stringBuffer.append(singleWildcard);

+						stringBuffer.append(TEXT_83);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_117);

+					}

+				} else if (genFeature.isContainer() && !genFeature.isBasicSet()) {

+					stringBuffer.append(TEXT_118);

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

+					stringBuffer.append(positiveOffsetCorrection);

+					stringBuffer.append(TEXT_92);

+				} else if (genFeature.isUnsettable()) {

+					stringBuffer.append(TEXT_119);

+					stringBuffer.append(genFeature.getAccessorName());

+					stringBuffer.append(TEXT_120);

+				} else {

+					stringBuffer.append(TEXT_88);

+					stringBuffer.append(genFeature.getAccessorName());

+					stringBuffer.append(TEXT_121);

+				}

+			}

+			if (forceDefaultCase) {

+				stringBuffer.append(TEXT_107);

+			} else { // {

+				stringBuffer.append(TEXT_108);

+			}

+			if (genModel.isMinimalReflectiveMethods()) {

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(indentDefaultCase);

+				stringBuffer.append(TEXT_122);

+			} else {

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(indentDefaultCase);

+				stringBuffer.append(TEXT_123);

+			}

+			if (forceDefaultCase) { // {

+				stringBuffer.append(TEXT_108);

+			} // }

+			stringBuffer.append(TEXT_111);

+		}

+		if (isImplementation && !genModel.isReflectiveDelegation()

+				&& genClass.implementsAny(genClass.getEBasicRemoveFromContainerGenFeatures())) {

+			stringBuffer.append(TEXT_71);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_67);

+			}

+			stringBuffer.append(TEXT_73);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

+			stringBuffer.append(TEXT_124);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

+			stringBuffer.append(TEXT_125);

+			stringBuffer.append(negativeOffsetCorrection);

+			stringBuffer.append(TEXT_77);

+			for (GenFeature genFeature : genClass.getEBasicRemoveFromContainerGenFeatures()) {

+				GenFeature reverseFeature = genFeature.getReverse();

+				GenClass targetClass = reverseFeature.getGenClass();

+				String reverseOffsetCorrection = targetClass.hasOffsetCorrection()

+						? " + " + genClass.getOffsetCorrectionField(genFeature)

+						: "";

+				stringBuffer.append(TEXT_78);

+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+				stringBuffer.append(TEXT_126);

+				stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));

+				stringBuffer.append(reverseOffsetCorrection);

+				stringBuffer.append(TEXT_105);

+				stringBuffer.append(targetClass.getRawImportedInterfaceName());

+				stringBuffer.append(TEXT_106);

+			}

+			if (forceDefaultCase) {

+				stringBuffer.append(TEXT_107);

+			} else { // {

+				stringBuffer.append(TEXT_108);

+			}

+			if (genModel.isMinimalReflectiveMethods()) {

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(indentDefaultCase);

+				stringBuffer.append(TEXT_127);

+			} else {

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(indentDefaultCase);

+				stringBuffer.append(TEXT_128);

+			}

+			if (forceDefaultCase) { // {

+				stringBuffer.append(TEXT_108);

+			} // }

+			stringBuffer.append(TEXT_111);

+		}

+		if (isImplementation && !genModel.isReflectiveDelegation()

+				&& genClass.implementsAny(genClass.getEGetGenFeatures())) {

+			stringBuffer.append(TEXT_71);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_67);

+			}

+			stringBuffer.append(TEXT_129);

+			stringBuffer.append(negativeOffsetCorrection);

+			stringBuffer.append(TEXT_77);

+			for (GenFeature genFeature : genClass.getEGetGenFeatures()) {

+				stringBuffer.append(TEXT_78);

+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+				stringBuffer.append(TEXT_79);

+				if (genFeature.isPrimitiveType()) {

+					if (isJDK50) {

+						stringBuffer.append(TEXT_130);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_98);

+					} else if (genFeature.isBooleanType()) {

+						stringBuffer.append(TEXT_130);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_131);

+					} else {

+						stringBuffer.append(TEXT_132);

+						stringBuffer.append(genFeature.getObjectType(genClass));

+						stringBuffer.append(TEXT_81);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_133);

+					}

+				} else if (genFeature.isResolveProxies() && !genFeature.isListType()) {

+					stringBuffer.append(TEXT_134);

+					stringBuffer.append(genFeature.getGetAccessor());

+					stringBuffer.append(TEXT_135);

+					stringBuffer.append(genFeature.getAccessorName());

+					stringBuffer.append(TEXT_98);

+				} else if (genFeature.isMapType()) {

+					if (genFeature.isEffectiveSuppressEMFTypes()) {

+						stringBuffer.append(TEXT_136);

+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EMap"));

+						stringBuffer.append(TEXT_82);

+						stringBuffer.append(genFeature.getImportedMapTemplateArguments(genClass));

+						stringBuffer.append(TEXT_83);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_137);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_98);

+					} else {

+						stringBuffer.append(TEXT_138);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_139);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_140);

+					}

+				} else if (genFeature.isWrappedFeatureMapType()) {

+					stringBuffer.append(TEXT_136);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+					stringBuffer.append(TEXT_115);

+					stringBuffer.append(genFeature.getGetAccessor());

+					stringBuffer.append(TEXT_141);

+					stringBuffer.append(genFeature.getGetAccessor());

+					stringBuffer.append(TEXT_98);

+				} else if (genFeature.isFeatureMapType()) {

+					stringBuffer.append(TEXT_138);

+					stringBuffer.append(genFeature.getGetAccessor());

+					stringBuffer.append(TEXT_142);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+					stringBuffer.append(TEXT_143);

+					stringBuffer.append(genFeature.getGetAccessor());

+					stringBuffer.append(TEXT_144);

+				} else {

+					stringBuffer.append(TEXT_130);

+					stringBuffer.append(genFeature.getGetAccessor());

+					stringBuffer.append(TEXT_98);

+				}

+			}

+			if (forceDefaultCase) {

+				stringBuffer.append(TEXT_107);

+			} else { // {

+				stringBuffer.append(TEXT_108);

+			}

+			if (genModel.isMinimalReflectiveMethods()) {

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(indentDefaultCase);

+				stringBuffer.append(TEXT_145);

+			} else {

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(indentDefaultCase);

+				stringBuffer.append(TEXT_146);

+			}

+			if (forceDefaultCase) { // {

+				stringBuffer.append(TEXT_108);

+			} // }

+			stringBuffer.append(TEXT_111);

+		}

+		if (isImplementation && !genModel.isReflectiveDelegation()

+				&& genClass.implementsAny(genClass.getESetGenFeatures())) {

+			stringBuffer.append(TEXT_71);

+			if (genModel.useGenerics()) {

+				for (GenFeature genFeature : genClass.getESetGenFeatures()) {

+					if (genFeature.isUncheckedCast(genClass) && !genFeature.isFeatureMapType()

+							&& !genFeature.isMapType()) {

+						stringBuffer.append(TEXT_72);

+						break;

+					}

+				}

+			}

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_67);

+			}

+			stringBuffer.append(TEXT_147);

+			stringBuffer.append(negativeOffsetCorrection);

+			stringBuffer.append(TEXT_77);

+			for (GenFeature genFeature : genClass.getESetGenFeatures()) {

+				stringBuffer.append(TEXT_78);

+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+				stringBuffer.append(TEXT_79);

+				if (genFeature.isListType()) {

+					if (genFeature.isWrappedFeatureMapType()) {

+						stringBuffer.append(TEXT_148);

+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+						stringBuffer.append(TEXT_149);

+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+						stringBuffer.append(TEXT_115);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_150);

+					} else if (genFeature.isFeatureMapType()) {

+						stringBuffer.append(TEXT_148);

+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+						stringBuffer.append(TEXT_143);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_151);

+					} else if (genFeature.isMapType()) {

+						if (genFeature.isEffectiveSuppressEMFTypes()) {

+							stringBuffer.append(TEXT_148);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));

+							stringBuffer.append(TEXT_152);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EMap"));

+							stringBuffer.append(TEXT_82);

+							stringBuffer.append(genFeature.getImportedMapTemplateArguments(genClass));

+							stringBuffer.append(TEXT_83);

+							stringBuffer.append(genFeature.getGetAccessor());

+							stringBuffer.append(TEXT_153);

+						} else {

+							stringBuffer.append(TEXT_148);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));

+							stringBuffer.append(TEXT_154);

+							stringBuffer.append(genFeature.getGetAccessor());

+							stringBuffer.append(TEXT_151);

+						}

+					} else {

+						stringBuffer.append(TEXT_93);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_155);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_156);

+						stringBuffer.append(genModel.getImportedName("java.util.Collection"));

+						if (isJDK50) {

+							stringBuffer.append(TEXT_157);

+							stringBuffer.append(genFeature.getListItemType(genClass));

+							stringBuffer.append(TEXT_158);

+						}

+						stringBuffer.append(TEXT_159);

+					}

+				} else if (!isJDK50 && genFeature.isPrimitiveType()) {

+					stringBuffer.append(TEXT_160);

+					stringBuffer.append(genFeature.getAccessorName());

+					stringBuffer.append(TEXT_161);

+					stringBuffer.append(genFeature.getObjectType(genClass));

+					stringBuffer.append(TEXT_162);

+					stringBuffer.append(genFeature.getPrimitiveValueFunction());

+					stringBuffer.append(TEXT_133);

+				} else {

+					stringBuffer.append(TEXT_160);

+					stringBuffer.append(genFeature.getAccessorName());

+					stringBuffer.append(TEXT_81);

+					if (genFeature.getTypeGenDataType() == null || !genFeature.getTypeGenDataType().isObjectType()

+							|| !genFeature.getRawType().equals(genFeature.getType(genClass))) {

+						stringBuffer.append(TEXT_81);

+						stringBuffer.append(genFeature.getObjectType(genClass));

+						stringBuffer.append(TEXT_83);

+					}

+					stringBuffer.append(TEXT_163);

+				}

+				stringBuffer.append(TEXT_164);

+			}

+			if (forceDefaultCase) {

+				stringBuffer.append(TEXT_107);

+			} else { // {

+				stringBuffer.append(TEXT_108);

+			}

+			if (genModel.isMinimalReflectiveMethods()) {

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(indentDefaultCase);

+				stringBuffer.append(TEXT_165);

+				if (forceDefaultCase) {

+					stringBuffer.append(TEXT_164);

+				}

+			} else {

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(indentDefaultCase);

+				stringBuffer.append(TEXT_166);

+				if (forceDefaultCase) {

+					stringBuffer.append(TEXT_164);

+				}

+			}

+			if (forceDefaultCase) { // {

+				stringBuffer.append(TEXT_108);

+			} // }

+			stringBuffer.append(TEXT_111);

+		}

+		if (isImplementation && !genModel.isReflectiveDelegation()

+				&& genClass.implementsAny(genClass.getEUnsetGenFeatures())) {

+			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.eUnset.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_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.eIsSet.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_71);

+				if (genModel.useClassOverrideAnnotation()) {

+					stringBuffer.append(TEXT_67);

+				}

+				stringBuffer.append(TEXT_167);

+				stringBuffer.append(singleWildcard);

+				stringBuffer.append(TEXT_168);

+				for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {

+					stringBuffer.append(TEXT_169);

+					stringBuffer.append(mixinGenClass.getRawImportedInterfaceName());

+					stringBuffer.append(TEXT_170);

+					stringBuffer.append(negativeOffsetCorrection);

+					stringBuffer.append(TEXT_171);

+					for (GenFeature genFeature : mixinGenClass.getGenFeatures()) {

+						stringBuffer.append(TEXT_172);

+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(TEXT_173);

+						stringBuffer.append(mixinGenClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(TEXT_3);

+					}

+					stringBuffer.append(TEXT_174);

+				}

+				stringBuffer.append(TEXT_175);

+			}

+			stringBuffer.append(TEXT_176);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_67);

+			}

+			stringBuffer.append(TEXT_177);

+			stringBuffer.append(singleWildcard);

+			stringBuffer.append(TEXT_168);

+			for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {

+				stringBuffer.append(TEXT_169);

+				stringBuffer.append(mixinGenClass.getRawImportedInterfaceName());

+				stringBuffer.append(TEXT_178);

+				for (GenFeature genFeature : mixinGenClass.getGenFeatures()) {

+					stringBuffer.append(TEXT_172);

+					stringBuffer.append(mixinGenClass.getQualifiedFeatureID(genFeature));

+					stringBuffer.append(TEXT_173);

+					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+					stringBuffer.append(positiveOffsetCorrection);

+					stringBuffer.append(TEXT_3);

+				}

+				stringBuffer.append(TEXT_174);

+			}

+			if (genClass.hasOffsetCorrection() && !genClass.getGenFeatures().isEmpty()) {

+				stringBuffer.append(TEXT_169);

+				stringBuffer.append(genClass.getRawImportedInterfaceName());

+				stringBuffer.append(TEXT_179);

+				stringBuffer.append(negativeOffsetCorrection);

+				stringBuffer.append(TEXT_171);

+				for (GenFeature genFeature : genClass.getGenFeatures()) {

+					stringBuffer.append(TEXT_172);

+					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+					stringBuffer.append(TEXT_173);

+					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+					stringBuffer.append(positiveOffsetCorrection);

+					stringBuffer.append(TEXT_3);

+				}

+				stringBuffer.append(TEXT_174);

+			}

+			stringBuffer.append(TEXT_180);

+		}

+		if (genModel.isOperationReflection() && isImplementation

+				&& (!genClass.getMixinGenOperations().isEmpty()

+						|| !genClass.getOverrideGenOperations(genClass.getExtendedGenOperations(),

+								genClass.getImplementedGenOperations()).isEmpty()

+						|| genClass.hasOffsetCorrection() && !genClass.getGenOperations().isEmpty())) {

+			stringBuffer.append(TEXT_71);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_67);

+			}

+			stringBuffer.append(TEXT_181);

+			stringBuffer.append(singleWildcard);

+			stringBuffer.append(TEXT_168);

+			for (GenClass extendedGenClass : genClass.getExtendedGenClasses()) {

+				List<GenOperation> extendedImplementedGenOperations = extendedGenClass.getImplementedGenOperations();

+				List<GenOperation> implementedGenOperations = genClass.getImplementedGenOperations();

+				if (!genClass.getOverrideGenOperations(extendedImplementedGenOperations, implementedGenOperations)

+						.isEmpty()) {

+					stringBuffer.append(TEXT_169);

+					stringBuffer.append(extendedGenClass.getRawImportedInterfaceName());

+					stringBuffer.append(TEXT_182);

+					for (GenOperation genOperation : extendedImplementedGenOperations) {

+						GenOperation overrideGenOperation = genClass.getOverrideGenOperation(genOperation);

+						if (implementedGenOperations.contains(overrideGenOperation)) {

+							stringBuffer.append(TEXT_172);

+							stringBuffer.append(extendedGenClass.getQualifiedOperationID(genOperation));

+							stringBuffer.append(TEXT_173);

+							stringBuffer.append(genClass.getQualifiedOperationID(overrideGenOperation));

+							stringBuffer.append(positiveOperationOffsetCorrection);

+							stringBuffer.append(TEXT_3);

+						}

+					}

+					stringBuffer.append(TEXT_183);

+				}

+			}

+			for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {

+				stringBuffer.append(TEXT_169);

+				stringBuffer.append(mixinGenClass.getRawImportedInterfaceName());

+				stringBuffer.append(TEXT_182);

+				for (GenOperation genOperation : mixinGenClass.getGenOperations()) {

+					GenOperation overrideGenOperation = genClass.getOverrideGenOperation(genOperation);

+					stringBuffer.append(TEXT_172);

+					stringBuffer.append(mixinGenClass.getQualifiedOperationID(genOperation));

+					stringBuffer.append(TEXT_173);

+					stringBuffer.append(genClass.getQualifiedOperationID(

+							overrideGenOperation != null ? overrideGenOperation : genOperation));

+					stringBuffer.append(positiveOperationOffsetCorrection);

+					stringBuffer.append(TEXT_3);

+				}

+				stringBuffer.append(TEXT_174);

+			}

+			if (genClass.hasOffsetCorrection() && !genClass.getGenOperations().isEmpty()) {

+				stringBuffer.append(TEXT_169);

+				stringBuffer.append(genClass.getRawImportedInterfaceName());

+				stringBuffer.append(TEXT_184);

+				stringBuffer.append(negativeOperationOffsetCorrection);

+				stringBuffer.append(TEXT_171);

+				for (GenOperation genOperation : genClass.getGenOperations()) {

+					stringBuffer.append(TEXT_172);

+					stringBuffer.append(genClass.getQualifiedOperationID(genOperation));

+					stringBuffer.append(TEXT_173);

+					stringBuffer.append(genClass.getQualifiedOperationID(genOperation));

+					stringBuffer.append(positiveOperationOffsetCorrection);

+					stringBuffer.append(TEXT_3);

+				}

+				stringBuffer.append(TEXT_174);

+			}

+			stringBuffer.append(TEXT_185);

+		}

+		if (isImplementation && genModel.isVirtualDelegation()) {

+			String eVirtualValuesField = genClass.getEVirtualValuesField();

+			if (eVirtualValuesField != null) {

+				stringBuffer.append(TEXT_71);

+				if (genModel.useClassOverrideAnnotation()) {

+					stringBuffer.append(TEXT_67);

+				}

+				stringBuffer.append(TEXT_186);

+				stringBuffer.append(eVirtualValuesField);

+				stringBuffer.append(TEXT_187);

+				if (genModel.useClassOverrideAnnotation()) {

+					stringBuffer.append(TEXT_67);

+				}

+				stringBuffer.append(TEXT_188);

+				stringBuffer.append(eVirtualValuesField);

+				stringBuffer.append(TEXT_189);

+			}

+			{

+				List<String> eVirtualIndexBitFields = genClass.getEVirtualIndexBitFields(new ArrayList<String>());

+				if (!eVirtualIndexBitFields.isEmpty()) {

+					List<String> allEVirtualIndexBitFields = genClass

+							.getAllEVirtualIndexBitFields(new ArrayList<String>());

+					stringBuffer.append(TEXT_71);

+					if (genModel.useClassOverrideAnnotation()) {

+						stringBuffer.append(TEXT_67);

+					}

+					stringBuffer.append(TEXT_190);

+					for (int i = 0; i < allEVirtualIndexBitFields.size(); i++) {

+						stringBuffer.append(TEXT_78);

+						stringBuffer.append(i);

+						stringBuffer.append(TEXT_191);

+						stringBuffer.append(allEVirtualIndexBitFields.get(i));

+						stringBuffer.append(TEXT_3);

+					}

+					stringBuffer.append(TEXT_192);

+					if (genModel.useClassOverrideAnnotation()) {

+						stringBuffer.append(TEXT_67);

+					}

+					stringBuffer.append(TEXT_193);

+					for (int i = 0; i < allEVirtualIndexBitFields.size(); i++) {

+						stringBuffer.append(TEXT_78);

+						stringBuffer.append(i);

+						stringBuffer.append(TEXT_194);

+						stringBuffer.append(allEVirtualIndexBitFields.get(i));

+						stringBuffer.append(TEXT_195);

+					}

+					stringBuffer.append(TEXT_196);

+				}

+			}

+		}

+		if (genModel.isOperationReflection() && isImplementation && !genClass.getImplementedGenOperations().isEmpty()) {

+			stringBuffer.append(TEXT_71);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_67);

+			}

+			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_197);

+					if (!isRaw) {

+						stringBuffer.append(TEXT_198);

+					} else {

+						stringBuffer.append(TEXT_199);

+					}

+					stringBuffer.append(TEXT_83);

+				}

+			}

+			stringBuffer.append(TEXT_200);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EList"));

+			stringBuffer.append(singleWildcard);

+			stringBuffer.append(TEXT_201);

+			stringBuffer.append(genModel.getImportedName(isGWT ? "org.eclipse.emf.common.util.InvocationTargetException"

+					: "java.lang.reflect.InvocationTargetException"));

+			stringBuffer.append(TEXT_202);

+			stringBuffer.append(negativeOperationOffsetCorrection);

+			stringBuffer.append(TEXT_77);

+			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_78);

+				stringBuffer.append(genClass

+						.getQualifiedOperationID(overrideGenOperation != null ? overrideGenOperation : genOperation));

+				stringBuffer.append(TEXT_79);

+				if (hasCheckedException) {

+					stringBuffer.append(TEXT_203);

+					/*}*/}

+				if (genOperation.isVoid()) {

+					stringBuffer.append(TEXT_93);

+					stringBuffer.append(indent);

+					stringBuffer.append(genOperation.getName());

+					stringBuffer.append(TEXT_81);

+					for (int i = 0; i < size; i++) {

+						GenParameter genParameter = genParameters.get(i);

+						if (!isJDK50 && genParameter.isPrimitiveType()) {

+							stringBuffer.append(TEXT_81);

+						}

+						if (genParameter.getTypeGenDataType() == null

+								|| !genParameter.getTypeGenDataType().isObjectType()

+								|| !genParameter.usesOperationTypeParameters()

+										&& !genParameter.getRawType().equals(genParameter.getType(genClass))) {

+							stringBuffer.append(TEXT_81);

+							stringBuffer.append(

+									genParameter.usesOperationTypeParameters() ? genParameter.getRawImportedType()

+											: genParameter.getObjectType(genClass));

+							stringBuffer.append(TEXT_83);

+						}

+						stringBuffer.append(TEXT_204);

+						stringBuffer.append(i);

+						stringBuffer.append(TEXT_83);

+						if (!isJDK50 && genParameter.isPrimitiveType()) {

+							stringBuffer.append(TEXT_205);

+							stringBuffer.append(genParameter.getPrimitiveValueFunction());

+							stringBuffer.append(TEXT_40);

+						}

+						if (i < (size - 1)) {

+							stringBuffer.append(TEXT_105);

+						}

+					}

+					stringBuffer.append(TEXT_206);

+					stringBuffer.append(indent);

+					stringBuffer.append(TEXT_207);

+				} else {

+					stringBuffer.append(TEXT_93);

+					stringBuffer.append(indent);

+					stringBuffer.append(TEXT_208);

+					if (!isJDK50 && genOperation.isPrimitiveType()) {

+						stringBuffer.append(TEXT_209);

+						stringBuffer.append(genOperation.getObjectType(genClass));

+						stringBuffer.append(TEXT_81);

+					}

+					stringBuffer.append(genOperation.getName());

+					stringBuffer.append(TEXT_81);

+					for (int i = 0; i < size; i++) {

+						GenParameter genParameter = genParameters.get(i);

+						if (!isJDK50 && genParameter.isPrimitiveType()) {

+							stringBuffer.append(TEXT_81);

+						}

+						if (genParameter.getTypeGenDataType() == null

+								|| !genParameter.getTypeGenDataType().isObjectType()

+								|| !genParameter.usesOperationTypeParameters()

+										&& !genParameter.getRawType().equals(genParameter.getType(genClass))) {

+							stringBuffer.append(TEXT_81);

+							stringBuffer.append(

+									genParameter.usesOperationTypeParameters() ? genParameter.getRawImportedType()

+											: genParameter.getObjectType(genClass));

+							stringBuffer.append(TEXT_83);

+						}

+						stringBuffer.append(TEXT_204);

+						stringBuffer.append(i);

+						stringBuffer.append(TEXT_83);

+						if (!isJDK50 && genParameter.isPrimitiveType()) {

+							stringBuffer.append(TEXT_205);

+							stringBuffer.append(genParameter.getPrimitiveValueFunction());

+							stringBuffer.append(TEXT_40);

+						}

+						if (i < (size - 1)) {

+							stringBuffer.append(TEXT_105);

+						}

+					}

+					stringBuffer.append(TEXT_83);

+					if (!isJDK50 && genOperation.isPrimitiveType()) {

+						stringBuffer.append(TEXT_83);

+					}

+					stringBuffer.append(TEXT_3);

+				}

+				if (hasCheckedException) {/*{*/

+					stringBuffer.append(TEXT_210);

+					stringBuffer.append(genModel.getImportedName("java.lang.Throwable"));

+					stringBuffer.append(TEXT_211);

+					stringBuffer.append(

+							genModel.getImportedName(isGWT ? "org.eclipse.emf.common.util.InvocationTargetException"

+									: "java.lang.reflect.InvocationTargetException"));

+					stringBuffer.append(TEXT_212);

+				}

+			}

+			if (forceDefaultCase) {

+				stringBuffer.append(TEXT_107);

+			} else { // {

+				stringBuffer.append(TEXT_108);

+			}

+			if (genModel.isMinimalReflectiveMethods()) {

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(indentDefaultCase);

+				stringBuffer.append(TEXT_213);

+			} else {

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(indentDefaultCase);

+				stringBuffer.append(TEXT_214);

+			}

+			if (forceDefaultCase) { // {

+				stringBuffer.append(TEXT_108);

+			} // }

+			stringBuffer.append(TEXT_111);

+		}

+		if (!genClass.hasImplementedToStringGenOperation() && isImplementation && !genModel.isReflectiveDelegation()

+				&& !genModel.isDynamicDelegation() && !genClass.getToStringGenFeatures().isEmpty()) {

+			stringBuffer.append(TEXT_71);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_67);

+			}

+			stringBuffer.append(TEXT_215);

+			stringBuffer.append(genModel.useGenerics() ? "StringBuilder" : "StringBuffer");

+			stringBuffer.append(TEXT_216);

+			stringBuffer.append(genModel.useGenerics() ? "StringBuilder" : "StringBuffer");

+			stringBuffer.append(TEXT_217);

+			{

+				boolean first = true;

+				for (GenFeature genFeature : genClass.getToStringGenFeatures()) {

+					if (first) {

+						first = false;

+						stringBuffer.append(TEXT_218);

+						stringBuffer.append(genFeature.getName());

+						stringBuffer.append(TEXT_219);

+						stringBuffer.append(genModel.getNonNLS());

+					} else {

+						stringBuffer.append(TEXT_220);

+						stringBuffer.append(genFeature.getName());

+						stringBuffer.append(TEXT_219);

+						stringBuffer.append(genModel.getNonNLS());

+					}

+					if (genFeature.isUnsettable() && !genFeature.isListType()) {

+						if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

+							stringBuffer.append(TEXT_221);

+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+							stringBuffer.append(positiveOffsetCorrection);

+							stringBuffer.append(TEXT_222);

+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+							stringBuffer.append(positiveOffsetCorrection);

+							stringBuffer.append(TEXT_223);

+							stringBuffer.append(genModel.getNonNLS());

+						} else {

+							if (genClass.isFlag(genFeature)) {

+								if (genFeature.isBooleanType()) {

+									stringBuffer.append(TEXT_224);

+									if (genClass.isESetFlag(genFeature)) {

+										stringBuffer.append(TEXT_81);

+										stringBuffer.append(genClass.getESetFlagsField(genFeature));

+										stringBuffer.append(TEXT_225);

+										stringBuffer.append(genFeature.getUpperName());

+										stringBuffer.append(TEXT_226);

+									} else {

+										stringBuffer.append(genFeature.getUncapName());

+										stringBuffer.append(TEXT_227);

+									}

+									stringBuffer.append(TEXT_228);

+									stringBuffer.append(genClass.getFlagsField(genFeature));

+									stringBuffer.append(TEXT_225);

+									stringBuffer.append(genFeature.getUpperName());

+									stringBuffer.append(TEXT_229);

+									stringBuffer.append(genModel.getNonNLS());

+								} else {

+									stringBuffer.append(TEXT_224);

+									if (genClass.isESetFlag(genFeature)) {

+										stringBuffer.append(TEXT_81);

+										stringBuffer.append(genClass.getESetFlagsField(genFeature));

+										stringBuffer.append(TEXT_225);

+										stringBuffer.append(genFeature.getUpperName());

+										stringBuffer.append(TEXT_226);

+									} else {

+										stringBuffer.append(genFeature.getUncapName());

+										stringBuffer.append(TEXT_227);

+									}

+									stringBuffer.append(TEXT_230);

+									stringBuffer.append(genFeature.getUpperName());

+									stringBuffer.append(TEXT_231);

+									stringBuffer.append(genClass.getFlagsField(genFeature));

+									stringBuffer.append(TEXT_225);

+									stringBuffer.append(genFeature.getUpperName());

+									stringBuffer.append(TEXT_232);

+									stringBuffer.append(genFeature.getUpperName());

+									stringBuffer.append(TEXT_233);

+									stringBuffer.append(genModel.getNonNLS());

+								}

+							} else {

+								stringBuffer.append(TEXT_224);

+								if (genClass.isESetFlag(genFeature)) {

+									stringBuffer.append(TEXT_81);

+									stringBuffer.append(genClass.getESetFlagsField(genFeature));

+									stringBuffer.append(TEXT_225);

+									stringBuffer.append(genFeature.getUpperName());

+									stringBuffer.append(TEXT_226);

+								} else {

+									stringBuffer.append(genFeature.getUncapName());

+									stringBuffer.append(TEXT_227);

+								}

+								stringBuffer.append(TEXT_230);

+								stringBuffer.append(genFeature.getSafeName());

+								stringBuffer.append(TEXT_234);

+								stringBuffer.append(genModel.getNonNLS());

+							}

+						}

+					} else {

+						if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

+							stringBuffer.append(TEXT_235);

+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+							stringBuffer.append(positiveOffsetCorrection);

+							if (!genFeature.isListType() && !genFeature.isReferenceType()) {

+								stringBuffer.append(TEXT_105);

+								stringBuffer.append(genFeature.getEDefault());

+							}

+							stringBuffer.append(TEXT_236);

+						} else {

+							if (genClass.isFlag(genFeature)) {

+								if (genFeature.isBooleanType()) {

+									stringBuffer.append(TEXT_237);

+									stringBuffer.append(genClass.getFlagsField(genFeature));

+									stringBuffer.append(TEXT_225);

+									stringBuffer.append(genFeature.getUpperName());

+									stringBuffer.append(TEXT_238);

+								} else {

+									stringBuffer.append(TEXT_239);

+									stringBuffer.append(genFeature.getUpperName());

+									stringBuffer.append(TEXT_231);

+									stringBuffer.append(genClass.getFlagsField(genFeature));

+									stringBuffer.append(TEXT_225);

+									stringBuffer.append(genFeature.getUpperName());

+									stringBuffer.append(TEXT_232);

+									stringBuffer.append(genFeature.getUpperName());

+									stringBuffer.append(TEXT_240);

+								}

+							} else {

+								stringBuffer.append(TEXT_239);

+								stringBuffer.append(genFeature.getSafeName());

+								stringBuffer.append(TEXT_96);

+							}

+						}

+					}

+				}

+			}

+			stringBuffer.append(TEXT_241);

+		}

+		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_71);

+			if (isGWT) {

+				stringBuffer.append(TEXT_30);

+				stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));

+			}

+			stringBuffer.append(TEXT_242);

+			if (useInterfaceOverrideAnnotation) {

+				stringBuffer.append(TEXT_67);

+			}

+			stringBuffer.append(TEXT_243);

+			stringBuffer.append(objectType);

+			stringBuffer.append(TEXT_244);

+			if (useInterfaceOverrideAnnotation) {

+				stringBuffer.append(TEXT_67);

+			}

+			stringBuffer.append(TEXT_245);

+			if (useInterfaceOverrideAnnotation) {

+				stringBuffer.append(TEXT_67);

+			}

+			stringBuffer.append(TEXT_73);

+			stringBuffer.append(keyType);

+			stringBuffer.append(TEXT_246);

+			if (!isJDK50 && keyFeature.isPrimitiveType()) {

+				stringBuffer.append(TEXT_247);

+				stringBuffer.append(keyFeature.getObjectType(genClass));

+				stringBuffer.append(TEXT_248);

+			} else {

+				stringBuffer.append(TEXT_249);

+			}

+			stringBuffer.append(TEXT_66);

+			if (useInterfaceOverrideAnnotation) {

+				stringBuffer.append(TEXT_67);

+			}

+			stringBuffer.append(TEXT_250);

+			stringBuffer.append(keyType);

+			stringBuffer.append(TEXT_251);

+			if (keyFeature.isListType()) {

+				stringBuffer.append(TEXT_252);

+				if (!genModel.useGenerics()) {

+					stringBuffer.append(TEXT_81);

+					stringBuffer.append(genModel.getImportedName("java.util.Collection"));

+					stringBuffer.append(TEXT_83);

+				}

+				stringBuffer.append(TEXT_253);

+			} else if (isJDK50) {

+				stringBuffer.append(TEXT_254);

+			} else if (keyFeature.isPrimitiveType()) {

+				stringBuffer.append(TEXT_255);

+				stringBuffer.append(keyFeature.getObjectType(genClass));

+				stringBuffer.append(TEXT_256);

+				stringBuffer.append(keyFeature.getPrimitiveValueFunction());

+				stringBuffer.append(TEXT_133);

+			} else {

+				stringBuffer.append(TEXT_257);

+				stringBuffer.append(keyFeature.getImportedType(genClass));

+				stringBuffer.append(TEXT_258);

+			}

+			stringBuffer.append(TEXT_66);

+			if (useInterfaceOverrideAnnotation) {

+				stringBuffer.append(TEXT_67);

+			}

+			stringBuffer.append(TEXT_73);

+			stringBuffer.append(valueType);

+			stringBuffer.append(TEXT_259);

+			if (!isJDK50 && valueFeature.isPrimitiveType()) {

+				stringBuffer.append(TEXT_247);

+				stringBuffer.append(valueFeature.getObjectType(genClass));

+				stringBuffer.append(TEXT_260);

+			} else {

+				stringBuffer.append(TEXT_261);

+			}

+			stringBuffer.append(TEXT_66);

+			if (useInterfaceOverrideAnnotation) {

+				stringBuffer.append(TEXT_67);

+			}

+			stringBuffer.append(TEXT_73);

+			stringBuffer.append(valueType);

+			stringBuffer.append(TEXT_262);

+			stringBuffer.append(valueType);

+			stringBuffer.append(TEXT_263);

+			stringBuffer.append(valueType);

+			stringBuffer.append(TEXT_264);

+			if (valueFeature.isListType()) {

+				stringBuffer.append(TEXT_265);

+				if (!genModel.useGenerics()) {

+					stringBuffer.append(TEXT_81);

+					stringBuffer.append(genModel.getImportedName("java.util.Collection"));

+					stringBuffer.append(TEXT_83);

+				}

+				stringBuffer.append(TEXT_266);

+			} else if (isJDK50) {

+				stringBuffer.append(TEXT_267);

+			} else if (valueFeature.isPrimitiveType()) {

+				stringBuffer.append(TEXT_268);

+				stringBuffer.append(valueFeature.getObjectType(genClass));

+				stringBuffer.append(TEXT_269);

+				stringBuffer.append(valueFeature.getPrimitiveValueFunction());

+				stringBuffer.append(TEXT_133);

+			} else {

+				stringBuffer.append(TEXT_270);

+				stringBuffer.append(valueFeature.getImportedType(genClass));

+				stringBuffer.append(TEXT_271);

+			}

+			stringBuffer.append(TEXT_272);

+			if (genModel.useGenerics()) {

+				stringBuffer.append(TEXT_72);

+			}

+			stringBuffer.append(TEXT_73);

+			stringBuffer.append(eMapType);

+			stringBuffer.append(TEXT_273);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EObject"));

+			stringBuffer.append(TEXT_274);

+			stringBuffer.append(eMapType);

+			stringBuffer.append(TEXT_275);

+		}

+		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.insert" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+			callParameters.put("isGWT", isGWT);

+			callParameters.put("forceDefaultCase", forceDefaultCase);

+			callParameters.put("indentDefaultCase", indentDefaultCase);

+			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_276);

+		stringBuffer.append(isInterface ? " " + genClass.getInterfaceName() : genClass.getClassName());

+		// TODO fix the space above

+		genModel.emitSortedImports();

+		stringBuffer.append(TEXT_4);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/EnumClass.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/EnumClass.java
new file mode 100644
index 0000000..a8175a5
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/EnumClass.java
@@ -0,0 +1,637 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 + " * ";

+	protected final String TEXT_15 = NL + " * @generated" + NL + " */";

+	protected final String TEXT_16 = NL + "@Deprecated";

+	protected final String TEXT_17 = NL + "public ";

+	protected final String TEXT_18 = "enum";

+	protected final String TEXT_19 = "final class";

+	protected final String TEXT_20 = " ";

+	protected final String TEXT_21 = "implements";

+	protected final String TEXT_22 = "extends";

+	protected final String TEXT_23 = NL + "{";

+	protected final String TEXT_24 = NL + "\t;" + NL;

+	protected final String TEXT_25 = NL + "\t/**" + NL + "\t * The '<em><b>";

+	protected final String TEXT_26 = "</b></em>' literal object." + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->";

+	protected final String TEXT_27 = NL + "\t * <!-- begin-model-doc -->" + NL + "\t * ";

+	protected final String TEXT_28 = NL + "\t * <!-- end-model-doc -->";

+	protected final String TEXT_29 = NL + "\t * @see #";

+	protected final String TEXT_30 = NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";

+	protected final String TEXT_31 = NL + "\t@Deprecated";

+	protected final String TEXT_32 = NL + "\t";

+	protected final String TEXT_33 = "(";

+	protected final String TEXT_34 = ", \"";

+	protected final String TEXT_35 = "\", ";

+	protected final String TEXT_36 = ")";

+	protected final String TEXT_37 = ",";

+	protected final String TEXT_38 = ";";

+	protected final String TEXT_39 = NL;

+	protected final String TEXT_40 = 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_41 = " copyright = ";

+	protected final String TEXT_42 = "</b></em>' literal value." + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->";

+	protected final String TEXT_43 = NL + "\t * @model ";

+	protected final String TEXT_44 = NL + "\t *        ";

+	protected final String TEXT_45 = NL + "\t * @model";

+	protected final String TEXT_46 = NL + "\tpublic static final int ";

+	protected final String TEXT_47 = " = ";

+	protected final String TEXT_48 = "</b></em>' literal object." + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see #";

+	protected final String TEXT_49 = NL + "\t * ";

+	protected final String TEXT_50 = NL + "\tpublic static final ";

+	protected final String TEXT_51 = " = new ";

+	protected final String TEXT_52 = ");";

+	protected final String TEXT_53 = NL + "\t/**" + NL + "\t * An array of all the '<em><b>";

+	protected final String TEXT_54 = "</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_55 = "[] VALUES_ARRAY =" + NL + "\t\tnew ";

+	protected final String TEXT_56 = "[]" + NL + "\t\t{";

+	protected final String TEXT_57 = NL + "\t\t\t";

+	protected final String TEXT_58 = NL + "\t\t};" + NL + "" + NL + "\t/**" + NL

+			+ "\t * A public read-only list of all the '<em><b>";

+	protected final String TEXT_59 = "</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_60 = "<";

+	protected final String TEXT_61 = ">";

+	protected final String TEXT_62 = " VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));" + NL + ""

+			+ NL + "\t/**" + NL + "\t * Returns the '<em><b>";

+	protected final String TEXT_63 = "</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_64 = " get(";

+	protected final String TEXT_65 = " 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_66 = " 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_67 = "</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_68 = " getByName(";

+	protected final String TEXT_69 = " 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_70 = " 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_71 = "</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_72 = " get(int value)" + NL + "\t{" + NL + "\t\tswitch (value)" + NL + "\t\t{";

+	protected final String TEXT_73 = NL + "\t\t\tcase ";

+	protected final String TEXT_74 = ": return ";

+	protected final String TEXT_75 = NL + "\t\t\tdefault: return null;" + NL + "\t\t}";

+	protected final String TEXT_76 = NL + "\t\t}" + NL + "\t\treturn null;";

+	protected final String TEXT_77 = NL + "\t}" + NL;

+	protected final String TEXT_78 = 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_79 = " 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_80 = " literal;" + NL;

+	protected final String TEXT_81 = 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_82 = "(int value, ";

+	protected final String TEXT_83 = " name, ";

+	protected final String TEXT_84 = " literal)" + NL + "\t{";

+	protected final String TEXT_85 = NL + "\t\tthis.value = value;" + NL + "\t\tthis.name = name;" + NL

+			+ "\t\tthis.literal = literal;";

+	protected final String TEXT_86 = NL + "\t\tsuper(value, name, literal);";

+	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@Override";

+	protected final String TEXT_89 = 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 */";

+	protected final String TEXT_90 = NL + "\tpublic ";

+	protected final String TEXT_91 = " 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 */";

+	protected final String TEXT_92 = " 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_93 = " toString()" + NL + "\t{" + NL + "\t\treturn literal;" + NL + "\t}" + NL + "\t";

+	protected final String TEXT_94 = NL + "} //";

+	protected final String TEXT_95 = 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_96 = " extends org.eclipse.emf.common.util.Enumerator" + NL + "{" + NL + "\t// Empty "

+			+ NL + "}";

+	protected final String TEXT_97 = 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_98 = " 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_99 = " literal)" + NL + "\t{" + NL + "\t\tsuper(value, name, literal);" + NL + "\t}"

+			+ NL + "}";

+	protected final String TEXT_100 = 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_100);

+		stringBuffer.append(TEXT_100);

+		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-2019 IBM Corporation and others.

+		 * All rights reserved.   This program and the accompanying materials

+		 * are made available under the terms of the Eclipse Public License v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.html

+		 *

+		 * Contributors:

+		 *   IBM - Initial API and implementation

+		 *   Alexander Fedorov <alexander.fedorov@arsysop.ru> - Bug 546714

+		 */

+

+		GenEnum genEnum = (GenEnum) argument;

+		GenPackage genPackage = genEnum.getGenPackage();

+		GenModel genModel = genPackage.getGenModel();

+		final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;

+		final boolean forceDefaultCase = genModel.isSwitchMissingDefaultCase();

+		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);

+			}

+		}

+		if (genEnum.hasImplicitAPITags(true)) {

+			stringBuffer.append(TEXT_14);

+			stringBuffer.append(genEnum.getImplicitAPITags(genModel.getIndentation(stringBuffer), true));

+		}

+		stringBuffer.append(TEXT_15);

+		if (isJDK50 && genEnum.hasImplicitAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_16);

+		}

+		stringBuffer.append(TEXT_17);

+		if (isEnum) {

+			stringBuffer.append(TEXT_18);

+		} else {

+			stringBuffer.append(TEXT_19);

+		}

+		stringBuffer.append(TEXT_20);

+		stringBuffer.append(genEnum.getName());

+		stringBuffer.append(TEXT_20);

+		if (isEnum) {

+			stringBuffer.append(TEXT_21);

+		} else {

+			stringBuffer.append(TEXT_22);

+		}

+		stringBuffer.append(TEXT_20);

+		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_23);

+		if (isEnum) {

+			if (genEnum.getGenEnumLiterals().isEmpty()) {

+				stringBuffer.append(TEXT_24);

+			} else {

+				for (Iterator<GenEnumLiteral> l = genEnum.getGenEnumLiterals().iterator(); l.hasNext();) {

+					GenEnumLiteral genEnumLiteral = l.next();

+					stringBuffer.append(TEXT_25);

+					stringBuffer.append(genEnumLiteral.getFormattedName());

+					stringBuffer.append(TEXT_26);

+					if (genEnumLiteral.hasDocumentation()) {

+						stringBuffer.append(TEXT_27);

+						stringBuffer.append(genEnumLiteral.getDocumentation(genModel.getIndentation(stringBuffer)));

+						stringBuffer.append(TEXT_28);

+					}

+					stringBuffer.append(TEXT_29);

+					stringBuffer.append(genEnumLiteral.getEnumLiteralValueConstantName());

+					stringBuffer.append(TEXT_30);

+					if (isJDK50 && genEnumLiteral.hasAPIDeprecatedTag()) {

+						stringBuffer.append(TEXT_31);

+					}

+					stringBuffer.append(TEXT_32);

+					stringBuffer.append(genEnumLiteral.getEnumLiteralInstanceConstantName());

+					stringBuffer.append(TEXT_33);

+					stringBuffer.append(genEnumLiteral.getValue());

+					stringBuffer.append(TEXT_34);

+					stringBuffer.append(genEnumLiteral.getName());

+					stringBuffer.append(TEXT_35);

+					stringBuffer.append(Literals.toStringLiteral(genEnumLiteral.getLiteral(), genModel));

+					stringBuffer.append(TEXT_36);

+					if (l.hasNext()) {

+						stringBuffer.append(TEXT_37);

+					} else {

+						stringBuffer.append(TEXT_38);

+					}

+					stringBuffer.append(genModel.getNonNLS());

+					stringBuffer.append(genModel.getNonNLS(2));

+					stringBuffer.append(TEXT_39);

+				}

+			}

+		}

+		if (genModel.hasCopyrightField()) {

+			stringBuffer.append(TEXT_40);

+			stringBuffer.append(genModel.getImportedName("java.lang.String"));

+			stringBuffer.append(TEXT_41);

+			stringBuffer.append(genModel.getCopyrightFieldLiteral());

+			stringBuffer.append(TEXT_38);

+			stringBuffer.append(genModel.getNonNLS());

+			stringBuffer.append(TEXT_39);

+		}

+		for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {

+			stringBuffer.append(TEXT_25);

+			stringBuffer.append(genEnumLiteral.getFormattedName());

+			stringBuffer.append(TEXT_42);

+			if (genEnumLiteral.hasDocumentation()) {

+				stringBuffer.append(TEXT_27);

+				stringBuffer.append(genEnumLiteral.getDocumentation(genModel.getIndentation(stringBuffer)));

+				stringBuffer.append(TEXT_28);

+			}

+			stringBuffer.append(TEXT_29);

+			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_43);

+						stringBuffer.append(modelInfo);

+					} else {

+						stringBuffer.append(TEXT_44);

+						stringBuffer.append(modelInfo);

+					}

+				}

+				if (first) {

+					stringBuffer.append(TEXT_45);

+				}

+			}

+			stringBuffer.append(TEXT_30);

+			if (isJDK50 && genEnumLiteral.hasAPIDeprecatedTag()) {

+				stringBuffer.append(TEXT_31);

+			}

+			stringBuffer.append(TEXT_46);

+			stringBuffer.append(genEnumLiteral.getEnumLiteralValueConstantName());

+			stringBuffer.append(TEXT_47);

+			stringBuffer.append(genEnumLiteral.getValue());

+			stringBuffer.append(TEXT_3);

+		}

+		if (!isEnum)

+			for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {

+				stringBuffer.append(TEXT_25);

+				stringBuffer.append(genEnumLiteral.getFormattedName());

+				stringBuffer.append(TEXT_48);

+				stringBuffer.append(genEnumLiteral.getEnumLiteralValueConstantName());

+				if (genEnumLiteral.hasAPITags()) {

+					stringBuffer.append(TEXT_49);

+					stringBuffer.append(genEnumLiteral.getAPITags(genModel.getIndentation(stringBuffer)));

+				}

+				stringBuffer.append(TEXT_30);

+				if (isJDK50 && genEnumLiteral.hasAPIDeprecatedTag()) {

+					stringBuffer.append(TEXT_31);

+				}

+				stringBuffer.append(TEXT_50);

+				stringBuffer.append(genEnum.getName());

+				stringBuffer.append(TEXT_20);

+				stringBuffer.append(genEnumLiteral.getEnumLiteralInstanceConstantName());

+				stringBuffer.append(TEXT_51);

+				stringBuffer.append(genEnum.getName());

+				stringBuffer.append(TEXT_33);

+				stringBuffer.append(genEnumLiteral.getEnumLiteralValueConstantName());

+				stringBuffer.append(TEXT_34);

+				stringBuffer.append(genEnumLiteral.getName());

+				stringBuffer.append(TEXT_35);

+				stringBuffer.append(Literals.toStringLiteral(genEnumLiteral.getLiteral(), genModel));

+				stringBuffer.append(TEXT_52);

+				stringBuffer.append(genModel.getNonNLS());

+				stringBuffer.append(genModel.getNonNLS(2));

+				stringBuffer.append(TEXT_39);

+			}

+		stringBuffer.append(TEXT_53);

+		stringBuffer.append(genEnum.getFormattedName());

+		stringBuffer.append(TEXT_54);

+		stringBuffer.append(genEnum.getName());

+		stringBuffer.append(TEXT_55);

+		stringBuffer.append(genEnum.getName());

+		stringBuffer.append(TEXT_56);

+		for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {

+			stringBuffer.append(TEXT_57);

+			stringBuffer.append(genEnumLiteral.getEnumLiteralInstanceConstantName());

+			stringBuffer.append(TEXT_37);

+		}

+		stringBuffer.append(TEXT_58);

+		stringBuffer.append(genEnum.getFormattedName());

+		stringBuffer.append(TEXT_59);

+		if (isEnum) {

+			stringBuffer.append(TEXT_60);

+			stringBuffer.append(genEnum.getName());

+			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(genModel.getImportedName("java.lang.String"));

+		stringBuffer.append(TEXT_65);

+		stringBuffer.append(genEnum.getName());

+		stringBuffer.append(TEXT_66);

+		stringBuffer.append(genEnum.getFormattedName());

+		stringBuffer.append(TEXT_67);

+		stringBuffer.append(genEnum.getName());

+		stringBuffer.append(TEXT_68);

+		stringBuffer.append(genModel.getImportedName("java.lang.String"));

+		stringBuffer.append(TEXT_69);

+		stringBuffer.append(genEnum.getName());

+		stringBuffer.append(TEXT_70);

+		stringBuffer.append(genEnum.getFormattedName());

+		stringBuffer.append(TEXT_71);

+		stringBuffer.append(genEnum.getName());

+		stringBuffer.append(TEXT_72);

+		for (GenEnumLiteral genEnumLiteral : genEnum.getUniqueValuedGenEnumLiterals()) {

+			stringBuffer.append(TEXT_73);

+			stringBuffer.append(genEnumLiteral.getEnumLiteralValueConstantName());

+			stringBuffer.append(TEXT_74);

+			stringBuffer.append(genEnumLiteral.getEnumLiteralInstanceConstantName());

+			stringBuffer.append(TEXT_38);

+		}

+		if (forceDefaultCase) { // {

+			stringBuffer.append(TEXT_75);

+		} else { // {

+			stringBuffer.append(TEXT_76);

+		} // }

+		stringBuffer.append(TEXT_77);

+		if (isEnum) {

+			stringBuffer.append(TEXT_78);

+			stringBuffer.append(genModel.getImportedName("java.lang.String"));

+			stringBuffer.append(TEXT_79);

+			stringBuffer.append(genModel.getImportedName("java.lang.String"));

+			stringBuffer.append(TEXT_80);

+		}

+		stringBuffer.append(TEXT_81);

+		stringBuffer.append(genEnum.getName());

+		stringBuffer.append(TEXT_82);

+		stringBuffer.append(genModel.getImportedName("java.lang.String"));

+		stringBuffer.append(TEXT_83);

+		stringBuffer.append(genModel.getImportedName("java.lang.String"));

+		stringBuffer.append(TEXT_84);

+		if (isEnum) {

+			stringBuffer.append(TEXT_85);

+		} else {

+			stringBuffer.append(TEXT_86);

+		}

+		stringBuffer.append(TEXT_77);

+		if (isEnum) {

+			stringBuffer.append(TEXT_87);

+			if (genModel.useInterfaceOverrideAnnotation()) {

+				stringBuffer.append(TEXT_88);

+			}

+			stringBuffer.append(TEXT_89);

+			if (genModel.useInterfaceOverrideAnnotation()) {

+				stringBuffer.append(TEXT_88);

+			}

+			stringBuffer.append(TEXT_90);

+			stringBuffer.append(genModel.getImportedName("java.lang.String"));

+			stringBuffer.append(TEXT_91);

+			if (genModel.useInterfaceOverrideAnnotation()) {

+				stringBuffer.append(TEXT_88);

+			}

+			stringBuffer.append(TEXT_90);

+			stringBuffer.append(genModel.getImportedName("java.lang.String"));

+			stringBuffer.append(TEXT_92);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_88);

+			}

+			stringBuffer.append(TEXT_90);

+			stringBuffer.append(genModel.getImportedName("java.lang.String"));

+			stringBuffer.append(TEXT_93);

+		}

+		stringBuffer.append(TEXT_94);

+		stringBuffer.append(genEnum.getName());

+		if (genModel.isSuppressEMFMetaData() && !genModel.isSuppressInterfaces()) {

+			stringBuffer.append(TEXT_39);

+			if (isEnum) {

+				stringBuffer.append(TEXT_95);

+				stringBuffer.append(genEnum.getName());

+				stringBuffer.append(TEXT_96);

+			} else {

+				stringBuffer.append(TEXT_97);

+				stringBuffer.append(genEnum.getName());

+				stringBuffer.append(TEXT_98);

+				stringBuffer.append(genEnum.getName());

+				stringBuffer.append(TEXT_82);

+				stringBuffer.append(genModel.getImportedName("java.lang.String"));

+				stringBuffer.append(TEXT_83);

+				stringBuffer.append(genModel.getImportedName("java.lang.String"));

+				stringBuffer.append(TEXT_99);

+			}

+		}

+		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 {

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/FactoryClass.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/FactoryClass.java
new file mode 100644
index 0000000..afdf87e
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/FactoryClass.java
@@ -0,0 +1,1696 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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;

+	protected final String TEXT_5 = 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_6 = NL + " * @see ";

+	protected final String TEXT_7 = NL + " * ";

+	protected final String TEXT_8 = NL + " * @generated" + NL + " */";

+	protected final String TEXT_9 = NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL

+			+ " * An implementation of the model <b>Factory</b>." + NL + " * <!-- end-user-doc -->";

+	protected final String TEXT_10 = NL + "@Deprecated";

+	protected final String TEXT_11 = NL + "@SuppressWarnings(\"deprecation\")";

+	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 = NL + "{";

+	protected final String TEXT_17 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t";

+	protected final String TEXT_18 = " copyright = ";

+	protected final String TEXT_19 = 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_20 = " eINSTANCE = init();" + NL;

+	protected final String TEXT_21 = " INSTANCE = ";

+	protected final String TEXT_22 = ".eINSTANCE;" + NL;

+	protected final String TEXT_23 = " eINSTANCE = ";

+	protected final String TEXT_24 = ".init();" + NL;

+	protected final String TEXT_25 = 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_26 = NL + "\tpublic static ";

+	protected final String TEXT_27 = " init()" + NL + "\t{" + NL + "\t\ttry" + NL + "\t\t{" + NL + "\t\t\t";

+	protected final String TEXT_28 = " the";

+	protected final String TEXT_29 = " = (";

+	protected final String TEXT_30 = ")";

+	protected final String TEXT_31 = ".Registry.INSTANCE.getEFactory(";

+	protected final String TEXT_32 = ".eNS_URI);" + NL + "\t\t\tif (the";

+	protected final String TEXT_33 = " != null)" + NL + "\t\t\t{" + NL + "\t\t\t\treturn the";

+	protected final String TEXT_34 = ";" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\tcatch (Exception exception)" + NL

+			+ "\t\t{" + NL + "\t\t\t";

+	protected final String TEXT_35 = ".INSTANCE.log(exception);" + NL + "\t\t}" + NL + "\t\treturn new ";

+	protected final String TEXT_36 = "();" + 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_37 = "()" + 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_38 = NL + "\t@Override";

+	protected final String TEXT_39 = NL + "\tpublic EObject create(EClass eClass)" + NL + "\t{" + NL

+			+ "\t\tswitch (eClass.getClassifierID())" + NL + "\t\t{";

+	protected final String TEXT_40 = NL + "\t\t\tcase ";

+	protected final String TEXT_41 = ".";

+	protected final String TEXT_42 = ": return ";

+	protected final String TEXT_43 = "create";

+	protected final String TEXT_44 = "();";

+	protected final String TEXT_45 = NL + "\t\t\tdefault:" + NL

+			+ "\t\t\t\tthrow new IllegalArgumentException(\"The class '\" + eClass.getName() + \"' is not a valid classifier\");";

+	protected final String TEXT_46 = NL + "\t\t}" + NL + "\t}" + NL;

+	protected final String TEXT_47 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

+	protected final String TEXT_48 = NL + "\tpublic Object createFromString(";

+	protected final String TEXT_49 = " eDataType, String initialValue)" + NL + "\t{" + NL

+			+ "\t\tswitch (eDataType.getClassifierID())" + NL + "\t\t{";

+	protected final String TEXT_50 = ":" + NL + "\t\t\t\treturn create";

+	protected final String TEXT_51 = "FromString(eDataType, initialValue);";

+	protected final String TEXT_52 = NL + "\t\t\tdefault:" + NL

+			+ "\t\t\t\tthrow new IllegalArgumentException(\"The datatype '\" + eDataType.getName() + \"' is not a valid classifier\");";

+	protected final String TEXT_53 = 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_54 = NL + "\tpublic String convertToString(";

+	protected final String TEXT_55 = " eDataType, Object instanceValue)" + NL + "\t{" + NL

+			+ "\t\tswitch (eDataType.getClassifierID())" + NL + "\t\t{";

+	protected final String TEXT_56 = ":" + NL + "\t\t\t\treturn convert";

+	protected final String TEXT_57 = "ToString(eDataType, instanceValue);";

+	protected final String TEXT_58 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->";

+	protected final String TEXT_59 = NL + "\t * ";

+	protected final String TEXT_60 = NL + "\t * @generated" + NL + "\t */";

+	protected final String TEXT_61 = NL + "\t@Deprecated";

+	protected final String TEXT_62 = NL + "\tpublic ";

+	protected final String TEXT_63 = " create";

+	protected final String TEXT_64 = "()" + NL + "\t{";

+	protected final String TEXT_65 = NL + "\t\t";

+	protected final String TEXT_66 = " ";

+	protected final String TEXT_67 = " = ";

+	protected final String TEXT_68 = "super.create(";

+	protected final String TEXT_69 = ");";

+	protected final String TEXT_70 = " = new ";

+	protected final String TEXT_71 = "()";

+	protected final String TEXT_72 = "{}";

+	protected final String TEXT_73 = NL + "\t\treturn ";

+	protected final String TEXT_74 = ";" + NL + "\t}" + NL;

+	protected final String TEXT_75 = NL + "\t@SuppressWarnings(\"unchecked\")";

+	protected final String TEXT_76 = "(";

+	protected final String TEXT_77 = "final ";

+	protected final String TEXT_78 = "String ";

+	protected final String TEXT_79 = "it";

+	protected final String TEXT_80 = "literal";

+	protected final String TEXT_81 = ")" + NL + "\t{";

+	protected final String TEXT_82 = " result = ";

+	protected final String TEXT_83 = ".get(literal);" + NL

+			+ "\t\tif (result == null) throw new IllegalArgumentException(\"The value '\" + literal + \"' is not a valid enumerator of '\" + ";

+	protected final String TEXT_84 = ".getName() + \"'\");";

+	protected final String TEXT_85 = NL + "\t\treturn result;";

+	protected final String TEXT_86 = NL + "\t\treturn new ";

+	protected final String TEXT_87 = "(create";

+	protected final String TEXT_88 = "(literal));";

+	protected final String TEXT_89 = NL + "\t\treturn create";

+	protected final String TEXT_90 = "(literal);";

+	protected final String TEXT_91 = ".create";

+	protected final String TEXT_92 = ".createFromString(";

+	protected final String TEXT_93 = ", literal);";

+	protected final String TEXT_94 = NL + "\t\tif (literal == null) return null;" + NL + "\t\t";

+	protected final String TEXT_95 = " result = new ";

+	protected final String TEXT_96 = "<";

+	protected final String TEXT_97 = ">";

+	protected final String TEXT_98 = NL + "\t\tfor (";

+	protected final String TEXT_99 = " stringTokenizer = new ";

+	protected final String TEXT_100 = "(literal); stringTokenizer.hasMoreTokens(); )";

+	protected final String TEXT_101 = NL + "\t\tfor (String item : split(literal))";

+	protected final String TEXT_102 = NL + "\t\t{";

+	protected final String TEXT_103 = NL + "\t\t\tString item = stringTokenizer.nextToken();";

+	protected final String TEXT_104 = NL + "\t\t\tresult.add(create";

+	protected final String TEXT_105 = "(item));";

+	protected final String TEXT_106 = "FromString(";

+	protected final String TEXT_107 = ", item));";

+	protected final String TEXT_108 = NL + "\t\t\tresult.add(";

+	protected final String TEXT_109 = NL + "\t\t}" + NL + "\t\treturn result;";

+	protected final String TEXT_110 = NL + "\t\tif (literal == null) return ";

+	protected final String TEXT_111 = ";" + NL + "\t\t";

+	protected final String TEXT_112 = ";" + NL + "\t\tRuntimeException exception = null;";

+	protected final String TEXT_113 = NL + "\t\ttry" + NL + "\t\t{";

+	protected final String TEXT_114 = NL + "\t\t\tresult = create";

+	protected final String TEXT_115 = NL + "\t\t\tresult = (";

+	protected final String TEXT_116 = ")create";

+	protected final String TEXT_117 = NL + "\t\t\tresult = ";

+	protected final String TEXT_118 = NL + "\t\t\tif (";

+	protected final String TEXT_119 = "result != null && ";

+	protected final String TEXT_120 = ".INSTANCE.validate(";

+	protected final String TEXT_121 = ", ";

+	protected final String TEXT_122 = "new ";

+	protected final String TEXT_123 = "(result)";

+	protected final String TEXT_124 = "result";

+	protected final String TEXT_125 = ", 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_126 = NL + "\t\tif (";

+	protected final String TEXT_127 = "result != null || ";

+	protected final String TEXT_128 = "exception == null) return result;" + NL + "    " + NL + "\t\tthrow exception;";

+	protected final String TEXT_129 = NL + "\t\treturn (";

+	protected final String TEXT_130 = ")super.createFromString(literal);";

+	protected final String TEXT_131 = 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_132 = NL + "\t\treturn ((";

+	protected final String TEXT_133 = ")super.createFromString(";

+	protected final String TEXT_134 = ", literal)).";

+	protected final String TEXT_135 = "super.createFromString(";

+	protected final String TEXT_136 = NL + "\t}" + NL;

+	protected final String TEXT_137 = " eDataType, String initialValue)" + NL + "\t{";

+	protected final String TEXT_138 = "(initialValue);";

+	protected final String TEXT_139 = ".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_140 = ", initialValue);";

+	protected final String TEXT_141 = NL + "\t\tif (initialValue == null) return null;" + NL + "\t\t";

+	protected final String TEXT_142 = "(initialValue); stringTokenizer.hasMoreTokens(); )";

+	protected final String TEXT_143 = NL + "\t\tfor (String item : split(initialValue))";

+	protected final String TEXT_144 = "(initialValue));";

+	protected final String TEXT_145 = " result = null;" + NL + "\t\tRuntimeException exception = null;";

+	protected final String TEXT_146 = NL + "\t\t\tif (result != null && ";

+	protected final String TEXT_147 = ".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_148 = NL + "\t\tif (result != null || exception == null) return result;" + NL + "    "

+			+ NL + "\t\tthrow exception;";

+	protected final String TEXT_149 = "super.createFromString(initialValue);";

+	protected final String TEXT_150 = "super.createFromString(eDataType, initialValue);";

+	protected final String TEXT_151 = NL + "\tpublic String convert";

+	protected final String TEXT_152 = "instanceValue";

+	protected final String TEXT_153 = NL + "\t\treturn instanceValue == null ? null : instanceValue.toString();";

+	protected final String TEXT_154 = NL + "\t\treturn instanceValue == null ? null : convert";

+	protected final String TEXT_155 = "(instanceValue";

+	protected final String TEXT_156 = NL + "\t\treturn convert";

+	protected final String TEXT_157 = "(instanceValue);";

+	protected final String TEXT_158 = ".convert";

+	protected final String TEXT_159 = ".convertToString(";

+	protected final String TEXT_160 = ", instanceValue);";

+	protected final String TEXT_161 = NL + "\t\tif (instanceValue == null) return null;" + NL

+			+ "\t\tif (instanceValue.isEmpty()) return \"\";" + NL + "\t\t";

+	protected final String TEXT_162 = " i = instanceValue.iterator(); i.hasNext(); )";

+	protected final String TEXT_163 = " item : instanceValue)";

+	protected final String TEXT_164 = NL + "\t\t\tresult.append(convert";

+	protected final String TEXT_165 = "((";

+	protected final String TEXT_166 = "));";

+	protected final String TEXT_167 = "ToString(";

+	protected final String TEXT_168 = NL + "\t\t\tresult.append(";

+	protected final String TEXT_169 = NL + "\t\t\tresult.append(' ');" + NL + "\t\t}" + NL

+			+ "\t\treturn result.substring(0, result.length() - 1);";

+	protected final String TEXT_170 = NL + "\t\tif (instanceValue == null) return null;";

+	protected final String TEXT_171 = ".isInstance(instanceValue))" + NL + "\t\t{" + NL + "\t\t\ttry" + NL + "\t\t\t{";

+	protected final String TEXT_172 = NL + "\t\t\t\tString value = convert";

+	protected final String TEXT_173 = "(((";

+	protected final String TEXT_174 = ")instanceValue).";

+	protected final String TEXT_175 = "());";

+	protected final String TEXT_176 = ")instanceValue);";

+	protected final String TEXT_177 = NL + "\t\t\t\tString value = ";

+	protected final String TEXT_178 = 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_179 = NL + "\t\t\tString value = convert";

+	protected final String TEXT_180 = "(instanceValue)";

+	protected final String TEXT_181 = NL + "\t\t\tString value = ";

+	protected final String TEXT_182 = 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_183 = NL

+			+ "\t\tthrow new IllegalArgumentException(\"Invalid value: '\"+instanceValue+\"' for datatype :\"+";

+	protected final String TEXT_184 = ".getName());";

+	protected final String TEXT_185 = NL + "\t\treturn super.convertToString(instanceValue);";

+	protected final String TEXT_186 = NL + "\t\treturn super.convertToString(";

+	protected final String TEXT_187 = ", new ";

+	protected final String TEXT_188 = "(instanceValue));";

+	protected final String TEXT_189 = " eDataType, Object instanceValue)" + NL + "\t{";

+	protected final String TEXT_190 = NL + "\t\tif (instanceValue == null) return null;" + NL + "\t\t";

+	protected final String TEXT_191 = " list = (";

+	protected final String TEXT_192 = ")instanceValue;" + NL + "\t\tif (list.isEmpty()) return \"\";" + NL + "\t\t";

+	protected final String TEXT_193 = " i = list.iterator(); i.hasNext(); )";

+	protected final String TEXT_194 = " item : list)";

+	protected final String TEXT_195 = ")instanceValue)";

+	protected final String TEXT_196 = NL

+			+ "\t\tthrow new IllegalArgumentException(\"Invalid value: '\"+instanceValue+\"' for datatype :\"+eDataType.getName());";

+	protected final String TEXT_197 = ")instanceValue";

+	protected final String TEXT_198 = ").";

+	protected final String TEXT_199 = NL + "\t\treturn super.convertToString(eDataType, instanceValue);";

+	protected final String TEXT_200 = NL + "\t/**" + NL + "\t * Returns a new object of class '<em>";

+	protected final String TEXT_201 = "</em>'." + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @return a new object of class '<em>";

+	protected final String TEXT_202 = "</em>'.";

+	protected final String TEXT_203 = NL + "\t";

+	protected final String TEXT_204 = "();" + NL;

+	protected final String TEXT_205 = NL + "\t/**" + NL + "\t * Returns an instance of data type '<em>";

+	protected final String TEXT_206 = "</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.";

+	protected final String TEXT_207 = "(String literal);" + NL + "" + NL + "\t/**" + NL

+			+ "\t * Returns a literal representation of an instance of data type '<em>";

+	protected final String TEXT_208 = "</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.";

+	protected final String TEXT_209 = NL + "\tString convert";

+	protected final String TEXT_210 = " instanceValue);" + NL;

+	protected final String TEXT_211 = 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_212 = " get";

+	protected final String TEXT_213 = "()" + NL + "\t{" + NL + "\t\treturn (";

+	protected final String TEXT_214 = ")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_215 = " getPackage()" + NL + "\t{" + NL + "\t\treturn ";

+	protected final String TEXT_216 = ".eINSTANCE;" + NL + "\t}" + NL;

+	protected final String TEXT_217 = NL + "} //";

+	protected final String TEXT_218 = 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_218);

+		stringBuffer.append(TEXT_218);

+		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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.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();

+		final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;

+		boolean isInterface = Boolean.TRUE.equals(((Object[]) argument)[1]);

+		boolean isImplementation = Boolean.TRUE.equals(((Object[]) argument)[2]);

+		boolean useInterfaceOverrideAnnotation = genModel.useInterfaceOverrideAnnotation()

+				&& !(isInterface && isImplementation);

+		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_2);

+			stringBuffer.append(genPackage.getClassPackageName());

+			stringBuffer.append(TEXT_3);

+		}

+		stringBuffer.append(TEXT_4);

+		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_4);

+		if (isInterface) {

+			stringBuffer.append(TEXT_5);

+			if (!genModel.isSuppressEMFMetaData()) {

+				stringBuffer.append(TEXT_6);

+				stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());

+			}

+			if (genPackage.hasAPITags()) {

+				stringBuffer.append(TEXT_7);

+				stringBuffer.append(genPackage.getAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_8);

+		} else {

+			stringBuffer.append(TEXT_9);

+			if (genPackage.hasAPITags()) {

+				stringBuffer.append(TEXT_7);

+				stringBuffer.append(genPackage.getAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_8);

+		}

+		if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_10);

+		}

+		if (isImplementation) {

+			if (isJDK50 && !genPackage.hasAPIDeprecatedTag()) {

+				List<GenClassifier> genClassifiers = new ArrayList<GenClassifier>(genPackage.getGenClassifiers());

+				for (Iterator<GenClassifier> i = genClassifiers.iterator(); i.hasNext();) {

+					GenClassifier genClassifier = i.next();

+					if (genClassifier instanceof GenClass && ((GenClass) genClassifier).isAbstract())

+						i.remove();

+				}

+				if (GenModelUtil.hasAPIDeprecatedTag(genClassifiers)) {

+					stringBuffer.append(TEXT_11);

+				}

+			}

+			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_13);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EFactory"));

+			}

+		}

+		stringBuffer.append(TEXT_16);

+		if (genModel.hasCopyrightField()) {

+			stringBuffer.append(TEXT_17);

+			stringBuffer.append(publicStaticFinalFlag);

+			stringBuffer.append(genModel.getImportedName("java.lang.String"));

+			stringBuffer.append(TEXT_18);

+			stringBuffer.append(genModel.getCopyrightFieldLiteral());

+			stringBuffer.append(TEXT_3);

+			stringBuffer.append(genModel.getNonNLS());

+			stringBuffer.append(TEXT_4);

+		}

+		if (isImplementation && (genModel.isSuppressEMFMetaData() || genModel.isSuppressInterfaces())) {

+			stringBuffer.append(TEXT_19);

+			stringBuffer.append(publicStaticFinalFlag);

+			stringBuffer.append(genPackage.getFactoryClassName());

+			stringBuffer.append(TEXT_20);

+		}

+		if (isInterface && genModel.isSuppressEMFMetaData()) {

+			stringBuffer.append(TEXT_19);

+			stringBuffer.append(publicStaticFinalFlag);

+			stringBuffer.append(genPackage.getFactoryInterfaceName());

+			stringBuffer.append(TEXT_21);

+			stringBuffer.append(genPackage.getQualifiedFactoryClassName());

+			stringBuffer.append(TEXT_22);

+		} else if (isInterface && !genModel.isSuppressInterfaces()) {

+			stringBuffer.append(TEXT_19);

+			stringBuffer.append(publicStaticFinalFlag);

+			stringBuffer.append(genPackage.getFactoryInterfaceName());

+			stringBuffer.append(TEXT_23);

+			stringBuffer.append(genPackage.getQualifiedFactoryClassName());

+			stringBuffer.append(TEXT_24);

+		}

+		if (isImplementation) {

+			stringBuffer.append(TEXT_25);

+			String factoryType = genModel.isSuppressEMFMetaData() ? genPackage.getFactoryClassName()

+					: genPackage.getImportedFactoryInterfaceName();

+			stringBuffer.append(TEXT_26);

+			stringBuffer.append(factoryType);

+			stringBuffer.append(TEXT_27);

+			stringBuffer.append(factoryType);

+			stringBuffer.append(TEXT_28);

+			stringBuffer.append(genPackage.getFactoryName());

+			stringBuffer.append(TEXT_29);

+			stringBuffer.append(factoryType);

+			stringBuffer.append(TEXT_30);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

+			stringBuffer.append(TEXT_31);

+			stringBuffer.append(genPackage.getPackageInterfaceName());

+			stringBuffer.append(TEXT_32);

+			stringBuffer.append(genPackage.getFactoryName());

+			stringBuffer.append(TEXT_33);

+			stringBuffer.append(genPackage.getFactoryName());

+			stringBuffer.append(TEXT_34);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin"));

+			stringBuffer.append(TEXT_35);

+			stringBuffer.append(genPackage.getImportedFactoryClassName());

+			stringBuffer.append(TEXT_36);

+			stringBuffer.append(genPackage.getFactoryClassName());

+			stringBuffer.append(TEXT_37);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_38);

+			}

+			stringBuffer.append(TEXT_39);

+			for (GenClass genClass : genPackage.getGenClasses()) {

+				if (!genClass.isAbstract()) {

+					stringBuffer.append(TEXT_40);

+					stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+					stringBuffer.append(TEXT_41);

+					stringBuffer.append(genClass.getClassifierID());

+					stringBuffer.append(TEXT_42);

+					stringBuffer.append(!genClass.isEObjectExtension() ? "(EObject)" : "");

+					stringBuffer.append(TEXT_43);

+					stringBuffer.append(genClass.getName());

+					stringBuffer.append(TEXT_44);

+				}

+			}

+			stringBuffer.append(TEXT_45);

+			stringBuffer.append(genModel.getNonNLS());

+			stringBuffer.append(genModel.getNonNLS(2));

+			stringBuffer.append(TEXT_46);

+			if (!genPackage.getAllGenDataTypes().isEmpty()) {

+				stringBuffer.append(TEXT_47);

+				if (genModel.useClassOverrideAnnotation()) {

+					stringBuffer.append(TEXT_38);

+				}

+				stringBuffer.append(TEXT_48);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EDataType"));

+				stringBuffer.append(TEXT_49);

+				for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {

+					if (genDataType.isSerializable()) {

+						stringBuffer.append(TEXT_40);

+						stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+						stringBuffer.append(TEXT_41);

+						stringBuffer.append(genDataType.getClassifierID());

+						stringBuffer.append(TEXT_50);

+						stringBuffer.append(genDataType.getName());

+						stringBuffer.append(TEXT_51);

+					}

+				}

+				stringBuffer.append(TEXT_52);

+				stringBuffer.append(genModel.getNonNLS());

+				stringBuffer.append(genModel.getNonNLS(2));

+				stringBuffer.append(TEXT_53);

+				if (genModel.useClassOverrideAnnotation()) {

+					stringBuffer.append(TEXT_38);

+				}

+				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_40);

+						stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+						stringBuffer.append(TEXT_41);

+						stringBuffer.append(genDataType.getClassifierID());

+						stringBuffer.append(TEXT_56);

+						stringBuffer.append(genDataType.getName());

+						stringBuffer.append(TEXT_57);

+					}

+				}

+				stringBuffer.append(TEXT_52);

+				stringBuffer.append(genModel.getNonNLS());

+				stringBuffer.append(genModel.getNonNLS(2));

+				stringBuffer.append(TEXT_46);

+			}

+			for (GenClass genClass : genPackage.getGenClasses()) {

+				if (!genClass.isAbstract()) {

+					stringBuffer.append(TEXT_58);

+					if (genClass.hasAPITags()) {

+						stringBuffer.append(TEXT_59);

+						stringBuffer.append(genClass.getAPITags(genModel.getIndentation(stringBuffer)));

+					}

+					stringBuffer.append(TEXT_60);

+					if (isJDK50 && genClass.hasAPIDeprecatedTag()) {

+						stringBuffer.append(TEXT_61);

+					}

+					if (useInterfaceOverrideAnnotation && !genClass.isMapEntry()) {

+						stringBuffer.append(TEXT_38);

+					}

+					stringBuffer.append(TEXT_62);

+					stringBuffer.append(genClass.getTypeParameters());

+					stringBuffer.append(genClass.getImportedInterfaceName());

+					stringBuffer.append(genClass.getInterfaceTypeArguments());

+					stringBuffer.append(TEXT_63);

+					stringBuffer.append(genClass.getName());

+					stringBuffer.append(TEXT_64);

+					if (genClass.isDynamic()) {

+						stringBuffer.append(TEXT_65);

+						stringBuffer.append(genClass.getImportedInterfaceName());

+						stringBuffer.append(genClass.getInterfaceTypeArguments());

+						stringBuffer.append(TEXT_66);

+						stringBuffer.append(genClass.getSafeUncapName());

+						stringBuffer.append(TEXT_67);

+						stringBuffer.append(genClass.getCastFromEObject());

+						stringBuffer.append(TEXT_68);

+						stringBuffer.append(genClass.getQualifiedClassifierAccessor());

+						stringBuffer.append(TEXT_69);

+					} else {

+						stringBuffer.append(TEXT_65);

+						stringBuffer.append(genClass.getImportedClassName());

+						stringBuffer.append(genClass.getClassTypeArguments());

+						stringBuffer.append(TEXT_66);

+						stringBuffer.append(genClass.getSafeUncapName());

+						stringBuffer.append(TEXT_70);

+						stringBuffer.append(genClass.getImportedClassName());

+						stringBuffer.append(genClass.getClassTypeArguments());

+						stringBuffer.append(TEXT_71);

+						if (genModel.isSuppressInterfaces() && !genPackage.getReflectionPackageName()

+								.equals(genPackage.getInterfacePackageName())) {

+							stringBuffer.append(TEXT_72);

+						}

+						stringBuffer.append(TEXT_3);

+					}

+					stringBuffer.append(TEXT_73);

+					stringBuffer.append(genClass.getSafeUncapName());

+					stringBuffer.append(TEXT_74);

+				}

+			}

+			for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {

+				if (genDataType.isSerializable()) {

+					if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {

+						String eDataType = genDataType.getQualifiedClassifierAccessor();

+						stringBuffer.append(TEXT_58);

+						if (genDataType.hasAPITags()) {

+							stringBuffer.append(TEXT_59);

+							stringBuffer.append(genDataType.getAPITags(genModel.getIndentation(stringBuffer)));

+						}

+						stringBuffer.append(TEXT_60);

+						if (genModel.useGenerics() && genDataType.isUncheckedCast() && !genDataType.hasCreatorBody()) {

+							stringBuffer.append(TEXT_75);

+						}

+						if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {

+							stringBuffer.append(TEXT_61);

+						}

+						if (genPackage.isDataTypeConverters() && useInterfaceOverrideAnnotation) {

+							stringBuffer.append(TEXT_38);

+						}

+						stringBuffer.append(TEXT_62);

+						stringBuffer.append(genDataType.getImportedParameterizedInstanceClassName());

+						stringBuffer.append(TEXT_63);

+						stringBuffer.append(genDataType.getName());

+						stringBuffer.append(TEXT_76);

+						if (genDataType.hasCreatorBody()) {

+							stringBuffer.append(TEXT_77);

+						}

+						stringBuffer.append(TEXT_78);

+						if (genDataType.hasCreatorBody()) {

+							stringBuffer.append(TEXT_79);

+						} else {

+							stringBuffer.append(TEXT_80);

+						}

+						stringBuffer.append(TEXT_81);

+						if (genDataType.hasCreatorBody()) {

+							stringBuffer.append(TEXT_65);

+							stringBuffer.append(genDataType.getCreatorBody(genModel.getIndentation(stringBuffer)));

+						} else if (genDataType instanceof GenEnum) {

+							stringBuffer.append(TEXT_65);

+							stringBuffer.append(genDataType.getImportedInstanceClassName());

+							stringBuffer.append(TEXT_82);

+							stringBuffer.append(genDataType.getImportedInstanceClassName());

+							stringBuffer.append(TEXT_83);

+							stringBuffer.append(eDataType);

+							stringBuffer.append(TEXT_84);

+							stringBuffer.append(genModel.getNonNLS());

+							stringBuffer.append(genModel.getNonNLS(2));

+							stringBuffer.append(genModel.getNonNLS(3));

+							stringBuffer.append(TEXT_85);

+						} else if (genDataType.getBaseType() != null) {

+							GenDataType genBaseType = genDataType.getBaseType();

+							boolean isPrimitiveConversion = !genDataType.isPrimitiveType()

+									&& genBaseType.isPrimitiveType();

+							if (genBaseType.getGenPackage() == genPackage) {

+								if (isPrimitiveConversion && !isJDK50) {

+									stringBuffer.append(TEXT_86);

+									stringBuffer.append(genDataType.getObjectInstanceClassName());

+									stringBuffer.append(TEXT_87);

+									stringBuffer.append(genBaseType.getName());

+									stringBuffer.append(TEXT_88);

+								} else {

+									stringBuffer.append(TEXT_89);

+									stringBuffer.append(genBaseType.getName());

+									stringBuffer.append(TEXT_90);

+								}

+							} else if (genBaseType.getGenPackage().isDataTypeConverters()) {

+								if (isPrimitiveConversion && !isJDK50) {

+									stringBuffer.append(TEXT_86);

+									stringBuffer.append(genDataType.getObjectInstanceClassName());

+									stringBuffer.append(TEXT_76);

+									stringBuffer.append(

+											genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());

+									stringBuffer.append(TEXT_91);

+									stringBuffer.append(genBaseType.getName());

+									stringBuffer.append(TEXT_88);

+								} else {

+									stringBuffer.append(TEXT_73);

+									stringBuffer.append(

+											genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());

+									stringBuffer.append(TEXT_91);

+									stringBuffer.append(genBaseType.getName());

+									stringBuffer.append(TEXT_90);

+								}

+							} else {

+								stringBuffer.append(TEXT_73);

+								if (!genDataType.isObjectType()) {

+									stringBuffer.append(TEXT_76);

+									stringBuffer.append(genDataType.getObjectInstanceClassName());

+									stringBuffer.append(TEXT_30);

+								}

+								stringBuffer.append(

+										genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());

+								stringBuffer.append(TEXT_92);

+								stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());

+								stringBuffer.append(TEXT_93);

+							}

+						} else if (genDataType.getItemType() != null) {

+							GenDataType genItemType = genDataType.getItemType();

+							stringBuffer.append(TEXT_94);

+							stringBuffer.append(genDataType.getImportedParameterizedInstanceClassName());

+							stringBuffer.append(TEXT_95);

+							stringBuffer.append(genModel.getImportedName("java.util.ArrayList"));

+							if (genModel.useGenerics()) {

+								stringBuffer.append(TEXT_96);

+								stringBuffer.append(

+										genItemType.getObjectType().getImportedParameterizedInstanceClassName());

+								stringBuffer.append(TEXT_97);

+							}

+							stringBuffer.append(TEXT_44);

+							if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {

+								stringBuffer.append(TEXT_98);

+								stringBuffer.append(genModel.getImportedName("java.util.StringTokenizer"));

+								stringBuffer.append(TEXT_99);

+								stringBuffer.append(genModel.getImportedName("java.util.StringTokenizer"));

+								stringBuffer.append(TEXT_100);

+							} else {

+								stringBuffer.append(TEXT_101);

+							}

+							stringBuffer.append(TEXT_102);

+							if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {

+								stringBuffer.append(TEXT_103);

+							}

+							if (genItemType.getGenPackage() == genPackage) {

+								if (genPackage.isDataTypeConverters()) {

+									genItemType = genItemType.getObjectType();

+									stringBuffer.append(TEXT_104);

+									stringBuffer.append(genItemType.getName());

+									stringBuffer.append(TEXT_105);

+								} else {

+									stringBuffer.append(TEXT_104);

+									stringBuffer.append(genItemType.getName());

+									stringBuffer.append(TEXT_106);

+									stringBuffer.append(genItemType.getQualifiedClassifierAccessor());

+									stringBuffer.append(TEXT_107);

+								}

+							} else {

+								if (genItemType.getGenPackage().isDataTypeConverters()) {

+									genItemType = genItemType.getObjectType();

+									stringBuffer.append(TEXT_108);

+									stringBuffer.append(

+											genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());

+									stringBuffer.append(TEXT_91);

+									stringBuffer.append(genItemType.getName());

+									stringBuffer.append(TEXT_105);

+								} else {

+									stringBuffer.append(TEXT_108);

+									stringBuffer.append(

+											genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());

+									stringBuffer.append(TEXT_92);

+									stringBuffer.append(genItemType.getQualifiedClassifierAccessor());

+									stringBuffer.append(TEXT_107);

+								}

+							}

+							stringBuffer.append(TEXT_109);

+						} else if (!genDataType.getMemberTypes().isEmpty()) {

+							stringBuffer.append(TEXT_110);

+							stringBuffer.append(genDataType.getStaticValue(null));

+							stringBuffer.append(TEXT_111);

+							stringBuffer.append(genDataType.getImportedInstanceClassName());

+							stringBuffer.append(TEXT_82);

+							stringBuffer.append(genDataType.getStaticValue(null));

+							stringBuffer.append(TEXT_112);

+							for (GenDataType genMemberType : genDataType.getMemberTypes()) {

+								stringBuffer.append(TEXT_113);

+								if (genMemberType.getGenPackage() == genPackage) {

+									if (genPackage.isDataTypeConverters()) {

+										if (!genDataType.isPrimitiveType())

+											genMemberType = genMemberType.getObjectType();

+										stringBuffer.append(TEXT_114);

+										stringBuffer.append(genMemberType.getName());

+										stringBuffer.append(TEXT_90);

+									} else {

+										stringBuffer.append(TEXT_115);

+										stringBuffer.append(genDataType.getObjectInstanceClassName());

+										stringBuffer.append(TEXT_116);

+										stringBuffer.append(genMemberType.getName());

+										stringBuffer.append(TEXT_106);

+										stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

+										stringBuffer.append(TEXT_93);

+									}

+								} else {

+									if (genPackage.isDataTypeConverters()) {

+										if (!genDataType.isPrimitiveType())

+											genMemberType = genMemberType.getObjectType();

+										stringBuffer.append(TEXT_117);

+										stringBuffer.append(genMemberType.getGenPackage()

+												.getQualifiedEFactoryInternalInstanceAccessor());

+										stringBuffer.append(TEXT_91);

+										stringBuffer.append(genMemberType.getName());

+										stringBuffer.append(TEXT_90);

+									} else {

+										stringBuffer.append(TEXT_115);

+										stringBuffer.append(genDataType.getObjectInstanceClassName());

+										stringBuffer.append(TEXT_30);

+										stringBuffer.append(genMemberType.getGenPackage()

+												.getQualifiedEFactoryInternalInstanceAccessor());

+										stringBuffer.append(TEXT_92);

+										stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

+										stringBuffer.append(TEXT_93);

+									}

+								}

+								stringBuffer.append(TEXT_118);

+								if (!genDataType.isPrimitiveType()) {

+									stringBuffer.append(TEXT_119);

+								}

+								stringBuffer

+										.append(genModel.getImportedName("org.eclipse.emf.ecore.util.Diagnostician"));

+								stringBuffer.append(TEXT_120);

+								stringBuffer.append(eDataType);

+								stringBuffer.append(TEXT_121);

+								if (genDataType.isPrimitiveType() && !isJDK50) {

+									stringBuffer.append(TEXT_122);

+									stringBuffer.append(genDataType.getObjectInstanceClassName());

+									stringBuffer.append(TEXT_123);

+								} else {

+									stringBuffer.append(TEXT_124);

+								}

+								stringBuffer.append(TEXT_125);

+							}

+							stringBuffer.append(TEXT_126);

+							if (!genDataType.isPrimitiveType()) {

+								stringBuffer.append(TEXT_127);

+							}

+							stringBuffer.append(TEXT_128);

+						} else if (!genDataType.hasConversionDelegate() && genModel.useGenerics()

+								&& (genDataType.isArrayType()

+										|| !genDataType.getEcoreDataType().getETypeParameters().isEmpty()

+										|| genDataType.getEcoreDataType().getInstanceTypeName().contains("<"))) {

+							stringBuffer.append(TEXT_129);

+							stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());

+							stringBuffer.append(TEXT_130);

+						} else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {

+							stringBuffer.append(TEXT_131);

+							stringBuffer.append(genModel.getImportedName("java.lang.UnsupportedOperationException"));

+							stringBuffer.append(TEXT_44);

+						} else if (genDataType.isPrimitiveType() && !isJDK50) {

+							stringBuffer.append(TEXT_132);

+							stringBuffer.append(genDataType.getObjectInstanceClassName());

+							stringBuffer.append(TEXT_133);

+							stringBuffer.append(eDataType);

+							stringBuffer.append(TEXT_134);

+							stringBuffer.append(genDataType.getPrimitiveValueFunction());

+							stringBuffer.append(TEXT_44);

+						} else {

+							stringBuffer.append(TEXT_73);

+							if (!genDataType.isObjectType()) {

+								stringBuffer.append(TEXT_76);

+								stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());

+								stringBuffer.append(TEXT_30);

+							}

+							stringBuffer.append(TEXT_135);

+							stringBuffer.append(eDataType);

+							stringBuffer.append(TEXT_93);

+						}

+						stringBuffer.append(TEXT_136);

+					}

+					stringBuffer.append(TEXT_58);

+					if (genDataType.hasAPITags()) {

+						stringBuffer.append(TEXT_59);

+						stringBuffer.append(genDataType.getAPITags(genModel.getIndentation(stringBuffer)));

+					}

+					stringBuffer.append(TEXT_60);

+					if (!genPackage.isDataTypeConverters() && genModel.useGenerics() && genDataType.isUncheckedCast()

+							&& !genDataType.hasCreatorBody()) {

+						stringBuffer.append(TEXT_75);

+					}

+					if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {

+						stringBuffer.append(TEXT_61);

+					}

+					stringBuffer.append(TEXT_62);

+					stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());

+					stringBuffer.append(TEXT_63);

+					stringBuffer.append(genDataType.getName());

+					stringBuffer.append(TEXT_106);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EDataType"));

+					stringBuffer.append(TEXT_137);

+					if (genDataType instanceof GenEnum) {

+						if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {

+							stringBuffer.append(TEXT_89);

+							stringBuffer.append(genDataType.getName());

+							stringBuffer.append(TEXT_138);

+						} else {

+							stringBuffer.append(TEXT_65);

+							stringBuffer.append(((GenEnum) genDataType).getImportedInstanceClassName());

+							stringBuffer.append(TEXT_82);

+							stringBuffer.append(((GenEnum) genDataType).getImportedInstanceClassName());

+							stringBuffer.append(TEXT_139);

+							stringBuffer.append(genModel.getNonNLS());

+							stringBuffer.append(genModel.getNonNLS(2));

+							stringBuffer.append(genModel.getNonNLS(3));

+							stringBuffer.append(TEXT_85);

+						}

+					} else if (genDataType.getBaseType() != null) {

+						GenDataType genBaseType = genDataType.getBaseType();

+						if (genBaseType.getGenPackage() == genPackage) {

+							stringBuffer.append(TEXT_73);

+							if (!genDataType.getObjectInstanceClassName()

+									.equals(genBaseType.getObjectInstanceClassName())) {

+								stringBuffer.append(TEXT_76);

+								stringBuffer.append(genDataType.getObjectInstanceClassName());

+								stringBuffer.append(TEXT_30);

+							}

+							stringBuffer.append(TEXT_43);

+							stringBuffer.append(genBaseType.getName());

+							stringBuffer.append(TEXT_106);

+							stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());

+							stringBuffer.append(TEXT_140);

+						} else {

+							stringBuffer.append(TEXT_73);

+							if (!genDataType.isObjectType()) {

+								stringBuffer.append(TEXT_76);

+								stringBuffer.append(genDataType.getObjectInstanceClassName());

+								stringBuffer.append(TEXT_30);

+							}

+							stringBuffer

+									.append(genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());

+							stringBuffer.append(TEXT_92);

+							stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());

+							stringBuffer.append(TEXT_140);

+						}

+					} else if (genDataType.getItemType() != null) {

+						GenDataType genItemType = genDataType.getItemType();

+						if (genPackage.isDataTypeConverters()) {

+							stringBuffer.append(TEXT_89);

+							stringBuffer.append(genDataType.getName());

+							stringBuffer.append(TEXT_138);

+						} else {

+							stringBuffer.append(TEXT_141);

+							stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());

+							stringBuffer.append(TEXT_95);

+							stringBuffer.append(genModel.getImportedName("java.util.ArrayList"));

+							if (genModel.useGenerics()) {

+								stringBuffer.append(TEXT_96);

+								stringBuffer.append(

+										genItemType.getObjectType().getImportedParameterizedInstanceClassName());

+								stringBuffer.append(TEXT_97);

+							}

+							stringBuffer.append(TEXT_44);

+							if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {

+								stringBuffer.append(TEXT_98);

+								stringBuffer.append(genModel.getImportedName("java.util.StringTokenizer"));

+								stringBuffer.append(TEXT_99);

+								stringBuffer.append(genModel.getImportedName("java.util.StringTokenizer"));

+								stringBuffer.append(TEXT_142);

+							} else {

+								stringBuffer.append(TEXT_143);

+							}

+							stringBuffer.append(TEXT_102);

+							if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {

+								stringBuffer.append(TEXT_103);

+							}

+							if (genItemType.getGenPackage() == genPackage) {

+								stringBuffer.append(TEXT_104);

+								stringBuffer.append(genItemType.getName());

+								stringBuffer.append(TEXT_106);

+								stringBuffer.append(genItemType.getQualifiedClassifierAccessor());

+								stringBuffer.append(TEXT_107);

+							} else {

+								stringBuffer.append(TEXT_108);

+								if (!genItemType.isObjectType()) {

+									stringBuffer.append(TEXT_76);

+									stringBuffer.append(genItemType.getObjectInstanceClassName());

+									stringBuffer.append(TEXT_30);

+								}

+								stringBuffer.append(

+										genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());

+								stringBuffer.append(TEXT_92);

+								stringBuffer.append(genItemType.getQualifiedClassifierAccessor());

+								stringBuffer.append(TEXT_107);

+							}

+							stringBuffer.append(TEXT_109);

+						}

+					} else if (!genDataType.getMemberTypes().isEmpty()) {

+						if (genPackage.isDataTypeConverters()) {

+							if (genDataType.isPrimitiveType() && !isJDK50) {

+								stringBuffer.append(TEXT_86);

+								stringBuffer.append(genDataType.getObjectInstanceClassName());

+								stringBuffer.append(TEXT_87);

+								stringBuffer.append(genDataType.getName());

+								stringBuffer.append(TEXT_144);

+							} else {

+								stringBuffer.append(TEXT_89);

+								stringBuffer.append(genDataType.getName());

+								stringBuffer.append(TEXT_138);

+							}

+						} else {

+							stringBuffer.append(TEXT_141);

+							stringBuffer.append(genDataType.getObjectInstanceClassName());

+							stringBuffer.append(TEXT_145);

+							for (GenDataType genMemberType : genDataType.getMemberTypes()) {

+								stringBuffer.append(TEXT_113);

+								if (genMemberType.getGenPackage() == genPackage) {

+									stringBuffer.append(TEXT_117);

+									if (!genDataType.isObjectType() && !genDataType.getObjectInstanceClassName()

+											.equals(genMemberType.getObjectInstanceClassName())) {

+										stringBuffer.append(TEXT_76);

+										stringBuffer.append(genDataType.getObjectInstanceClassName());

+										stringBuffer.append(TEXT_30);

+									}

+									stringBuffer.append(TEXT_43);

+									stringBuffer.append(genMemberType.getName());

+									stringBuffer.append(TEXT_106);

+									stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

+									stringBuffer.append(TEXT_140);

+								} else {

+									stringBuffer.append(TEXT_117);

+									if (!genDataType.isObjectType()) {

+										stringBuffer.append(TEXT_76);

+										stringBuffer.append(genDataType.getObjectInstanceClassName());

+										stringBuffer.append(TEXT_30);

+									}

+									stringBuffer.append(genMemberType.getGenPackage()

+											.getQualifiedEFactoryInternalInstanceAccessor());

+									stringBuffer.append(TEXT_92);

+									stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

+									stringBuffer.append(TEXT_140);

+								}

+								stringBuffer.append(TEXT_146);

+								stringBuffer

+										.append(genModel.getImportedName("org.eclipse.emf.ecore.util.Diagnostician"));

+								stringBuffer.append(TEXT_147);

+							}

+							stringBuffer.append(TEXT_148);

+						}

+					} else if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {

+						stringBuffer.append(TEXT_89);

+						stringBuffer.append(genDataType.getName());

+						stringBuffer.append(TEXT_138);

+					} else if (!genDataType.hasConversionDelegate() && genModel.useGenerics()

+							&& (genDataType.isArrayType()

+									|| !genDataType.getEcoreDataType().getETypeParameters().isEmpty()

+									|| genDataType.getEcoreDataType().getInstanceTypeName().contains("<"))) {

+						stringBuffer.append(TEXT_73);

+						if (!genDataType.isObjectType()) {

+							stringBuffer.append(TEXT_76);

+							stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());

+							stringBuffer.append(TEXT_30);

+						}

+						stringBuffer.append(TEXT_149);

+					} else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {

+						stringBuffer.append(TEXT_131);

+						stringBuffer.append(genModel.getImportedName("java.lang.UnsupportedOperationException"));

+						stringBuffer.append(TEXT_44);

+					} else {

+						stringBuffer.append(TEXT_73);

+						if (!genDataType.isObjectType()) {

+							stringBuffer.append(TEXT_76);

+							stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());

+							stringBuffer.append(TEXT_30);

+						}

+						stringBuffer.append(TEXT_150);

+					}

+					stringBuffer.append(TEXT_136);

+					if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {

+						String eDataType = genDataType.getQualifiedClassifierAccessor();

+						stringBuffer.append(TEXT_58);

+						if (genDataType.hasAPITags()) {

+							stringBuffer.append(TEXT_59);

+							stringBuffer.append(genDataType.getAPITags(genModel.getIndentation(stringBuffer)));

+						}

+						stringBuffer.append(TEXT_60);

+						if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {

+							stringBuffer.append(TEXT_61);

+						}

+						if (genPackage.isDataTypeConverters() && useInterfaceOverrideAnnotation) {

+							stringBuffer.append(TEXT_38);

+						}

+						stringBuffer.append(TEXT_151);

+						stringBuffer.append(genDataType.getName());

+						stringBuffer.append(TEXT_76);

+						if (genDataType.hasCreatorBody()) {

+							stringBuffer.append(TEXT_77);

+						}

+						stringBuffer.append(genDataType.getImportedBoundedWildcardInstanceClassName());

+						stringBuffer.append(TEXT_66);

+						if (genDataType.hasConverterBody()) {

+							stringBuffer.append(TEXT_79);

+						} else {

+							stringBuffer.append(TEXT_152);

+						}

+						stringBuffer.append(TEXT_81);

+						if (genDataType.hasConverterBody()) {

+							stringBuffer.append(TEXT_65);

+							stringBuffer.append(genDataType.getConverterBody(genModel.getIndentation(stringBuffer)));

+						} else if (genDataType instanceof GenEnum) {

+							stringBuffer.append(TEXT_153);

+						} else if (genDataType.getBaseType() != null) {

+							GenDataType genBaseType = genDataType.getBaseType();

+							boolean isPrimitiveConversion = !genDataType.isPrimitiveType()

+									&& genBaseType.isPrimitiveType();

+							if (genBaseType.getGenPackage() == genPackage) {

+								if (isPrimitiveConversion) {

+									stringBuffer.append(TEXT_154);

+									stringBuffer.append(genBaseType.getName());

+									stringBuffer.append(TEXT_155);

+									if (!isJDK50) {

+										stringBuffer.append(TEXT_41);

+										stringBuffer.append(genBaseType.getPrimitiveValueFunction());

+										stringBuffer.append(TEXT_71);

+									}

+									stringBuffer.append(TEXT_69);

+								} else {

+									stringBuffer.append(TEXT_156);

+									stringBuffer.append(genBaseType.getName());

+									stringBuffer.append(TEXT_157);

+								}

+							} else if (genBaseType.getGenPackage().isDataTypeConverters()) {

+								stringBuffer.append(TEXT_73);

+								stringBuffer.append(genBaseType.getGenPackage().getQualifiedFactoryInstanceAccessor());

+								stringBuffer.append(TEXT_158);

+								stringBuffer.append(genBaseType.getName());

+								stringBuffer.append(TEXT_157);

+							} else {

+								stringBuffer.append(TEXT_73);

+								stringBuffer.append(

+										genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());

+								stringBuffer.append(TEXT_159);

+								stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());

+								stringBuffer.append(TEXT_160);

+							}

+						} else if (genDataType.getItemType() != null) {

+							GenDataType genItemType = genDataType.getItemType();

+							stringBuffer.append(TEXT_161);

+							stringBuffer.append(genModel.getImportedName(

+									genModel.useGenerics() ? "java.lang.StringBuilder" : "java.lang.StringBuffer"));

+							stringBuffer.append(TEXT_95);

+							stringBuffer.append(genModel.getImportedName(

+									genModel.useGenerics() ? "java.lang.StringBuilder" : "java.lang.StringBuffer"));

+							stringBuffer.append(TEXT_44);

+							String item;

+							if (!genModel.useGenerics()) {

+								item = "i.next()";

+								stringBuffer.append(TEXT_98);

+								stringBuffer.append(genModel.getImportedName("java.util.Iterator"));

+								stringBuffer.append(TEXT_162);

+							} else {

+								item = "item";

+								stringBuffer.append(TEXT_98);

+								stringBuffer.append(genModel.getImportedName("java.lang.Object"));

+								stringBuffer.append(TEXT_163);

+							}

+							stringBuffer.append(TEXT_102);

+							if (genItemType.getGenPackage() == genPackage) {

+								if (genPackage.isDataTypeConverters()) {

+									genItemType = genItemType.getObjectType();

+									stringBuffer.append(TEXT_164);

+									stringBuffer.append(genItemType.getName());

+									stringBuffer.append(TEXT_165);

+									stringBuffer.append(genItemType.getObjectInstanceClassName());

+									stringBuffer.append(TEXT_30);

+									stringBuffer.append(item);

+									stringBuffer.append(TEXT_166);

+								} else {

+									stringBuffer.append(TEXT_164);

+									stringBuffer.append(genItemType.getName());

+									stringBuffer.append(TEXT_167);

+									stringBuffer.append(genItemType.getQualifiedClassifierAccessor());

+									stringBuffer.append(TEXT_121);

+									stringBuffer.append(item);

+									stringBuffer.append(TEXT_166);

+								}

+							} else {

+								if (genItemType.getGenPackage().isDataTypeConverters()) {

+									genItemType = genItemType.getObjectType();

+									stringBuffer.append(TEXT_168);

+									stringBuffer.append(

+											genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());

+									stringBuffer.append(TEXT_158);

+									stringBuffer.append(genItemType.getName());

+									stringBuffer.append(TEXT_165);

+									stringBuffer.append(genItemType.getObjectInstanceClassName());

+									stringBuffer.append(TEXT_30);

+									stringBuffer.append(item);

+									stringBuffer.append(TEXT_166);

+								} else {

+									stringBuffer.append(TEXT_168);

+									stringBuffer.append(

+											genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());

+									stringBuffer.append(TEXT_159);

+									stringBuffer.append(genItemType.getQualifiedClassifierAccessor());

+									stringBuffer.append(TEXT_121);

+									stringBuffer.append(item);

+									stringBuffer.append(TEXT_166);

+								}

+							}

+							stringBuffer.append(TEXT_169);

+						} else if (!genDataType.getMemberTypes().isEmpty()) {

+							if (!genDataType.isPrimitiveType()) {

+								stringBuffer.append(TEXT_170);

+								for (GenDataType genMemberType : genDataType.getMemberTypes()) {

+									stringBuffer.append(TEXT_126);

+									stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

+									stringBuffer.append(TEXT_171);

+									if (genMemberType.getGenPackage() == genPackage) {

+										if (genPackage.isDataTypeConverters()) {

+											if (genMemberType.getQualifiedInstanceClassName()

+													.equals(genDataType.getQualifiedInstanceClassName())) {

+												stringBuffer.append(TEXT_172);

+												stringBuffer.append(genMemberType.getName());

+												stringBuffer.append(TEXT_157);

+											} else if (genMemberType.isPrimitiveType() && !isJDK50) {

+												stringBuffer.append(TEXT_172);

+												stringBuffer.append(genMemberType.getName());

+												stringBuffer.append(TEXT_173);

+												stringBuffer.append(

+														genMemberType.getObjectType().getImportedInstanceClassName());

+												stringBuffer.append(TEXT_174);

+												stringBuffer.append(genMemberType.getPrimitiveValueFunction());

+												stringBuffer.append(TEXT_175);

+											} else {

+												stringBuffer.append(TEXT_172);

+												stringBuffer.append(genMemberType.getName());

+												stringBuffer.append(TEXT_165);

+												stringBuffer.append(genMemberType.getObjectType()

+														.getImportedBoundedWildcardInstanceClassName());

+												stringBuffer.append(TEXT_176);

+											}

+										} else {

+											stringBuffer.append(TEXT_172);

+											stringBuffer.append(genMemberType.getName());

+											stringBuffer.append(TEXT_167);

+											stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

+											stringBuffer.append(TEXT_160);

+										}

+									} else {

+										if (genMemberType.getGenPackage().isDataTypeConverters()) {

+											genMemberType = genMemberType.getObjectType();

+											stringBuffer.append(TEXT_177);

+											stringBuffer.append(genMemberType.getGenPackage()

+													.getQualifiedEFactoryInternalInstanceAccessor());

+											stringBuffer.append(TEXT_158);

+											stringBuffer.append(genMemberType.getName());

+											stringBuffer.append(TEXT_165);

+											stringBuffer.append(genMemberType.getObjectInstanceClassName());

+											stringBuffer.append(TEXT_176);

+										} else {

+											stringBuffer.append(TEXT_177);

+											stringBuffer.append(genMemberType.getGenPackage()

+													.getQualifiedEFactoryInternalInstanceAccessor());

+											stringBuffer.append(TEXT_159);

+											stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

+											stringBuffer.append(TEXT_160);

+										}

+									}

+									stringBuffer.append(TEXT_178);

+								}

+							} else {

+								for (GenDataType genMemberType : genDataType.getMemberTypes()) {

+									stringBuffer.append(TEXT_113);

+									if (genMemberType.getGenPackage() == genPackage) {

+										if (genPackage.isDataTypeConverters()) {

+											stringBuffer.append(TEXT_179);

+											stringBuffer.append(genMemberType.getName());

+											stringBuffer.append(TEXT_157);

+										} else {

+											stringBuffer.append(TEXT_179);

+											stringBuffer.append(genMemberType.getName());

+											stringBuffer.append(TEXT_167);

+											stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

+											stringBuffer.append(TEXT_121);

+											if (!isJDK50) {

+												stringBuffer.append(TEXT_122);

+												stringBuffer.append(genMemberType.getObjectInstanceClassName());

+												stringBuffer.append(TEXT_180);

+											} else {

+												stringBuffer.append(TEXT_152);

+											}

+											stringBuffer.append(TEXT_69);

+										}

+									} else {

+										if (genMemberType.getGenPackage().isDataTypeConverters()) {

+											stringBuffer.append(TEXT_181);

+											stringBuffer.append(genMemberType.getGenPackage()

+													.getQualifiedEFactoryInternalInstanceAccessor());

+											stringBuffer.append(TEXT_158);

+											stringBuffer.append(genMemberType.getName());

+											stringBuffer.append(TEXT_157);

+										} else {

+											stringBuffer.append(TEXT_181);

+											stringBuffer.append(genMemberType.getGenPackage()

+													.getQualifiedEFactoryInternalInstanceAccessor());

+											stringBuffer.append(TEXT_159);

+											stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

+											stringBuffer.append(TEXT_121);

+											if (!isJDK50) {

+												stringBuffer.append(TEXT_122);

+												stringBuffer.append(genMemberType.getObjectInstanceClassName());

+												stringBuffer.append(TEXT_180);

+											} else {

+												stringBuffer.append(TEXT_152);

+											}

+											stringBuffer.append(TEXT_69);

+										}

+									}

+									stringBuffer.append(TEXT_182);

+								}

+							}

+							stringBuffer.append(TEXT_183);

+							stringBuffer.append(eDataType);

+							stringBuffer.append(TEXT_184);

+						} else if (!genDataType.hasConversionDelegate() && genModel.useGenerics()

+								&& (genDataType.isArrayType()

+										|| !genDataType.getEcoreDataType().getETypeParameters().isEmpty()

+										|| genDataType.getEcoreDataType().getInstanceTypeName().contains("<"))) {

+							stringBuffer.append(TEXT_185);

+						} else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {

+							stringBuffer.append(TEXT_131);

+							stringBuffer.append(genModel.getImportedName("java.lang.UnsupportedOperationException"));

+							stringBuffer.append(TEXT_44);

+						} else if (genDataType.isPrimitiveType() && !isJDK50) {

+							stringBuffer.append(TEXT_186);

+							stringBuffer.append(eDataType);

+							stringBuffer.append(TEXT_187);

+							stringBuffer.append(genDataType.getObjectInstanceClassName());

+							stringBuffer.append(TEXT_188);

+						} else {

+							stringBuffer.append(TEXT_186);

+							stringBuffer.append(eDataType);

+							stringBuffer.append(TEXT_160);

+						}

+						stringBuffer.append(TEXT_136);

+					}

+					stringBuffer.append(TEXT_58);

+					if (genDataType.hasAPITags()) {

+						stringBuffer.append(TEXT_59);

+						stringBuffer.append(genDataType.getAPITags(genModel.getIndentation(stringBuffer)));

+					}

+					stringBuffer.append(TEXT_60);

+					if (genModel.useGenerics() && (genDataType.getItemType() != null || genDataType.isUncheckedCast())

+							&& (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody())) {

+						stringBuffer.append(TEXT_75);

+					}

+					if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {

+						stringBuffer.append(TEXT_61);

+					}

+					stringBuffer.append(TEXT_151);

+					stringBuffer.append(genDataType.getName());

+					stringBuffer.append(TEXT_167);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EDataType"));

+					stringBuffer.append(TEXT_189);

+					if (genDataType instanceof GenEnum) {

+						if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {

+							stringBuffer.append(TEXT_156);

+							stringBuffer.append(genDataType.getName());

+							stringBuffer.append(TEXT_165);

+							stringBuffer.append(genDataType.getImportedInstanceClassName());

+							stringBuffer.append(TEXT_176);

+						} else {

+							stringBuffer.append(TEXT_153);

+						}

+					} else if (genDataType.getBaseType() != null) {

+						GenDataType genBaseType = genDataType.getBaseType();

+						if (genBaseType.getGenPackage() == genPackage) {

+							stringBuffer.append(TEXT_156);

+							stringBuffer.append(genBaseType.getName());

+							stringBuffer.append(TEXT_167);

+							stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());

+							stringBuffer.append(TEXT_160);

+						} else {

+							stringBuffer.append(TEXT_73);

+							stringBuffer

+									.append(genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());

+							stringBuffer.append(TEXT_159);

+							stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());

+							stringBuffer.append(TEXT_160);

+						}

+					} else if (genDataType.getItemType() != null) {

+						GenDataType genItemType = genDataType.getItemType();

+						if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {

+							stringBuffer.append(TEXT_156);

+							stringBuffer.append(genDataType.getName());

+							stringBuffer.append(TEXT_165);

+							stringBuffer.append(genDataType.getImportedBoundedWildcardInstanceClassName());

+							stringBuffer.append(TEXT_176);

+						} else {

+							final String singleWildcard = genModel.useGenerics() ? "<?>" : "";

+							stringBuffer.append(TEXT_190);

+							stringBuffer.append(genModel.getImportedName("java.util.List"));

+							stringBuffer.append(singleWildcard);

+							stringBuffer.append(TEXT_191);

+							stringBuffer.append(genModel.getImportedName("java.util.List"));

+							stringBuffer.append(singleWildcard);

+							stringBuffer.append(TEXT_192);

+							stringBuffer.append(genModel.getImportedName("java.lang.StringBuffer"));

+							stringBuffer.append(TEXT_95);

+							stringBuffer.append(genModel.getImportedName("java.lang.StringBuffer"));

+							stringBuffer.append(TEXT_44);

+							String item;

+							if (!genModel.useGenerics()) {

+								item = "i.next()";

+								stringBuffer.append(TEXT_98);

+								stringBuffer.append(genModel.getImportedName("java.util.Iterator"));

+								stringBuffer.append(TEXT_193);

+							} else {

+								item = "item";

+								stringBuffer.append(TEXT_98);

+								stringBuffer.append(genModel.getImportedName("java.lang.Object"));

+								stringBuffer.append(TEXT_194);

+							}

+							stringBuffer.append(TEXT_102);

+							if (genItemType.getGenPackage() == genPackage) {

+								stringBuffer.append(TEXT_164);

+								stringBuffer.append(genItemType.getName());

+								stringBuffer.append(TEXT_167);

+								stringBuffer.append(genItemType.getQualifiedClassifierAccessor());

+								stringBuffer.append(TEXT_121);

+								stringBuffer.append(item);

+								stringBuffer.append(TEXT_166);

+							} else {

+								stringBuffer.append(TEXT_168);

+								stringBuffer.append(

+										genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());

+								stringBuffer.append(TEXT_159);

+								stringBuffer.append(genItemType.getQualifiedClassifierAccessor());

+								stringBuffer.append(TEXT_121);

+								stringBuffer.append(item);

+								stringBuffer.append(TEXT_166);

+							}

+							stringBuffer.append(TEXT_169);

+						}

+					} else if (!genDataType.getMemberTypes().isEmpty()) {

+						if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {

+							if (genDataType.isPrimitiveType()) {

+								stringBuffer.append(TEXT_154);

+								stringBuffer.append(genDataType.getName());

+								stringBuffer.append(TEXT_173);

+								stringBuffer.append(genDataType.getObjectInstanceClassName());

+								stringBuffer.append(TEXT_195);

+								if (!isJDK50) {

+									stringBuffer.append(TEXT_41);

+									stringBuffer.append(genDataType.getPrimitiveValueFunction());

+									stringBuffer.append(TEXT_71);

+								}

+								stringBuffer.append(TEXT_69);

+							} else {

+								stringBuffer.append(TEXT_156);

+								stringBuffer.append(genDataType.getName());

+								stringBuffer.append(TEXT_157);

+							}

+						} else {

+							stringBuffer.append(TEXT_170);

+							for (GenDataType genMemberType : genDataType.getMemberTypes()) {

+								stringBuffer.append(TEXT_126);

+								stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

+								stringBuffer.append(TEXT_171);

+								if (genMemberType.getGenPackage() == genPackage) {

+									stringBuffer.append(TEXT_172);

+									stringBuffer.append(genMemberType.getName());

+									stringBuffer.append(TEXT_167);

+									stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

+									stringBuffer.append(TEXT_160);

+								} else {

+									stringBuffer.append(TEXT_177);

+									stringBuffer.append(genMemberType.getGenPackage()

+											.getQualifiedEFactoryInternalInstanceAccessor());

+									stringBuffer.append(TEXT_159);

+									stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

+									stringBuffer.append(TEXT_160);

+								}

+								stringBuffer.append(TEXT_178);

+							}

+							stringBuffer.append(TEXT_196);

+						}

+					} else if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {

+						if (genDataType.isPrimitiveType()) {

+							stringBuffer.append(TEXT_154);

+							stringBuffer.append(genDataType.getName());

+							stringBuffer.append(TEXT_76);

+							if (!isJDK50) {

+								stringBuffer.append(TEXT_76);

+							}

+							stringBuffer.append(TEXT_76);

+							stringBuffer.append(genDataType.getObjectInstanceClassName());

+							stringBuffer.append(TEXT_197);

+							if (!isJDK50) {

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genDataType.getPrimitiveValueFunction());

+								stringBuffer.append(TEXT_71);

+							}

+							stringBuffer.append(TEXT_69);

+						} else {

+							stringBuffer.append(TEXT_156);

+							stringBuffer.append(genDataType.getName());

+							stringBuffer.append(TEXT_165);

+							stringBuffer.append(genDataType.getImportedBoundedWildcardInstanceClassName());

+							stringBuffer.append(TEXT_176);

+						}

+					} else if (!genDataType.hasConversionDelegate() && genModel.useGenerics()

+							&& (genDataType.isArrayType()

+									|| !genDataType.getEcoreDataType().getETypeParameters().isEmpty()

+									|| genDataType.getEcoreDataType().getInstanceTypeName().contains("<"))) {

+						stringBuffer.append(TEXT_185);

+					} else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {

+						stringBuffer.append(TEXT_131);

+						stringBuffer.append(genModel.getImportedName("java.lang.UnsupportedOperationException"));

+						stringBuffer.append(TEXT_44);

+					} else {

+						stringBuffer.append(TEXT_199);

+					}

+					stringBuffer.append(TEXT_136);

+				}

+			}

+		} else {

+			for (GenClass genClass : genPackage.getGenClasses()) {

+				if (genClass.hasFactoryInterfaceCreateMethod()) {

+					stringBuffer.append(TEXT_200);

+					stringBuffer.append(genClass.getFormattedName());

+					stringBuffer.append(TEXT_201);

+					stringBuffer.append(genClass.getFormattedName());

+					stringBuffer.append(TEXT_202);

+					if (genClass.hasAPITags()) {

+						stringBuffer.append(TEXT_59);

+						stringBuffer.append(genClass.getAPITags(genModel.getIndentation(stringBuffer)));

+					}

+					stringBuffer.append(TEXT_60);

+					if (isJDK50 && genClass.hasAPIDeprecatedTag()) {

+						stringBuffer.append(TEXT_61);

+					}

+					stringBuffer.append(TEXT_203);

+					stringBuffer.append(genClass.getTypeParameters());

+					stringBuffer.append(genClass.getImportedInterfaceName());

+					stringBuffer.append(genClass.getInterfaceTypeArguments());

+					stringBuffer.append(TEXT_63);

+					stringBuffer.append(genClass.getName());

+					stringBuffer.append(TEXT_204);

+				}

+			}

+			if (genPackage.isDataTypeConverters()) {

+				for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {

+					if (genDataType.isSerializable()) {

+						stringBuffer.append(TEXT_205);

+						stringBuffer.append(genDataType.getFormattedName());

+						stringBuffer.append(TEXT_206);

+						if (genDataType.hasAPITags()) {

+							stringBuffer.append(TEXT_59);

+							stringBuffer.append(genDataType.getAPITags(genModel.getIndentation(stringBuffer)));

+						}

+						stringBuffer.append(TEXT_60);

+						if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {

+							stringBuffer.append(TEXT_61);

+						}

+						stringBuffer.append(TEXT_203);

+						stringBuffer.append(genDataType.getImportedParameterizedInstanceClassName());

+						stringBuffer.append(TEXT_63);

+						stringBuffer.append(genDataType.getName());

+						stringBuffer.append(TEXT_207);

+						stringBuffer.append(genDataType.getFormattedName());

+						stringBuffer.append(TEXT_208);

+						if (genDataType.hasAPITags()) {

+							stringBuffer.append(TEXT_59);

+							stringBuffer.append(genDataType.getAPITags(genModel.getIndentation(stringBuffer)));

+						}

+						stringBuffer.append(TEXT_60);

+						if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {

+							stringBuffer.append(TEXT_61);

+						}

+						stringBuffer.append(TEXT_209);

+						stringBuffer.append(genDataType.getName());

+						stringBuffer.append(TEXT_76);

+						stringBuffer.append(genDataType.getImportedBoundedWildcardInstanceClassName());

+						stringBuffer.append(TEXT_210);

+					}

+				}

+			}

+		}

+		if (!isImplementation && !genModel.isSuppressEMFMetaData()) {

+			stringBuffer.append(TEXT_211);

+			stringBuffer.append(genPackage.getPackageInterfaceName());

+			stringBuffer.append(TEXT_212);

+			stringBuffer.append(genPackage.getBasicPackageName());

+			stringBuffer.append(TEXT_204);

+		} else if (isImplementation) {

+			stringBuffer.append(TEXT_47);

+			if (useInterfaceOverrideAnnotation && !genModel.isSuppressEMFMetaData()) {

+				stringBuffer.append(TEXT_38);

+			}

+			stringBuffer.append(TEXT_62);

+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+			stringBuffer.append(TEXT_212);

+			stringBuffer.append(genPackage.getBasicPackageName());

+			stringBuffer.append(TEXT_213);

+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+			stringBuffer.append(TEXT_214);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_61);

+			}

+			stringBuffer.append(TEXT_26);

+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+			stringBuffer.append(TEXT_215);

+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+			stringBuffer.append(TEXT_216);

+		}

+		stringBuffer.append(TEXT_217);

+		stringBuffer.append(isInterface ? genPackage.getFactoryInterfaceName() : genPackage.getFactoryClassName());

+		genModel.emitSortedImports();

+		stringBuffer.append(TEXT_4);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/FactoryInterface.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/FactoryInterface.java
new file mode 100644
index 0000000..1b2abd8
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/FactoryInterface.java
@@ -0,0 +1,1695 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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;

+	protected final String TEXT_5 = 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_6 = NL + " * @see ";

+	protected final String TEXT_7 = NL + " * ";

+	protected final String TEXT_8 = NL + " * @generated" + NL + " */";

+	protected final String TEXT_9 = NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL

+			+ " * An implementation of the model <b>Factory</b>." + NL + " * <!-- end-user-doc -->";

+	protected final String TEXT_10 = NL + "@Deprecated";

+	protected final String TEXT_11 = NL + "@SuppressWarnings(\"deprecation\")";

+	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 = NL + "{";

+	protected final String TEXT_17 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t";

+	protected final String TEXT_18 = " copyright = ";

+	protected final String TEXT_19 = 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_20 = " eINSTANCE = init();" + NL;

+	protected final String TEXT_21 = " INSTANCE = ";

+	protected final String TEXT_22 = ".eINSTANCE;" + NL;

+	protected final String TEXT_23 = " eINSTANCE = ";

+	protected final String TEXT_24 = ".init();" + NL;

+	protected final String TEXT_25 = 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_26 = NL + "\tpublic static ";

+	protected final String TEXT_27 = " init()" + NL + "\t{" + NL + "\t\ttry" + NL + "\t\t{" + NL + "\t\t\t";

+	protected final String TEXT_28 = " the";

+	protected final String TEXT_29 = " = (";

+	protected final String TEXT_30 = ")";

+	protected final String TEXT_31 = ".Registry.INSTANCE.getEFactory(";

+	protected final String TEXT_32 = ".eNS_URI);" + NL + "\t\t\tif (the";

+	protected final String TEXT_33 = " != null)" + NL + "\t\t\t{" + NL + "\t\t\t\treturn the";

+	protected final String TEXT_34 = ";" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\tcatch (Exception exception)" + NL

+			+ "\t\t{" + NL + "\t\t\t";

+	protected final String TEXT_35 = ".INSTANCE.log(exception);" + NL + "\t\t}" + NL + "\t\treturn new ";

+	protected final String TEXT_36 = "();" + 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_37 = "()" + 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_38 = NL + "\t@Override";

+	protected final String TEXT_39 = NL + "\tpublic EObject create(EClass eClass)" + NL + "\t{" + NL

+			+ "\t\tswitch (eClass.getClassifierID())" + NL + "\t\t{";

+	protected final String TEXT_40 = NL + "\t\t\tcase ";

+	protected final String TEXT_41 = ".";

+	protected final String TEXT_42 = ": return ";

+	protected final String TEXT_43 = "create";

+	protected final String TEXT_44 = "();";

+	protected final String TEXT_45 = NL + "\t\t\tdefault:" + NL

+			+ "\t\t\t\tthrow new IllegalArgumentException(\"The class '\" + eClass.getName() + \"' is not a valid classifier\");";

+	protected final String TEXT_46 = NL + "\t\t}" + NL + "\t}" + NL;

+	protected final String TEXT_47 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

+	protected final String TEXT_48 = NL + "\tpublic Object createFromString(";

+	protected final String TEXT_49 = " eDataType, String initialValue)" + NL + "\t{" + NL

+			+ "\t\tswitch (eDataType.getClassifierID())" + NL + "\t\t{";

+	protected final String TEXT_50 = ":" + NL + "\t\t\t\treturn create";

+	protected final String TEXT_51 = "FromString(eDataType, initialValue);";

+	protected final String TEXT_52 = NL + "\t\t\tdefault:" + NL

+			+ "\t\t\t\tthrow new IllegalArgumentException(\"The datatype '\" + eDataType.getName() + \"' is not a valid classifier\");";

+	protected final String TEXT_53 = 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_54 = NL + "\tpublic String convertToString(";

+	protected final String TEXT_55 = " eDataType, Object instanceValue)" + NL + "\t{" + NL

+			+ "\t\tswitch (eDataType.getClassifierID())" + NL + "\t\t{";

+	protected final String TEXT_56 = ":" + NL + "\t\t\t\treturn convert";

+	protected final String TEXT_57 = "ToString(eDataType, instanceValue);";

+	protected final String TEXT_58 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->";

+	protected final String TEXT_59 = NL + "\t * ";

+	protected final String TEXT_60 = NL + "\t * @generated" + NL + "\t */";

+	protected final String TEXT_61 = NL + "\t@Deprecated";

+	protected final String TEXT_62 = NL + "\tpublic ";

+	protected final String TEXT_63 = " create";

+	protected final String TEXT_64 = "()" + NL + "\t{";

+	protected final String TEXT_65 = NL + "\t\t";

+	protected final String TEXT_66 = " ";

+	protected final String TEXT_67 = " = ";

+	protected final String TEXT_68 = "super.create(";

+	protected final String TEXT_69 = ");";

+	protected final String TEXT_70 = " = new ";

+	protected final String TEXT_71 = "()";

+	protected final String TEXT_72 = "{}";

+	protected final String TEXT_73 = NL + "\t\treturn ";

+	protected final String TEXT_74 = ";" + NL + "\t}" + NL;

+	protected final String TEXT_75 = NL + "\t@SuppressWarnings(\"unchecked\")";

+	protected final String TEXT_76 = "(";

+	protected final String TEXT_77 = "final ";

+	protected final String TEXT_78 = "String ";

+	protected final String TEXT_79 = "it";

+	protected final String TEXT_80 = "literal";

+	protected final String TEXT_81 = ")" + NL + "\t{";

+	protected final String TEXT_82 = " result = ";

+	protected final String TEXT_83 = ".get(literal);" + NL

+			+ "\t\tif (result == null) throw new IllegalArgumentException(\"The value '\" + literal + \"' is not a valid enumerator of '\" + ";

+	protected final String TEXT_84 = ".getName() + \"'\");";

+	protected final String TEXT_85 = NL + "\t\treturn result;";

+	protected final String TEXT_86 = NL + "\t\treturn new ";

+	protected final String TEXT_87 = "(create";

+	protected final String TEXT_88 = "(literal));";

+	protected final String TEXT_89 = NL + "\t\treturn create";

+	protected final String TEXT_90 = "(literal);";

+	protected final String TEXT_91 = ".create";

+	protected final String TEXT_92 = ".createFromString(";

+	protected final String TEXT_93 = ", literal);";

+	protected final String TEXT_94 = NL + "\t\tif (literal == null) return null;" + NL + "\t\t";

+	protected final String TEXT_95 = " result = new ";

+	protected final String TEXT_96 = "<";

+	protected final String TEXT_97 = ">";

+	protected final String TEXT_98 = NL + "\t\tfor (";

+	protected final String TEXT_99 = " stringTokenizer = new ";

+	protected final String TEXT_100 = "(literal); stringTokenizer.hasMoreTokens(); )";

+	protected final String TEXT_101 = NL + "\t\tfor (String item : split(literal))";

+	protected final String TEXT_102 = NL + "\t\t{";

+	protected final String TEXT_103 = NL + "\t\t\tString item = stringTokenizer.nextToken();";

+	protected final String TEXT_104 = NL + "\t\t\tresult.add(create";

+	protected final String TEXT_105 = "(item));";

+	protected final String TEXT_106 = "FromString(";

+	protected final String TEXT_107 = ", item));";

+	protected final String TEXT_108 = NL + "\t\t\tresult.add(";

+	protected final String TEXT_109 = NL + "\t\t}" + NL + "\t\treturn result;";

+	protected final String TEXT_110 = NL + "\t\tif (literal == null) return ";

+	protected final String TEXT_111 = ";" + NL + "\t\t";

+	protected final String TEXT_112 = ";" + NL + "\t\tRuntimeException exception = null;";

+	protected final String TEXT_113 = NL + "\t\ttry" + NL + "\t\t{";

+	protected final String TEXT_114 = NL + "\t\t\tresult = create";

+	protected final String TEXT_115 = NL + "\t\t\tresult = (";

+	protected final String TEXT_116 = ")create";

+	protected final String TEXT_117 = NL + "\t\t\tresult = ";

+	protected final String TEXT_118 = NL + "\t\t\tif (";

+	protected final String TEXT_119 = "result != null && ";

+	protected final String TEXT_120 = ".INSTANCE.validate(";

+	protected final String TEXT_121 = ", ";

+	protected final String TEXT_122 = "new ";

+	protected final String TEXT_123 = "(result)";

+	protected final String TEXT_124 = "result";

+	protected final String TEXT_125 = ", 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_126 = NL + "\t\tif (";

+	protected final String TEXT_127 = "result != null || ";

+	protected final String TEXT_128 = "exception == null) return result;" + NL + "    " + NL + "\t\tthrow exception;";

+	protected final String TEXT_129 = NL + "\t\treturn (";

+	protected final String TEXT_130 = ")super.createFromString(literal);";

+	protected final String TEXT_131 = 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_132 = NL + "\t\treturn ((";

+	protected final String TEXT_133 = ")super.createFromString(";

+	protected final String TEXT_134 = ", literal)).";

+	protected final String TEXT_135 = "super.createFromString(";

+	protected final String TEXT_136 = NL + "\t}" + NL;

+	protected final String TEXT_137 = " eDataType, String initialValue)" + NL + "\t{";

+	protected final String TEXT_138 = "(initialValue);";

+	protected final String TEXT_139 = ".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_140 = ", initialValue);";

+	protected final String TEXT_141 = NL + "\t\tif (initialValue == null) return null;" + NL + "\t\t";

+	protected final String TEXT_142 = "(initialValue); stringTokenizer.hasMoreTokens(); )";

+	protected final String TEXT_143 = NL + "\t\tfor (String item : split(initialValue))";

+	protected final String TEXT_144 = "(initialValue));";

+	protected final String TEXT_145 = " result = null;" + NL + "\t\tRuntimeException exception = null;";

+	protected final String TEXT_146 = NL + "\t\t\tif (result != null && ";

+	protected final String TEXT_147 = ".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_148 = NL + "\t\tif (result != null || exception == null) return result;" + NL + "    "

+			+ NL + "\t\tthrow exception;";

+	protected final String TEXT_149 = "super.createFromString(initialValue);";

+	protected final String TEXT_150 = "super.createFromString(eDataType, initialValue);";

+	protected final String TEXT_151 = NL + "\tpublic String convert";

+	protected final String TEXT_152 = "instanceValue";

+	protected final String TEXT_153 = NL + "\t\treturn instanceValue == null ? null : instanceValue.toString();";

+	protected final String TEXT_154 = NL + "\t\treturn instanceValue == null ? null : convert";

+	protected final String TEXT_155 = "(instanceValue";

+	protected final String TEXT_156 = NL + "\t\treturn convert";

+	protected final String TEXT_157 = "(instanceValue);";

+	protected final String TEXT_158 = ".convert";

+	protected final String TEXT_159 = ".convertToString(";

+	protected final String TEXT_160 = ", instanceValue);";

+	protected final String TEXT_161 = NL + "\t\tif (instanceValue == null) return null;" + NL

+			+ "\t\tif (instanceValue.isEmpty()) return \"\";" + NL + "\t\t";

+	protected final String TEXT_162 = " i = instanceValue.iterator(); i.hasNext(); )";

+	protected final String TEXT_163 = " item : instanceValue)";

+	protected final String TEXT_164 = NL + "\t\t\tresult.append(convert";

+	protected final String TEXT_165 = "((";

+	protected final String TEXT_166 = "));";

+	protected final String TEXT_167 = "ToString(";

+	protected final String TEXT_168 = NL + "\t\t\tresult.append(";

+	protected final String TEXT_169 = NL + "\t\t\tresult.append(' ');" + NL + "\t\t}" + NL

+			+ "\t\treturn result.substring(0, result.length() - 1);";

+	protected final String TEXT_170 = NL + "\t\tif (instanceValue == null) return null;";

+	protected final String TEXT_171 = ".isInstance(instanceValue))" + NL + "\t\t{" + NL + "\t\t\ttry" + NL + "\t\t\t{";

+	protected final String TEXT_172 = NL + "\t\t\t\tString value = convert";

+	protected final String TEXT_173 = "(((";

+	protected final String TEXT_174 = ")instanceValue).";

+	protected final String TEXT_175 = "());";

+	protected final String TEXT_176 = ")instanceValue);";

+	protected final String TEXT_177 = NL + "\t\t\t\tString value = ";

+	protected final String TEXT_178 = 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_179 = NL + "\t\t\tString value = convert";

+	protected final String TEXT_180 = "(instanceValue)";

+	protected final String TEXT_181 = NL + "\t\t\tString value = ";

+	protected final String TEXT_182 = 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_183 = NL

+			+ "\t\tthrow new IllegalArgumentException(\"Invalid value: '\"+instanceValue+\"' for datatype :\"+";

+	protected final String TEXT_184 = ".getName());";

+	protected final String TEXT_185 = NL + "\t\treturn super.convertToString(instanceValue);";

+	protected final String TEXT_186 = NL + "\t\treturn super.convertToString(";

+	protected final String TEXT_187 = ", new ";

+	protected final String TEXT_188 = "(instanceValue));";

+	protected final String TEXT_189 = " eDataType, Object instanceValue)" + NL + "\t{";

+	protected final String TEXT_190 = NL + "\t\tif (instanceValue == null) return null;" + NL + "\t\t";

+	protected final String TEXT_191 = " list = (";

+	protected final String TEXT_192 = ")instanceValue;" + NL + "\t\tif (list.isEmpty()) return \"\";" + NL + "\t\t";

+	protected final String TEXT_193 = " i = list.iterator(); i.hasNext(); )";

+	protected final String TEXT_194 = " item : list)";

+	protected final String TEXT_195 = ")instanceValue)";

+	protected final String TEXT_196 = NL

+			+ "\t\tthrow new IllegalArgumentException(\"Invalid value: '\"+instanceValue+\"' for datatype :\"+eDataType.getName());";

+	protected final String TEXT_197 = ")instanceValue";

+	protected final String TEXT_198 = ").";

+	protected final String TEXT_199 = NL + "\t\treturn super.convertToString(eDataType, instanceValue);";

+	protected final String TEXT_200 = NL + "\t/**" + NL + "\t * Returns a new object of class '<em>";

+	protected final String TEXT_201 = "</em>'." + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @return a new object of class '<em>";

+	protected final String TEXT_202 = "</em>'.";

+	protected final String TEXT_203 = NL + "\t";

+	protected final String TEXT_204 = "();" + NL;

+	protected final String TEXT_205 = NL + "\t/**" + NL + "\t * Returns an instance of data type '<em>";

+	protected final String TEXT_206 = "</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.";

+	protected final String TEXT_207 = "(String literal);" + NL + "" + NL + "\t/**" + NL

+			+ "\t * Returns a literal representation of an instance of data type '<em>";

+	protected final String TEXT_208 = "</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.";

+	protected final String TEXT_209 = NL + "\tString convert";

+	protected final String TEXT_210 = " instanceValue);" + NL;

+	protected final String TEXT_211 = 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_212 = " get";

+	protected final String TEXT_213 = "()" + NL + "\t{" + NL + "\t\treturn (";

+	protected final String TEXT_214 = ")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_215 = " getPackage()" + NL + "\t{" + NL + "\t\treturn ";

+	protected final String TEXT_216 = ".eINSTANCE;" + NL + "\t}" + NL;

+	protected final String TEXT_217 = NL + "} //";

+	protected final String TEXT_218 = 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_218);

+		stringBuffer.append(TEXT_218);

+		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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.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();

+		final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;

+		boolean isInterface = Boolean.TRUE.equals(((Object[]) argument)[1]);

+		boolean isImplementation = Boolean.TRUE.equals(((Object[]) argument)[2]);

+		boolean useInterfaceOverrideAnnotation = genModel.useInterfaceOverrideAnnotation()

+				&& !(isInterface && isImplementation);

+		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_2);

+			stringBuffer.append(genPackage.getClassPackageName());

+			stringBuffer.append(TEXT_3);

+		}

+		stringBuffer.append(TEXT_4);

+		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_4);

+		if (isInterface) {

+			stringBuffer.append(TEXT_5);

+			if (!genModel.isSuppressEMFMetaData()) {

+				stringBuffer.append(TEXT_6);

+				stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());

+			}

+			if (genPackage.hasAPITags()) {

+				stringBuffer.append(TEXT_7);

+				stringBuffer.append(genPackage.getAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_8);

+		} else {

+			stringBuffer.append(TEXT_9);

+			if (genPackage.hasAPITags()) {

+				stringBuffer.append(TEXT_7);

+				stringBuffer.append(genPackage.getAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_8);

+		}

+		if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_10);

+		}

+		if (isImplementation) {

+			if (isJDK50 && !genPackage.hasAPIDeprecatedTag()) {

+				List<GenClassifier> genClassifiers = new ArrayList<GenClassifier>(genPackage.getGenClassifiers());

+				for (Iterator<GenClassifier> i = genClassifiers.iterator(); i.hasNext();) {

+					GenClassifier genClassifier = i.next();

+					if (genClassifier instanceof GenClass && ((GenClass) genClassifier).isAbstract())

+						i.remove();

+				}

+				if (GenModelUtil.hasAPIDeprecatedTag(genClassifiers)) {

+					stringBuffer.append(TEXT_11);

+				}

+			}

+			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_13);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EFactory"));

+			}

+		}

+		stringBuffer.append(TEXT_16);

+		if (genModel.hasCopyrightField()) {

+			stringBuffer.append(TEXT_17);

+			stringBuffer.append(publicStaticFinalFlag);

+			stringBuffer.append(genModel.getImportedName("java.lang.String"));

+			stringBuffer.append(TEXT_18);

+			stringBuffer.append(genModel.getCopyrightFieldLiteral());

+			stringBuffer.append(TEXT_3);

+			stringBuffer.append(genModel.getNonNLS());

+			stringBuffer.append(TEXT_4);

+		}

+		if (isImplementation && (genModel.isSuppressEMFMetaData() || genModel.isSuppressInterfaces())) {

+			stringBuffer.append(TEXT_19);

+			stringBuffer.append(publicStaticFinalFlag);

+			stringBuffer.append(genPackage.getFactoryClassName());

+			stringBuffer.append(TEXT_20);

+		}

+		if (isInterface && genModel.isSuppressEMFMetaData()) {

+			stringBuffer.append(TEXT_19);

+			stringBuffer.append(publicStaticFinalFlag);

+			stringBuffer.append(genPackage.getFactoryInterfaceName());

+			stringBuffer.append(TEXT_21);

+			stringBuffer.append(genPackage.getQualifiedFactoryClassName());

+			stringBuffer.append(TEXT_22);

+		} else if (isInterface && !genModel.isSuppressInterfaces()) {

+			stringBuffer.append(TEXT_19);

+			stringBuffer.append(publicStaticFinalFlag);

+			stringBuffer.append(genPackage.getFactoryInterfaceName());

+			stringBuffer.append(TEXT_23);

+			stringBuffer.append(genPackage.getQualifiedFactoryClassName());

+			stringBuffer.append(TEXT_24);

+		}

+		if (isImplementation) {

+			stringBuffer.append(TEXT_25);

+			String factoryType = genModel.isSuppressEMFMetaData() ? genPackage.getFactoryClassName()

+					: genPackage.getImportedFactoryInterfaceName();

+			stringBuffer.append(TEXT_26);

+			stringBuffer.append(factoryType);

+			stringBuffer.append(TEXT_27);

+			stringBuffer.append(factoryType);

+			stringBuffer.append(TEXT_28);

+			stringBuffer.append(genPackage.getFactoryName());

+			stringBuffer.append(TEXT_29);

+			stringBuffer.append(factoryType);

+			stringBuffer.append(TEXT_30);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

+			stringBuffer.append(TEXT_31);

+			stringBuffer.append(genPackage.getPackageInterfaceName());

+			stringBuffer.append(TEXT_32);

+			stringBuffer.append(genPackage.getFactoryName());

+			stringBuffer.append(TEXT_33);

+			stringBuffer.append(genPackage.getFactoryName());

+			stringBuffer.append(TEXT_34);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin"));

+			stringBuffer.append(TEXT_35);

+			stringBuffer.append(genPackage.getImportedFactoryClassName());

+			stringBuffer.append(TEXT_36);

+			stringBuffer.append(genPackage.getFactoryClassName());

+			stringBuffer.append(TEXT_37);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_38);

+			}

+			stringBuffer.append(TEXT_39);

+			for (GenClass genClass : genPackage.getGenClasses()) {

+				if (!genClass.isAbstract()) {

+					stringBuffer.append(TEXT_40);

+					stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+					stringBuffer.append(TEXT_41);

+					stringBuffer.append(genClass.getClassifierID());

+					stringBuffer.append(TEXT_42);

+					stringBuffer.append(!genClass.isEObjectExtension() ? "(EObject)" : "");

+					stringBuffer.append(TEXT_43);

+					stringBuffer.append(genClass.getName());

+					stringBuffer.append(TEXT_44);

+				}

+			}

+			stringBuffer.append(TEXT_45);

+			stringBuffer.append(genModel.getNonNLS());

+			stringBuffer.append(genModel.getNonNLS(2));

+			stringBuffer.append(TEXT_46);

+			if (!genPackage.getAllGenDataTypes().isEmpty()) {

+				stringBuffer.append(TEXT_47);

+				if (genModel.useClassOverrideAnnotation()) {

+					stringBuffer.append(TEXT_38);

+				}

+				stringBuffer.append(TEXT_48);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EDataType"));

+				stringBuffer.append(TEXT_49);

+				for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {

+					if (genDataType.isSerializable()) {

+						stringBuffer.append(TEXT_40);

+						stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+						stringBuffer.append(TEXT_41);

+						stringBuffer.append(genDataType.getClassifierID());

+						stringBuffer.append(TEXT_50);

+						stringBuffer.append(genDataType.getName());

+						stringBuffer.append(TEXT_51);

+					}

+				}

+				stringBuffer.append(TEXT_52);

+				stringBuffer.append(genModel.getNonNLS());

+				stringBuffer.append(genModel.getNonNLS(2));

+				stringBuffer.append(TEXT_53);

+				if (genModel.useClassOverrideAnnotation()) {

+					stringBuffer.append(TEXT_38);

+				}

+				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_40);

+						stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+						stringBuffer.append(TEXT_41);

+						stringBuffer.append(genDataType.getClassifierID());

+						stringBuffer.append(TEXT_56);

+						stringBuffer.append(genDataType.getName());

+						stringBuffer.append(TEXT_57);

+					}

+				}

+				stringBuffer.append(TEXT_52);

+				stringBuffer.append(genModel.getNonNLS());

+				stringBuffer.append(genModel.getNonNLS(2));

+				stringBuffer.append(TEXT_46);

+			}

+			for (GenClass genClass : genPackage.getGenClasses()) {

+				if (!genClass.isAbstract()) {

+					stringBuffer.append(TEXT_58);

+					if (genClass.hasAPITags()) {

+						stringBuffer.append(TEXT_59);

+						stringBuffer.append(genClass.getAPITags(genModel.getIndentation(stringBuffer)));

+					}

+					stringBuffer.append(TEXT_60);

+					if (isJDK50 && genClass.hasAPIDeprecatedTag()) {

+						stringBuffer.append(TEXT_61);

+					}

+					if (useInterfaceOverrideAnnotation && !genClass.isMapEntry()) {

+						stringBuffer.append(TEXT_38);

+					}

+					stringBuffer.append(TEXT_62);

+					stringBuffer.append(genClass.getTypeParameters());

+					stringBuffer.append(genClass.getImportedInterfaceName());

+					stringBuffer.append(genClass.getInterfaceTypeArguments());

+					stringBuffer.append(TEXT_63);

+					stringBuffer.append(genClass.getName());

+					stringBuffer.append(TEXT_64);

+					if (genClass.isDynamic()) {

+						stringBuffer.append(TEXT_65);

+						stringBuffer.append(genClass.getImportedInterfaceName());

+						stringBuffer.append(genClass.getInterfaceTypeArguments());

+						stringBuffer.append(TEXT_66);

+						stringBuffer.append(genClass.getSafeUncapName());

+						stringBuffer.append(TEXT_67);

+						stringBuffer.append(genClass.getCastFromEObject());

+						stringBuffer.append(TEXT_68);

+						stringBuffer.append(genClass.getQualifiedClassifierAccessor());

+						stringBuffer.append(TEXT_69);

+					} else {

+						stringBuffer.append(TEXT_65);

+						stringBuffer.append(genClass.getImportedClassName());

+						stringBuffer.append(genClass.getClassTypeArguments());

+						stringBuffer.append(TEXT_66);

+						stringBuffer.append(genClass.getSafeUncapName());

+						stringBuffer.append(TEXT_70);

+						stringBuffer.append(genClass.getImportedClassName());

+						stringBuffer.append(genClass.getClassTypeArguments());

+						stringBuffer.append(TEXT_71);

+						if (genModel.isSuppressInterfaces() && !genPackage.getReflectionPackageName()

+								.equals(genPackage.getInterfacePackageName())) {

+							stringBuffer.append(TEXT_72);

+						}

+						stringBuffer.append(TEXT_3);

+					}

+					stringBuffer.append(TEXT_73);

+					stringBuffer.append(genClass.getSafeUncapName());

+					stringBuffer.append(TEXT_74);

+				}

+			}

+			for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {

+				if (genDataType.isSerializable()) {

+					if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {

+						String eDataType = genDataType.getQualifiedClassifierAccessor();

+						stringBuffer.append(TEXT_58);

+						if (genDataType.hasAPITags()) {

+							stringBuffer.append(TEXT_59);

+							stringBuffer.append(genDataType.getAPITags(genModel.getIndentation(stringBuffer)));

+						}

+						stringBuffer.append(TEXT_60);

+						if (genModel.useGenerics() && genDataType.isUncheckedCast() && !genDataType.hasCreatorBody()) {

+							stringBuffer.append(TEXT_75);

+						}

+						if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {

+							stringBuffer.append(TEXT_61);

+						}

+						if (genPackage.isDataTypeConverters() && useInterfaceOverrideAnnotation) {

+							stringBuffer.append(TEXT_38);

+						}

+						stringBuffer.append(TEXT_62);

+						stringBuffer.append(genDataType.getImportedParameterizedInstanceClassName());

+						stringBuffer.append(TEXT_63);

+						stringBuffer.append(genDataType.getName());

+						stringBuffer.append(TEXT_76);

+						if (genDataType.hasCreatorBody()) {

+							stringBuffer.append(TEXT_77);

+						}

+						stringBuffer.append(TEXT_78);

+						if (genDataType.hasCreatorBody()) {

+							stringBuffer.append(TEXT_79);

+						} else {

+							stringBuffer.append(TEXT_80);

+						}

+						stringBuffer.append(TEXT_81);

+						if (genDataType.hasCreatorBody()) {

+							stringBuffer.append(TEXT_65);

+							stringBuffer.append(genDataType.getCreatorBody(genModel.getIndentation(stringBuffer)));

+						} else if (genDataType instanceof GenEnum) {

+							stringBuffer.append(TEXT_65);

+							stringBuffer.append(genDataType.getImportedInstanceClassName());

+							stringBuffer.append(TEXT_82);

+							stringBuffer.append(genDataType.getImportedInstanceClassName());

+							stringBuffer.append(TEXT_83);

+							stringBuffer.append(eDataType);

+							stringBuffer.append(TEXT_84);

+							stringBuffer.append(genModel.getNonNLS());

+							stringBuffer.append(genModel.getNonNLS(2));

+							stringBuffer.append(genModel.getNonNLS(3));

+							stringBuffer.append(TEXT_85);

+						} else if (genDataType.getBaseType() != null) {

+							GenDataType genBaseType = genDataType.getBaseType();

+							boolean isPrimitiveConversion = !genDataType.isPrimitiveType()

+									&& genBaseType.isPrimitiveType();

+							if (genBaseType.getGenPackage() == genPackage) {

+								if (isPrimitiveConversion && !isJDK50) {

+									stringBuffer.append(TEXT_86);

+									stringBuffer.append(genDataType.getObjectInstanceClassName());

+									stringBuffer.append(TEXT_87);

+									stringBuffer.append(genBaseType.getName());

+									stringBuffer.append(TEXT_88);

+								} else {

+									stringBuffer.append(TEXT_89);

+									stringBuffer.append(genBaseType.getName());

+									stringBuffer.append(TEXT_90);

+								}

+							} else if (genBaseType.getGenPackage().isDataTypeConverters()) {

+								if (isPrimitiveConversion && !isJDK50) {

+									stringBuffer.append(TEXT_86);

+									stringBuffer.append(genDataType.getObjectInstanceClassName());

+									stringBuffer.append(TEXT_76);

+									stringBuffer.append(

+											genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());

+									stringBuffer.append(TEXT_91);

+									stringBuffer.append(genBaseType.getName());

+									stringBuffer.append(TEXT_88);

+								} else {

+									stringBuffer.append(TEXT_73);

+									stringBuffer.append(

+											genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());

+									stringBuffer.append(TEXT_91);

+									stringBuffer.append(genBaseType.getName());

+									stringBuffer.append(TEXT_90);

+								}

+							} else {

+								stringBuffer.append(TEXT_73);

+								if (!genDataType.isObjectType()) {

+									stringBuffer.append(TEXT_76);

+									stringBuffer.append(genDataType.getObjectInstanceClassName());

+									stringBuffer.append(TEXT_30);

+								}

+								stringBuffer.append(

+										genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());

+								stringBuffer.append(TEXT_92);

+								stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());

+								stringBuffer.append(TEXT_93);

+							}

+						} else if (genDataType.getItemType() != null) {

+							GenDataType genItemType = genDataType.getItemType();

+							stringBuffer.append(TEXT_94);

+							stringBuffer.append(genDataType.getImportedParameterizedInstanceClassName());

+							stringBuffer.append(TEXT_95);

+							stringBuffer.append(genModel.getImportedName("java.util.ArrayList"));

+							if (genModel.useGenerics()) {

+								stringBuffer.append(TEXT_96);

+								stringBuffer.append(

+										genItemType.getObjectType().getImportedParameterizedInstanceClassName());

+								stringBuffer.append(TEXT_97);

+							}

+							stringBuffer.append(TEXT_44);

+							if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {

+								stringBuffer.append(TEXT_98);

+								stringBuffer.append(genModel.getImportedName("java.util.StringTokenizer"));

+								stringBuffer.append(TEXT_99);

+								stringBuffer.append(genModel.getImportedName("java.util.StringTokenizer"));

+								stringBuffer.append(TEXT_100);

+							} else {

+								stringBuffer.append(TEXT_101);

+							}

+							stringBuffer.append(TEXT_102);

+							if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {

+								stringBuffer.append(TEXT_103);

+							}

+							if (genItemType.getGenPackage() == genPackage) {

+								if (genPackage.isDataTypeConverters()) {

+									genItemType = genItemType.getObjectType();

+									stringBuffer.append(TEXT_104);

+									stringBuffer.append(genItemType.getName());

+									stringBuffer.append(TEXT_105);

+								} else {

+									stringBuffer.append(TEXT_104);

+									stringBuffer.append(genItemType.getName());

+									stringBuffer.append(TEXT_106);

+									stringBuffer.append(genItemType.getQualifiedClassifierAccessor());

+									stringBuffer.append(TEXT_107);

+								}

+							} else {

+								if (genItemType.getGenPackage().isDataTypeConverters()) {

+									genItemType = genItemType.getObjectType();

+									stringBuffer.append(TEXT_108);

+									stringBuffer.append(

+											genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());

+									stringBuffer.append(TEXT_91);

+									stringBuffer.append(genItemType.getName());

+									stringBuffer.append(TEXT_105);

+								} else {

+									stringBuffer.append(TEXT_108);

+									stringBuffer.append(

+											genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());

+									stringBuffer.append(TEXT_92);

+									stringBuffer.append(genItemType.getQualifiedClassifierAccessor());

+									stringBuffer.append(TEXT_107);

+								}

+							}

+							stringBuffer.append(TEXT_109);

+						} else if (!genDataType.getMemberTypes().isEmpty()) {

+							stringBuffer.append(TEXT_110);

+							stringBuffer.append(genDataType.getStaticValue(null));

+							stringBuffer.append(TEXT_111);

+							stringBuffer.append(genDataType.getImportedInstanceClassName());

+							stringBuffer.append(TEXT_82);

+							stringBuffer.append(genDataType.getStaticValue(null));

+							stringBuffer.append(TEXT_112);

+							for (GenDataType genMemberType : genDataType.getMemberTypes()) {

+								stringBuffer.append(TEXT_113);

+								if (genMemberType.getGenPackage() == genPackage) {

+									if (genPackage.isDataTypeConverters()) {

+										if (!genDataType.isPrimitiveType())

+											genMemberType = genMemberType.getObjectType();

+										stringBuffer.append(TEXT_114);

+										stringBuffer.append(genMemberType.getName());

+										stringBuffer.append(TEXT_90);

+									} else {

+										stringBuffer.append(TEXT_115);

+										stringBuffer.append(genDataType.getObjectInstanceClassName());

+										stringBuffer.append(TEXT_116);

+										stringBuffer.append(genMemberType.getName());

+										stringBuffer.append(TEXT_106);

+										stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

+										stringBuffer.append(TEXT_93);

+									}

+								} else {

+									if (genPackage.isDataTypeConverters()) {

+										if (!genDataType.isPrimitiveType())

+											genMemberType = genMemberType.getObjectType();

+										stringBuffer.append(TEXT_117);

+										stringBuffer.append(genMemberType.getGenPackage()

+												.getQualifiedEFactoryInternalInstanceAccessor());

+										stringBuffer.append(TEXT_91);

+										stringBuffer.append(genMemberType.getName());

+										stringBuffer.append(TEXT_90);

+									} else {

+										stringBuffer.append(TEXT_115);

+										stringBuffer.append(genDataType.getObjectInstanceClassName());

+										stringBuffer.append(TEXT_30);

+										stringBuffer.append(genMemberType.getGenPackage()

+												.getQualifiedEFactoryInternalInstanceAccessor());

+										stringBuffer.append(TEXT_92);

+										stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

+										stringBuffer.append(TEXT_93);

+									}

+								}

+								stringBuffer.append(TEXT_118);

+								if (!genDataType.isPrimitiveType()) {

+									stringBuffer.append(TEXT_119);

+								}

+								stringBuffer

+										.append(genModel.getImportedName("org.eclipse.emf.ecore.util.Diagnostician"));

+								stringBuffer.append(TEXT_120);

+								stringBuffer.append(eDataType);

+								stringBuffer.append(TEXT_121);

+								if (genDataType.isPrimitiveType() && !isJDK50) {

+									stringBuffer.append(TEXT_122);

+									stringBuffer.append(genDataType.getObjectInstanceClassName());

+									stringBuffer.append(TEXT_123);

+								} else {

+									stringBuffer.append(TEXT_124);

+								}

+								stringBuffer.append(TEXT_125);

+							}

+							stringBuffer.append(TEXT_126);

+							if (!genDataType.isPrimitiveType()) {

+								stringBuffer.append(TEXT_127);

+							}

+							stringBuffer.append(TEXT_128);

+						} else if (!genDataType.hasConversionDelegate() && genModel.useGenerics()

+								&& (genDataType.isArrayType()

+										|| !genDataType.getEcoreDataType().getETypeParameters().isEmpty()

+										|| genDataType.getEcoreDataType().getInstanceTypeName().contains("<"))) {

+							stringBuffer.append(TEXT_129);

+							stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());

+							stringBuffer.append(TEXT_130);

+						} else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {

+							stringBuffer.append(TEXT_131);

+							stringBuffer.append(genModel.getImportedName("java.lang.UnsupportedOperationException"));

+							stringBuffer.append(TEXT_44);

+						} else if (genDataType.isPrimitiveType() && !isJDK50) {

+							stringBuffer.append(TEXT_132);

+							stringBuffer.append(genDataType.getObjectInstanceClassName());

+							stringBuffer.append(TEXT_133);

+							stringBuffer.append(eDataType);

+							stringBuffer.append(TEXT_134);

+							stringBuffer.append(genDataType.getPrimitiveValueFunction());

+							stringBuffer.append(TEXT_44);

+						} else {

+							stringBuffer.append(TEXT_73);

+							if (!genDataType.isObjectType()) {

+								stringBuffer.append(TEXT_76);

+								stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());

+								stringBuffer.append(TEXT_30);

+							}

+							stringBuffer.append(TEXT_135);

+							stringBuffer.append(eDataType);

+							stringBuffer.append(TEXT_93);

+						}

+						stringBuffer.append(TEXT_136);

+					}

+					stringBuffer.append(TEXT_58);

+					if (genDataType.hasAPITags()) {

+						stringBuffer.append(TEXT_59);

+						stringBuffer.append(genDataType.getAPITags(genModel.getIndentation(stringBuffer)));

+					}

+					stringBuffer.append(TEXT_60);

+					if (!genPackage.isDataTypeConverters() && genModel.useGenerics() && genDataType.isUncheckedCast()

+							&& !genDataType.hasCreatorBody()) {

+						stringBuffer.append(TEXT_75);

+					}

+					if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {

+						stringBuffer.append(TEXT_61);

+					}

+					stringBuffer.append(TEXT_62);

+					stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());

+					stringBuffer.append(TEXT_63);

+					stringBuffer.append(genDataType.getName());

+					stringBuffer.append(TEXT_106);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EDataType"));

+					stringBuffer.append(TEXT_137);

+					if (genDataType instanceof GenEnum) {

+						if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {

+							stringBuffer.append(TEXT_89);

+							stringBuffer.append(genDataType.getName());

+							stringBuffer.append(TEXT_138);

+						} else {

+							stringBuffer.append(TEXT_65);

+							stringBuffer.append(((GenEnum) genDataType).getImportedInstanceClassName());

+							stringBuffer.append(TEXT_82);

+							stringBuffer.append(((GenEnum) genDataType).getImportedInstanceClassName());

+							stringBuffer.append(TEXT_139);

+							stringBuffer.append(genModel.getNonNLS());

+							stringBuffer.append(genModel.getNonNLS(2));

+							stringBuffer.append(genModel.getNonNLS(3));

+							stringBuffer.append(TEXT_85);

+						}

+					} else if (genDataType.getBaseType() != null) {

+						GenDataType genBaseType = genDataType.getBaseType();

+						if (genBaseType.getGenPackage() == genPackage) {

+							stringBuffer.append(TEXT_73);

+							if (!genDataType.getObjectInstanceClassName()

+									.equals(genBaseType.getObjectInstanceClassName())) {

+								stringBuffer.append(TEXT_76);

+								stringBuffer.append(genDataType.getObjectInstanceClassName());

+								stringBuffer.append(TEXT_30);

+							}

+							stringBuffer.append(TEXT_43);

+							stringBuffer.append(genBaseType.getName());

+							stringBuffer.append(TEXT_106);

+							stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());

+							stringBuffer.append(TEXT_140);

+						} else {

+							stringBuffer.append(TEXT_73);

+							if (!genDataType.isObjectType()) {

+								stringBuffer.append(TEXT_76);

+								stringBuffer.append(genDataType.getObjectInstanceClassName());

+								stringBuffer.append(TEXT_30);

+							}

+							stringBuffer

+									.append(genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());

+							stringBuffer.append(TEXT_92);

+							stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());

+							stringBuffer.append(TEXT_140);

+						}

+					} else if (genDataType.getItemType() != null) {

+						GenDataType genItemType = genDataType.getItemType();

+						if (genPackage.isDataTypeConverters()) {

+							stringBuffer.append(TEXT_89);

+							stringBuffer.append(genDataType.getName());

+							stringBuffer.append(TEXT_138);

+						} else {

+							stringBuffer.append(TEXT_141);

+							stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());

+							stringBuffer.append(TEXT_95);

+							stringBuffer.append(genModel.getImportedName("java.util.ArrayList"));

+							if (genModel.useGenerics()) {

+								stringBuffer.append(TEXT_96);

+								stringBuffer.append(

+										genItemType.getObjectType().getImportedParameterizedInstanceClassName());

+								stringBuffer.append(TEXT_97);

+							}

+							stringBuffer.append(TEXT_44);

+							if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {

+								stringBuffer.append(TEXT_98);

+								stringBuffer.append(genModel.getImportedName("java.util.StringTokenizer"));

+								stringBuffer.append(TEXT_99);

+								stringBuffer.append(genModel.getImportedName("java.util.StringTokenizer"));

+								stringBuffer.append(TEXT_142);

+							} else {

+								stringBuffer.append(TEXT_143);

+							}

+							stringBuffer.append(TEXT_102);

+							if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {

+								stringBuffer.append(TEXT_103);

+							}

+							if (genItemType.getGenPackage() == genPackage) {

+								stringBuffer.append(TEXT_104);

+								stringBuffer.append(genItemType.getName());

+								stringBuffer.append(TEXT_106);

+								stringBuffer.append(genItemType.getQualifiedClassifierAccessor());

+								stringBuffer.append(TEXT_107);

+							} else {

+								stringBuffer.append(TEXT_108);

+								if (!genItemType.isObjectType()) {

+									stringBuffer.append(TEXT_76);

+									stringBuffer.append(genItemType.getObjectInstanceClassName());

+									stringBuffer.append(TEXT_30);

+								}

+								stringBuffer.append(

+										genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());

+								stringBuffer.append(TEXT_92);

+								stringBuffer.append(genItemType.getQualifiedClassifierAccessor());

+								stringBuffer.append(TEXT_107);

+							}

+							stringBuffer.append(TEXT_109);

+						}

+					} else if (!genDataType.getMemberTypes().isEmpty()) {

+						if (genPackage.isDataTypeConverters()) {

+							if (genDataType.isPrimitiveType() && !isJDK50) {

+								stringBuffer.append(TEXT_86);

+								stringBuffer.append(genDataType.getObjectInstanceClassName());

+								stringBuffer.append(TEXT_87);

+								stringBuffer.append(genDataType.getName());

+								stringBuffer.append(TEXT_144);

+							} else {

+								stringBuffer.append(TEXT_89);

+								stringBuffer.append(genDataType.getName());

+								stringBuffer.append(TEXT_138);

+							}

+						} else {

+							stringBuffer.append(TEXT_141);

+							stringBuffer.append(genDataType.getObjectInstanceClassName());

+							stringBuffer.append(TEXT_145);

+							for (GenDataType genMemberType : genDataType.getMemberTypes()) {

+								stringBuffer.append(TEXT_113);

+								if (genMemberType.getGenPackage() == genPackage) {

+									stringBuffer.append(TEXT_117);

+									if (!genDataType.isObjectType() && !genDataType.getObjectInstanceClassName()

+											.equals(genMemberType.getObjectInstanceClassName())) {

+										stringBuffer.append(TEXT_76);

+										stringBuffer.append(genDataType.getObjectInstanceClassName());

+										stringBuffer.append(TEXT_30);

+									}

+									stringBuffer.append(TEXT_43);

+									stringBuffer.append(genMemberType.getName());

+									stringBuffer.append(TEXT_106);

+									stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

+									stringBuffer.append(TEXT_140);

+								} else {

+									stringBuffer.append(TEXT_117);

+									if (!genDataType.isObjectType()) {

+										stringBuffer.append(TEXT_76);

+										stringBuffer.append(genDataType.getObjectInstanceClassName());

+										stringBuffer.append(TEXT_30);

+									}

+									stringBuffer.append(genMemberType.getGenPackage()

+											.getQualifiedEFactoryInternalInstanceAccessor());

+									stringBuffer.append(TEXT_92);

+									stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

+									stringBuffer.append(TEXT_140);

+								}

+								stringBuffer.append(TEXT_146);

+								stringBuffer

+										.append(genModel.getImportedName("org.eclipse.emf.ecore.util.Diagnostician"));

+								stringBuffer.append(TEXT_147);

+							}

+							stringBuffer.append(TEXT_148);

+						}

+					} else if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {

+						stringBuffer.append(TEXT_89);

+						stringBuffer.append(genDataType.getName());

+						stringBuffer.append(TEXT_138);

+					} else if (!genDataType.hasConversionDelegate() && genModel.useGenerics()

+							&& (genDataType.isArrayType()

+									|| !genDataType.getEcoreDataType().getETypeParameters().isEmpty()

+									|| genDataType.getEcoreDataType().getInstanceTypeName().contains("<"))) {

+						stringBuffer.append(TEXT_73);

+						if (!genDataType.isObjectType()) {

+							stringBuffer.append(TEXT_76);

+							stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());

+							stringBuffer.append(TEXT_30);

+						}

+						stringBuffer.append(TEXT_149);

+					} else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {

+						stringBuffer.append(TEXT_131);

+						stringBuffer.append(genModel.getImportedName("java.lang.UnsupportedOperationException"));

+						stringBuffer.append(TEXT_44);

+					} else {

+						stringBuffer.append(TEXT_73);

+						if (!genDataType.isObjectType()) {

+							stringBuffer.append(TEXT_76);

+							stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());

+							stringBuffer.append(TEXT_30);

+						}

+						stringBuffer.append(TEXT_150);

+					}

+					stringBuffer.append(TEXT_136);

+					if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {

+						String eDataType = genDataType.getQualifiedClassifierAccessor();

+						stringBuffer.append(TEXT_58);

+						if (genDataType.hasAPITags()) {

+							stringBuffer.append(TEXT_59);

+							stringBuffer.append(genDataType.getAPITags(genModel.getIndentation(stringBuffer)));

+						}

+						stringBuffer.append(TEXT_60);

+						if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {

+							stringBuffer.append(TEXT_61);

+						}

+						if (genPackage.isDataTypeConverters() && useInterfaceOverrideAnnotation) {

+							stringBuffer.append(TEXT_38);

+						}

+						stringBuffer.append(TEXT_151);

+						stringBuffer.append(genDataType.getName());

+						stringBuffer.append(TEXT_76);

+						if (genDataType.hasCreatorBody()) {

+							stringBuffer.append(TEXT_77);

+						}

+						stringBuffer.append(genDataType.getImportedBoundedWildcardInstanceClassName());

+						stringBuffer.append(TEXT_66);

+						if (genDataType.hasConverterBody()) {

+							stringBuffer.append(TEXT_79);

+						} else {

+							stringBuffer.append(TEXT_152);

+						}

+						stringBuffer.append(TEXT_81);

+						if (genDataType.hasConverterBody()) {

+							stringBuffer.append(TEXT_65);

+							stringBuffer.append(genDataType.getConverterBody(genModel.getIndentation(stringBuffer)));

+						} else if (genDataType instanceof GenEnum) {

+							stringBuffer.append(TEXT_153);

+						} else if (genDataType.getBaseType() != null) {

+							GenDataType genBaseType = genDataType.getBaseType();

+							boolean isPrimitiveConversion = !genDataType.isPrimitiveType()

+									&& genBaseType.isPrimitiveType();

+							if (genBaseType.getGenPackage() == genPackage) {

+								if (isPrimitiveConversion) {

+									stringBuffer.append(TEXT_154);

+									stringBuffer.append(genBaseType.getName());

+									stringBuffer.append(TEXT_155);

+									if (!isJDK50) {

+										stringBuffer.append(TEXT_41);

+										stringBuffer.append(genBaseType.getPrimitiveValueFunction());

+										stringBuffer.append(TEXT_71);

+									}

+									stringBuffer.append(TEXT_69);

+								} else {

+									stringBuffer.append(TEXT_156);

+									stringBuffer.append(genBaseType.getName());

+									stringBuffer.append(TEXT_157);

+								}

+							} else if (genBaseType.getGenPackage().isDataTypeConverters()) {

+								stringBuffer.append(TEXT_73);

+								stringBuffer.append(genBaseType.getGenPackage().getQualifiedFactoryInstanceAccessor());

+								stringBuffer.append(TEXT_158);

+								stringBuffer.append(genBaseType.getName());

+								stringBuffer.append(TEXT_157);

+							} else {

+								stringBuffer.append(TEXT_73);

+								stringBuffer.append(

+										genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());

+								stringBuffer.append(TEXT_159);

+								stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());

+								stringBuffer.append(TEXT_160);

+							}

+						} else if (genDataType.getItemType() != null) {

+							GenDataType genItemType = genDataType.getItemType();

+							stringBuffer.append(TEXT_161);

+							stringBuffer.append(genModel.getImportedName(

+									genModel.useGenerics() ? "java.lang.StringBuilder" : "java.lang.StringBuffer"));

+							stringBuffer.append(TEXT_95);

+							stringBuffer.append(genModel.getImportedName(

+									genModel.useGenerics() ? "java.lang.StringBuilder" : "java.lang.StringBuffer"));

+							stringBuffer.append(TEXT_44);

+							String item;

+							if (!genModel.useGenerics()) {

+								item = "i.next()";

+								stringBuffer.append(TEXT_98);

+								stringBuffer.append(genModel.getImportedName("java.util.Iterator"));

+								stringBuffer.append(TEXT_162);

+							} else {

+								item = "item";

+								stringBuffer.append(TEXT_98);

+								stringBuffer.append(genModel.getImportedName("java.lang.Object"));

+								stringBuffer.append(TEXT_163);

+							}

+							stringBuffer.append(TEXT_102);

+							if (genItemType.getGenPackage() == genPackage) {

+								if (genPackage.isDataTypeConverters()) {

+									genItemType = genItemType.getObjectType();

+									stringBuffer.append(TEXT_164);

+									stringBuffer.append(genItemType.getName());

+									stringBuffer.append(TEXT_165);

+									stringBuffer.append(genItemType.getObjectInstanceClassName());

+									stringBuffer.append(TEXT_30);

+									stringBuffer.append(item);

+									stringBuffer.append(TEXT_166);

+								} else {

+									stringBuffer.append(TEXT_164);

+									stringBuffer.append(genItemType.getName());

+									stringBuffer.append(TEXT_167);

+									stringBuffer.append(genItemType.getQualifiedClassifierAccessor());

+									stringBuffer.append(TEXT_121);

+									stringBuffer.append(item);

+									stringBuffer.append(TEXT_166);

+								}

+							} else {

+								if (genItemType.getGenPackage().isDataTypeConverters()) {

+									genItemType = genItemType.getObjectType();

+									stringBuffer.append(TEXT_168);

+									stringBuffer.append(

+											genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());

+									stringBuffer.append(TEXT_158);

+									stringBuffer.append(genItemType.getName());

+									stringBuffer.append(TEXT_165);

+									stringBuffer.append(genItemType.getObjectInstanceClassName());

+									stringBuffer.append(TEXT_30);

+									stringBuffer.append(item);

+									stringBuffer.append(TEXT_166);

+								} else {

+									stringBuffer.append(TEXT_168);

+									stringBuffer.append(

+											genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());

+									stringBuffer.append(TEXT_159);

+									stringBuffer.append(genItemType.getQualifiedClassifierAccessor());

+									stringBuffer.append(TEXT_121);

+									stringBuffer.append(item);

+									stringBuffer.append(TEXT_166);

+								}

+							}

+							stringBuffer.append(TEXT_169);

+						} else if (!genDataType.getMemberTypes().isEmpty()) {

+							if (!genDataType.isPrimitiveType()) {

+								stringBuffer.append(TEXT_170);

+								for (GenDataType genMemberType : genDataType.getMemberTypes()) {

+									stringBuffer.append(TEXT_126);

+									stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

+									stringBuffer.append(TEXT_171);

+									if (genMemberType.getGenPackage() == genPackage) {

+										if (genPackage.isDataTypeConverters()) {

+											if (genMemberType.getQualifiedInstanceClassName()

+													.equals(genDataType.getQualifiedInstanceClassName())) {

+												stringBuffer.append(TEXT_172);

+												stringBuffer.append(genMemberType.getName());

+												stringBuffer.append(TEXT_157);

+											} else if (genMemberType.isPrimitiveType() && !isJDK50) {

+												stringBuffer.append(TEXT_172);

+												stringBuffer.append(genMemberType.getName());

+												stringBuffer.append(TEXT_173);

+												stringBuffer.append(

+														genMemberType.getObjectType().getImportedInstanceClassName());

+												stringBuffer.append(TEXT_174);

+												stringBuffer.append(genMemberType.getPrimitiveValueFunction());

+												stringBuffer.append(TEXT_175);

+											} else {

+												stringBuffer.append(TEXT_172);

+												stringBuffer.append(genMemberType.getName());

+												stringBuffer.append(TEXT_165);

+												stringBuffer.append(genMemberType.getObjectType()

+														.getImportedBoundedWildcardInstanceClassName());

+												stringBuffer.append(TEXT_176);

+											}

+										} else {

+											stringBuffer.append(TEXT_172);

+											stringBuffer.append(genMemberType.getName());

+											stringBuffer.append(TEXT_167);

+											stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

+											stringBuffer.append(TEXT_160);

+										}

+									} else {

+										if (genMemberType.getGenPackage().isDataTypeConverters()) {

+											genMemberType = genMemberType.getObjectType();

+											stringBuffer.append(TEXT_177);

+											stringBuffer.append(genMemberType.getGenPackage()

+													.getQualifiedEFactoryInternalInstanceAccessor());

+											stringBuffer.append(TEXT_158);

+											stringBuffer.append(genMemberType.getName());

+											stringBuffer.append(TEXT_165);

+											stringBuffer.append(genMemberType.getObjectInstanceClassName());

+											stringBuffer.append(TEXT_176);

+										} else {

+											stringBuffer.append(TEXT_177);

+											stringBuffer.append(genMemberType.getGenPackage()

+													.getQualifiedEFactoryInternalInstanceAccessor());

+											stringBuffer.append(TEXT_159);

+											stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

+											stringBuffer.append(TEXT_160);

+										}

+									}

+									stringBuffer.append(TEXT_178);

+								}

+							} else {

+								for (GenDataType genMemberType : genDataType.getMemberTypes()) {

+									stringBuffer.append(TEXT_113);

+									if (genMemberType.getGenPackage() == genPackage) {

+										if (genPackage.isDataTypeConverters()) {

+											stringBuffer.append(TEXT_179);

+											stringBuffer.append(genMemberType.getName());

+											stringBuffer.append(TEXT_157);

+										} else {

+											stringBuffer.append(TEXT_179);

+											stringBuffer.append(genMemberType.getName());

+											stringBuffer.append(TEXT_167);

+											stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

+											stringBuffer.append(TEXT_121);

+											if (!isJDK50) {

+												stringBuffer.append(TEXT_122);

+												stringBuffer.append(genMemberType.getObjectInstanceClassName());

+												stringBuffer.append(TEXT_180);

+											} else {

+												stringBuffer.append(TEXT_152);

+											}

+											stringBuffer.append(TEXT_69);

+										}

+									} else {

+										if (genMemberType.getGenPackage().isDataTypeConverters()) {

+											stringBuffer.append(TEXT_181);

+											stringBuffer.append(genMemberType.getGenPackage()

+													.getQualifiedEFactoryInternalInstanceAccessor());

+											stringBuffer.append(TEXT_158);

+											stringBuffer.append(genMemberType.getName());

+											stringBuffer.append(TEXT_157);

+										} else {

+											stringBuffer.append(TEXT_181);

+											stringBuffer.append(genMemberType.getGenPackage()

+													.getQualifiedEFactoryInternalInstanceAccessor());

+											stringBuffer.append(TEXT_159);

+											stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

+											stringBuffer.append(TEXT_121);

+											if (!isJDK50) {

+												stringBuffer.append(TEXT_122);

+												stringBuffer.append(genMemberType.getObjectInstanceClassName());

+												stringBuffer.append(TEXT_180);

+											} else {

+												stringBuffer.append(TEXT_152);

+											}

+											stringBuffer.append(TEXT_69);

+										}

+									}

+									stringBuffer.append(TEXT_182);

+								}

+							}

+							stringBuffer.append(TEXT_183);

+							stringBuffer.append(eDataType);

+							stringBuffer.append(TEXT_184);

+						} else if (!genDataType.hasConversionDelegate() && genModel.useGenerics()

+								&& (genDataType.isArrayType()

+										|| !genDataType.getEcoreDataType().getETypeParameters().isEmpty()

+										|| genDataType.getEcoreDataType().getInstanceTypeName().contains("<"))) {

+							stringBuffer.append(TEXT_185);

+						} else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {

+							stringBuffer.append(TEXT_131);

+							stringBuffer.append(genModel.getImportedName("java.lang.UnsupportedOperationException"));

+							stringBuffer.append(TEXT_44);

+						} else if (genDataType.isPrimitiveType() && !isJDK50) {

+							stringBuffer.append(TEXT_186);

+							stringBuffer.append(eDataType);

+							stringBuffer.append(TEXT_187);

+							stringBuffer.append(genDataType.getObjectInstanceClassName());

+							stringBuffer.append(TEXT_188);

+						} else {

+							stringBuffer.append(TEXT_186);

+							stringBuffer.append(eDataType);

+							stringBuffer.append(TEXT_160);

+						}

+						stringBuffer.append(TEXT_136);

+					}

+					stringBuffer.append(TEXT_58);

+					if (genDataType.hasAPITags()) {

+						stringBuffer.append(TEXT_59);

+						stringBuffer.append(genDataType.getAPITags(genModel.getIndentation(stringBuffer)));

+					}

+					stringBuffer.append(TEXT_60);

+					if (genModel.useGenerics() && (genDataType.getItemType() != null || genDataType.isUncheckedCast())

+							&& (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody())) {

+						stringBuffer.append(TEXT_75);

+					}

+					if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {

+						stringBuffer.append(TEXT_61);

+					}

+					stringBuffer.append(TEXT_151);

+					stringBuffer.append(genDataType.getName());

+					stringBuffer.append(TEXT_167);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EDataType"));

+					stringBuffer.append(TEXT_189);

+					if (genDataType instanceof GenEnum) {

+						if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {

+							stringBuffer.append(TEXT_156);

+							stringBuffer.append(genDataType.getName());

+							stringBuffer.append(TEXT_165);

+							stringBuffer.append(genDataType.getImportedInstanceClassName());

+							stringBuffer.append(TEXT_176);

+						} else {

+							stringBuffer.append(TEXT_153);

+						}

+					} else if (genDataType.getBaseType() != null) {

+						GenDataType genBaseType = genDataType.getBaseType();

+						if (genBaseType.getGenPackage() == genPackage) {

+							stringBuffer.append(TEXT_156);

+							stringBuffer.append(genBaseType.getName());

+							stringBuffer.append(TEXT_167);

+							stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());

+							stringBuffer.append(TEXT_160);

+						} else {

+							stringBuffer.append(TEXT_73);

+							stringBuffer

+									.append(genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());

+							stringBuffer.append(TEXT_159);

+							stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());

+							stringBuffer.append(TEXT_160);

+						}

+					} else if (genDataType.getItemType() != null) {

+						GenDataType genItemType = genDataType.getItemType();

+						if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {

+							stringBuffer.append(TEXT_156);

+							stringBuffer.append(genDataType.getName());

+							stringBuffer.append(TEXT_165);

+							stringBuffer.append(genDataType.getImportedBoundedWildcardInstanceClassName());

+							stringBuffer.append(TEXT_176);

+						} else {

+							final String singleWildcard = genModel.useGenerics() ? "<?>" : "";

+							stringBuffer.append(TEXT_190);

+							stringBuffer.append(genModel.getImportedName("java.util.List"));

+							stringBuffer.append(singleWildcard);

+							stringBuffer.append(TEXT_191);

+							stringBuffer.append(genModel.getImportedName("java.util.List"));

+							stringBuffer.append(singleWildcard);

+							stringBuffer.append(TEXT_192);

+							stringBuffer.append(genModel.getImportedName("java.lang.StringBuffer"));

+							stringBuffer.append(TEXT_95);

+							stringBuffer.append(genModel.getImportedName("java.lang.StringBuffer"));

+							stringBuffer.append(TEXT_44);

+							String item;

+							if (!genModel.useGenerics()) {

+								item = "i.next()";

+								stringBuffer.append(TEXT_98);

+								stringBuffer.append(genModel.getImportedName("java.util.Iterator"));

+								stringBuffer.append(TEXT_193);

+							} else {

+								item = "item";

+								stringBuffer.append(TEXT_98);

+								stringBuffer.append(genModel.getImportedName("java.lang.Object"));

+								stringBuffer.append(TEXT_194);

+							}

+							stringBuffer.append(TEXT_102);

+							if (genItemType.getGenPackage() == genPackage) {

+								stringBuffer.append(TEXT_164);

+								stringBuffer.append(genItemType.getName());

+								stringBuffer.append(TEXT_167);

+								stringBuffer.append(genItemType.getQualifiedClassifierAccessor());

+								stringBuffer.append(TEXT_121);

+								stringBuffer.append(item);

+								stringBuffer.append(TEXT_166);

+							} else {

+								stringBuffer.append(TEXT_168);

+								stringBuffer.append(

+										genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());

+								stringBuffer.append(TEXT_159);

+								stringBuffer.append(genItemType.getQualifiedClassifierAccessor());

+								stringBuffer.append(TEXT_121);

+								stringBuffer.append(item);

+								stringBuffer.append(TEXT_166);

+							}

+							stringBuffer.append(TEXT_169);

+						}

+					} else if (!genDataType.getMemberTypes().isEmpty()) {

+						if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {

+							if (genDataType.isPrimitiveType()) {

+								stringBuffer.append(TEXT_154);

+								stringBuffer.append(genDataType.getName());

+								stringBuffer.append(TEXT_173);

+								stringBuffer.append(genDataType.getObjectInstanceClassName());

+								stringBuffer.append(TEXT_195);

+								if (!isJDK50) {

+									stringBuffer.append(TEXT_41);

+									stringBuffer.append(genDataType.getPrimitiveValueFunction());

+									stringBuffer.append(TEXT_71);

+								}

+								stringBuffer.append(TEXT_69);

+							} else {

+								stringBuffer.append(TEXT_156);

+								stringBuffer.append(genDataType.getName());

+								stringBuffer.append(TEXT_157);

+							}

+						} else {

+							stringBuffer.append(TEXT_170);

+							for (GenDataType genMemberType : genDataType.getMemberTypes()) {

+								stringBuffer.append(TEXT_126);

+								stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

+								stringBuffer.append(TEXT_171);

+								if (genMemberType.getGenPackage() == genPackage) {

+									stringBuffer.append(TEXT_172);

+									stringBuffer.append(genMemberType.getName());

+									stringBuffer.append(TEXT_167);

+									stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

+									stringBuffer.append(TEXT_160);

+								} else {

+									stringBuffer.append(TEXT_177);

+									stringBuffer.append(genMemberType.getGenPackage()

+											.getQualifiedEFactoryInternalInstanceAccessor());

+									stringBuffer.append(TEXT_159);

+									stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

+									stringBuffer.append(TEXT_160);

+								}

+								stringBuffer.append(TEXT_178);

+							}

+							stringBuffer.append(TEXT_196);

+						}

+					} else if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {

+						if (genDataType.isPrimitiveType()) {

+							stringBuffer.append(TEXT_154);

+							stringBuffer.append(genDataType.getName());

+							stringBuffer.append(TEXT_76);

+							if (!isJDK50) {

+								stringBuffer.append(TEXT_76);

+							}

+							stringBuffer.append(TEXT_76);

+							stringBuffer.append(genDataType.getObjectInstanceClassName());

+							stringBuffer.append(TEXT_197);

+							if (!isJDK50) {

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genDataType.getPrimitiveValueFunction());

+								stringBuffer.append(TEXT_71);

+							}

+							stringBuffer.append(TEXT_69);

+						} else {

+							stringBuffer.append(TEXT_156);

+							stringBuffer.append(genDataType.getName());

+							stringBuffer.append(TEXT_165);

+							stringBuffer.append(genDataType.getImportedBoundedWildcardInstanceClassName());

+							stringBuffer.append(TEXT_176);

+						}

+					} else if (!genDataType.hasConversionDelegate() && genModel.useGenerics()

+							&& (genDataType.isArrayType()

+									|| !genDataType.getEcoreDataType().getETypeParameters().isEmpty()

+									|| genDataType.getEcoreDataType().getInstanceTypeName().contains("<"))) {

+						stringBuffer.append(TEXT_185);

+					} else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {

+						stringBuffer.append(TEXT_131);

+						stringBuffer.append(genModel.getImportedName("java.lang.UnsupportedOperationException"));

+						stringBuffer.append(TEXT_44);

+					} else {

+						stringBuffer.append(TEXT_199);

+					}

+					stringBuffer.append(TEXT_136);

+				}

+			}

+		} else {

+			for (GenClass genClass : genPackage.getGenClasses()) {

+				if (genClass.hasFactoryInterfaceCreateMethod()) {

+					stringBuffer.append(TEXT_200);

+					stringBuffer.append(genClass.getFormattedName());

+					stringBuffer.append(TEXT_201);

+					stringBuffer.append(genClass.getFormattedName());

+					stringBuffer.append(TEXT_202);

+					if (genClass.hasAPITags()) {

+						stringBuffer.append(TEXT_59);

+						stringBuffer.append(genClass.getAPITags(genModel.getIndentation(stringBuffer)));

+					}

+					stringBuffer.append(TEXT_60);

+					if (isJDK50 && genClass.hasAPIDeprecatedTag()) {

+						stringBuffer.append(TEXT_61);

+					}

+					stringBuffer.append(TEXT_203);

+					stringBuffer.append(genClass.getTypeParameters());

+					stringBuffer.append(genClass.getImportedInterfaceName());

+					stringBuffer.append(genClass.getInterfaceTypeArguments());

+					stringBuffer.append(TEXT_63);

+					stringBuffer.append(genClass.getName());

+					stringBuffer.append(TEXT_204);

+				}

+			}

+			if (genPackage.isDataTypeConverters()) {

+				for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {

+					if (genDataType.isSerializable()) {

+						stringBuffer.append(TEXT_205);

+						stringBuffer.append(genDataType.getFormattedName());

+						stringBuffer.append(TEXT_206);

+						if (genDataType.hasAPITags()) {

+							stringBuffer.append(TEXT_59);

+							stringBuffer.append(genDataType.getAPITags(genModel.getIndentation(stringBuffer)));

+						}

+						stringBuffer.append(TEXT_60);

+						if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {

+							stringBuffer.append(TEXT_61);

+						}

+						stringBuffer.append(TEXT_203);

+						stringBuffer.append(genDataType.getImportedParameterizedInstanceClassName());

+						stringBuffer.append(TEXT_63);

+						stringBuffer.append(genDataType.getName());

+						stringBuffer.append(TEXT_207);

+						stringBuffer.append(genDataType.getFormattedName());

+						stringBuffer.append(TEXT_208);

+						if (genDataType.hasAPITags()) {

+							stringBuffer.append(TEXT_59);

+							stringBuffer.append(genDataType.getAPITags(genModel.getIndentation(stringBuffer)));

+						}

+						stringBuffer.append(TEXT_60);

+						if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {

+							stringBuffer.append(TEXT_61);

+						}

+						stringBuffer.append(TEXT_209);

+						stringBuffer.append(genDataType.getName());

+						stringBuffer.append(TEXT_76);

+						stringBuffer.append(genDataType.getImportedBoundedWildcardInstanceClassName());

+						stringBuffer.append(TEXT_210);

+					}

+				}

+			}

+		}

+		if (!isImplementation && !genModel.isSuppressEMFMetaData()) {

+			stringBuffer.append(TEXT_211);

+			stringBuffer.append(genPackage.getPackageInterfaceName());

+			stringBuffer.append(TEXT_212);

+			stringBuffer.append(genPackage.getBasicPackageName());

+			stringBuffer.append(TEXT_204);

+		} else if (isImplementation) {

+			stringBuffer.append(TEXT_47);

+			if (useInterfaceOverrideAnnotation && !genModel.isSuppressEMFMetaData()) {

+				stringBuffer.append(TEXT_38);

+			}

+			stringBuffer.append(TEXT_62);

+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+			stringBuffer.append(TEXT_212);

+			stringBuffer.append(genPackage.getBasicPackageName());

+			stringBuffer.append(TEXT_213);

+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+			stringBuffer.append(TEXT_214);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_61);

+			}

+			stringBuffer.append(TEXT_26);

+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+			stringBuffer.append(TEXT_215);

+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+			stringBuffer.append(TEXT_216);

+		}

+		stringBuffer.append(TEXT_217);

+		stringBuffer.append(isInterface ? genPackage.getFactoryInterfaceName() : genPackage.getFactoryClassName());

+		genModel.emitSortedImports();

+		stringBuffer.append(TEXT_4);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/Interface.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/Interface.java
new file mode 100644
index 0000000..e1f9628
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/Interface.java
@@ -0,0 +1,2262 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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;

+	protected final String TEXT_5 = NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL

+			+ " * An implementation of the model object '<em><b>";

+	protected final String TEXT_6 = "</b></em>'." + NL + " * <!-- end-user-doc -->";

+	protected final String TEXT_7 = NL + " * <p>" + NL + " * The following features are implemented:" + NL + " * </p>"

+			+ NL + " * <ul>";

+	protected final String TEXT_8 = NL + " *   <li>{@link ";

+	protected final String TEXT_9 = "#";

+	protected final String TEXT_10 = " <em>";

+	protected final String TEXT_11 = "</em>}</li>";

+	protected final String TEXT_12 = NL + " * </ul>";

+	protected final String TEXT_13 = NL + " *";

+	protected final String TEXT_14 = NL + " * ";

+	protected final String TEXT_15 = NL + " * @generated" + NL + " */";

+	protected final String TEXT_16 = NL + "@Deprecated";

+	protected final String TEXT_17 = NL + "@SuppressWarnings(\"deprecation\")";

+	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 = 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_26 = " mofDriverNumber = \"";

+	protected final String TEXT_27 = "\";";

+	protected final String TEXT_28 = 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_29 = 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_30 = NL + "\t@";

+	protected final String TEXT_31 = NL + "\tprotected Object[] ";

+	protected final String TEXT_32 = ";" + NL;

+	protected final String TEXT_33 = 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_34 = NL + "\tprotected int ";

+	protected final String TEXT_35 = 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_36 = " = 0;" + NL;

+	protected final String TEXT_37 = NL + "\t/**" + NL + "\t * The empty value for the '{@link #";

+	protected final String TEXT_38 = "() <em>";

+	protected final String TEXT_39 = "</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_40 = "()";

+	protected final String TEXT_41 = NL + "\t * ";

+	protected final String TEXT_42 = NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";

+	protected final String TEXT_43 = NL + "\t@Deprecated";

+	protected final String TEXT_44 = NL + "\t@SuppressWarnings(\"rawtypes\")";

+	protected final String TEXT_45 = NL + "\tprotected static final ";

+	protected final String TEXT_46 = "[] ";

+	protected final String TEXT_47 = "_EEMPTY_ARRAY = new ";

+	protected final String TEXT_48 = " [0]";

+	protected final String TEXT_49 = 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_50 = " = ";

+	protected final String TEXT_51 = ".getFeatureID(";

+	protected final String TEXT_52 = ") - ";

+	protected final String TEXT_53 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->";

+	protected final String TEXT_54 = NL + "\t * @generated" + NL + "\t */";

+	protected final String TEXT_55 = NL + "\tprivate static final int ";

+	protected final String TEXT_56 = 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_57 = ".getOperationID(";

+	protected final String TEXT_58 = "public";

+	protected final String TEXT_59 = "protected";

+	protected final String TEXT_60 = " ";

+	protected final String TEXT_61 = "()" + NL + "\t{";

+	protected final String TEXT_62 = NL + "\t\t";

+	protected final String TEXT_63 = " |= ";

+	protected final String TEXT_64 = "_EFLAG";

+	protected final String TEXT_65 = "_DEFAULT";

+	protected final String TEXT_66 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

+	protected final String TEXT_67 = NL + "\t@Override";

+	protected final String TEXT_68 = NL + "\tprotected ";

+	protected final String TEXT_69 = " eStaticClass()" + NL + "\t{" + NL + "\t\treturn ";

+	protected final String TEXT_70 = ";" + 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 */";

+	protected final String TEXT_72 = NL + "\t@SuppressWarnings(\"unchecked\")";

+	protected final String TEXT_73 = NL + "\tpublic ";

+	protected final String TEXT_74 = " eInverseAdd(";

+	protected final String TEXT_75 = " otherEnd, int featureID, ";

+	protected final String TEXT_76 = " msgs)" + NL + "\t{" + NL + "\t\tswitch (featureID";

+	protected final String TEXT_77 = ")" + NL + "\t\t{";

+	protected final String TEXT_78 = NL + "\t\t\tcase ";

+	protected final String TEXT_79 = ":";

+	protected final String TEXT_80 = NL + "\t\t\t\treturn ((";

+	protected final String TEXT_81 = "(";

+	protected final String TEXT_82 = ".InternalMapView";

+	protected final String TEXT_83 = ")";

+	protected final String TEXT_84 = "()).eMap()).basicAdd(otherEnd, msgs);";

+	protected final String TEXT_85 = NL + "\t\t\t\treturn (";

+	protected final String TEXT_86 = "()).basicAdd(otherEnd, msgs);";

+	protected final String TEXT_87 = NL + "\t\t\t\tif (eInternalContainer() != null)" + NL

+			+ "\t\t\t\t\tmsgs = eBasicRemoveFromContainer(msgs);";

+	protected final String TEXT_88 = NL + "\t\t\t\treturn basicSet";

+	protected final String TEXT_89 = "((";

+	protected final String TEXT_90 = ")otherEnd, msgs);";

+	protected final String TEXT_91 = NL + "\t\t\t\treturn eBasicSetContainer(otherEnd, ";

+	protected final String TEXT_92 = ", msgs);";

+	protected final String TEXT_93 = NL + "\t\t\t\t";

+	protected final String TEXT_94 = " = (";

+	protected final String TEXT_95 = ")eVirtualGet(";

+	protected final String TEXT_96 = ");";

+	protected final String TEXT_97 = "basicGet";

+	protected final String TEXT_98 = "();";

+	protected final String TEXT_99 = NL + "\t\t\t\tif (";

+	protected final String TEXT_100 = " != null)";

+	protected final String TEXT_101 = NL + "\t\t\t\t\tmsgs = ";

+	protected final String TEXT_102 = ".eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ";

+	protected final String TEXT_103 = ", null, msgs);";

+	protected final String TEXT_104 = ".eInverseRemove(this, ";

+	protected final String TEXT_105 = ", ";

+	protected final String TEXT_106 = ".class, msgs);";

+	protected final String TEXT_107 = NL + "\t\t\tdefault:";

+	protected final String TEXT_108 = NL + "\t\t}";

+	protected final String TEXT_109 = "\t\treturn super.eInverseAdd(otherEnd, featureID, msgs);";

+	protected final String TEXT_110 = "\t\treturn eDynamicInverseAdd(otherEnd, featureID, msgs);";

+	protected final String TEXT_111 = NL + "\t}" + NL;

+	protected final String TEXT_112 = " eInverseRemove(";

+	protected final String TEXT_113 = ")((";

+	protected final String TEXT_114 = "()).eMap()).basicRemove(otherEnd, msgs);";

+	protected final String TEXT_115 = ".Internal.Wrapper)";

+	protected final String TEXT_116 = "()).featureMap()).basicRemove(otherEnd, msgs);";

+	protected final String TEXT_117 = "()).basicRemove(otherEnd, msgs);";

+	protected final String TEXT_118 = NL + "\t\t\t\treturn eBasicSetContainer(null, ";

+	protected final String TEXT_119 = NL + "\t\t\t\treturn basicUnset";

+	protected final String TEXT_120 = "(msgs);";

+	protected final String TEXT_121 = "(null, msgs);";

+	protected final String TEXT_122 = "\t\treturn super.eInverseRemove(otherEnd, featureID, msgs);";

+	protected final String TEXT_123 = "\t\treturn eDynamicInverseRemove(otherEnd, featureID, msgs);";

+	protected final String TEXT_124 = " eBasicRemoveFromContainerFeature(";

+	protected final String TEXT_125 = " msgs)" + NL + "\t{" + NL + "\t\tswitch (eContainerFeatureID()";

+	protected final String TEXT_126 = ":" + NL + "\t\t\t\treturn eInternalContainer().eInverseRemove(this, ";

+	protected final String TEXT_127 = "\t\treturn super.eBasicRemoveFromContainerFeature(msgs);";

+	protected final String TEXT_128 = "\t\treturn eDynamicBasicRemoveFromContainer(msgs);";

+	protected final String TEXT_129 = NL + "\tpublic Object eGet(int featureID, boolean resolve, boolean coreType)" + NL

+			+ "\t{" + NL + "\t\tswitch (featureID";

+	protected final String TEXT_130 = NL + "\t\t\t\treturn ";

+	protected final String TEXT_131 = "() ? Boolean.TRUE : Boolean.FALSE;";

+	protected final String TEXT_132 = NL + "\t\t\t\treturn new ";

+	protected final String TEXT_133 = "());";

+	protected final String TEXT_134 = NL + "\t\t\t\tif (resolve) return ";

+	protected final String TEXT_135 = "();" + NL + "\t\t\t\treturn basicGet";

+	protected final String TEXT_136 = NL + "\t\t\t\tif (coreType) return ((";

+	protected final String TEXT_137 = "()).eMap();" + NL + "\t\t\t\telse return ";

+	protected final String TEXT_138 = NL + "\t\t\t\tif (coreType) return ";

+	protected final String TEXT_139 = "();" + NL + "\t\t\t\telse return ";

+	protected final String TEXT_140 = "().map();";

+	protected final String TEXT_141 = "()).featureMap();" + NL + "\t\t\t\treturn ";

+	protected final String TEXT_142 = "();" + NL + "\t\t\t\treturn ((";

+	protected final String TEXT_143 = ".Internal)";

+	protected final String TEXT_144 = "()).getWrapper();";

+	protected final String TEXT_145 = "\t\treturn super.eGet(featureID, resolve, coreType);";

+	protected final String TEXT_146 = "\t\treturn eDynamicGet(featureID, resolve, coreType);";

+	protected final String TEXT_147 = NL + "\tpublic void eSet(int featureID, Object newValue)" + NL + "\t{" + NL

+			+ "\t\tswitch (featureID";

+	protected final String TEXT_148 = NL + "\t\t\t\t((";

+	protected final String TEXT_149 = ".Internal)((";

+	protected final String TEXT_150 = "()).featureMap()).set(newValue);";

+	protected final String TEXT_151 = "()).set(newValue);";

+	protected final String TEXT_152 = ".Setting)((";

+	protected final String TEXT_153 = "()).eMap()).set(newValue);";

+	protected final String TEXT_154 = ".Setting)";

+	protected final String TEXT_155 = "().clear();" + NL + "\t\t\t\t";

+	protected final String TEXT_156 = "().addAll((";

+	protected final String TEXT_157 = "<? extends ";

+	protected final String TEXT_158 = ">";

+	protected final String TEXT_159 = ")newValue);";

+	protected final String TEXT_160 = NL + "\t\t\t\tset";

+	protected final String TEXT_161 = "(((";

+	protected final String TEXT_162 = ")newValue).";

+	protected final String TEXT_163 = "newValue);";

+	protected final String TEXT_164 = NL + "\t\t\t\treturn;";

+	protected final String TEXT_165 = "\t\tsuper.eSet(featureID, newValue);";

+	protected final String TEXT_166 = "\t\teDynamicSet(featureID, newValue);";

+	protected final String TEXT_167 = NL + "\tpublic int eBaseStructuralFeatureID(int derivedFeatureID, Class";

+	protected final String TEXT_168 = " baseClass)" + NL + "\t{";

+	protected final String TEXT_169 = NL + "\t\tif (baseClass == ";

+	protected final String TEXT_170 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (derivedFeatureID";

+	protected final String TEXT_171 = ")" + NL + "\t\t\t{";

+	protected final String TEXT_172 = NL + "\t\t\t\tcase ";

+	protected final String TEXT_173 = ": return ";

+	protected final String TEXT_174 = NL + "\t\t\t\tdefault: return -1;" + NL + "\t\t\t}" + NL + "\t\t}";

+	protected final String TEXT_175 = NL + "\t\treturn super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);"

+			+ NL + "\t}";

+	protected final String TEXT_176 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

+	protected final String TEXT_177 = NL + "\tpublic int eDerivedStructuralFeatureID(int baseFeatureID, Class";

+	protected final String TEXT_178 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseFeatureID)" + NL + "\t\t\t{";

+	protected final String TEXT_179 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseFeatureID";

+	protected final String TEXT_180 = NL + "\t\treturn super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);"

+			+ NL + "\t}" + NL;

+	protected final String TEXT_181 = NL + "\tpublic int eDerivedOperationID(int baseOperationID, Class";

+	protected final String TEXT_182 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseOperationID)" + NL + "\t\t\t{";

+	protected final String TEXT_183 = NL

+			+ "\t\t\t\tdefault: return super.eDerivedOperationID(baseOperationID, baseClass);" + NL + "\t\t\t}" + NL

+			+ "\t\t}";

+	protected final String TEXT_184 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseOperationID";

+	protected final String TEXT_185 = NL + "\t\treturn super.eDerivedOperationID(baseOperationID, baseClass);" + NL

+			+ "\t}" + NL;

+	protected final String TEXT_186 = NL + "\tprotected Object[] eVirtualValues()" + NL + "\t{" + NL + "\t\treturn ";

+	protected final String TEXT_187 = ";" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->"

+			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

+	protected final String TEXT_188 = NL + "\tprotected void eSetVirtualValues(Object[] newValues)" + NL + "\t{" + NL

+			+ "\t\t";

+	protected final String TEXT_189 = " = newValues;" + NL + "\t}" + NL;

+	protected final String TEXT_190 = NL + "\tprotected int eVirtualIndexBits(int offset)" + NL + "\t{" + NL

+			+ "\t\tswitch (offset)" + NL + "\t\t{";

+	protected final String TEXT_191 = " :" + NL + "\t\t\t\treturn ";

+	protected final String TEXT_192 = 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_193 = NL + "\tprotected void eSetVirtualIndexBits(int offset, int newIndexBits)" + NL

+			+ "\t{" + NL + "\t\tswitch (offset)" + NL + "\t\t{";

+	protected final String TEXT_194 = " :" + NL + "\t\t\t\t";

+	protected final String TEXT_195 = " = newIndexBits;" + NL + "\t\t\t\tbreak;";

+	protected final String TEXT_196 = NL + "\t\t\tdefault :" + NL + "\t\t\t\tthrow new IndexOutOfBoundsException();"

+			+ NL + "\t\t}" + NL + "\t}" + NL;

+	protected final String TEXT_197 = NL + "\t@SuppressWarnings(";

+	protected final String TEXT_198 = "\"unchecked\"";

+	protected final String TEXT_199 = "{\"rawtypes\", \"unchecked\" }";

+	protected final String TEXT_200 = NL + "\tpublic Object eInvoke(int operationID, ";

+	protected final String TEXT_201 = " arguments) throws ";

+	protected final String TEXT_202 = NL + "\t{" + NL + "\t\tswitch (operationID";

+	protected final String TEXT_203 = NL + "\t\t\t\ttry" + NL + "\t\t\t\t{";

+	protected final String TEXT_204 = "arguments.get(";

+	protected final String TEXT_205 = ").";

+	protected final String TEXT_206 = ");" + NL + "\t\t\t\t";

+	protected final String TEXT_207 = "return null;";

+	protected final String TEXT_208 = "return ";

+	protected final String TEXT_209 = "new ";

+	protected final String TEXT_210 = NL + "\t\t\t\t}" + NL + "\t\t\t\tcatch (";

+	protected final String TEXT_211 = " throwable)" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\tthrow new ";

+	protected final String TEXT_212 = "(throwable);" + NL + "\t\t\t\t}";

+	protected final String TEXT_213 = "\t\treturn super.eInvoke(operationID, arguments);";

+	protected final String TEXT_214 = "\t\treturn eDynamicInvoke(operationID, arguments);";

+	protected final String TEXT_215 = NL + "\tpublic String toString()" + NL + "\t{" + NL

+			+ "\t\tif (eIsProxy()) return super.toString();" + NL + "" + NL + "\t\t";

+	protected final String TEXT_216 = " result = new ";

+	protected final String TEXT_217 = "(super.toString());";

+	protected final String TEXT_218 = NL + "\t\tresult.append(\" (";

+	protected final String TEXT_219 = ": \");";

+	protected final String TEXT_220 = NL + "\t\tresult.append(\", ";

+	protected final String TEXT_221 = NL + "\t\tif (eVirtualIsSet(";

+	protected final String TEXT_222 = ")) result.append(eVirtualGet(";

+	protected final String TEXT_223 = ")); else result.append(\"<unset>\");";

+	protected final String TEXT_224 = NL + "\t\tif (";

+	protected final String TEXT_225 = " & ";

+	protected final String TEXT_226 = "_ESETFLAG) != 0";

+	protected final String TEXT_227 = "ESet";

+	protected final String TEXT_228 = ") result.append((";

+	protected final String TEXT_229 = "_EFLAG) != 0); else result.append(\"<unset>\");";

+	protected final String TEXT_230 = ") result.append(";

+	protected final String TEXT_231 = "_EFLAG_VALUES[(";

+	protected final String TEXT_232 = "_EFLAG) >>> ";

+	protected final String TEXT_233 = "_EFLAG_OFFSET]); else result.append(\"<unset>\");";

+	protected final String TEXT_234 = "); else result.append(\"<unset>\");";

+	protected final String TEXT_235 = NL + "\t\tresult.append(eVirtualGet(";

+	protected final String TEXT_236 = "));";

+	protected final String TEXT_237 = NL + "\t\tresult.append((";

+	protected final String TEXT_238 = "_EFLAG) != 0);";

+	protected final String TEXT_239 = NL + "\t\tresult.append(";

+	protected final String TEXT_240 = "_EFLAG_OFFSET]);";

+	protected final String TEXT_241 = NL + "\t\tresult.append(')');" + NL + "\t\treturn result.toString();" + NL + "\t}"

+			+ NL;

+	protected final String TEXT_242 = NL + "\tprotected int hash = -1;" + NL + "" + NL + "\t/**" + NL

+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

+			+ "\t */";

+	protected final String TEXT_243 = NL + "\tpublic int getHash()" + NL + "\t{" + NL + "\t\tif (hash == -1)" + NL

+			+ "\t\t{" + NL + "\t\t\t";

+	protected final String TEXT_244 = " 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 */";

+	protected final String TEXT_245 = 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 */";

+	protected final String TEXT_246 = " getKey()" + NL + "\t{";

+	protected final String TEXT_247 = NL + "\t\treturn new ";

+	protected final String TEXT_248 = "(getTypedKey());";

+	protected final String TEXT_249 = NL + "\t\treturn getTypedKey();";

+	protected final String TEXT_250 = NL + "\tpublic void setKey(";

+	protected final String TEXT_251 = " key)" + NL + "\t{";

+	protected final String TEXT_252 = NL + "\t\tgetTypedKey().addAll(";

+	protected final String TEXT_253 = "key);";

+	protected final String TEXT_254 = NL + "\t\tsetTypedKey(key);";

+	protected final String TEXT_255 = NL + "\t\tsetTypedKey(((";

+	protected final String TEXT_256 = ")key).";

+	protected final String TEXT_257 = NL + "\t\tsetTypedKey((";

+	protected final String TEXT_258 = ")key);";

+	protected final String TEXT_259 = " getValue()" + NL + "\t{";

+	protected final String TEXT_260 = "(getTypedValue());";

+	protected final String TEXT_261 = NL + "\t\treturn getTypedValue();";

+	protected final String TEXT_262 = " setValue(";

+	protected final String TEXT_263 = " value)" + NL + "\t{" + NL + "\t\t";

+	protected final String TEXT_264 = " oldValue = getValue();";

+	protected final String TEXT_265 = NL + "\t\tgetTypedValue().clear();" + NL + "\t\tgetTypedValue().addAll(";

+	protected final String TEXT_266 = "value);";

+	protected final String TEXT_267 = NL + "\t\tsetTypedValue(value);";

+	protected final String TEXT_268 = NL + "\t\tsetTypedValue(((";

+	protected final String TEXT_269 = ")value).";

+	protected final String TEXT_270 = NL + "\t\tsetTypedValue((";

+	protected final String TEXT_271 = ")value);";

+	protected final String TEXT_272 = 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_273 = " getEMap()" + NL + "\t{" + NL + "\t\t";

+	protected final String TEXT_274 = " container = eContainer();" + NL + "\t\treturn container == null ? null : (";

+	protected final String TEXT_275 = ")container.eGet(eContainmentFeature());" + NL + "\t}" + NL;

+	protected final String TEXT_276 = NL + "} //";

+	protected final String TEXT_277 = 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_277);

+		stringBuffer.append(TEXT_277);

+		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-2019 IBM Corporation and others.

+		 * All rights reserved.   This program and the accompanying materials

+		 * are made available under the terms of the Eclipse Public License v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.html

+		 *

+		 * Contributors:

+		 *   IBM - Initial API and implementation

+		 *   Alexander Fedorov <alexander.fedorov@arsysop.ru> - Bug 546714

+		 */

+

+		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 useInterfaceOverrideAnnotation = genModel.useInterfaceOverrideAnnotation()

+				&& !(isInterface && isImplementation);

+		final boolean isGWT = genModel.getRuntimePlatform() == GenRuntimePlatform.GWT;

+		final boolean forceDefaultCase = genModel.isSwitchMissingDefaultCase();

+		final String indentDefaultCase = forceDefaultCase ? "\t\t" : "";

+		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_2);

+			stringBuffer.append(genPackage.getClassPackageName());

+			stringBuffer.append(TEXT_3);

+		}

+		stringBuffer.append(TEXT_4);

+		genModel.markImportLocation(stringBuffer, genPackage);

+		if (isImplementation) {

+			genClass.addClassPsuedoImports();

+		}

+		stringBuffer.append(TEXT_4);

+		if (isInterface) {

+			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.interface.javadoc.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_5);

+			stringBuffer.append(genClass.getFormattedName());

+			stringBuffer.append(TEXT_6);

+			if (!genClass.getImplementedGenFeatures().isEmpty()) {

+				stringBuffer.append(TEXT_7);

+				for (GenFeature genFeature : genClass.getImplementedGenFeatures()) {

+					stringBuffer.append(TEXT_8);

+					stringBuffer.append(genClass.getQualifiedClassName());

+					stringBuffer.append(TEXT_9);

+					stringBuffer.append(genFeature.getGetAccessor());

+					stringBuffer.append(TEXT_10);

+					stringBuffer.append(genFeature.getFormattedName());

+					stringBuffer.append(TEXT_11);

+				}

+				stringBuffer.append(TEXT_12);

+			}

+			stringBuffer.append(TEXT_13);

+			if (genClass.hasImplicitAPITags()) {

+				stringBuffer.append(TEXT_14);

+				stringBuffer.append(genClass.getImplicitAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_15);

+		}

+		if (isJDK50 && genClass.hasImplicitAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_16);

+		}

+		if (isImplementation) {

+			if (isJDK50 && !genClass.hasAPIDeprecatedTag()

+					&& GenModelUtil.hasImplicitAPIDeprecatedTag(genClass.getEGetGenFeatures(),

+							genClass.getEIsSetGenFeatures(), genClass.getESetGenFeatures(),

+							genClass.getEUnsetGenFeatures(), genClass.getEInverseAddGenFeatures(),

+							genClass.getEInverseRemoveGenFeatures(), genClass.getEBasicRemoveFromContainerGenFeatures(),

+							genClass.getToStringGenFeatures())) {

+				stringBuffer.append(TEXT_17);

+			}

+			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_3);

+			stringBuffer.append(genModel.getNonNLS());

+			stringBuffer.append(TEXT_4);

+		}

+		if (isImplementation && genModel.getDriverNumber() != null) {

+			stringBuffer.append(TEXT_25);

+			stringBuffer.append(genModel.getImportedName("java.lang.String"));

+			stringBuffer.append(TEXT_26);

+			stringBuffer.append(genModel.getDriverNumber());

+			stringBuffer.append(TEXT_27);

+			stringBuffer.append(genModel.getNonNLS());

+			stringBuffer.append(TEXT_4);

+		}

+		if (isImplementation && genClass.isJavaIOSerializable()) {

+			stringBuffer.append(TEXT_28);

+		}

+		if (isImplementation && genModel.isVirtualDelegation()) {

+			String eVirtualValuesField = genClass.getEVirtualValuesField();

+			if (eVirtualValuesField != null) {

+				stringBuffer.append(TEXT_29);

+				if (isGWT) {

+					stringBuffer.append(TEXT_30);

+					stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));

+				}

+				stringBuffer.append(TEXT_31);

+				stringBuffer.append(eVirtualValuesField);

+				stringBuffer.append(TEXT_32);

+			}

+			{

+				List<String> eVirtualIndexBitFields = genClass.getEVirtualIndexBitFields(new ArrayList<String>());

+				if (!eVirtualIndexBitFields.isEmpty()) {

+					for (String eVirtualIndexBitField : eVirtualIndexBitFields) {

+						stringBuffer.append(TEXT_33);

+						if (isGWT) {

+							stringBuffer.append(TEXT_30);

+							stringBuffer

+									.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));

+						}

+						stringBuffer.append(TEXT_34);

+						stringBuffer.append(eVirtualIndexBitField);

+						stringBuffer.append(TEXT_32);

+					}

+				}

+			}

+		}

+		if (isImplementation && genClass.isModelRoot() && genModel.isBooleanFlagsEnabled()

+				&& genModel.getBooleanFlagsReservedBits() == -1) {

+			stringBuffer.append(TEXT_35);

+			if (isGWT) {

+				stringBuffer.append(TEXT_30);

+				stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));

+			}

+			stringBuffer.append(TEXT_34);

+			stringBuffer.append(genModel.getBooleanFlagsField());

+			stringBuffer.append(TEXT_36);

+		}

+		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_37);

+					stringBuffer.append(genFeature.getGetArrayAccessor());

+					stringBuffer.append(TEXT_38);

+					stringBuffer.append(genFeature.getFormattedName());

+					stringBuffer.append(TEXT_39);

+					stringBuffer.append(genFeature.getGetArrayAccessor());

+					stringBuffer.append(TEXT_40);

+					if (genFeature.hasAPITags()) {

+						stringBuffer.append(TEXT_41);

+						stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+					}

+					stringBuffer.append(TEXT_42);

+					if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+						stringBuffer.append(TEXT_43);

+					}

+					if (genFeature.getQualifiedListItemType(genClass).contains("<")

+							|| genFeature.getArrayItemType(genClass).contains("<")) {

+						stringBuffer.append(TEXT_44);

+					}

+					stringBuffer.append(TEXT_45);

+					stringBuffer.append(rawListItemType);

+					stringBuffer.append(TEXT_46);

+					stringBuffer.append(genFeature.getUpperName());

+					stringBuffer.append(TEXT_47);

+					stringBuffer.append(head);

+					stringBuffer.append(TEXT_48);

+					stringBuffer.append(tail);

+					stringBuffer.append(TEXT_32);

+				}

+			}

+			for (GenFeature genFeature : genClass.getDeclaredFieldGenFeatures()) {

+				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.declaredFieldGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+					callParameters.put("isGWT", isGWT);

+					callParameters.put("forceDefaultCase", forceDefaultCase);

+					callParameters.put("indentDefaultCase", indentDefaultCase);

+					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_49);

+			stringBuffer.append(genClass.getOffsetCorrectionField(null));

+			stringBuffer.append(TEXT_50);

+			stringBuffer.append(genClass.getQualifiedClassifierAccessor());

+			stringBuffer.append(TEXT_51);

+			stringBuffer.append(genClass.getImplementedGenFeatures().get(0).getQualifiedFeatureAccessor());

+			stringBuffer.append(TEXT_52);

+			stringBuffer.append(genClass.getQualifiedFeatureID(genClass.getImplementedGenFeatures().get(0)));

+			stringBuffer.append(TEXT_32);

+		}

+		if (isImplementation && !genModel.isReflectiveDelegation()) {

+			for (GenFeature genFeature : genClass.getImplementedGenFeatures()) {

+				GenFeature reverseFeature = genFeature.getReverse();

+				if (reverseFeature != null && reverseFeature.getGenClass().hasOffsetCorrection()) {

+					stringBuffer.append(TEXT_53);

+					if (genFeature.hasAPITags()) {

+						stringBuffer.append(TEXT_41);

+						stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+					}

+					stringBuffer.append(TEXT_54);

+					if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+						stringBuffer.append(TEXT_43);

+					}

+					stringBuffer.append(TEXT_55);

+					stringBuffer.append(genClass.getOffsetCorrectionField(genFeature));

+					stringBuffer.append(TEXT_50);

+					stringBuffer.append(reverseFeature.getGenClass().getQualifiedClassifierAccessor());

+					stringBuffer.append(TEXT_51);

+					stringBuffer.append(reverseFeature.getQualifiedFeatureAccessor());

+					stringBuffer.append(TEXT_52);

+					stringBuffer.append(reverseFeature.getGenClass().getQualifiedFeatureID(reverseFeature));

+					stringBuffer.append(TEXT_32);

+				}

+			}

+		}

+		if (genModel.isOperationReflection() && isImplementation && genClass.hasOffsetCorrection()

+				&& !genClass.getImplementedGenOperations().isEmpty()) {

+			stringBuffer.append(TEXT_56);

+			stringBuffer.append(genClass.getQualifiedClassifierAccessor());

+			stringBuffer.append(TEXT_57);

+			stringBuffer.append(genClass.getImplementedGenOperations().get(0).getQualifiedOperationAccessor());

+			stringBuffer.append(TEXT_52);

+			stringBuffer.append(genClass.getQualifiedOperationID(genClass.getImplementedGenOperations().get(0)));

+			stringBuffer.append(TEXT_32);

+		}

+		if (isImplementation) {

+			stringBuffer.append(TEXT_23);

+			if (genModel.isPublicConstructors()) {

+				stringBuffer.append(TEXT_58);

+			} else {

+				stringBuffer.append(TEXT_59);

+			}

+			stringBuffer.append(TEXT_60);

+			stringBuffer.append(genClass.getClassName());

+			stringBuffer.append(TEXT_61);

+			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.egfCustom.constructor.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_62);

+				stringBuffer.append(genClass.getFlagsField(genFeature));

+				stringBuffer.append(TEXT_63);

+				stringBuffer.append(genFeature.getUpperName());

+				stringBuffer.append(TEXT_64);

+				if (!genFeature.isBooleanType()) {

+					stringBuffer.append(TEXT_65);

+				}

+				stringBuffer.append(TEXT_3);

+			}

+			stringBuffer.append(TEXT_66);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_67);

+			}

+			stringBuffer.append(TEXT_68);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClass"));

+			stringBuffer.append(TEXT_69);

+			stringBuffer.append(genClass.getQualifiedClassifierAccessor());

+			stringBuffer.append(TEXT_70);

+		}

+		if (isImplementation && genModel.isDynamicDelegation()) {

+			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.dynamicDelegation" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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#_cAErkCSWEemxeP6B0lLOpA",

+						new ExecutionContext((InternalPatternContext) ctx), callParameters);

+				stringBuffer.setLength(0);

+			}

+

+		}

+		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.reflectiveDelegation.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+			callParameters.put("isGWT", isGWT);

+			callParameters.put("forceDefaultCase", forceDefaultCase);

+			callParameters.put("indentDefaultCase", indentDefaultCase);

+			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_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.genFeatureReified.override" args="genFeature:genFeature,classExtendsGenClass:classExtendsGenClass,classExtendsAllGenFeatures:classExtendsAllGenFeatures,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+							callParameters.put("isGWT", isGWT);

+							callParameters.put("forceDefaultCase", forceDefaultCase);

+							callParameters.put("indentDefaultCase", indentDefaultCase);

+							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_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.genFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+						callParameters.put("isGWT", isGWT);

+						callParameters.put("forceDefaultCase", forceDefaultCase);

+						callParameters.put("indentDefaultCase", indentDefaultCase);

+						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_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.genOperation.override" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_71);

+			if (genModel.useGenerics()) {

+				for (GenFeature genFeature : genClass.getEInverseAddGenFeatures()) {

+					if (genFeature.isUncheckedCast(genClass)) {

+						stringBuffer.append(TEXT_72);

+						break;

+					}

+				}

+			}

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_67);

+			}

+			stringBuffer.append(TEXT_73);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

+			stringBuffer.append(TEXT_74);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

+			stringBuffer.append(TEXT_75);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

+			stringBuffer.append(TEXT_76);

+			stringBuffer.append(negativeOffsetCorrection);

+			stringBuffer.append(TEXT_77);

+			for (GenFeature genFeature : genClass.getEInverseAddGenFeatures()) {

+				stringBuffer.append(TEXT_78);

+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+				stringBuffer.append(TEXT_79);

+				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_80);

+						stringBuffer.append(cast);

+						stringBuffer.append(TEXT_81);

+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EMap"));

+						stringBuffer.append(TEXT_82);

+						stringBuffer.append(genFeature.getImportedMapTemplateArguments(genClass));

+						stringBuffer.append(TEXT_83);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_84);

+					} else {

+						stringBuffer.append(TEXT_85);

+						stringBuffer.append(cast);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_86);

+					}

+				} else if (genFeature.isContainer()) {

+					stringBuffer.append(TEXT_87);

+					if (genFeature.isBasicSet()) {

+						stringBuffer.append(TEXT_88);

+						stringBuffer.append(genFeature.getAccessorName());

+						stringBuffer.append(TEXT_89);

+						stringBuffer.append(genFeature.getImportedType(genClass));

+						stringBuffer.append(TEXT_90);

+					} else {

+						stringBuffer.append(TEXT_91);

+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(positiveOffsetCorrection);

+						stringBuffer.append(TEXT_92);

+					}

+				} else {

+					if (genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {

+						stringBuffer.append(TEXT_93);

+						stringBuffer.append(genFeature.getImportedType(genClass));

+						stringBuffer.append(TEXT_60);

+						stringBuffer.append(genFeature.getSafeName());

+						stringBuffer.append(TEXT_94);

+						stringBuffer.append(genFeature.getImportedType(genClass));

+						stringBuffer.append(TEXT_95);

+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(positiveOffsetCorrection);

+						stringBuffer.append(TEXT_96);

+					} else if (genFeature.isVolatile()

+							|| genClass.getImplementingGenModel(genFeature).isDynamicDelegation()) {

+						stringBuffer.append(TEXT_93);

+						stringBuffer.append(genFeature.getImportedType(genClass));

+						stringBuffer.append(TEXT_60);

+						stringBuffer.append(genFeature.getSafeName());

+						stringBuffer.append(TEXT_50);

+						if (genFeature.isResolveProxies()) {

+							stringBuffer.append(TEXT_97);

+							stringBuffer.append(genFeature.getAccessorName());

+						} else {

+							stringBuffer.append(genFeature.getGetAccessor());

+						}

+						stringBuffer.append(TEXT_98);

+					}

+					stringBuffer.append(TEXT_99);

+					stringBuffer.append(genFeature.getSafeName());

+					stringBuffer.append(TEXT_100);

+					if (genFeature.isEffectiveContains()) {

+						stringBuffer.append(TEXT_101);

+						stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), true));

+						stringBuffer.append(TEXT_102);

+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(negativeOffsetCorrection);

+						stringBuffer.append(TEXT_103);

+					} else {

+						GenFeature reverseFeature = genFeature.getReverse();

+						GenClass targetClass = reverseFeature.getGenClass();

+						String reverseOffsetCorrection = targetClass.hasOffsetCorrection()

+								? " + " + genClass.getOffsetCorrectionField(genFeature)

+								: "";

+						stringBuffer.append(TEXT_101);

+						stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), true));

+						stringBuffer.append(TEXT_104);

+						stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));

+						stringBuffer.append(reverseOffsetCorrection);

+						stringBuffer.append(TEXT_105);

+						stringBuffer.append(targetClass.getRawImportedInterfaceName());

+						stringBuffer.append(TEXT_106);

+					}

+					stringBuffer.append(TEXT_88);

+					stringBuffer.append(genFeature.getAccessorName());

+					stringBuffer.append(TEXT_89);

+					stringBuffer.append(genFeature.getImportedType(genClass));

+					stringBuffer.append(TEXT_90);

+				}

+			}

+			if (forceDefaultCase) {

+				stringBuffer.append(TEXT_107);

+			} else {

+				stringBuffer.append(TEXT_108);

+			}

+			if (genModel.isMinimalReflectiveMethods()) {

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(indentDefaultCase);

+				stringBuffer.append(TEXT_109);

+			} else {

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(indentDefaultCase);

+				stringBuffer.append(TEXT_110);

+			}

+			if (forceDefaultCase) {

+				stringBuffer.append(TEXT_108);

+			}

+			stringBuffer.append(TEXT_111);

+		}

+		if (isImplementation && !genModel.isReflectiveDelegation()

+				&& genClass.implementsAny(genClass.getEInverseRemoveGenFeatures())) {

+			stringBuffer.append(TEXT_71);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_67);

+			}

+			stringBuffer.append(TEXT_73);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

+			stringBuffer.append(TEXT_112);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

+			stringBuffer.append(TEXT_75);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

+			stringBuffer.append(TEXT_76);

+			stringBuffer.append(negativeOffsetCorrection);

+			stringBuffer.append(TEXT_77);

+			for (GenFeature genFeature : genClass.getEInverseRemoveGenFeatures()) {

+				stringBuffer.append(TEXT_78);

+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+				stringBuffer.append(TEXT_79);

+				if (genFeature.isListType()) {

+					if (genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes()) {

+						stringBuffer.append(TEXT_80);

+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList"));

+						stringBuffer.append(singleWildcard);

+						stringBuffer.append(TEXT_113);

+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EMap"));

+						stringBuffer.append(TEXT_82);

+						stringBuffer.append(genFeature.getImportedMapTemplateArguments(genClass));

+						stringBuffer.append(TEXT_83);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_114);

+					} else if (genFeature.isWrappedFeatureMapType()) {

+						stringBuffer.append(TEXT_80);

+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList"));

+						stringBuffer.append(singleWildcard);

+						stringBuffer.append(TEXT_113);

+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+						stringBuffer.append(TEXT_115);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_116);

+					} else {

+						stringBuffer.append(TEXT_80);

+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList"));

+						stringBuffer.append(singleWildcard);

+						stringBuffer.append(TEXT_83);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_117);

+					}

+				} else if (genFeature.isContainer() && !genFeature.isBasicSet()) {

+					stringBuffer.append(TEXT_118);

+					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+					stringBuffer.append(positiveOffsetCorrection);

+					stringBuffer.append(TEXT_92);

+				} else if (genFeature.isUnsettable()) {

+					stringBuffer.append(TEXT_119);

+					stringBuffer.append(genFeature.getAccessorName());

+					stringBuffer.append(TEXT_120);

+				} else {

+					stringBuffer.append(TEXT_88);

+					stringBuffer.append(genFeature.getAccessorName());

+					stringBuffer.append(TEXT_121);

+				}

+			}

+			if (forceDefaultCase) {

+				stringBuffer.append(TEXT_107);

+			} else { // {

+				stringBuffer.append(TEXT_108);

+			}

+			if (genModel.isMinimalReflectiveMethods()) {

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(indentDefaultCase);

+				stringBuffer.append(TEXT_122);

+			} else {

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(indentDefaultCase);

+				stringBuffer.append(TEXT_123);

+			}

+			if (forceDefaultCase) { // {

+				stringBuffer.append(TEXT_108);

+			} // }

+			stringBuffer.append(TEXT_111);

+		}

+		if (isImplementation && !genModel.isReflectiveDelegation()

+				&& genClass.implementsAny(genClass.getEBasicRemoveFromContainerGenFeatures())) {

+			stringBuffer.append(TEXT_71);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_67);

+			}

+			stringBuffer.append(TEXT_73);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

+			stringBuffer.append(TEXT_124);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

+			stringBuffer.append(TEXT_125);

+			stringBuffer.append(negativeOffsetCorrection);

+			stringBuffer.append(TEXT_77);

+			for (GenFeature genFeature : genClass.getEBasicRemoveFromContainerGenFeatures()) {

+				GenFeature reverseFeature = genFeature.getReverse();

+				GenClass targetClass = reverseFeature.getGenClass();

+				String reverseOffsetCorrection = targetClass.hasOffsetCorrection()

+						? " + " + genClass.getOffsetCorrectionField(genFeature)

+						: "";

+				stringBuffer.append(TEXT_78);

+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+				stringBuffer.append(TEXT_126);

+				stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));

+				stringBuffer.append(reverseOffsetCorrection);

+				stringBuffer.append(TEXT_105);

+				stringBuffer.append(targetClass.getRawImportedInterfaceName());

+				stringBuffer.append(TEXT_106);

+			}

+			if (forceDefaultCase) {

+				stringBuffer.append(TEXT_107);

+			} else { // {

+				stringBuffer.append(TEXT_108);

+			}

+			if (genModel.isMinimalReflectiveMethods()) {

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(indentDefaultCase);

+				stringBuffer.append(TEXT_127);

+			} else {

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(indentDefaultCase);

+				stringBuffer.append(TEXT_128);

+			}

+			if (forceDefaultCase) { // {

+				stringBuffer.append(TEXT_108);

+			} // }

+			stringBuffer.append(TEXT_111);

+		}

+		if (isImplementation && !genModel.isReflectiveDelegation()

+				&& genClass.implementsAny(genClass.getEGetGenFeatures())) {

+			stringBuffer.append(TEXT_71);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_67);

+			}

+			stringBuffer.append(TEXT_129);

+			stringBuffer.append(negativeOffsetCorrection);

+			stringBuffer.append(TEXT_77);

+			for (GenFeature genFeature : genClass.getEGetGenFeatures()) {

+				stringBuffer.append(TEXT_78);

+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+				stringBuffer.append(TEXT_79);

+				if (genFeature.isPrimitiveType()) {

+					if (isJDK50) {

+						stringBuffer.append(TEXT_130);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_98);

+					} else if (genFeature.isBooleanType()) {

+						stringBuffer.append(TEXT_130);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_131);

+					} else {

+						stringBuffer.append(TEXT_132);

+						stringBuffer.append(genFeature.getObjectType(genClass));

+						stringBuffer.append(TEXT_81);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_133);

+					}

+				} else if (genFeature.isResolveProxies() && !genFeature.isListType()) {

+					stringBuffer.append(TEXT_134);

+					stringBuffer.append(genFeature.getGetAccessor());

+					stringBuffer.append(TEXT_135);

+					stringBuffer.append(genFeature.getAccessorName());

+					stringBuffer.append(TEXT_98);

+				} else if (genFeature.isMapType()) {

+					if (genFeature.isEffectiveSuppressEMFTypes()) {

+						stringBuffer.append(TEXT_136);

+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EMap"));

+						stringBuffer.append(TEXT_82);

+						stringBuffer.append(genFeature.getImportedMapTemplateArguments(genClass));

+						stringBuffer.append(TEXT_83);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_137);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_98);

+					} else {

+						stringBuffer.append(TEXT_138);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_139);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_140);

+					}

+				} else if (genFeature.isWrappedFeatureMapType()) {

+					stringBuffer.append(TEXT_136);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+					stringBuffer.append(TEXT_115);

+					stringBuffer.append(genFeature.getGetAccessor());

+					stringBuffer.append(TEXT_141);

+					stringBuffer.append(genFeature.getGetAccessor());

+					stringBuffer.append(TEXT_98);

+				} else if (genFeature.isFeatureMapType()) {

+					stringBuffer.append(TEXT_138);

+					stringBuffer.append(genFeature.getGetAccessor());

+					stringBuffer.append(TEXT_142);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+					stringBuffer.append(TEXT_143);

+					stringBuffer.append(genFeature.getGetAccessor());

+					stringBuffer.append(TEXT_144);

+				} else {

+					stringBuffer.append(TEXT_130);

+					stringBuffer.append(genFeature.getGetAccessor());

+					stringBuffer.append(TEXT_98);

+				}

+			}

+			if (forceDefaultCase) {

+				stringBuffer.append(TEXT_107);

+			} else { // {

+				stringBuffer.append(TEXT_108);

+			}

+			if (genModel.isMinimalReflectiveMethods()) {

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(indentDefaultCase);

+				stringBuffer.append(TEXT_145);

+			} else {

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(indentDefaultCase);

+				stringBuffer.append(TEXT_146);

+			}

+			if (forceDefaultCase) { // {

+				stringBuffer.append(TEXT_108);

+			} // }

+			stringBuffer.append(TEXT_111);

+		}

+		if (isImplementation && !genModel.isReflectiveDelegation()

+				&& genClass.implementsAny(genClass.getESetGenFeatures())) {

+			stringBuffer.append(TEXT_71);

+			if (genModel.useGenerics()) {

+				for (GenFeature genFeature : genClass.getESetGenFeatures()) {

+					if (genFeature.isUncheckedCast(genClass) && !genFeature.isFeatureMapType()

+							&& !genFeature.isMapType()) {

+						stringBuffer.append(TEXT_72);

+						break;

+					}

+				}

+			}

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_67);

+			}

+			stringBuffer.append(TEXT_147);

+			stringBuffer.append(negativeOffsetCorrection);

+			stringBuffer.append(TEXT_77);

+			for (GenFeature genFeature : genClass.getESetGenFeatures()) {

+				stringBuffer.append(TEXT_78);

+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+				stringBuffer.append(TEXT_79);

+				if (genFeature.isListType()) {

+					if (genFeature.isWrappedFeatureMapType()) {

+						stringBuffer.append(TEXT_148);

+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+						stringBuffer.append(TEXT_149);

+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+						stringBuffer.append(TEXT_115);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_150);

+					} else if (genFeature.isFeatureMapType()) {

+						stringBuffer.append(TEXT_148);

+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+						stringBuffer.append(TEXT_143);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_151);

+					} else if (genFeature.isMapType()) {

+						if (genFeature.isEffectiveSuppressEMFTypes()) {

+							stringBuffer.append(TEXT_148);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));

+							stringBuffer.append(TEXT_152);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EMap"));

+							stringBuffer.append(TEXT_82);

+							stringBuffer.append(genFeature.getImportedMapTemplateArguments(genClass));

+							stringBuffer.append(TEXT_83);

+							stringBuffer.append(genFeature.getGetAccessor());

+							stringBuffer.append(TEXT_153);

+						} else {

+							stringBuffer.append(TEXT_148);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));

+							stringBuffer.append(TEXT_154);

+							stringBuffer.append(genFeature.getGetAccessor());

+							stringBuffer.append(TEXT_151);

+						}

+					} else {

+						stringBuffer.append(TEXT_93);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_155);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_156);

+						stringBuffer.append(genModel.getImportedName("java.util.Collection"));

+						if (isJDK50) {

+							stringBuffer.append(TEXT_157);

+							stringBuffer.append(genFeature.getListItemType(genClass));

+							stringBuffer.append(TEXT_158);

+						}

+						stringBuffer.append(TEXT_159);

+					}

+				} else if (!isJDK50 && genFeature.isPrimitiveType()) {

+					stringBuffer.append(TEXT_160);

+					stringBuffer.append(genFeature.getAccessorName());

+					stringBuffer.append(TEXT_161);

+					stringBuffer.append(genFeature.getObjectType(genClass));

+					stringBuffer.append(TEXT_162);

+					stringBuffer.append(genFeature.getPrimitiveValueFunction());

+					stringBuffer.append(TEXT_133);

+				} else {

+					stringBuffer.append(TEXT_160);

+					stringBuffer.append(genFeature.getAccessorName());

+					stringBuffer.append(TEXT_81);

+					if (genFeature.getTypeGenDataType() == null || !genFeature.getTypeGenDataType().isObjectType()

+							|| !genFeature.getRawType().equals(genFeature.getType(genClass))) {

+						stringBuffer.append(TEXT_81);

+						stringBuffer.append(genFeature.getObjectType(genClass));

+						stringBuffer.append(TEXT_83);

+					}

+					stringBuffer.append(TEXT_163);

+				}

+				stringBuffer.append(TEXT_164);

+			}

+			if (forceDefaultCase) {

+				stringBuffer.append(TEXT_107);

+			} else { // {

+				stringBuffer.append(TEXT_108);

+			}

+			if (genModel.isMinimalReflectiveMethods()) {

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(indentDefaultCase);

+				stringBuffer.append(TEXT_165);

+				if (forceDefaultCase) {

+					stringBuffer.append(TEXT_164);

+				}

+			} else {

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(indentDefaultCase);

+				stringBuffer.append(TEXT_166);

+				if (forceDefaultCase) {

+					stringBuffer.append(TEXT_164);

+				}

+			}

+			if (forceDefaultCase) { // {

+				stringBuffer.append(TEXT_108);

+			} // }

+			stringBuffer.append(TEXT_111);

+		}

+		if (isImplementation && !genModel.isReflectiveDelegation()

+				&& genClass.implementsAny(genClass.getEUnsetGenFeatures())) {

+			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.eUnset.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_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.eIsSet.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_71);

+				if (genModel.useClassOverrideAnnotation()) {

+					stringBuffer.append(TEXT_67);

+				}

+				stringBuffer.append(TEXT_167);

+				stringBuffer.append(singleWildcard);

+				stringBuffer.append(TEXT_168);

+				for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {

+					stringBuffer.append(TEXT_169);

+					stringBuffer.append(mixinGenClass.getRawImportedInterfaceName());

+					stringBuffer.append(TEXT_170);

+					stringBuffer.append(negativeOffsetCorrection);

+					stringBuffer.append(TEXT_171);

+					for (GenFeature genFeature : mixinGenClass.getGenFeatures()) {

+						stringBuffer.append(TEXT_172);

+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(TEXT_173);

+						stringBuffer.append(mixinGenClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(TEXT_3);

+					}

+					stringBuffer.append(TEXT_174);

+				}

+				stringBuffer.append(TEXT_175);

+			}

+			stringBuffer.append(TEXT_176);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_67);

+			}

+			stringBuffer.append(TEXT_177);

+			stringBuffer.append(singleWildcard);

+			stringBuffer.append(TEXT_168);

+			for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {

+				stringBuffer.append(TEXT_169);

+				stringBuffer.append(mixinGenClass.getRawImportedInterfaceName());

+				stringBuffer.append(TEXT_178);

+				for (GenFeature genFeature : mixinGenClass.getGenFeatures()) {

+					stringBuffer.append(TEXT_172);

+					stringBuffer.append(mixinGenClass.getQualifiedFeatureID(genFeature));

+					stringBuffer.append(TEXT_173);

+					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+					stringBuffer.append(positiveOffsetCorrection);

+					stringBuffer.append(TEXT_3);

+				}

+				stringBuffer.append(TEXT_174);

+			}

+			if (genClass.hasOffsetCorrection() && !genClass.getGenFeatures().isEmpty()) {

+				stringBuffer.append(TEXT_169);

+				stringBuffer.append(genClass.getRawImportedInterfaceName());

+				stringBuffer.append(TEXT_179);

+				stringBuffer.append(negativeOffsetCorrection);

+				stringBuffer.append(TEXT_171);

+				for (GenFeature genFeature : genClass.getGenFeatures()) {

+					stringBuffer.append(TEXT_172);

+					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+					stringBuffer.append(TEXT_173);

+					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+					stringBuffer.append(positiveOffsetCorrection);

+					stringBuffer.append(TEXT_3);

+				}

+				stringBuffer.append(TEXT_174);

+			}

+			stringBuffer.append(TEXT_180);

+		}

+		if (genModel.isOperationReflection() && isImplementation

+				&& (!genClass.getMixinGenOperations().isEmpty()

+						|| !genClass.getOverrideGenOperations(genClass.getExtendedGenOperations(),

+								genClass.getImplementedGenOperations()).isEmpty()

+						|| genClass.hasOffsetCorrection() && !genClass.getGenOperations().isEmpty())) {

+			stringBuffer.append(TEXT_71);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_67);

+			}

+			stringBuffer.append(TEXT_181);

+			stringBuffer.append(singleWildcard);

+			stringBuffer.append(TEXT_168);

+			for (GenClass extendedGenClass : genClass.getExtendedGenClasses()) {

+				List<GenOperation> extendedImplementedGenOperations = extendedGenClass.getImplementedGenOperations();

+				List<GenOperation> implementedGenOperations = genClass.getImplementedGenOperations();

+				if (!genClass.getOverrideGenOperations(extendedImplementedGenOperations, implementedGenOperations)

+						.isEmpty()) {

+					stringBuffer.append(TEXT_169);

+					stringBuffer.append(extendedGenClass.getRawImportedInterfaceName());

+					stringBuffer.append(TEXT_182);

+					for (GenOperation genOperation : extendedImplementedGenOperations) {

+						GenOperation overrideGenOperation = genClass.getOverrideGenOperation(genOperation);

+						if (implementedGenOperations.contains(overrideGenOperation)) {

+							stringBuffer.append(TEXT_172);

+							stringBuffer.append(extendedGenClass.getQualifiedOperationID(genOperation));

+							stringBuffer.append(TEXT_173);

+							stringBuffer.append(genClass.getQualifiedOperationID(overrideGenOperation));

+							stringBuffer.append(positiveOperationOffsetCorrection);

+							stringBuffer.append(TEXT_3);

+						}

+					}

+					stringBuffer.append(TEXT_183);

+				}

+			}

+			for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {

+				stringBuffer.append(TEXT_169);

+				stringBuffer.append(mixinGenClass.getRawImportedInterfaceName());

+				stringBuffer.append(TEXT_182);

+				for (GenOperation genOperation : mixinGenClass.getGenOperations()) {

+					GenOperation overrideGenOperation = genClass.getOverrideGenOperation(genOperation);

+					stringBuffer.append(TEXT_172);

+					stringBuffer.append(mixinGenClass.getQualifiedOperationID(genOperation));

+					stringBuffer.append(TEXT_173);

+					stringBuffer.append(genClass.getQualifiedOperationID(

+							overrideGenOperation != null ? overrideGenOperation : genOperation));

+					stringBuffer.append(positiveOperationOffsetCorrection);

+					stringBuffer.append(TEXT_3);

+				}

+				stringBuffer.append(TEXT_174);

+			}

+			if (genClass.hasOffsetCorrection() && !genClass.getGenOperations().isEmpty()) {

+				stringBuffer.append(TEXT_169);

+				stringBuffer.append(genClass.getRawImportedInterfaceName());

+				stringBuffer.append(TEXT_184);

+				stringBuffer.append(negativeOperationOffsetCorrection);

+				stringBuffer.append(TEXT_171);

+				for (GenOperation genOperation : genClass.getGenOperations()) {

+					stringBuffer.append(TEXT_172);

+					stringBuffer.append(genClass.getQualifiedOperationID(genOperation));

+					stringBuffer.append(TEXT_173);

+					stringBuffer.append(genClass.getQualifiedOperationID(genOperation));

+					stringBuffer.append(positiveOperationOffsetCorrection);

+					stringBuffer.append(TEXT_3);

+				}

+				stringBuffer.append(TEXT_174);

+			}

+			stringBuffer.append(TEXT_185);

+		}

+		if (isImplementation && genModel.isVirtualDelegation()) {

+			String eVirtualValuesField = genClass.getEVirtualValuesField();

+			if (eVirtualValuesField != null) {

+				stringBuffer.append(TEXT_71);

+				if (genModel.useClassOverrideAnnotation()) {

+					stringBuffer.append(TEXT_67);

+				}

+				stringBuffer.append(TEXT_186);

+				stringBuffer.append(eVirtualValuesField);

+				stringBuffer.append(TEXT_187);

+				if (genModel.useClassOverrideAnnotation()) {

+					stringBuffer.append(TEXT_67);

+				}

+				stringBuffer.append(TEXT_188);

+				stringBuffer.append(eVirtualValuesField);

+				stringBuffer.append(TEXT_189);

+			}

+			{

+				List<String> eVirtualIndexBitFields = genClass.getEVirtualIndexBitFields(new ArrayList<String>());

+				if (!eVirtualIndexBitFields.isEmpty()) {

+					List<String> allEVirtualIndexBitFields = genClass

+							.getAllEVirtualIndexBitFields(new ArrayList<String>());

+					stringBuffer.append(TEXT_71);

+					if (genModel.useClassOverrideAnnotation()) {

+						stringBuffer.append(TEXT_67);

+					}

+					stringBuffer.append(TEXT_190);

+					for (int i = 0; i < allEVirtualIndexBitFields.size(); i++) {

+						stringBuffer.append(TEXT_78);

+						stringBuffer.append(i);

+						stringBuffer.append(TEXT_191);

+						stringBuffer.append(allEVirtualIndexBitFields.get(i));

+						stringBuffer.append(TEXT_3);

+					}

+					stringBuffer.append(TEXT_192);

+					if (genModel.useClassOverrideAnnotation()) {

+						stringBuffer.append(TEXT_67);

+					}

+					stringBuffer.append(TEXT_193);

+					for (int i = 0; i < allEVirtualIndexBitFields.size(); i++) {

+						stringBuffer.append(TEXT_78);

+						stringBuffer.append(i);

+						stringBuffer.append(TEXT_194);

+						stringBuffer.append(allEVirtualIndexBitFields.get(i));

+						stringBuffer.append(TEXT_195);

+					}

+					stringBuffer.append(TEXT_196);

+				}

+			}

+		}

+		if (genModel.isOperationReflection() && isImplementation && !genClass.getImplementedGenOperations().isEmpty()) {

+			stringBuffer.append(TEXT_71);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_67);

+			}

+			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_197);

+					if (!isRaw) {

+						stringBuffer.append(TEXT_198);

+					} else {

+						stringBuffer.append(TEXT_199);

+					}

+					stringBuffer.append(TEXT_83);

+				}

+			}

+			stringBuffer.append(TEXT_200);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EList"));

+			stringBuffer.append(singleWildcard);

+			stringBuffer.append(TEXT_201);

+			stringBuffer.append(genModel.getImportedName(isGWT ? "org.eclipse.emf.common.util.InvocationTargetException"

+					: "java.lang.reflect.InvocationTargetException"));

+			stringBuffer.append(TEXT_202);

+			stringBuffer.append(negativeOperationOffsetCorrection);

+			stringBuffer.append(TEXT_77);

+			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_78);

+				stringBuffer.append(genClass

+						.getQualifiedOperationID(overrideGenOperation != null ? overrideGenOperation : genOperation));

+				stringBuffer.append(TEXT_79);

+				if (hasCheckedException) {

+					stringBuffer.append(TEXT_203);

+					/*}*/}

+				if (genOperation.isVoid()) {

+					stringBuffer.append(TEXT_93);

+					stringBuffer.append(indent);

+					stringBuffer.append(genOperation.getName());

+					stringBuffer.append(TEXT_81);

+					for (int i = 0; i < size; i++) {

+						GenParameter genParameter = genParameters.get(i);

+						if (!isJDK50 && genParameter.isPrimitiveType()) {

+							stringBuffer.append(TEXT_81);

+						}

+						if (genParameter.getTypeGenDataType() == null

+								|| !genParameter.getTypeGenDataType().isObjectType()

+								|| !genParameter.usesOperationTypeParameters()

+										&& !genParameter.getRawType().equals(genParameter.getType(genClass))) {

+							stringBuffer.append(TEXT_81);

+							stringBuffer.append(

+									genParameter.usesOperationTypeParameters() ? genParameter.getRawImportedType()

+											: genParameter.getObjectType(genClass));

+							stringBuffer.append(TEXT_83);

+						}

+						stringBuffer.append(TEXT_204);

+						stringBuffer.append(i);

+						stringBuffer.append(TEXT_83);

+						if (!isJDK50 && genParameter.isPrimitiveType()) {

+							stringBuffer.append(TEXT_205);

+							stringBuffer.append(genParameter.getPrimitiveValueFunction());

+							stringBuffer.append(TEXT_40);

+						}

+						if (i < (size - 1)) {

+							stringBuffer.append(TEXT_105);

+						}

+					}

+					stringBuffer.append(TEXT_206);

+					stringBuffer.append(indent);

+					stringBuffer.append(TEXT_207);

+				} else {

+					stringBuffer.append(TEXT_93);

+					stringBuffer.append(indent);

+					stringBuffer.append(TEXT_208);

+					if (!isJDK50 && genOperation.isPrimitiveType()) {

+						stringBuffer.append(TEXT_209);

+						stringBuffer.append(genOperation.getObjectType(genClass));

+						stringBuffer.append(TEXT_81);

+					}

+					stringBuffer.append(genOperation.getName());

+					stringBuffer.append(TEXT_81);

+					for (int i = 0; i < size; i++) {

+						GenParameter genParameter = genParameters.get(i);

+						if (!isJDK50 && genParameter.isPrimitiveType()) {

+							stringBuffer.append(TEXT_81);

+						}

+						if (genParameter.getTypeGenDataType() == null

+								|| !genParameter.getTypeGenDataType().isObjectType()

+								|| !genParameter.usesOperationTypeParameters()

+										&& !genParameter.getRawType().equals(genParameter.getType(genClass))) {

+							stringBuffer.append(TEXT_81);

+							stringBuffer.append(

+									genParameter.usesOperationTypeParameters() ? genParameter.getRawImportedType()

+											: genParameter.getObjectType(genClass));

+							stringBuffer.append(TEXT_83);

+						}

+						stringBuffer.append(TEXT_204);

+						stringBuffer.append(i);

+						stringBuffer.append(TEXT_83);

+						if (!isJDK50 && genParameter.isPrimitiveType()) {

+							stringBuffer.append(TEXT_205);

+							stringBuffer.append(genParameter.getPrimitiveValueFunction());

+							stringBuffer.append(TEXT_40);

+						}

+						if (i < (size - 1)) {

+							stringBuffer.append(TEXT_105);

+						}

+					}

+					stringBuffer.append(TEXT_83);

+					if (!isJDK50 && genOperation.isPrimitiveType()) {

+						stringBuffer.append(TEXT_83);

+					}

+					stringBuffer.append(TEXT_3);

+				}

+				if (hasCheckedException) {/*{*/

+					stringBuffer.append(TEXT_210);

+					stringBuffer.append(genModel.getImportedName("java.lang.Throwable"));

+					stringBuffer.append(TEXT_211);

+					stringBuffer.append(

+							genModel.getImportedName(isGWT ? "org.eclipse.emf.common.util.InvocationTargetException"

+									: "java.lang.reflect.InvocationTargetException"));

+					stringBuffer.append(TEXT_212);

+				}

+			}

+			if (forceDefaultCase) {

+				stringBuffer.append(TEXT_107);

+			} else { // {

+				stringBuffer.append(TEXT_108);

+			}

+			if (genModel.isMinimalReflectiveMethods()) {

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(indentDefaultCase);

+				stringBuffer.append(TEXT_213);

+			} else {

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(indentDefaultCase);

+				stringBuffer.append(TEXT_214);

+			}

+			if (forceDefaultCase) { // {

+				stringBuffer.append(TEXT_108);

+			} // }

+			stringBuffer.append(TEXT_111);

+		}

+		if (!genClass.hasImplementedToStringGenOperation() && isImplementation && !genModel.isReflectiveDelegation()

+				&& !genModel.isDynamicDelegation() && !genClass.getToStringGenFeatures().isEmpty()) {

+			stringBuffer.append(TEXT_71);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_67);

+			}

+			stringBuffer.append(TEXT_215);

+			stringBuffer.append(genModel.useGenerics() ? "StringBuilder" : "StringBuffer");

+			stringBuffer.append(TEXT_216);

+			stringBuffer.append(genModel.useGenerics() ? "StringBuilder" : "StringBuffer");

+			stringBuffer.append(TEXT_217);

+			{

+				boolean first = true;

+				for (GenFeature genFeature : genClass.getToStringGenFeatures()) {

+					if (first) {

+						first = false;

+						stringBuffer.append(TEXT_218);

+						stringBuffer.append(genFeature.getName());

+						stringBuffer.append(TEXT_219);

+						stringBuffer.append(genModel.getNonNLS());

+					} else {

+						stringBuffer.append(TEXT_220);

+						stringBuffer.append(genFeature.getName());

+						stringBuffer.append(TEXT_219);

+						stringBuffer.append(genModel.getNonNLS());

+					}

+					if (genFeature.isUnsettable() && !genFeature.isListType()) {

+						if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

+							stringBuffer.append(TEXT_221);

+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+							stringBuffer.append(positiveOffsetCorrection);

+							stringBuffer.append(TEXT_222);

+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+							stringBuffer.append(positiveOffsetCorrection);

+							stringBuffer.append(TEXT_223);

+							stringBuffer.append(genModel.getNonNLS());

+						} else {

+							if (genClass.isFlag(genFeature)) {

+								if (genFeature.isBooleanType()) {

+									stringBuffer.append(TEXT_224);

+									if (genClass.isESetFlag(genFeature)) {

+										stringBuffer.append(TEXT_81);

+										stringBuffer.append(genClass.getESetFlagsField(genFeature));

+										stringBuffer.append(TEXT_225);

+										stringBuffer.append(genFeature.getUpperName());

+										stringBuffer.append(TEXT_226);

+									} else {

+										stringBuffer.append(genFeature.getUncapName());

+										stringBuffer.append(TEXT_227);

+									}

+									stringBuffer.append(TEXT_228);

+									stringBuffer.append(genClass.getFlagsField(genFeature));

+									stringBuffer.append(TEXT_225);

+									stringBuffer.append(genFeature.getUpperName());

+									stringBuffer.append(TEXT_229);

+									stringBuffer.append(genModel.getNonNLS());

+								} else {

+									stringBuffer.append(TEXT_224);

+									if (genClass.isESetFlag(genFeature)) {

+										stringBuffer.append(TEXT_81);

+										stringBuffer.append(genClass.getESetFlagsField(genFeature));

+										stringBuffer.append(TEXT_225);

+										stringBuffer.append(genFeature.getUpperName());

+										stringBuffer.append(TEXT_226);

+									} else {

+										stringBuffer.append(genFeature.getUncapName());

+										stringBuffer.append(TEXT_227);

+									}

+									stringBuffer.append(TEXT_230);

+									stringBuffer.append(genFeature.getUpperName());

+									stringBuffer.append(TEXT_231);

+									stringBuffer.append(genClass.getFlagsField(genFeature));

+									stringBuffer.append(TEXT_225);

+									stringBuffer.append(genFeature.getUpperName());

+									stringBuffer.append(TEXT_232);

+									stringBuffer.append(genFeature.getUpperName());

+									stringBuffer.append(TEXT_233);

+									stringBuffer.append(genModel.getNonNLS());

+								}

+							} else {

+								stringBuffer.append(TEXT_224);

+								if (genClass.isESetFlag(genFeature)) {

+									stringBuffer.append(TEXT_81);

+									stringBuffer.append(genClass.getESetFlagsField(genFeature));

+									stringBuffer.append(TEXT_225);

+									stringBuffer.append(genFeature.getUpperName());

+									stringBuffer.append(TEXT_226);

+								} else {

+									stringBuffer.append(genFeature.getUncapName());

+									stringBuffer.append(TEXT_227);

+								}

+								stringBuffer.append(TEXT_230);

+								stringBuffer.append(genFeature.getSafeName());

+								stringBuffer.append(TEXT_234);

+								stringBuffer.append(genModel.getNonNLS());

+							}

+						}

+					} else {

+						if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

+							stringBuffer.append(TEXT_235);

+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+							stringBuffer.append(positiveOffsetCorrection);

+							if (!genFeature.isListType() && !genFeature.isReferenceType()) {

+								stringBuffer.append(TEXT_105);

+								stringBuffer.append(genFeature.getEDefault());

+							}

+							stringBuffer.append(TEXT_236);

+						} else {

+							if (genClass.isFlag(genFeature)) {

+								if (genFeature.isBooleanType()) {

+									stringBuffer.append(TEXT_237);

+									stringBuffer.append(genClass.getFlagsField(genFeature));

+									stringBuffer.append(TEXT_225);

+									stringBuffer.append(genFeature.getUpperName());

+									stringBuffer.append(TEXT_238);

+								} else {

+									stringBuffer.append(TEXT_239);

+									stringBuffer.append(genFeature.getUpperName());

+									stringBuffer.append(TEXT_231);

+									stringBuffer.append(genClass.getFlagsField(genFeature));

+									stringBuffer.append(TEXT_225);

+									stringBuffer.append(genFeature.getUpperName());

+									stringBuffer.append(TEXT_232);

+									stringBuffer.append(genFeature.getUpperName());

+									stringBuffer.append(TEXT_240);

+								}

+							} else {

+								stringBuffer.append(TEXT_239);

+								stringBuffer.append(genFeature.getSafeName());

+								stringBuffer.append(TEXT_96);

+							}

+						}

+					}

+				}

+			}

+			stringBuffer.append(TEXT_241);

+		}

+		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_71);

+			if (isGWT) {

+				stringBuffer.append(TEXT_30);

+				stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));

+			}

+			stringBuffer.append(TEXT_242);

+			if (useInterfaceOverrideAnnotation) {

+				stringBuffer.append(TEXT_67);

+			}

+			stringBuffer.append(TEXT_243);

+			stringBuffer.append(objectType);

+			stringBuffer.append(TEXT_244);

+			if (useInterfaceOverrideAnnotation) {

+				stringBuffer.append(TEXT_67);

+			}

+			stringBuffer.append(TEXT_245);

+			if (useInterfaceOverrideAnnotation) {

+				stringBuffer.append(TEXT_67);

+			}

+			stringBuffer.append(TEXT_73);

+			stringBuffer.append(keyType);

+			stringBuffer.append(TEXT_246);

+			if (!isJDK50 && keyFeature.isPrimitiveType()) {

+				stringBuffer.append(TEXT_247);

+				stringBuffer.append(keyFeature.getObjectType(genClass));

+				stringBuffer.append(TEXT_248);

+			} else {

+				stringBuffer.append(TEXT_249);

+			}

+			stringBuffer.append(TEXT_66);

+			if (useInterfaceOverrideAnnotation) {

+				stringBuffer.append(TEXT_67);

+			}

+			stringBuffer.append(TEXT_250);

+			stringBuffer.append(keyType);

+			stringBuffer.append(TEXT_251);

+			if (keyFeature.isListType()) {

+				stringBuffer.append(TEXT_252);

+				if (!genModel.useGenerics()) {

+					stringBuffer.append(TEXT_81);

+					stringBuffer.append(genModel.getImportedName("java.util.Collection"));

+					stringBuffer.append(TEXT_83);

+				}

+				stringBuffer.append(TEXT_253);

+			} else if (isJDK50) {

+				stringBuffer.append(TEXT_254);

+			} else if (keyFeature.isPrimitiveType()) {

+				stringBuffer.append(TEXT_255);

+				stringBuffer.append(keyFeature.getObjectType(genClass));

+				stringBuffer.append(TEXT_256);

+				stringBuffer.append(keyFeature.getPrimitiveValueFunction());

+				stringBuffer.append(TEXT_133);

+			} else {

+				stringBuffer.append(TEXT_257);

+				stringBuffer.append(keyFeature.getImportedType(genClass));

+				stringBuffer.append(TEXT_258);

+			}

+			stringBuffer.append(TEXT_66);

+			if (useInterfaceOverrideAnnotation) {

+				stringBuffer.append(TEXT_67);

+			}

+			stringBuffer.append(TEXT_73);

+			stringBuffer.append(valueType);

+			stringBuffer.append(TEXT_259);

+			if (!isJDK50 && valueFeature.isPrimitiveType()) {

+				stringBuffer.append(TEXT_247);

+				stringBuffer.append(valueFeature.getObjectType(genClass));

+				stringBuffer.append(TEXT_260);

+			} else {

+				stringBuffer.append(TEXT_261);

+			}

+			stringBuffer.append(TEXT_66);

+			if (useInterfaceOverrideAnnotation) {

+				stringBuffer.append(TEXT_67);

+			}

+			stringBuffer.append(TEXT_73);

+			stringBuffer.append(valueType);

+			stringBuffer.append(TEXT_262);

+			stringBuffer.append(valueType);

+			stringBuffer.append(TEXT_263);

+			stringBuffer.append(valueType);

+			stringBuffer.append(TEXT_264);

+			if (valueFeature.isListType()) {

+				stringBuffer.append(TEXT_265);

+				if (!genModel.useGenerics()) {

+					stringBuffer.append(TEXT_81);

+					stringBuffer.append(genModel.getImportedName("java.util.Collection"));

+					stringBuffer.append(TEXT_83);

+				}

+				stringBuffer.append(TEXT_266);

+			} else if (isJDK50) {

+				stringBuffer.append(TEXT_267);

+			} else if (valueFeature.isPrimitiveType()) {

+				stringBuffer.append(TEXT_268);

+				stringBuffer.append(valueFeature.getObjectType(genClass));

+				stringBuffer.append(TEXT_269);

+				stringBuffer.append(valueFeature.getPrimitiveValueFunction());

+				stringBuffer.append(TEXT_133);

+			} else {

+				stringBuffer.append(TEXT_270);

+				stringBuffer.append(valueFeature.getImportedType(genClass));

+				stringBuffer.append(TEXT_271);

+			}

+			stringBuffer.append(TEXT_272);

+			if (genModel.useGenerics()) {

+				stringBuffer.append(TEXT_72);

+			}

+			stringBuffer.append(TEXT_73);

+			stringBuffer.append(eMapType);

+			stringBuffer.append(TEXT_273);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EObject"));

+			stringBuffer.append(TEXT_274);

+			stringBuffer.append(eMapType);

+			stringBuffer.append(TEXT_275);

+		}

+		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.insert" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+			callParameters.put("isGWT", isGWT);

+			callParameters.put("forceDefaultCase", forceDefaultCase);

+			callParameters.put("indentDefaultCase", indentDefaultCase);

+			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_276);

+		stringBuffer.append(isInterface ? " " + genClass.getInterfaceName() : genClass.getClassName());

+		// TODO fix the space above

+		genModel.emitSortedImports();

+		stringBuffer.append(TEXT_4);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ManifestMF.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ManifestMF.java
new file mode 100644
index 0000000..5f6078d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ManifestMF.java
@@ -0,0 +1,272 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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: ";

+	protected final String TEXT_2 = NL + "Bundle-SymbolicName: ";

+	protected final String TEXT_3 = ";singleton:=true" + NL + "Automatic-Module-Name: ";

+	protected final String TEXT_4 = NL + "Bundle-Version: 1.0.0.qualifier" + NL + "Bundle-ClassPath: ";

+	protected final String TEXT_5 = ".jar";

+	protected final String TEXT_6 = ".";

+	protected final String TEXT_7 = NL + "Bundle-Activator: ";

+	protected final String TEXT_8 = "$Implementation";

+	protected final String TEXT_9 = "$Activator";

+	protected final String TEXT_10 = NL + "Bundle-Vendor: ";

+	protected final String TEXT_11 = NL + "Bundle-Localization: ";

+	protected final String TEXT_12 = NL + "Bundle-RequiredExecutionEnvironment: J2SE-1.5";

+	protected final String TEXT_13 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.6";

+	protected final String TEXT_14 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.7";

+	protected final String TEXT_15 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.8";

+	protected final String TEXT_16 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-9";

+	protected final String TEXT_17 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-10";

+	protected final String TEXT_18 = NL + "Export-Package: ";

+	protected final String TEXT_19 = ",";

+	protected final String TEXT_20 = NL + " ";

+	protected final String TEXT_21 = NL + "Require-Bundle: ";

+	protected final String TEXT_22 = ";resolution:=optional;x-installation:=greedy";

+	protected final String TEXT_23 = ";visibility:=reexport";

+	protected final String TEXT_24 = NL + "Import-Package: org.osgi.framework";

+	protected final String TEXT_25 = NL + "Eclipse-LazyStart: true";

+	protected final String TEXT_26 = NL + "Bundle-ActivationPolicy: lazy" + 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_27);

+		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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.html

+		 * 

+		 * Contributors: 

+		 *   IBM - Initial API and implementation

+		 */

+

+		GenModel genModel = (GenModel) argument;

+		stringBuffer.append(TEXT_1);

+		stringBuffer.append(genModel.getModelBundleNameKey());

+		stringBuffer.append(TEXT_2);

+		stringBuffer.append(genModel.getModelPluginID());

+		stringBuffer.append(TEXT_3);

+		stringBuffer.append(genModel.getModelPluginID());

+		stringBuffer.append(TEXT_4);

+		if (genModel.isRuntimeJar()) {

+			stringBuffer.append(genModel.getModelPluginID());

+			stringBuffer.append(TEXT_5);

+		} else {

+			stringBuffer.append(TEXT_6);

+		}

+		if (genModel.hasModelPluginClass()) {

+			stringBuffer.append(TEXT_7);

+			stringBuffer.append(genModel.getQualifiedModelPluginClassName());

+			stringBuffer.append(TEXT_8);

+			if (genModel.isOSGiCompatible()) {

+				stringBuffer.append(TEXT_9);

+			}

+		}

+		stringBuffer.append(TEXT_10);

+		stringBuffer.append(genModel.getModelBundleVendorKey());

+		stringBuffer.append(TEXT_11);

+		stringBuffer.append(genModel.getModelBundleLocalization());

+		if (genModel.getComplianceLevel() == GenJDKLevel.JDK50_LITERAL) {

+			stringBuffer.append(TEXT_12);

+		} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK60_LITERAL) {

+			stringBuffer.append(TEXT_13);

+		} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK70_LITERAL) {

+			stringBuffer.append(TEXT_14);

+		} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK80_LITERAL) {

+			stringBuffer.append(TEXT_15);

+		} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK90_LITERAL) {

+			stringBuffer.append(TEXT_16);

+		} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK100_LITERAL) {

+			stringBuffer.append(TEXT_17);

+		}

+		Iterator<String> packagesIterator = genModel.getModelQualifiedPackageNames().iterator();

+		if (packagesIterator.hasNext()) {

+			String pack = packagesIterator.next();

+			stringBuffer.append(TEXT_18);

+			stringBuffer.append(pack);

+			while (packagesIterator.hasNext()) {

+				pack = packagesIterator.next();

+				stringBuffer.append(TEXT_19);

+				stringBuffer.append(TEXT_20);

+				stringBuffer.append(pack);

+			}

+		}

+		Iterator<String> requiredPluginIterator = genModel.getModelRequiredPlugins().iterator();

+		if (requiredPluginIterator.hasNext()) {

+			String pluginID = requiredPluginIterator.next();

+			stringBuffer.append(TEXT_21);

+			stringBuffer.append(pluginID);

+			if (pluginID.startsWith("org.eclipse.core.runtime")) {

+				if (genModel.isOSGiCompatible()) {

+					stringBuffer.append(TEXT_22);

+				}

+			} else {

+				stringBuffer.append(TEXT_23);

+			}

+			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_22);

+					}

+				} else if (!pluginID.equals("org.eclipse.xtext.xbase.lib")

+						&& !pluginID.equals("org.eclipse.emf.ecore.xcore.lib")) {

+					stringBuffer.append(TEXT_23);

+				}

+			}

+		}

+		if (genModel.isOSGiCompatible() && genModel.hasModelPluginClass()) {

+			stringBuffer.append(TEXT_24);

+		}

+		if (genModel.getRuntimeVersion() == GenRuntimeVersion.EMF22

+				|| genModel.getRuntimeVersion() == GenRuntimeVersion.EMF23) {

+			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 {

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ModuleGWTXML.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ModuleGWTXML.java
new file mode 100644
index 0000000..32d2748
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ModuleGWTXML.java
@@ -0,0 +1,202 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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;

+

+	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_9);

+		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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PackageClass.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PackageClass.java
new file mode 100644
index 0000000..2ffa756
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PackageClass.java
@@ -0,0 +1,2762 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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;

+	protected final String TEXT_5 = 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_6 = NL + " *   <li>each operation of each class,</li>";

+	protected final String TEXT_7 = NL + " *   <li>each enum,</li>" + NL + " *   <li>and each data type</li>" + NL

+			+ " * </ul>" + NL + " * <!-- end-user-doc -->";

+	protected final String TEXT_8 = NL + " * <!-- begin-model-doc -->" + NL + " * ";

+	protected final String TEXT_9 = NL + " * <!-- end-model-doc -->";

+	protected final String TEXT_10 = NL + " * @see ";

+	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 + " */";

+	protected final String TEXT_15 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL

+			+ " * An implementation of the model <b>Package</b>." + NL + " * <!-- end-user-doc -->";

+	protected final String TEXT_16 = NL + " * ";

+	protected final String TEXT_17 = NL + "@Deprecated";

+	protected final String TEXT_18 = NL + "@SuppressWarnings(\"deprecation\")";

+	protected final String TEXT_19 = NL + "public class ";

+	protected final String TEXT_20 = " extends ";

+	protected final String TEXT_21 = " implements ";

+	protected final String TEXT_22 = NL + "public interface ";

+	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 = 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_27 = " eNAME = \"";

+	protected final String TEXT_28 = "\";";

+	protected final String TEXT_29 = 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_30 = " eNS_URI = \"";

+	protected final String TEXT_31 = 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_32 = " eNS_PREFIX = \"";

+	protected final String TEXT_33 = 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_34 = " eCONTENT_TYPE = \"";

+	protected final String TEXT_35 = 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_36 = " eINSTANCE = ";

+	protected final String TEXT_37 = ".init();" + NL;

+	protected final String TEXT_38 = NL + "\t/**";

+	protected final String TEXT_39 = NL + "\t * The meta object id for the '{@link ";

+	protected final String TEXT_40 = " <em>";

+	protected final String TEXT_41 = "</em>}' class." + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see ";

+	protected final String TEXT_42 = "</em>}' enum." + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see ";

+	protected final String TEXT_43 = NL + "\t * The meta object id for the '<em>";

+	protected final String TEXT_44 = "</em>' data type." + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->";

+	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 * ";

+	protected final String TEXT_49 = NL + "\t * @generated" + NL + "\t */";

+	protected final String TEXT_50 = NL + "\t@Deprecated";

+	protected final String TEXT_51 = NL + "\t";

+	protected final String TEXT_52 = "int ";

+	protected final String TEXT_53 = " = ";

+	protected final String TEXT_54 = ";" + NL;

+	protected final String TEXT_55 = NL + "\t/**" + NL + "\t * The feature id for the '<em><b>";

+	protected final String TEXT_56 = "</b></em>' ";

+	protected final String TEXT_57 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->";

+	protected final String TEXT_58 = NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";

+	protected final String TEXT_59 = NL + "\t/**" + NL + "\t * The number of structural features of the '<em>";

+	protected final String TEXT_60 = "</em>' class." + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->";

+	protected final String TEXT_61 = NL + "\t/**" + NL + "\t * The operation id for the '<em>";

+	protected final String TEXT_62 = "</em>' operation." + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->";

+	protected final String TEXT_63 = NL + "\t/**" + NL + "\t * The number of operations of the '<em>";

+	protected final String TEXT_64 = 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_65 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->";

+	protected final String TEXT_66 = NL + "\tprivate ";

+	protected final String TEXT_67 = " ";

+	protected final String TEXT_68 = " = null;" + NL;

+	protected final String TEXT_69 = 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_70 = "#eNS_URI" + NL + "\t * @see #init()" + NL + "\t * @generated" + NL + "\t */" + NL

+			+ "\tprivate ";

+	protected final String TEXT_71 = "()" + NL + "\t{" + NL + "\t\tsuper(eNS_URI, ";

+	protected final String TEXT_72 = ");" + 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_73 = "#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_74 = NL + "\t * @see #createPackageContents()" + NL

+			+ "\t * @see #initializePackageContents()";

+	protected final String TEXT_75 = NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static ";

+	protected final String TEXT_76 = " init()" + NL + "\t{" + NL + "\t\tif (isInited) return (";

+	protected final String TEXT_77 = ")";

+	protected final String TEXT_78 = ".Registry.INSTANCE.getEPackage(";

+	protected final String TEXT_79 = ".eNS_URI);" + NL;

+	protected final String TEXT_80 = NL + "\t\tinitializeRegistryHelpers();" + NL;

+	protected final String TEXT_81 = NL + "\t\t// Obtain or create and register package" + NL + "\t\tObject registered";

+	protected final String TEXT_82 = ".Registry.INSTANCE.get(eNS_URI);" + NL + "\t\t";

+	protected final String TEXT_83 = " the";

+	protected final String TEXT_84 = " = registered";

+	protected final String TEXT_85 = " instanceof ";

+	protected final String TEXT_86 = " ? (";

+	protected final String TEXT_87 = ")registered";

+	protected final String TEXT_88 = " : new ";

+	protected final String TEXT_89 = "();" + NL + "" + NL + "\t\tisInited = true;" + NL;

+	protected final String TEXT_90 = NL + "\t\t// Initialize simple dependencies";

+	protected final String TEXT_91 = NL + "\t\t";

+	protected final String TEXT_92 = ".eINSTANCE.eClass();";

+	protected final String TEXT_93 = NL + "\t\t// Obtain or create and register interdependencies";

+	protected final String TEXT_94 = "Object ";

+	protected final String TEXT_95 = "registeredPackage = ";

+	protected final String TEXT_96 = ".eNS_URI);" + NL + "\t\t";

+	protected final String TEXT_97 = " = (";

+	protected final String TEXT_98 = ")(registeredPackage instanceof ";

+	protected final String TEXT_99 = " ? registeredPackage : ";

+	protected final String TEXT_100 = ".eINSTANCE);";

+	protected final String TEXT_101 = NL + "\t\t// Load packages";

+	protected final String TEXT_102 = NL + "\t\tthe";

+	protected final String TEXT_103 = ".loadPackage();";

+	protected final String TEXT_104 = NL + "\t\t// Create package meta-data objects";

+	protected final String TEXT_105 = ".createPackageContents();";

+	protected final String TEXT_106 = NL + NL + "\t\t// Initialize created meta-data";

+	protected final String TEXT_107 = ".initializePackageContents();";

+	protected final String TEXT_108 = NL + "\t\t// Fix loaded packages";

+	protected final String TEXT_109 = ".fixPackageContents();";

+	protected final String TEXT_110 = NL + "\t\t// Register package validator" + NL + "\t\t";

+	protected final String TEXT_111 = ".Registry.INSTANCE.put" + NL + "\t\t\t(the";

+	protected final String TEXT_112 = "," + NL + "\t\t\t new ";

+	protected final String TEXT_113 = ".Descriptor()" + NL + "\t\t\t {";

+	protected final String TEXT_114 = NL + "\t\t\t\t @Override";

+	protected final String TEXT_115 = NL + "\t\t\t\t public ";

+	protected final String TEXT_116 = " getEValidator()" + NL + "\t\t\t\t {" + NL + "\t\t\t\t\t return ";

+	protected final String TEXT_117 = ".INSTANCE;" + NL + "\t\t\t\t }" + NL + "\t\t\t });" + NL;

+	protected final String TEXT_118 = NL + "\t\t// Mark meta-data to indicate it can't be changed" + NL + "\t\tthe";

+	protected final String TEXT_119 = ".freeze();" + NL;

+	protected final String TEXT_120 = NL + "\t\t// Update the registry and return the package" + NL + "\t\t";

+	protected final String TEXT_121 = ".Registry.INSTANCE.put(";

+	protected final String TEXT_122 = ".eNS_URI, the";

+	protected final String TEXT_123 = ");" + NL + "\t\treturn the";

+	protected final String TEXT_124 = ";" + NL + "\t}";

+	protected final String TEXT_125 = 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_126 = ".register" + NL + "\t\t\t(";

+	protected final String TEXT_127 = ".class," + NL + "\t\t\t new ";

+	protected final String TEXT_128 = ".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_129 = ";" + 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_130 = "[size];" + NL + "\t\t\t\t }" + NL + "\t\t\t });";

+	protected final String TEXT_131 = ";" + 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_132 = NL + "\t\t\t\t\t return new ";

+	protected final String TEXT_133 = "[size]";

+	protected final String TEXT_134 = "[size];";

+	protected final String TEXT_135 = NL + "\t\t\t\t }" + NL + "\t\t});";

+	protected final String TEXT_136 = 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_137 = ", EBasicWhiteList" + NL + "\t{";

+	protected final String TEXT_138 = 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_139 = NL + "\t}";

+	protected final String TEXT_140 = NL + "\t * Returns the meta object for class '{@link ";

+	protected final String TEXT_141 = "</em>}'." + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @return the meta object for class '<em>";

+	protected final String TEXT_142 = "</em>'." + NL + "\t * @see ";

+	protected final String TEXT_143 = NL + "\t * @model ";

+	protected final String TEXT_144 = NL + "\t *        ";

+	protected final String TEXT_145 = NL + "\t * @model";

+	protected final String TEXT_146 = NL + "\t * Returns the meta object for enum '{@link ";

+	protected final String TEXT_147 = "</em>}'." + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @return the meta object for enum '<em>";

+	protected final String TEXT_148 = NL + "\t * Returns the meta object for data type '<em>";

+	protected final String TEXT_149 = "</em>'.";

+	protected final String TEXT_150 = NL + "\t * Returns the meta object for data type '{@link ";

+	protected final String TEXT_151 = "</em>}'.";

+	protected final String TEXT_152 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->";

+	protected final String TEXT_153 = NL + "     * <!-- begin-model-doc -->" + NL + "     * ";

+	protected final String TEXT_154 = NL + "     * <!-- end-model-doc -->";

+	protected final String TEXT_155 = NL + "\t * @return the meta object for data type '<em>";

+	protected final String TEXT_156 = NL + "\t@Override";

+	protected final String TEXT_157 = NL + "\tpublic ";

+	protected final String TEXT_158 = " get";

+	protected final String TEXT_159 = "()" + NL + "\t{";

+	protected final String TEXT_160 = NL + "\t\tif (";

+	protected final String TEXT_161 = " == null)" + NL + "\t\t{" + NL + "\t\t\t";

+	protected final String TEXT_162 = ".eNS_URI).getEClassifiers().get(";

+	protected final String TEXT_163 = ");" + NL + "\t\t}";

+	protected final String TEXT_164 = NL + "\t\treturn ";

+	protected final String TEXT_165 = ";" + NL + "\t}" + NL;

+	protected final String TEXT_166 = "();" + NL;

+	protected final String TEXT_167 = NL + "\t/**" + NL + "\t * Returns the meta object for the ";

+	protected final String TEXT_168 = " '{@link ";

+	protected final String TEXT_169 = "#";

+	protected final String TEXT_170 = "</em>}'." + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @return the meta object for the ";

+	protected final String TEXT_171 = " '<em>";

+	protected final String TEXT_172 = NL + "\t * @see #get";

+	protected final String TEXT_173 = NL + "\t\treturn (";

+	protected final String TEXT_174 = ".getEStructuralFeatures().get(";

+	protected final String TEXT_175 = ");";

+	protected final String TEXT_176 = NL + "        return (";

+	protected final String TEXT_177 = ")get";

+	protected final String TEXT_178 = "().getEStructuralFeatures().get(";

+	protected final String TEXT_179 = "();";

+	protected final String TEXT_180 = NL + "\t/**" + NL + "\t * Returns the meta object for the '{@link ";

+	protected final String TEXT_181 = "(";

+	protected final String TEXT_182 = ") <em>";

+	protected final String TEXT_183 = "</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_184 = "</em>' operation." + NL + "\t * @see ";

+	protected final String TEXT_185 = ".getEOperations().get(";

+	protected final String TEXT_186 = NL + "        return get";

+	protected final String TEXT_187 = "().getEOperations().get(";

+	protected final String TEXT_188 = 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_189 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

+	protected final String TEXT_190 = "()" + NL + "\t{" + NL + "\t\treturn (";

+	protected final String TEXT_191 = ")getEFactoryInstance();" + NL + "\t}";

+	protected final String TEXT_192 = 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 */";

+	protected final String TEXT_193 = NL + "\t@SuppressWarnings(\"deprecation\")";

+	protected final String TEXT_194 = NL + "\tpublic void createPackageContents()" + NL + "\t{" + NL

+			+ "\t\tif (isCreated) return;" + NL + "\t\tisCreated = true;";

+	protected final String TEXT_195 = NL + NL + "\t\t// Create classes and their features";

+	protected final String TEXT_196 = " = create";

+	protected final String TEXT_197 = NL + "\t\tcreate";

+	protected final String TEXT_198 = ", ";

+	protected final String TEXT_199 = NL + "\t\tcreateEOperation(";

+	protected final String TEXT_200 = NL + NL + "\t\t// Create enums";

+	protected final String TEXT_201 = " = createEEnum(";

+	protected final String TEXT_202 = NL + NL + "\t\t// Create data types";

+	protected final String TEXT_203 = " = createEDataType(";

+	protected final String TEXT_204 = 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_205 = 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 */";

+	protected final String TEXT_206 = 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_207 = NL + NL + "\t\t// Obtain other dependent packages";

+	protected final String TEXT_208 = ".eNS_URI);";

+	protected final String TEXT_209 = NL + NL + "\t\t// Add subpackages";

+	protected final String TEXT_210 = NL + "\t\tgetESubpackages().add(";

+	protected final String TEXT_211 = NL + NL + "\t\t// Create type parameters";

+	protected final String TEXT_212 = "_";

+	protected final String TEXT_213 = " = addETypeParameter(";

+	protected final String TEXT_214 = ", \"";

+	protected final String TEXT_215 = "\");";

+	protected final String TEXT_216 = NL + "\t\taddETypeParameter(";

+	protected final String TEXT_217 = NL + NL + "\t\t// Set bounds for type parameters";

+	protected final String TEXT_218 = "g";

+	protected final String TEXT_219 = " = createEGenericType(";

+	protected final String TEXT_220 = NL + "\t\tg";

+	protected final String TEXT_221 = ".";

+	protected final String TEXT_222 = "(g";

+	protected final String TEXT_223 = ".getEBounds().add(g1);";

+	protected final String TEXT_224 = NL + NL + "\t\t// Add supertypes to classes";

+	protected final String TEXT_225 = ".getESuperTypes().add(";

+	protected final String TEXT_226 = ".get";

+	protected final String TEXT_227 = "());";

+	protected final String TEXT_228 = ".getEGenericSuperTypes().add(g1);";

+	protected final String TEXT_229 = NL + NL + "\t\t// Initialize classes";

+	protected final String TEXT_230 = ", features, and operations; add parameters";

+	protected final String TEXT_231 = " and features; add operations and parameters";

+	protected final String TEXT_232 = NL + "\t\tinitEClass(";

+	protected final String TEXT_233 = "null";

+	protected final String TEXT_234 = ".class";

+	protected final String TEXT_235 = "\", ";

+	protected final String TEXT_236 = "\"";

+	protected final String TEXT_237 = NL + "\t\tinitEReference(get";

+	protected final String TEXT_238 = "(), ";

+	protected final String TEXT_239 = "g1";

+	protected final String TEXT_240 = NL + "\t\tget";

+	protected final String TEXT_241 = "().getEKeys().add(";

+	protected final String TEXT_242 = NL + "\t\tinitEAttribute(get";

+	protected final String TEXT_243 = "initEOperation(get";

+	protected final String TEXT_244 = "addEOperation(";

+	protected final String TEXT_245 = "(), \"";

+	protected final String TEXT_246 = ", null, \"";

+	protected final String TEXT_247 = "addETypeParameter(op, \"";

+	protected final String TEXT_248 = NL + "\t\tt";

+	protected final String TEXT_249 = NL + "\t\taddEParameter(op, ";

+	protected final String TEXT_250 = NL + "\t\taddEException(op, g";

+	protected final String TEXT_251 = NL + "\t\taddEException(op, ";

+	protected final String TEXT_252 = NL + "\t\tinitEOperation(op, g1);";

+	protected final String TEXT_253 = NL + NL + "\t\t// Initialize enums and add enum literals";

+	protected final String TEXT_254 = NL + "\t\tinitEEnum(";

+	protected final String TEXT_255 = ".class, \"";

+	protected final String TEXT_256 = NL + "\t\taddEEnumLiteral(";

+	protected final String TEXT_257 = NL + NL + "\t\t// Initialize data types";

+	protected final String TEXT_258 = NL + "\t\tinitEDataType(";

+	protected final String TEXT_259 = NL + NL + "\t\t// Create resource" + NL + "\t\tcreateResource(";

+	protected final String TEXT_260 = NL + NL + "\t\t// Create annotations";

+	protected final String TEXT_261 = NL + "\t\t// ";

+	protected final String TEXT_262 = "Annotations();";

+	protected final String TEXT_263 = NL + "\t}" + NL;

+	protected final String TEXT_264 = NL + "\t/**" + NL + "\t * Initializes the annotations for <b>";

+	protected final String TEXT_265 = "</b>." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"

+			+ NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected void create";

+	protected final String TEXT_266 = "Annotations()" + NL + "\t{" + NL + "\t\tString source = ";

+	protected final String TEXT_267 = "null;";

+	protected final String TEXT_268 = NL + "\t\taddAnnotation" + NL + "\t\t  (";

+	protected final String TEXT_269 = "," + NL + "\t\t   source," + NL + "\t\t   new String[]" + NL + "\t\t   {";

+	protected final String TEXT_270 = NL + "\t\t\t   ";

+	protected final String TEXT_271 = NL + "\t\t   }";

+	protected final String TEXT_272 = ",";

+	protected final String TEXT_273 = NL + "\t\t   new ";

+	protected final String TEXT_274 = "[]" + NL + "\t\t   {";

+	protected final String TEXT_275 = NL + "\t\t\t ";

+	protected final String TEXT_276 = ".createURI(";

+	protected final String TEXT_277 = "eNS_URI).appendFragment(\"";

+	protected final String TEXT_278 = "\")";

+	protected final String TEXT_279 = NL + "\t\t   });";

+	protected final String TEXT_280 = "," + NL + "\t\t   ";

+	protected final String TEXT_281 = "new boolean[] { ";

+	protected final String TEXT_282 = " }";

+	protected final String TEXT_283 = "null,";

+	protected final String TEXT_284 = "\",";

+	protected final String TEXT_285 = NL + "\t\t   new String[]" + NL + "\t\t   {";

+	protected final String TEXT_286 = 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_287 = " 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_288 = NL + "\t\t}" + NL + "\t\t";

+	protected final String TEXT_289 = " uri = ";

+	protected final String TEXT_290 = ".createURI(url.toString());" + NL + "\t\t";

+	protected final String TEXT_291 = " resource = new ";

+	protected final String TEXT_292 = "().createResource(uri);" + NL + "\t\ttry" + NL + "\t\t{" + NL

+			+ "\t\t\tresource.load(null);" + NL + "\t\t}" + NL + "\t\tcatch (";

+	protected final String TEXT_293 = " exception)" + NL + "\t\t{" + NL + "\t\t\tthrow new ";

+	protected final String TEXT_294 = "(exception);" + NL + "\t\t}" + NL + "\t\tinitializeFromLoadedEPackage(this, (";

+	protected final String TEXT_295 = ")resource.getContents().get(0));" + NL + "\t\tcreateResource(eNS_URI);" + NL

+			+ "\t}" + NL;

+	protected final String TEXT_296 = 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_297 = NL + "\tprotected void fixInstanceClass(";

+	protected final String TEXT_298 = " eClassifier)" + NL + "\t{" + NL

+			+ "\t\tif (eClassifier.getInstanceClassName() == null)" + NL + "\t\t{";

+	protected final String TEXT_299 = NL + "\t\t\teClassifier.setInstanceClassName(\"";

+	protected final String TEXT_300 = ".\" + eClassifier.getName());";

+	protected final String TEXT_301 = NL + "\t\t\tsetGeneratedClassName(eClassifier);";

+	protected final String TEXT_302 = NL + "\t\t\tswitch (eClassifier.getClassifierID())" + NL + "\t\t\t{";

+	protected final String TEXT_303 = NL + "\t\t\t\tcase ";

+	protected final String TEXT_304 = ":";

+	protected final String TEXT_305 = 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_306 = 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_307 = NL + "\t\t}" + NL + "\t}" + NL;

+	protected final String TEXT_308 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";

+	protected final String TEXT_309 = " addEOperation(";

+	protected final String TEXT_310 = " owner, ";

+	protected final String TEXT_311 = " type, String name, int lowerBound, int upperBound, boolean isUnique, boolean isOrdered)"

+			+ NL + "\t{" + NL + "\t\t";

+	protected final String TEXT_312 = " o = addEOperation(owner, type, name, lowerBound, upperBound);" + NL

+			+ "\t\to.setUnique(isUnique);" + NL + "\t\to.setOrdered(isOrdered);" + NL + "\t\treturn o;" + NL + "\t}"

+			+ NL;

+	protected final String TEXT_313 = " addEParameter(";

+	protected final String TEXT_314 = " 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;

+	protected final String TEXT_315 = 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_316 = NL + "\t *   <li>each operation of each class,</li>";

+	protected final String TEXT_317 = 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_318 = "public ";

+	protected final String TEXT_319 = "interface Literals" + NL + "\t{";

+	protected final String TEXT_320 = NL + "\t\t/**";

+	protected final String TEXT_321 = NL + "\t\t * The meta object literal for the '{@link ";

+	protected final String TEXT_322 = "</em>}' class." + NL + "\t\t * <!-- begin-user-doc -->" + NL

+			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @see ";

+	protected final String TEXT_323 = "</em>}' enum." + NL + "\t\t * <!-- begin-user-doc -->" + NL

+			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @see ";

+	protected final String TEXT_324 = NL + "\t\t * The meta object literal for the '<em>";

+	protected final String TEXT_325 = "</em>' data type." + NL + "\t\t * <!-- begin-user-doc -->" + NL

+			+ "\t\t * <!-- end-user-doc -->";

+	protected final String TEXT_326 = NL + "\t\t * @see ";

+	protected final String TEXT_327 = NL + "\t\t * ";

+	protected final String TEXT_328 = NL + "\t\t * @generated" + NL + "\t\t */";

+	protected final String TEXT_329 = NL + "\t\t@Deprecated";

+	protected final String TEXT_330 = " = eINSTANCE.get";

+	protected final String TEXT_331 = NL + "\t\t/**" + NL + "\t\t * The meta object literal for the '<em><b>";

+	protected final String TEXT_332 = " feature." + NL + "\t\t * <!-- begin-user-doc -->" + NL

+			+ "\t\t * <!-- end-user-doc -->";

+	protected final String TEXT_333 = "</b></em>' operation." + NL + "\t\t * <!-- begin-user-doc -->" + NL

+			+ "\t\t * <!-- end-user-doc -->";

+	protected final String TEXT_334 = NL + "} //";

+	protected final String TEXT_335 = 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_335);

+		stringBuffer.append(TEXT_335);

+		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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.html

+		 *

+		 * Contributors:

+		 *   IBM - Initial API and implementation

+		 */

+

+		final GenPackage genPackage = (GenPackage) ((Object[]) argument)[0];

+		final GenModel genModel = genPackage.getGenModel();

+		final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;

+		boolean isInterface = Boolean.TRUE.equals(((Object[]) argument)[1]);

+		boolean isImplementation = Boolean.TRUE.equals(((Object[]) argument)[2]);

+		boolean useInterfaceOverrideAnnotation = genModel.useInterfaceOverrideAnnotation()

+				&& !(isInterface && isImplementation);

+		boolean packageNeedsSuppressDeprecation = isJDK50

+				&& GenModelUtil.hasAPIDeprecatedTag(genPackage.getOrderedGenClassifiers())

+				&& !genPackage.hasAPIDeprecatedTag() && !genModel.isSuppressEMFMetaData();

+		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_2);

+			stringBuffer.append(genPackage.getReflectionPackageName());

+			stringBuffer.append(TEXT_3);

+		}

+		stringBuffer.append(TEXT_4);

+		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_5);

+			if (genModel.isOperationReflection()) {

+				stringBuffer.append(TEXT_6);

+			}

+			stringBuffer.append(TEXT_7);

+			if (genPackage.hasDocumentation()) {

+				stringBuffer.append(TEXT_8);

+				stringBuffer.append(genPackage.getDocumentation(genModel.getIndentation(stringBuffer)));

+				stringBuffer.append(TEXT_9);

+			}

+			stringBuffer.append(TEXT_10);

+			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_11);

+						stringBuffer.append(modelInfo);

+					} else {

+						stringBuffer.append(TEXT_12);

+						stringBuffer.append(modelInfo);

+					}

+				}

+				if (first) {

+					stringBuffer.append(TEXT_13);

+				}

+			}

+			stringBuffer.append(TEXT_14);

+		} else {

+			stringBuffer.append(TEXT_15);

+			if (genPackage.hasAPITags()) {

+				stringBuffer.append(TEXT_16);

+				stringBuffer.append(genPackage.getAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_14);

+		}

+		if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_17);

+		}

+		if (isImplementation) {

+			if (packageNeedsSuppressDeprecation) {

+				stringBuffer.append(TEXT_18);

+			}

+			stringBuffer.append(TEXT_19);

+			stringBuffer.append(genPackage.getPackageClassName());

+			stringBuffer.append(TEXT_20);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.EPackageImpl"));

+			if (!isInterface) {

+				stringBuffer.append(TEXT_21);

+				stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+			}

+		} else {

+			stringBuffer.append(TEXT_22);

+			stringBuffer.append(genPackage.getPackageInterfaceName());

+			stringBuffer.append(TEXT_20);

+			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_3);

+			stringBuffer.append(genModel.getNonNLS());

+			stringBuffer.append(TEXT_4);

+		}

+		if (isInterface) {

+			stringBuffer.append(TEXT_26);

+			stringBuffer.append(publicStaticFinalFlag);

+			stringBuffer.append(genModel.getImportedName("java.lang.String"));

+			stringBuffer.append(TEXT_27);

+			stringBuffer.append(genPackage.getPackageName());

+			stringBuffer.append(TEXT_28);

+			stringBuffer.append(genModel.getNonNLS());

+			stringBuffer.append(TEXT_29);

+			stringBuffer.append(publicStaticFinalFlag);

+			stringBuffer.append(genModel.getImportedName("java.lang.String"));

+			stringBuffer.append(TEXT_30);

+			stringBuffer.append(genPackage.getNSURI());

+			stringBuffer.append(TEXT_28);

+			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.getNSName());

+			stringBuffer.append(TEXT_28);

+			stringBuffer.append(genModel.getNonNLS());

+			if (genPackage.isContentType()) {

+				stringBuffer.append(TEXT_33);

+				stringBuffer.append(publicStaticFinalFlag);

+				stringBuffer.append(genModel.getImportedName("java.lang.String"));

+				stringBuffer.append(TEXT_34);

+				stringBuffer.append(genPackage.getContentTypeIdentifier());

+				stringBuffer.append(TEXT_28);

+				stringBuffer.append(genModel.getNonNLS());

+			}

+			stringBuffer.append(TEXT_35);

+			stringBuffer.append(publicStaticFinalFlag);

+			stringBuffer.append(genPackage.getPackageInterfaceName());

+			stringBuffer.append(TEXT_36);

+			stringBuffer.append(genPackage.getQualifiedPackageClassName());

+			stringBuffer.append(TEXT_37);

+			for (GenClassifier genClassifier : genPackage.getOrderedGenClassifiers()) {

+				stringBuffer.append(TEXT_38);

+				if (genClassifier instanceof GenClass) {

+					GenClass genClass = (GenClass) genClassifier;

+					if (!genClass.isInterface()) {

+						stringBuffer.append(TEXT_39);

+						stringBuffer.append(genClass.getQualifiedClassName());

+						stringBuffer.append(TEXT_40);

+						stringBuffer.append(genClass.getFormattedName());

+						stringBuffer.append(TEXT_41);

+						stringBuffer.append(genClass.getQualifiedClassName());

+					} else {

+						stringBuffer.append(TEXT_39);

+						stringBuffer.append(genClass.getRawQualifiedInterfaceName());

+						stringBuffer.append(TEXT_40);

+						stringBuffer.append(genClass.getFormattedName());

+						stringBuffer.append(TEXT_41);

+						stringBuffer.append(genClass.getRawQualifiedInterfaceName());

+					}

+				} else if (genClassifier instanceof GenEnum) {

+					GenEnum genEnum = (GenEnum) genClassifier;

+					stringBuffer.append(TEXT_39);

+					stringBuffer.append(genEnum.getQualifiedName());

+					stringBuffer.append(TEXT_40);

+					stringBuffer.append(genEnum.getFormattedName());

+					stringBuffer.append(TEXT_42);

+					stringBuffer.append(genEnum.getQualifiedName());

+				} else if (genClassifier instanceof GenDataType) {

+					GenDataType genDataType = (GenDataType) genClassifier;

+					stringBuffer.append(TEXT_43);

+					stringBuffer.append(genDataType.getFormattedName());

+					stringBuffer.append(TEXT_44);

+					if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {

+						stringBuffer.append(TEXT_45);

+						stringBuffer.append(genDataType.getRawInstanceClassName());

+					}

+				}

+				stringBuffer.append(TEXT_45);

+				stringBuffer.append(genPackage.getQualifiedPackageClassName());

+				stringBuffer.append(TEXT_46);

+				stringBuffer.append(genClassifier.getClassifierAccessorName());

+				stringBuffer.append(TEXT_47);

+				if (genClassifier.hasAPITags()) {

+					stringBuffer.append(TEXT_48);

+					stringBuffer.append(genClassifier.getAPITags(genModel.getIndentation(stringBuffer)));

+				}

+				stringBuffer.append(TEXT_49);

+				if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) {

+					stringBuffer.append(TEXT_50);

+				}

+				stringBuffer.append(TEXT_51);

+				stringBuffer.append(publicStaticFinalFlag);

+				stringBuffer.append(TEXT_52);

+				stringBuffer.append(genPackage.getClassifierID(genClassifier));

+				stringBuffer.append(TEXT_53);

+				stringBuffer.append(genPackage.getClassifierValue(genClassifier));

+				stringBuffer.append(TEXT_54);

+				if (genClassifier instanceof GenClass) {

+					GenClass genClass = (GenClass) genClassifier;

+					for (GenFeature genFeature : genClass.getAllGenFeatures()) {

+						stringBuffer.append(TEXT_55);

+						stringBuffer.append(genFeature.getFormattedName());

+						stringBuffer.append(TEXT_56);

+						stringBuffer.append(genFeature.getFeatureKind());

+						stringBuffer.append(TEXT_57);

+						if (genFeature.hasImplicitAPITags()) {

+							stringBuffer.append(TEXT_48);

+							stringBuffer.append(genFeature.getImplicitAPITags(genModel.getIndentation(stringBuffer)));

+						}

+						stringBuffer.append(TEXT_58);

+						if (isJDK50 && genFeature.hasImplicitAPIDeprecatedTag()) {

+							stringBuffer.append(TEXT_50);

+						}

+						stringBuffer.append(TEXT_51);

+						stringBuffer.append(publicStaticFinalFlag);

+						stringBuffer.append(TEXT_52);

+						stringBuffer.append(genClass.getFeatureID(genFeature));

+						stringBuffer.append(TEXT_53);

+						stringBuffer.append(genClass.getFeatureValue(genFeature));

+						stringBuffer.append(TEXT_54);

+					}

+					stringBuffer.append(TEXT_59);

+					stringBuffer.append(genClass.getFormattedName());

+					stringBuffer.append(TEXT_60);

+					if (genClass.hasAPITags()) {

+						stringBuffer.append(TEXT_48);

+						stringBuffer.append(genClass.getAPITags(genModel.getIndentation(stringBuffer)));

+					}

+					stringBuffer.append(TEXT_58);

+					if (isJDK50 && genClass.hasAPIDeprecatedTag()) {

+						stringBuffer.append(TEXT_50);

+					}

+					stringBuffer.append(TEXT_51);

+					stringBuffer.append(publicStaticFinalFlag);

+					stringBuffer.append(TEXT_52);

+					stringBuffer.append(genClass.getFeatureCountID());

+					stringBuffer.append(TEXT_53);

+					stringBuffer.append(genClass.getFeatureCountValue());

+					stringBuffer.append(TEXT_54);

+					if (genModel.isOperationReflection()) {

+						for (GenOperation genOperation : genClass.getAllGenOperations(false)) {

+							if (genClass.getOverrideGenOperation(genOperation) == null) {

+								stringBuffer.append(TEXT_61);

+								stringBuffer.append(genOperation.getFormattedName());

+								stringBuffer.append(TEXT_62);

+								if (genOperation.hasImplicitAPITags()) {

+									stringBuffer.append(TEXT_48);

+									stringBuffer.append(

+											genOperation.getImplicitAPITags(genModel.getIndentation(stringBuffer)));

+								}

+								stringBuffer.append(TEXT_58);

+								if (isJDK50 && genOperation.hasImplicitAPIDeprecatedTag()) {

+									stringBuffer.append(TEXT_50);

+								}

+								stringBuffer.append(TEXT_51);

+								stringBuffer.append(publicStaticFinalFlag);

+								stringBuffer.append(TEXT_52);

+								stringBuffer.append(genClass.getOperationID(genOperation, false));

+								stringBuffer.append(TEXT_53);

+								stringBuffer.append(genClass.getOperationValue(genOperation));

+								stringBuffer.append(TEXT_54);

+							}

+						}

+						stringBuffer.append(TEXT_63);

+						stringBuffer.append(genClass.getFormattedName());

+						stringBuffer.append(TEXT_60);

+						if (genClass.hasAPITags()) {

+							stringBuffer.append(TEXT_48);

+							stringBuffer.append(genClass.getAPITags(genModel.getIndentation(stringBuffer)));

+						}

+						stringBuffer.append(TEXT_58);

+						if (isJDK50 && genClass.hasAPIDeprecatedTag()) {

+							stringBuffer.append(TEXT_50);

+						}

+						stringBuffer.append(TEXT_51);

+						stringBuffer.append(publicStaticFinalFlag);

+						stringBuffer.append(TEXT_52);

+						stringBuffer.append(genClass.getOperationCountID());

+						stringBuffer.append(TEXT_53);

+						stringBuffer.append(genClass.getOperationCountValue());

+						stringBuffer.append(TEXT_54);

+					}

+				}

+			}

+		}

+		if (isImplementation) {

+			if (genPackage.isLoadingInitialization()) {

+				stringBuffer.append(TEXT_64);

+				stringBuffer.append(genPackage.getSerializedPackageFilename());

+				stringBuffer.append(TEXT_28);

+				stringBuffer.append(genModel.getNonNLS());

+				stringBuffer.append(TEXT_4);

+			}

+			for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {

+				stringBuffer.append(TEXT_65);

+				if (genClassifier.hasAPITags(true)) {

+					stringBuffer.append(TEXT_48);

+					stringBuffer.append(genClassifier.getAPITags(genModel.getIndentation(stringBuffer), true));

+				}

+				stringBuffer.append(TEXT_49);

+				if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) {

+					stringBuffer.append(TEXT_50);

+				}

+				stringBuffer.append(TEXT_66);

+				stringBuffer.append(genClassifier.getImportedMetaType());

+				stringBuffer.append(TEXT_67);

+				stringBuffer.append(genClassifier.getClassifierInstanceName());

+				stringBuffer.append(TEXT_68);

+			}

+			stringBuffer.append(TEXT_69);

+			stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());

+			stringBuffer.append(TEXT_70);

+			stringBuffer.append(genPackage.getPackageClassName());

+			stringBuffer.append(TEXT_71);

+			stringBuffer.append(genPackage.getQualifiedEFactoryInstanceAccessor());

+			stringBuffer.append(TEXT_72);

+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+			stringBuffer.append(TEXT_73);

+			if (!genPackage.isLoadedInitialization()) {

+				stringBuffer.append(TEXT_74);

+			}

+			stringBuffer.append(TEXT_75);

+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+			stringBuffer.append(TEXT_76);

+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+			stringBuffer.append(TEXT_77);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

+			stringBuffer.append(TEXT_78);

+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+			stringBuffer.append(TEXT_79);

+			if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {

+				stringBuffer.append(TEXT_80);

+			}

+			stringBuffer.append(TEXT_81);

+			stringBuffer.append(genPackage.getBasicPackageName());

+			stringBuffer.append(TEXT_53);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

+			stringBuffer.append(TEXT_82);

+			stringBuffer.append(genPackage.getPackageClassName());

+			stringBuffer.append(TEXT_83);

+			stringBuffer.append(genPackage.getBasicPackageName());

+			stringBuffer.append(TEXT_84);

+			stringBuffer.append(genPackage.getBasicPackageName());

+			stringBuffer.append(TEXT_85);

+			stringBuffer.append(genPackage.getPackageClassName());

+			stringBuffer.append(TEXT_86);

+			stringBuffer.append(genPackage.getPackageClassName());

+			stringBuffer.append(TEXT_87);

+			stringBuffer.append(genPackage.getBasicPackageName());

+			stringBuffer.append(TEXT_88);

+			stringBuffer.append(genPackage.getPackageClassName());

+			stringBuffer.append(TEXT_89);

+			if (!genPackage.getPackageSimpleDependencies().isEmpty()) {

+				stringBuffer.append(TEXT_90);

+				for (GenPackage dep : genPackage.getPackageSimpleDependencies()) {

+					stringBuffer.append(TEXT_91);

+					stringBuffer.append(dep.getImportedPackageInterfaceName());

+					stringBuffer.append(TEXT_92);

+				}

+				stringBuffer.append(TEXT_4);

+			}

+			if (!genPackage.getPackageInterDependencies().isEmpty()) {

+				stringBuffer.append(TEXT_93);

+				for (ListIterator<GenPackage> i = genPackage.getPackageInterDependencies().listIterator(); i

+						.hasNext();) {

+					GenPackage interdep = i.next();

+					stringBuffer.append(TEXT_91);

+					if (i.previousIndex() == 0) {

+						stringBuffer.append(TEXT_94);

+					}

+					stringBuffer.append(TEXT_95);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

+					stringBuffer.append(TEXT_78);

+					stringBuffer.append(interdep.getImportedPackageInterfaceName());

+					stringBuffer.append(TEXT_96);

+					stringBuffer.append(interdep.getImportedPackageClassName());

+					stringBuffer.append(TEXT_67);

+					stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));

+					stringBuffer.append(TEXT_97);

+					stringBuffer.append(interdep.getImportedPackageClassName());

+					stringBuffer.append(TEXT_98);

+					stringBuffer.append(interdep.getImportedPackageClassName());

+					stringBuffer.append(TEXT_99);

+					stringBuffer.append(interdep.getImportedPackageInterfaceName());

+					stringBuffer.append(TEXT_100);

+				}

+				stringBuffer.append(TEXT_4);

+			}

+			if (genPackage.isLoadedInitialization() || !genPackage.getPackageLoadInterDependencies().isEmpty()) {

+				stringBuffer.append(TEXT_101);

+				if (genPackage.isLoadingInitialization()) {

+					stringBuffer.append(TEXT_102);

+					stringBuffer.append(genPackage.getBasicPackageName());

+					stringBuffer.append(TEXT_103);

+				}

+				for (GenPackage interdep : genPackage.getPackageLoadInterDependencies()) {

+					if (interdep.isLoadingInitialization()) {

+						stringBuffer.append(TEXT_91);

+						stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));

+						stringBuffer.append(TEXT_103);

+					}

+				}

+				stringBuffer.append(TEXT_4);

+			}

+			if (!genPackage.isLoadedInitialization() || !genPackage.getPackageBuildInterDependencies().isEmpty()) {

+				stringBuffer.append(TEXT_104);

+				if (!genPackage.isLoadedInitialization()) {

+					stringBuffer.append(TEXT_102);

+					stringBuffer.append(genPackage.getBasicPackageName());

+					stringBuffer.append(TEXT_105);

+				}

+				for (GenPackage interdep : genPackage.getPackageBuildInterDependencies()) {

+					stringBuffer.append(TEXT_91);

+					stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));

+					stringBuffer.append(TEXT_105);

+				}

+				stringBuffer.append(TEXT_106);

+				if (!genPackage.isLoadedInitialization()) {

+					stringBuffer.append(TEXT_102);

+					stringBuffer.append(genPackage.getBasicPackageName());

+					stringBuffer.append(TEXT_107);

+				}

+				for (GenPackage interdep : genPackage.getPackageBuildInterDependencies()) {

+					stringBuffer.append(TEXT_91);

+					stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));

+					stringBuffer.append(TEXT_107);

+				}

+				stringBuffer.append(TEXT_4);

+			}

+			if (genPackage.isLoadedInitialization() || !genPackage.getPackageLoadInterDependencies().isEmpty()) {

+				stringBuffer.append(TEXT_108);

+				if (genPackage.isLoadedInitialization()) {

+					stringBuffer.append(TEXT_102);

+					stringBuffer.append(genPackage.getBasicPackageName());

+					stringBuffer.append(TEXT_109);

+				}

+				for (GenPackage interdep : genPackage.getPackageLoadInterDependencies()) {

+					stringBuffer.append(TEXT_91);

+					stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));

+					stringBuffer.append(TEXT_109);

+				}

+				stringBuffer.append(TEXT_4);

+			}

+			if (genPackage.hasConstraints()) {

+				stringBuffer.append(TEXT_110);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EValidator"));

+				stringBuffer.append(TEXT_111);

+				stringBuffer.append(genPackage.getBasicPackageName());

+				stringBuffer.append(TEXT_112);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EValidator"));

+				stringBuffer.append(TEXT_113);

+				if (genModel.useInterfaceOverrideAnnotation()) {

+					stringBuffer.append(TEXT_114);

+				}

+				stringBuffer.append(TEXT_115);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EValidator"));

+				stringBuffer.append(TEXT_116);

+				stringBuffer.append(genPackage.getImportedValidatorClassName());

+				stringBuffer.append(TEXT_117);

+			}

+			if (!genPackage.isEcorePackage()) {

+				stringBuffer.append(TEXT_118);

+				stringBuffer.append(genPackage.getBasicPackageName());

+				stringBuffer.append(TEXT_119);

+			}

+			stringBuffer.append(TEXT_120);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

+			stringBuffer.append(TEXT_121);

+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+			stringBuffer.append(TEXT_122);

+			stringBuffer.append(genPackage.getBasicPackageName());

+			stringBuffer.append(TEXT_123);

+			stringBuffer.append(genPackage.getBasicPackageName());

+			stringBuffer.append(TEXT_124);

+			if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {

+				stringBuffer.append(TEXT_125);

+				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_91);

+								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect"));

+								stringBuffer.append(TEXT_126);

+								stringBuffer.append(theClass);

+								stringBuffer.append(TEXT_127);

+								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect"));

+								stringBuffer.append(TEXT_128);

+								stringBuffer.append(genClass.isMapEntry() ? genClass.getImportedClassName()

+										: genClass.getRawImportedInterfaceName()

+												+ genClass.getInterfaceWildTypeArguments());

+								stringBuffer.append(TEXT_129);

+								stringBuffer.append(theClass);

+								stringBuffer.append(TEXT_130);

+							}

+						}

+					} 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_91);

+								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect"));

+								stringBuffer.append(TEXT_126);

+								stringBuffer.append(theClass);

+								stringBuffer.append(TEXT_127);

+								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect"));

+								stringBuffer.append(TEXT_128);

+								stringBuffer.append(theClass);

+								stringBuffer.append(TEXT_131);

+								if (genDataType.isArrayType()) {

+									String componentType = theClass;

+									String indices = "";

+									while (componentType.endsWith("[]")) {

+										componentType = componentType.substring(0, componentType.length() - 2);

+										indices += "[]";

+									}

+									stringBuffer.append(TEXT_132);

+									stringBuffer.append(componentType);

+									stringBuffer.append(TEXT_133);

+									stringBuffer.append(indices);

+									stringBuffer.append(TEXT_3);

+								} else {

+									stringBuffer.append(TEXT_132);

+									stringBuffer.append(theClass);

+									stringBuffer.append(TEXT_134);

+								}

+								stringBuffer.append(TEXT_135);

+							}

+						}

+					}

+				}

+				stringBuffer.append(TEXT_136);

+				stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.IsSerializable"));

+				stringBuffer.append(TEXT_137);

+				for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {

+					if (genClassifier instanceof GenClass) {

+						GenClass genClass = (GenClass) genClassifier;

+						if (!genClass.isDynamic()) {

+							stringBuffer.append(TEXT_138);

+							stringBuffer.append(genClass.isMapEntry() ? genClass.getImportedClassName()

+									: genClass.getImportedWildcardInstanceClassName());

+							stringBuffer.append(TEXT_67);

+							stringBuffer.append(genClass.getSafeUncapName());

+							stringBuffer.append(TEXT_54);

+						}

+					} else if (genClassifier instanceof GenDataType) {

+						GenDataType genDataType = (GenDataType) genClassifier;

+						if (!genDataType.isObjectType() && genDataType.isSerializable()) {

+							stringBuffer.append(TEXT_138);

+							stringBuffer.append(genDataType.getImportedWildcardInstanceClassName());

+							stringBuffer.append(TEXT_67);

+							stringBuffer.append(genDataType.getSafeUncapName());

+							stringBuffer.append(TEXT_54);

+						}

+					}

+				}

+				stringBuffer.append(TEXT_139);

+			}

+			stringBuffer.append(TEXT_4);

+		}

+		if (isInterface) { // TODO REMOVE THIS BOGUS EMPTY LINE

+			stringBuffer.append(TEXT_4);

+		}

+		for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {

+			if (isInterface) {

+				stringBuffer.append(TEXT_38);

+				if (genClassifier instanceof GenClass) {

+					GenClass genClass = (GenClass) genClassifier;

+					stringBuffer.append(TEXT_140);

+					stringBuffer.append(genClass.getRawQualifiedInterfaceName());

+					stringBuffer.append(TEXT_40);

+					stringBuffer.append(genClass.getFormattedName());

+					stringBuffer.append(TEXT_141);

+					stringBuffer.append(genClass.getFormattedName());

+					stringBuffer.append(TEXT_142);

+					stringBuffer.append(genClass.getRawQualifiedInterfaceName());

+					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_143);

+								stringBuffer.append(modelInfo);

+							} else {

+								stringBuffer.append(TEXT_144);

+								stringBuffer.append(modelInfo);

+							}

+						}

+						if (first) {

+							stringBuffer.append(TEXT_145);

+						}

+					}

+				} else if (genClassifier instanceof GenEnum) {

+					GenEnum genEnum = (GenEnum) genClassifier;

+					stringBuffer.append(TEXT_146);

+					stringBuffer.append(genEnum.getQualifiedName());

+					stringBuffer.append(TEXT_40);

+					stringBuffer.append(genEnum.getFormattedName());

+					stringBuffer.append(TEXT_147);

+					stringBuffer.append(genEnum.getFormattedName());

+					stringBuffer.append(TEXT_142);

+					stringBuffer.append(genEnum.getQualifiedName());

+				} else if (genClassifier instanceof GenDataType) {

+					GenDataType genDataType = (GenDataType) genClassifier;

+					if (genDataType.isPrimitiveType() || genDataType.isArrayType()) {

+						stringBuffer.append(TEXT_148);

+						stringBuffer.append(genDataType.getFormattedName());

+						stringBuffer.append(TEXT_149);

+					} else {

+						stringBuffer.append(TEXT_150);

+						stringBuffer.append(genDataType.getRawInstanceClassName());

+						stringBuffer.append(TEXT_40);

+						stringBuffer.append(genDataType.getFormattedName());

+						stringBuffer.append(TEXT_151);

+					}

+					stringBuffer.append(TEXT_152);

+					if (genDataType.hasDocumentation()) {

+						stringBuffer.append(TEXT_153);

+						stringBuffer.append(genDataType.getDocumentation(genModel.getIndentation(stringBuffer)));

+						stringBuffer.append(TEXT_154);

+					}

+					stringBuffer.append(TEXT_155);

+					stringBuffer.append(genDataType.getFormattedName());

+					stringBuffer.append(TEXT_149);

+					if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {

+						stringBuffer.append(TEXT_45);

+						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_143);

+								stringBuffer.append(modelInfo);

+							} else {

+								stringBuffer.append(TEXT_144);

+								stringBuffer.append(modelInfo);

+							}

+						}

+						if (first) {

+							stringBuffer.append(TEXT_145);

+						}

+					}

+				}

+				if ((genClassifier instanceof GenClass || genClassifier instanceof GenEnum)

+						&& genClassifier.hasAPITags()) {

+					stringBuffer.append(TEXT_48);

+					stringBuffer.append(genClassifier.getAPITags(genModel.getIndentation(stringBuffer)));

+				}

+				stringBuffer.append(TEXT_49);

+			} else {

+				stringBuffer.append(TEXT_65);

+				if (genClassifier.hasAPITags()) {

+					stringBuffer.append(TEXT_48);

+					stringBuffer.append(genClassifier.getAPITags(genModel.getIndentation(stringBuffer)));

+				}

+				stringBuffer.append(TEXT_49);

+			}

+			if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) {

+				stringBuffer.append(TEXT_50);

+			}

+			if (isImplementation) {

+				if (useInterfaceOverrideAnnotation) {

+					stringBuffer.append(TEXT_156);

+				}

+				stringBuffer.append(TEXT_157);

+				stringBuffer.append(genClassifier.getImportedMetaType());

+				stringBuffer.append(TEXT_158);

+				stringBuffer.append(genClassifier.getClassifierAccessorName());

+				stringBuffer.append(TEXT_159);

+				if (genPackage.isLoadedInitialization()) {

+					stringBuffer.append(TEXT_160);

+					stringBuffer.append(genClassifier.getClassifierInstanceName());

+					stringBuffer.append(TEXT_161);

+					stringBuffer.append(genClassifier.getClassifierInstanceName());

+					stringBuffer.append(TEXT_97);

+					stringBuffer.append(genClassifier.getImportedMetaType());

+					stringBuffer.append(TEXT_77);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

+					stringBuffer.append(TEXT_78);

+					stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+					stringBuffer.append(TEXT_162);

+					stringBuffer.append(genPackage.getLocalClassifierIndex(genClassifier));

+					stringBuffer.append(TEXT_163);

+				}

+				stringBuffer.append(TEXT_164);

+				stringBuffer.append(genClassifier.getClassifierInstanceName());

+				stringBuffer.append(TEXT_165);

+			} else {

+				stringBuffer.append(TEXT_51);

+				stringBuffer.append(genClassifier.getImportedMetaType());

+				stringBuffer.append(TEXT_158);

+				stringBuffer.append(genClassifier.getClassifierAccessorName());

+				stringBuffer.append(TEXT_166);

+			}

+			if (genClassifier instanceof GenClass) {

+				GenClass genClass = (GenClass) genClassifier;

+				for (GenFeature genFeature : genClass.getGenFeatures()) {

+					if (isInterface) {

+						stringBuffer.append(TEXT_167);

+						stringBuffer.append(genFeature.getFeatureKind());

+						stringBuffer.append(TEXT_168);

+						stringBuffer.append(genClass.getRawQualifiedInterfaceName());

+						if (!genClass.isMapEntry() && !genFeature.isSuppressedGetVisibility()) {

+							stringBuffer.append(TEXT_169);

+							stringBuffer.append(genFeature.getGetAccessor());

+						}

+						stringBuffer.append(TEXT_40);

+						stringBuffer.append(genFeature.getFormattedName());

+						stringBuffer.append(TEXT_170);

+						stringBuffer.append(genFeature.getFeatureKind());

+						stringBuffer.append(TEXT_171);

+						stringBuffer.append(genFeature.getFormattedName());

+						stringBuffer.append(TEXT_142);

+						stringBuffer.append(genClass.getRawQualifiedInterfaceName());

+						if (!genClass.isMapEntry() && !genFeature.isSuppressedGetVisibility()) {

+							stringBuffer.append(TEXT_169);

+							stringBuffer.append(genFeature.getGetAccessor());

+							stringBuffer.append(TEXT_47);

+						}

+						stringBuffer.append(TEXT_172);

+						stringBuffer.append(genClass.getClassifierAccessorName());

+						stringBuffer.append(TEXT_47);

+						if (genFeature.hasImplicitAPITags()) {

+							stringBuffer.append(TEXT_48);

+							stringBuffer.append(genFeature.getImplicitAPITags(genModel.getIndentation(stringBuffer)));

+						}

+						stringBuffer.append(TEXT_49);

+					} else {

+						stringBuffer.append(TEXT_65);

+						if (genFeature.hasImplicitAPITags()) {

+							stringBuffer.append(TEXT_48);

+							stringBuffer.append(genFeature.getImplicitAPITags(genModel.getIndentation(stringBuffer)));

+						}

+						stringBuffer.append(TEXT_49);

+					}

+					if (isJDK50 && genFeature.hasImplicitAPIDeprecatedTag()) {

+						stringBuffer.append(TEXT_50);

+					}

+					if (isImplementation) {

+						if (useInterfaceOverrideAnnotation) {

+							stringBuffer.append(TEXT_156);

+						}

+						stringBuffer.append(TEXT_157);

+						stringBuffer.append(genFeature.getImportedMetaType());

+						stringBuffer.append(TEXT_158);

+						stringBuffer.append(genFeature.getFeatureAccessorName());

+						stringBuffer.append(TEXT_159);

+						if (!genPackage.isLoadedInitialization()) {

+							stringBuffer.append(TEXT_173);

+							stringBuffer.append(genFeature.getImportedMetaType());

+							stringBuffer.append(TEXT_77);

+							stringBuffer.append(genClass.getClassifierInstanceName());

+							stringBuffer.append(TEXT_174);

+							stringBuffer.append(genClass.getLocalFeatureIndex(genFeature));

+							stringBuffer.append(TEXT_175);

+						} else {

+							stringBuffer.append(TEXT_176);

+							stringBuffer.append(genFeature.getImportedMetaType());

+							stringBuffer.append(TEXT_177);

+							stringBuffer.append(genClassifier.getClassifierAccessorName());

+							stringBuffer.append(TEXT_178);

+							stringBuffer.append(genClass.getLocalFeatureIndex(genFeature));

+							stringBuffer.append(TEXT_175);

+						}

+						stringBuffer.append(TEXT_139);

+					} else {

+						stringBuffer.append(TEXT_51);

+						stringBuffer.append(genFeature.getImportedMetaType());

+						stringBuffer.append(TEXT_158);

+						stringBuffer.append(genFeature.getFeatureAccessorName());

+						stringBuffer.append(TEXT_179);

+					}

+					stringBuffer.append(TEXT_4);

+				}

+				if (genModel.isOperationReflection()) {

+					for (GenOperation genOperation : genClass.getGenOperations()) {

+						if (isInterface) {

+							stringBuffer.append(TEXT_180);

+							stringBuffer.append(genClass.getRawQualifiedInterfaceName());

+							stringBuffer.append(TEXT_169);

+							stringBuffer.append(genOperation.getName());

+							stringBuffer.append(TEXT_181);

+							stringBuffer.append(genOperation.getParameterTypes(", "));

+							stringBuffer.append(TEXT_182);

+							stringBuffer.append(genOperation.getFormattedName());

+							stringBuffer.append(TEXT_183);

+							stringBuffer.append(genOperation.getFormattedName());

+							stringBuffer.append(TEXT_184);

+							stringBuffer.append(genClass.getRawQualifiedInterfaceName());

+							stringBuffer.append(TEXT_169);

+							stringBuffer.append(genOperation.getName());

+							stringBuffer.append(TEXT_181);

+							stringBuffer.append(genOperation.getParameterTypes(", "));

+							stringBuffer.append(TEXT_77);

+							if (genOperation.hasImplicitAPITags()) {

+								stringBuffer.append(TEXT_48);

+								stringBuffer

+										.append(genOperation.getImplicitAPITags(genModel.getIndentation(stringBuffer)));

+							}

+							stringBuffer.append(TEXT_49);

+						} else {

+							stringBuffer.append(TEXT_65);

+							if (genOperation.hasImplicitAPITags()) {

+								stringBuffer.append(TEXT_48);

+								stringBuffer

+										.append(genOperation.getImplicitAPITags(genModel.getIndentation(stringBuffer)));

+							}

+							stringBuffer.append(TEXT_49);

+						}

+						if (isJDK50 && genOperation.hasImplicitAPIDeprecatedTag()) {

+							stringBuffer.append(TEXT_50);

+						}

+						if (isImplementation) {

+							if (useInterfaceOverrideAnnotation) {

+								stringBuffer.append(TEXT_156);

+							}

+							stringBuffer.append(TEXT_157);

+							stringBuffer.append(genOperation.getImportedMetaType());

+							stringBuffer.append(TEXT_158);

+							stringBuffer.append(genOperation.getOperationAccessorName());

+							stringBuffer.append(TEXT_159);

+							if (!genPackage.isLoadedInitialization()) {

+								stringBuffer.append(TEXT_164);

+								stringBuffer.append(genClass.getClassifierInstanceName());

+								stringBuffer.append(TEXT_185);

+								stringBuffer.append(genClass.getLocalOperationIndex(genOperation));

+								stringBuffer.append(TEXT_175);

+							} else {

+								stringBuffer.append(TEXT_186);

+								stringBuffer.append(genClassifier.getClassifierAccessorName());

+								stringBuffer.append(TEXT_187);

+								stringBuffer.append(genClass.getLocalOperationIndex(genOperation));

+								stringBuffer.append(TEXT_175);

+							}

+							stringBuffer.append(TEXT_139);

+						} else {

+							stringBuffer.append(TEXT_51);

+							stringBuffer.append(genOperation.getImportedMetaType());

+							stringBuffer.append(TEXT_158);

+							stringBuffer.append(genOperation.getOperationAccessorName());

+							stringBuffer.append(TEXT_179);

+						}

+						stringBuffer.append(TEXT_4);

+					}

+				}

+			}

+		}

+		if (isInterface) {

+			stringBuffer.append(TEXT_188);

+		} else {

+			stringBuffer.append(TEXT_189);

+		}

+		if (isImplementation) {

+			if (useInterfaceOverrideAnnotation) {

+				stringBuffer.append(TEXT_156);

+			}

+			stringBuffer.append(TEXT_157);

+			stringBuffer.append(genPackage.getImportedFactoryInterfaceName());

+			stringBuffer.append(TEXT_158);

+			stringBuffer.append(genPackage.getFactoryName());

+			stringBuffer.append(TEXT_190);

+			stringBuffer.append(genPackage.getImportedFactoryInterfaceName());

+			stringBuffer.append(TEXT_191);

+		} else {

+			stringBuffer.append(TEXT_51);

+			stringBuffer.append(genPackage.getFactoryInterfaceName());

+			stringBuffer.append(TEXT_158);

+			stringBuffer.append(genPackage.getFactoryName());

+			stringBuffer.append(TEXT_179);

+		}

+		stringBuffer.append(TEXT_4);

+		if (isImplementation) {

+			if (!genPackage.isLoadedInitialization()) {

+				stringBuffer.append(TEXT_192);

+				{

+					boolean needsSuppressDeprecation = false;

+					if (!packageNeedsSuppressDeprecation && isJDK50 && !genModel.isSuppressEMFMetaData()) {

+						LOOP: for (GenClass genClass : genPackage.getGenClasses()) {

+							for (GenFeature genFeature : genClass.getGenFeatures()) {

+								if (genFeature.hasAPIDeprecatedTag()) {

+									needsSuppressDeprecation = true;

+									break LOOP;

+								}

+							}

+							for (GenOperation genOperation : genClass.getGenOperations()) {

+								if (genOperation.hasAPIDeprecatedTag()) {

+									needsSuppressDeprecation = true;

+									break LOOP;

+								}

+							}

+						}

+						if (needsSuppressDeprecation) {

+							stringBuffer.append(TEXT_193);

+						}

+					}

+				}

+				stringBuffer.append(TEXT_194);

+				if (!genPackage.getGenClasses().isEmpty()) {

+					stringBuffer.append(TEXT_195);

+					for (Iterator<GenClass> c = genPackage.getGenClasses().iterator(); c.hasNext();) {

+						GenClass genClass = c.next();

+						stringBuffer.append(TEXT_91);

+						stringBuffer.append(genClass.getClassifierInstanceName());

+						stringBuffer.append(TEXT_196);

+						stringBuffer.append(genClass.getMetaType());

+						stringBuffer.append(TEXT_181);

+						stringBuffer.append(genClass.getClassifierID());

+						stringBuffer.append(TEXT_175);

+						for (GenFeature genFeature : genClass.getGenFeatures()) {

+							stringBuffer.append(TEXT_197);

+							stringBuffer.append(genFeature.getMetaType());

+							stringBuffer.append(TEXT_181);

+							stringBuffer.append(genClass.getClassifierInstanceName());

+							stringBuffer.append(TEXT_198);

+							stringBuffer.append(genClass.getFeatureID(genFeature));

+							stringBuffer.append(TEXT_175);

+						}

+						if (genModel.isOperationReflection()) {

+							for (GenOperation genOperation : genClass.getGenOperations()) {

+								stringBuffer.append(TEXT_199);

+								stringBuffer.append(genClass.getClassifierInstanceName());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genClass.getOperationID(genOperation, false));

+								stringBuffer.append(TEXT_175);

+							}

+						}

+						if (c.hasNext()) {

+							stringBuffer.append(TEXT_4);

+						}

+					}

+				}

+				if (!genPackage.getGenEnums().isEmpty()) {

+					stringBuffer.append(TEXT_200);

+					for (GenEnum genEnum : genPackage.getGenEnums()) {

+						stringBuffer.append(TEXT_91);

+						stringBuffer.append(genEnum.getClassifierInstanceName());

+						stringBuffer.append(TEXT_201);

+						stringBuffer.append(genEnum.getClassifierID());

+						stringBuffer.append(TEXT_175);

+					}

+				}

+				if (!genPackage.getGenDataTypes().isEmpty()) {

+					stringBuffer.append(TEXT_202);

+					for (GenDataType genDataType : genPackage.getGenDataTypes()) {

+						stringBuffer.append(TEXT_91);

+						stringBuffer.append(genDataType.getClassifierInstanceName());

+						stringBuffer.append(TEXT_203);

+						stringBuffer.append(genDataType.getClassifierID());

+						stringBuffer.append(TEXT_175);

+					}

+				}

+				stringBuffer.append(TEXT_204);

+

+				///////////////////////

+				class Information {

+					@SuppressWarnings("unused")

+					EGenericType eGenericType;

+					int depth;

+					String type;

+					String accessor;

+				}

+

+				class InformationIterator {

+					Iterator<Object> 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_205);

+				{

+					boolean needsSuppressDeprecation = false;

+					if (!packageNeedsSuppressDeprecation && isJDK50) {

+						LOOP: for (GenEnum genEnum : genPackage.getGenEnums()) {

+							for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {

+								if (genEnumLiteral.hasAPIDeprecatedTag()) {

+									needsSuppressDeprecation = true;

+									break LOOP;

+								}

+							}

+						}

+						if (needsSuppressDeprecation) {

+							stringBuffer.append(TEXT_193);

+						}

+					}

+				}

+				stringBuffer.append(TEXT_206);

+				if (!genPackage.getPackageInitializationDependencies().isEmpty()) {

+					stringBuffer.append(TEXT_207);

+					for (GenPackage dep : genPackage.getPackageInitializationDependencies()) {

+						stringBuffer.append(TEXT_91);

+						stringBuffer.append(dep.getImportedPackageInterfaceName());

+						stringBuffer.append(TEXT_67);

+						stringBuffer.append(genPackage.getPackageInstanceVariable(dep));

+						stringBuffer.append(TEXT_97);

+						stringBuffer.append(dep.getImportedPackageInterfaceName());

+						stringBuffer.append(TEXT_77);

+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

+						stringBuffer.append(TEXT_78);

+						stringBuffer.append(dep.getImportedPackageInterfaceName());

+						stringBuffer.append(TEXT_208);

+					}

+				}

+				if (!genPackage.getSubGenPackages().isEmpty()) {

+					stringBuffer.append(TEXT_209);

+					for (GenPackage sub : genPackage.getSubGenPackages()) {

+						stringBuffer.append(TEXT_210);

+						stringBuffer.append(genPackage.getPackageInstanceVariable(sub));

+						stringBuffer.append(TEXT_175);

+					}

+				}

+				if (!genPackage.getGenClasses().isEmpty()) {

+					boolean firstOperationAssignment = true;

+					int maxTypeParameterAssignment = 0;

+					if (genModel.useGenerics()) {

+						stringBuffer.append(TEXT_211);

+						for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {

+							for (GenTypeParameter genTypeParameter : genClassifier.getGenTypeParameters()) {

+								if (!genTypeParameter.getEcoreTypeParameter().getEBounds().isEmpty()

+										|| genTypeParameter.isUsed()) {

+									stringBuffer.append(TEXT_91);

+									stringBuffer

+											.append(genModel.getImportedName("org.eclipse.emf.ecore.ETypeParameter"));

+									stringBuffer.append(TEXT_67);

+									stringBuffer.append(genClassifier.getClassifierInstanceName());

+									stringBuffer.append(TEXT_212);

+									stringBuffer.append(genTypeParameter.getName());

+									stringBuffer.append(TEXT_213);

+									stringBuffer.append(genClassifier.getClassifierInstanceName());

+									stringBuffer.append(TEXT_214);

+									stringBuffer.append(genTypeParameter.getName());

+									stringBuffer.append(TEXT_215);

+									stringBuffer.append(genModel.getNonNLS());

+								} else {

+									stringBuffer.append(TEXT_216);

+									stringBuffer.append(genClassifier.getClassifierInstanceName());

+									stringBuffer.append(TEXT_214);

+									stringBuffer.append(genTypeParameter.getName());

+									stringBuffer.append(TEXT_215);

+									stringBuffer.append(genModel.getNonNLS());

+								}

+							}

+						}

+					}

+					if (genModel.useGenerics()) {

+						stringBuffer.append(TEXT_217);

+						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_91);

+										stringBuffer.append(prefix);

+										stringBuffer.append(TEXT_218);

+										stringBuffer.append(info.depth + 1);

+										stringBuffer.append(TEXT_219);

+										stringBuffer.append(info.type);

+										stringBuffer.append(TEXT_175);

+										if (info.depth > 0) {

+											stringBuffer.append(TEXT_220);

+											stringBuffer.append(info.depth);

+											stringBuffer.append(TEXT_221);

+											stringBuffer.append(info.accessor);

+											stringBuffer.append(TEXT_222);

+											stringBuffer.append(info.depth + 1);

+											stringBuffer.append(TEXT_175);

+										}

+									}

+									stringBuffer.append(TEXT_91);

+									stringBuffer.append(genClassifier.getClassifierInstanceName());

+									stringBuffer.append(TEXT_212);

+									stringBuffer.append(genTypeParameter.getName());

+									stringBuffer.append(TEXT_223);

+								}

+							}

+						}

+					}

+					stringBuffer.append(TEXT_224);

+					for (GenClass genClass : genPackage.getGenClasses()) {

+						if (!genClass.hasGenericSuperTypes()) {

+							for (GenClass baseGenClass : genClass.getBaseGenClasses()) {

+								stringBuffer.append(TEXT_91);

+								stringBuffer.append(genClass.getClassifierInstanceName());

+								stringBuffer.append(TEXT_225);

+								stringBuffer

+										.append(genPackage.getPackageInstanceVariable(baseGenClass.getGenPackage()));

+								stringBuffer.append(TEXT_226);

+								stringBuffer.append(baseGenClass.getClassifierAccessorName());

+								stringBuffer.append(TEXT_227);

+							}

+						} 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_91);

+									stringBuffer.append(prefix);

+									stringBuffer.append(TEXT_218);

+									stringBuffer.append(info.depth + 1);

+									stringBuffer.append(TEXT_219);

+									stringBuffer.append(info.type);

+									stringBuffer.append(TEXT_175);

+									if (info.depth > 0) {

+										stringBuffer.append(TEXT_220);

+										stringBuffer.append(info.depth);

+										stringBuffer.append(TEXT_221);

+										stringBuffer.append(info.accessor);

+										stringBuffer.append(TEXT_222);

+										stringBuffer.append(info.depth + 1);

+										stringBuffer.append(TEXT_175);

+									}

+								}

+								stringBuffer.append(TEXT_91);

+								stringBuffer.append(genClass.getClassifierInstanceName());

+								stringBuffer.append(TEXT_228);

+							}

+						}

+					}

+					stringBuffer.append(TEXT_229);

+					if (genModel.isOperationReflection()) {

+						stringBuffer.append(TEXT_230);

+					} else {

+						stringBuffer.append(TEXT_231);

+					}

+					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_232);

+						stringBuffer.append(genClass.getClassifierInstanceName());

+						stringBuffer.append(TEXT_198);

+						if (genClass.isDynamic()) {

+							stringBuffer.append(TEXT_233);

+						} else {

+							stringBuffer.append(genClass.getRawImportedInterfaceName());

+							stringBuffer.append(TEXT_234);

+						}

+						stringBuffer.append(TEXT_214);

+						stringBuffer.append(genClass.getName());

+						stringBuffer.append(TEXT_235);

+						stringBuffer.append(genClass.getAbstractFlag());

+						stringBuffer.append(TEXT_198);

+						stringBuffer.append(genClass.getInterfaceFlag());

+						stringBuffer.append(TEXT_198);

+						stringBuffer.append(genClass.getGeneratedInstanceClassFlag());

+						if (hasInstanceTypeName) {

+							stringBuffer.append(TEXT_214);

+							stringBuffer.append(genClass.getEcoreClass().getInstanceTypeName());

+							stringBuffer.append(TEXT_236);

+						}

+						stringBuffer.append(TEXT_175);

+						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_91);

+									stringBuffer.append(prefix);

+									stringBuffer.append(TEXT_218);

+									stringBuffer.append(info.depth + 1);

+									stringBuffer.append(TEXT_219);

+									stringBuffer.append(info.type);

+									stringBuffer.append(TEXT_175);

+									if (info.depth > 0) {

+										stringBuffer.append(TEXT_220);

+										stringBuffer.append(info.depth);

+										stringBuffer.append(TEXT_221);

+										stringBuffer.append(info.accessor);

+										stringBuffer.append(TEXT_222);

+										stringBuffer.append(info.depth + 1);

+										stringBuffer.append(TEXT_175);

+									}

+								}

+							}

+							if (genFeature.isReferenceType()) {

+								GenFeature reverseGenFeature = genFeature.getReverse();

+								String reverse = reverseGenFeature == null ? "null"

+										: genPackage.getPackageInstanceVariable(reverseGenFeature.getGenPackage())

+												+ ".get" + reverseGenFeature.getFeatureAccessorName() + "()";

+								stringBuffer.append(TEXT_237);

+								stringBuffer.append(genFeature.getFeatureAccessorName());

+								stringBuffer.append(TEXT_238);

+								if (genFeature.hasGenericType()) {

+									stringBuffer.append(TEXT_239);

+								} else {

+									stringBuffer.append(

+											genPackage.getPackageInstanceVariable(genFeature.getTypeGenPackage()));

+									stringBuffer.append(TEXT_226);

+									stringBuffer.append(genFeature.getTypeClassifierAccessorName());

+									stringBuffer.append(TEXT_47);

+								}

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(reverse);

+								stringBuffer.append(TEXT_214);

+								stringBuffer.append(genFeature.getName());

+								stringBuffer.append(TEXT_235);

+								stringBuffer.append(genFeature.getDefaultValue());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getLowerBound());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getUpperBound());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getContainerClass());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getTransientFlag());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getVolatileFlag());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getChangeableFlag());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getContainmentFlag());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getResolveProxiesFlag());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getUnsettableFlag());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getUniqueFlag());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getDerivedFlag());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getOrderedFlag());

+								stringBuffer.append(TEXT_175);

+								stringBuffer.append(genModel.getNonNLS());

+								stringBuffer.append(genModel.getNonNLS(genFeature.getDefaultValue(), 2));

+								for (GenFeature keyFeature : genFeature.getKeys()) {

+									stringBuffer.append(TEXT_240);

+									stringBuffer.append(genFeature.getFeatureAccessorName());

+									stringBuffer.append(TEXT_241);

+									stringBuffer

+											.append(genPackage.getPackageInstanceVariable(keyFeature.getGenPackage()));

+									stringBuffer.append(TEXT_226);

+									stringBuffer.append(keyFeature.getFeatureAccessorName());

+									stringBuffer.append(TEXT_227);

+								}

+							} else {

+								stringBuffer.append(TEXT_242);

+								stringBuffer.append(genFeature.getFeatureAccessorName());

+								stringBuffer.append(TEXT_238);

+								if (genFeature.hasGenericType()) {

+									stringBuffer.append(TEXT_239);

+								} else {

+									stringBuffer.append(

+											genPackage.getPackageInstanceVariable(genFeature.getTypeGenPackage()));

+									stringBuffer.append(TEXT_226);

+									stringBuffer.append(genFeature.getTypeClassifierAccessorName());

+									stringBuffer.append(TEXT_47);

+								}

+								stringBuffer.append(TEXT_214);

+								stringBuffer.append(genFeature.getName());

+								stringBuffer.append(TEXT_235);

+								stringBuffer.append(genFeature.getDefaultValue());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getLowerBound());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getUpperBound());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getContainerClass());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getTransientFlag());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getVolatileFlag());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getChangeableFlag());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getUnsettableFlag());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getIDFlag());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getUniqueFlag());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getDerivedFlag());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getOrderedFlag());

+								stringBuffer.append(TEXT_175);

+								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_4);

+							if (genModel.useGenerics()) {

+								stringBuffer.append(TEXT_91);

+								stringBuffer.append(prefix);

+								if (genModel.isOperationReflection()) {

+									stringBuffer.append(TEXT_243);

+									stringBuffer.append(genOperation.getOperationAccessorName());

+									stringBuffer.append(TEXT_47);

+								} else {

+									stringBuffer.append(TEXT_244);

+									stringBuffer.append(genClass.getClassifierInstanceName());

+								}

+								stringBuffer.append(TEXT_198);

+								if (genOperation.isVoid() || genOperation.hasGenericType()) {

+									stringBuffer.append(TEXT_233);

+								} else {

+									stringBuffer.append(

+											genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage()));

+									stringBuffer.append(TEXT_226);

+									stringBuffer.append(genOperation.getTypeClassifierAccessorName());

+									stringBuffer.append(TEXT_47);

+								}

+								stringBuffer.append(TEXT_214);

+								stringBuffer.append(genOperation.getName());

+								stringBuffer.append(TEXT_235);

+								stringBuffer.append(genOperation.getLowerBound());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genOperation.getUpperBound());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genOperation.getUniqueFlag());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genOperation.getOrderedFlag());

+								stringBuffer.append(TEXT_175);

+								stringBuffer.append(genModel.getNonNLS());

+							} else if (!genOperation.isVoid()) {

+								if (!genOperation.getEcoreOperation().isOrdered()

+										|| !genOperation.getEcoreOperation().isUnique()) {

+									needsAddEOperation = true;

+									stringBuffer.append(TEXT_91);

+									stringBuffer.append(prefix);

+									if (genModel.isOperationReflection()) {

+										stringBuffer.append(TEXT_243);

+										stringBuffer.append(genOperation.getOperationAccessorName());

+										stringBuffer.append(TEXT_47);

+									} else {

+										stringBuffer.append(TEXT_244);

+										stringBuffer.append(genClass.getClassifierInstanceName());

+									}

+									stringBuffer.append(TEXT_198);

+									stringBuffer.append(

+											genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage()));

+									stringBuffer.append(TEXT_226);

+									stringBuffer.append(genOperation.getTypeClassifierAccessorName());

+									stringBuffer.append(TEXT_245);

+									stringBuffer.append(genOperation.getName());

+									stringBuffer.append(TEXT_235);

+									stringBuffer.append(genOperation.getLowerBound());

+									stringBuffer.append(TEXT_198);

+									stringBuffer.append(genOperation.getUpperBound());

+									stringBuffer.append(TEXT_198);

+									stringBuffer.append(genOperation.getUniqueFlag());

+									stringBuffer.append(TEXT_198);

+									stringBuffer.append(genOperation.getOrderedFlag());

+									stringBuffer.append(TEXT_175);

+									stringBuffer.append(genModel.getNonNLS());

+								} else {

+									stringBuffer.append(TEXT_91);

+									stringBuffer.append(prefix);

+									if (genModel.isOperationReflection()) {

+										stringBuffer.append(TEXT_243);

+										stringBuffer.append(genOperation.getOperationAccessorName());

+										stringBuffer.append(TEXT_47);

+									} else {

+										stringBuffer.append(TEXT_244);

+										stringBuffer.append(genClass.getClassifierInstanceName());

+									}

+									stringBuffer.append(TEXT_198);

+									stringBuffer.append(

+											genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage()));

+									stringBuffer.append(TEXT_226);

+									stringBuffer.append(genOperation.getTypeClassifierAccessorName());

+									stringBuffer.append(TEXT_245);

+									stringBuffer.append(genOperation.getName());

+									stringBuffer.append(TEXT_235);

+									stringBuffer.append(genOperation.getLowerBound());

+									stringBuffer.append(TEXT_198);

+									stringBuffer.append(genOperation.getUpperBound());

+									stringBuffer.append(TEXT_175);

+									stringBuffer.append(genModel.getNonNLS());

+								}

+							} else {

+								stringBuffer.append(TEXT_91);

+								stringBuffer.append(prefix);

+								if (genModel.isOperationReflection()) {

+									stringBuffer.append(TEXT_243);

+									stringBuffer.append(genOperation.getOperationAccessorName());

+									stringBuffer.append(TEXT_47);

+								} else {

+									stringBuffer.append(TEXT_244);

+									stringBuffer.append(genClass.getClassifierInstanceName());

+								}

+								stringBuffer.append(TEXT_246);

+								stringBuffer.append(genOperation.getName());

+								stringBuffer.append(TEXT_215);

+								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_91);

+									stringBuffer.append(typeParameterVariable);

+									stringBuffer.append(TEXT_247);

+									stringBuffer.append(genTypeParameter.getName());

+									stringBuffer.append(TEXT_215);

+									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_91);

+											stringBuffer.append(typePrefix);

+											stringBuffer.append(TEXT_218);

+											stringBuffer.append(info.depth + 1);

+											stringBuffer.append(TEXT_219);

+											stringBuffer.append(info.type);

+											stringBuffer.append(TEXT_175);

+											if (info.depth > 0) {

+												stringBuffer.append(TEXT_220);

+												stringBuffer.append(info.depth);

+												stringBuffer.append(TEXT_221);

+												stringBuffer.append(info.accessor);

+												stringBuffer.append(TEXT_222);

+												stringBuffer.append(info.depth + 1);

+												stringBuffer.append(TEXT_175);

+											}

+										}

+										stringBuffer.append(TEXT_248);

+										stringBuffer.append(t.nextIndex());

+										stringBuffer.append(TEXT_223);

+									}

+								}

+							}

+							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_91);

+										stringBuffer.append(typePrefix);

+										stringBuffer.append(TEXT_218);

+										stringBuffer.append(info.depth + 1);

+										stringBuffer.append(TEXT_219);

+										stringBuffer.append(info.type);

+										stringBuffer.append(TEXT_175);

+										if (info.depth > 0) {

+											stringBuffer.append(TEXT_220);

+											stringBuffer.append(info.depth);

+											stringBuffer.append(TEXT_221);

+											stringBuffer.append(info.accessor);

+											stringBuffer.append(TEXT_222);

+											stringBuffer.append(info.depth + 1);

+											stringBuffer.append(TEXT_175);

+										}

+									}

+								}

+								if (genModel.useGenerics()) {

+									stringBuffer.append(TEXT_249);

+									if (genParameter.hasGenericType()) {

+										stringBuffer.append(TEXT_239);

+									} else {

+										stringBuffer.append(genPackage

+												.getPackageInstanceVariable(genParameter.getTypeGenPackage()));

+										stringBuffer.append(TEXT_226);

+										stringBuffer.append(genParameter.getTypeClassifierAccessorName());

+										stringBuffer.append(TEXT_47);

+									}

+									stringBuffer.append(TEXT_214);

+									stringBuffer.append(genParameter.getName());

+									stringBuffer.append(TEXT_235);

+									stringBuffer.append(genParameter.getLowerBound());

+									stringBuffer.append(TEXT_198);

+									stringBuffer.append(genParameter.getUpperBound());

+									stringBuffer.append(TEXT_198);

+									stringBuffer.append(genParameter.getUniqueFlag());

+									stringBuffer.append(TEXT_198);

+									stringBuffer.append(genParameter.getOrderedFlag());

+									stringBuffer.append(TEXT_175);

+									stringBuffer.append(genModel.getNonNLS());

+								} else if (!genParameter.getEcoreParameter().isOrdered()

+										|| !genParameter.getEcoreParameter().isUnique()) {

+									needsAddEParameter = true;

+									stringBuffer.append(TEXT_249);

+									if (genParameter.hasGenericType()) {

+										stringBuffer.append(TEXT_239);

+									} else {

+										stringBuffer.append(genPackage

+												.getPackageInstanceVariable(genParameter.getTypeGenPackage()));

+										stringBuffer.append(TEXT_226);

+										stringBuffer.append(genParameter.getTypeClassifierAccessorName());

+										stringBuffer.append(TEXT_47);

+									}

+									stringBuffer.append(TEXT_214);

+									stringBuffer.append(genParameter.getName());

+									stringBuffer.append(TEXT_235);

+									stringBuffer.append(genParameter.getLowerBound());

+									stringBuffer.append(TEXT_198);

+									stringBuffer.append(genParameter.getUpperBound());

+									stringBuffer.append(TEXT_198);

+									stringBuffer.append(genParameter.getUniqueFlag());

+									stringBuffer.append(TEXT_198);

+									stringBuffer.append(genParameter.getOrderedFlag());

+									stringBuffer.append(TEXT_175);

+									stringBuffer.append(genModel.getNonNLS());

+								} else {

+									stringBuffer.append(TEXT_249);

+									if (genParameter.hasGenericType()) {

+										stringBuffer.append(TEXT_239);

+									} else {

+										stringBuffer.append(genPackage

+												.getPackageInstanceVariable(genParameter.getTypeGenPackage()));

+										stringBuffer.append(TEXT_226);

+										stringBuffer.append(genParameter.getTypeClassifierAccessorName());

+										stringBuffer.append(TEXT_47);

+									}

+									stringBuffer.append(TEXT_214);

+									stringBuffer.append(genParameter.getName());

+									stringBuffer.append(TEXT_235);

+									stringBuffer.append(genParameter.getLowerBound());

+									stringBuffer.append(TEXT_198);

+									stringBuffer.append(genParameter.getUpperBound());

+									stringBuffer.append(TEXT_175);

+									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_91);

+										stringBuffer.append(typePrefix);

+										stringBuffer.append(TEXT_218);

+										stringBuffer.append(info.depth + 1);

+										stringBuffer.append(TEXT_219);

+										stringBuffer.append(info.type);

+										stringBuffer.append(TEXT_175);

+										if (info.depth > 0) {

+											stringBuffer.append(TEXT_220);

+											stringBuffer.append(info.depth);

+											stringBuffer.append(TEXT_221);

+											stringBuffer.append(info.accessor);

+											stringBuffer.append(TEXT_222);

+											stringBuffer.append(info.depth + 1);

+											stringBuffer.append(TEXT_175);

+										}

+										stringBuffer.append(TEXT_250);

+										stringBuffer.append(info.depth + 1);

+										stringBuffer.append(TEXT_175);

+									}

+								}

+							} else {

+								for (GenClassifier genException : genOperation.getGenExceptions()) {

+									stringBuffer.append(TEXT_251);

+									stringBuffer.append(

+											genPackage.getPackageInstanceVariable(genException.getGenPackage()));

+									stringBuffer.append(TEXT_226);

+									stringBuffer.append(genException.getClassifierAccessorName());

+									stringBuffer.append(TEXT_227);

+								}

+							}

+							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_91);

+									stringBuffer.append(typePrefix);

+									stringBuffer.append(TEXT_218);

+									stringBuffer.append(info.depth + 1);

+									stringBuffer.append(TEXT_219);

+									stringBuffer.append(info.type);

+									stringBuffer.append(TEXT_175);

+									if (info.depth > 0) {

+										stringBuffer.append(TEXT_220);

+										stringBuffer.append(info.depth);

+										stringBuffer.append(TEXT_221);

+										stringBuffer.append(info.accessor);

+										stringBuffer.append(TEXT_222);

+										stringBuffer.append(info.depth + 1);

+										stringBuffer.append(TEXT_175);

+									}

+								}

+								stringBuffer.append(TEXT_252);

+							}

+						}

+						if (c.hasNext()) {

+							stringBuffer.append(TEXT_4);

+						}

+					}

+				}

+				if (!genPackage.getGenEnums().isEmpty()) {

+					stringBuffer.append(TEXT_253);

+					for (Iterator<GenEnum> e = genPackage.getGenEnums().iterator(); e.hasNext();) {

+						GenEnum genEnum = e.next();

+						stringBuffer.append(TEXT_254);

+						stringBuffer.append(genEnum.getClassifierInstanceName());

+						stringBuffer.append(TEXT_198);

+						stringBuffer.append(genEnum.getImportedName());

+						stringBuffer.append(TEXT_255);

+						stringBuffer.append(genEnum.getName());

+						stringBuffer.append(TEXT_215);

+						stringBuffer.append(genModel.getNonNLS());

+						for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {

+							stringBuffer.append(TEXT_256);

+							stringBuffer.append(genEnum.getClassifierInstanceName());

+							stringBuffer.append(TEXT_198);

+							stringBuffer.append(genEnum.getImportedName().equals(genEnum.getClassifierID())

+									? genEnum.getQualifiedName()

+									: genEnum.getImportedName());

+							stringBuffer.append(TEXT_221);

+							stringBuffer.append(genEnumLiteral.getEnumLiteralInstanceConstantName());

+							stringBuffer.append(TEXT_175);

+						}

+						if (e.hasNext()) {

+							stringBuffer.append(TEXT_4);

+						}

+					}

+				}

+				if (!genPackage.getGenDataTypes().isEmpty()) {

+					stringBuffer.append(TEXT_257);

+					for (GenDataType genDataType : genPackage.getGenDataTypes()) {

+						boolean hasInstanceTypeName = genModel.useGenerics()

+								&& genDataType.getEcoreDataType().getInstanceTypeName() != null

+								&& genDataType.getEcoreDataType().getInstanceTypeName().contains("<");

+						stringBuffer.append(TEXT_258);

+						stringBuffer.append(genDataType.getClassifierInstanceName());

+						stringBuffer.append(TEXT_198);

+						stringBuffer.append(genDataType.getRawImportedInstanceClassName());

+						stringBuffer.append(TEXT_255);

+						stringBuffer.append(genDataType.getName());

+						stringBuffer.append(TEXT_235);

+						stringBuffer.append(genDataType.getSerializableFlag());

+						stringBuffer.append(TEXT_198);

+						stringBuffer.append(genDataType.getGeneratedInstanceClassFlag());

+						if (hasInstanceTypeName) {

+							stringBuffer.append(TEXT_214);

+							stringBuffer.append(genDataType.getEcoreDataType().getInstanceTypeName());

+							stringBuffer.append(TEXT_236);

+						}

+						stringBuffer.append(TEXT_175);

+						stringBuffer.append(genModel.getNonNLS());

+						if (hasInstanceTypeName) {

+							stringBuffer.append(genModel.getNonNLS(2));

+						}

+					}

+				}

+				if (genPackage.getSuperGenPackage() == null) {

+					stringBuffer.append(TEXT_259);

+					stringBuffer.append(genPackage.getSchemaLocation());

+					stringBuffer.append(TEXT_175);

+				}

+				if (!genPackage.isEcorePackage() && !genPackage.getAnnotationSources().isEmpty()) {

+					stringBuffer.append(TEXT_260);

+					for (String annotationSource : genPackage.getAnnotationSources()) {

+						stringBuffer.append(TEXT_261);

+						stringBuffer.append(annotationSource);

+						stringBuffer.append(TEXT_197);

+						stringBuffer.append(genPackage.getAnnotationSourceIdentifier(annotationSource));

+						stringBuffer.append(TEXT_262);

+					}

+				}

+				stringBuffer.append(TEXT_263);

+				for (String annotationSource : genPackage.getAnnotationSources()) {

+					stringBuffer.append(TEXT_264);

+					stringBuffer.append(annotationSource);

+					stringBuffer.append(TEXT_265);

+					stringBuffer.append(genPackage.getAnnotationSourceIdentifier(annotationSource));

+					stringBuffer.append(TEXT_266);

+					if (annotationSource == null) {

+						stringBuffer.append(TEXT_267);

+					} else {

+						stringBuffer.append(TEXT_236);

+						stringBuffer.append(annotationSource);

+						stringBuffer.append(TEXT_28);

+						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_268);

+							stringBuffer.append(genPackage.getAnnotatedModelElementAccessor(eAnnotation));

+							stringBuffer.append(TEXT_269);

+							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_270);

+								stringBuffer.append(key);

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(value);

+								stringBuffer.append(k.hasNext() ? "," : "");

+								stringBuffer.append(genModel.getNonNLS(key + value));

+							}

+							stringBuffer.append(TEXT_271);

+							if (annotationReferenceDataList.isEmpty()) {

+								stringBuffer.append(TEXT_175);

+							} else {

+								stringBuffer.append(TEXT_272);

+							}

+							if (!annotationReferenceDataList.isEmpty()) {

+								stringBuffer.append(TEXT_273);

+								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));

+								stringBuffer.append(TEXT_274);

+								for (Iterator<GenPackage.AnnotationReferenceData> k = annotationReferenceDataList

+										.iterator(); k.hasNext();) {

+									GenPackage.AnnotationReferenceData annotationReferenceData = k.next();

+									stringBuffer.append(TEXT_275);

+									stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));

+									stringBuffer.append(TEXT_276);

+									if (annotationReferenceData.containingGenPackage != genPackage) {

+										stringBuffer.append(annotationReferenceData.containingGenPackage

+												.getImportedPackageInterfaceName());

+										stringBuffer.append(TEXT_221);

+									}

+									stringBuffer.append(TEXT_277);

+									stringBuffer.append(annotationReferenceData.uriFragment);

+									stringBuffer.append(TEXT_278);

+									if (k.hasNext()) {

+										stringBuffer.append(TEXT_272);

+									}

+									stringBuffer.append(genModel.getNonNLS());

+								}

+								stringBuffer.append(TEXT_279);

+							}

+							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_268);

+								stringBuffer.append(genPackage.getAnnotatedModelElementAccessor(eAnnotation));

+								stringBuffer.append(TEXT_280);

+								if (nonContentAnnotation

+										&& genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF210_VALUE) {

+									stringBuffer.append(TEXT_281);

+									stringBuffer.append(path.toString());

+									stringBuffer.append(TEXT_282);

+								} else {

+									stringBuffer.append(depth);

+								}

+								stringBuffer.append(TEXT_280);

+								if (nestedAnnotationSource == null) {

+									stringBuffer.append(TEXT_283);

+								} else {

+									stringBuffer.append(TEXT_236);

+									stringBuffer.append(nestedAnnotationSource);

+									stringBuffer.append(TEXT_284);

+									stringBuffer.append(genModel.getNonNLS());

+								}

+								stringBuffer.append(TEXT_285);

+								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_270);

+									stringBuffer.append(key);

+									stringBuffer.append(TEXT_198);

+									stringBuffer.append(value);

+									stringBuffer.append(l.hasNext() ? "," : "");

+									stringBuffer.append(genModel.getNonNLS(key + value));

+								}

+								stringBuffer.append(TEXT_271);

+								if (nestedAnnotationReferenceDataList.isEmpty()) {

+									stringBuffer.append(TEXT_175);

+								} else {

+									stringBuffer.append(TEXT_272);

+								}

+								if (!nestedAnnotationReferenceDataList.isEmpty()) {

+									stringBuffer.append(TEXT_273);

+									stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));

+									stringBuffer.append(TEXT_274);

+									for (Iterator<GenPackage.AnnotationReferenceData> l = nestedAnnotationReferenceDataList

+											.iterator(); l.hasNext();) {

+										GenPackage.AnnotationReferenceData annotationReferenceData = l.next();

+										stringBuffer.append(TEXT_275);

+										stringBuffer

+												.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));

+										stringBuffer.append(TEXT_276);

+										if (annotationReferenceData.containingGenPackage != genPackage) {

+											stringBuffer.append(annotationReferenceData.containingGenPackage

+													.getImportedPackageInterfaceName());

+											stringBuffer.append(TEXT_221);

+										}

+										stringBuffer.append(TEXT_277);

+										stringBuffer.append(annotationReferenceData.uriFragment);

+										stringBuffer.append(TEXT_278);

+										if (l.hasNext()) {

+											stringBuffer.append(TEXT_272);

+										}

+										stringBuffer.append(genModel.getNonNLS());

+									}

+									stringBuffer.append(TEXT_279);

+								}

+							}

+						}

+					}

+					stringBuffer.append(TEXT_263);

+				}

+			} else {

+				if (genPackage.isLoadingInitialization()) {

+					stringBuffer.append(TEXT_286);

+					stringBuffer.append(genModel.getImportedName("java.net.URL"));

+					stringBuffer.append(TEXT_287);

+					stringBuffer.append(genModel.getNonNLS());

+					stringBuffer.append(TEXT_288);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));

+					stringBuffer.append(TEXT_289);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));

+					stringBuffer.append(TEXT_290);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.resource.Resource"));

+					stringBuffer.append(TEXT_291);

+					stringBuffer.append(

+							genModel.getImportedName("org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl"));

+					stringBuffer.append(TEXT_292);

+					stringBuffer.append(genModel.getImportedName("java.io.IOException"));

+					stringBuffer.append(TEXT_293);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.WrappedException"));

+					stringBuffer.append(TEXT_294);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

+					stringBuffer.append(TEXT_295);

+				}

+				stringBuffer.append(TEXT_296);

+				if (genModel.useClassOverrideAnnotation()) {

+					stringBuffer.append(TEXT_156);

+				}

+				stringBuffer.append(TEXT_297);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClassifier"));

+				stringBuffer.append(TEXT_298);

+				ArrayList<GenClass> dynamicGenClasses = new ArrayList<GenClass>();

+				for (GenClass genClass : genPackage.getGenClasses()) {

+					if (genClass.isDynamic()) {

+						dynamicGenClasses.add(genClass);

+					}

+				}

+				if (dynamicGenClasses.isEmpty()) {

+					stringBuffer.append(TEXT_299);

+					stringBuffer.append(genPackage.getInterfacePackageName());

+					stringBuffer.append(TEXT_300);

+					stringBuffer.append(genModel.getNonNLS());

+					stringBuffer.append(TEXT_301);

+				} else {

+					stringBuffer.append(TEXT_302);

+					for (GenClass genClass : dynamicGenClasses) {

+						if (genClass.isDynamic()) {

+							stringBuffer.append(TEXT_303);

+							stringBuffer.append(genPackage.getClassifierID(genClass));

+							stringBuffer.append(TEXT_304);

+						}

+					}

+					stringBuffer.append(TEXT_305);

+					stringBuffer.append(genPackage.getInterfacePackageName());

+					stringBuffer.append(TEXT_300);

+					stringBuffer.append(genModel.getNonNLS());

+					stringBuffer.append(TEXT_306);

+				}

+				stringBuffer.append(TEXT_307);

+			}

+			if (needsAddEOperation) {

+				stringBuffer.append(TEXT_308);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));

+				stringBuffer.append(TEXT_309);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClass"));

+				stringBuffer.append(TEXT_310);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClassifier"));

+				stringBuffer.append(TEXT_311);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));

+				stringBuffer.append(TEXT_312);

+			}

+			if (needsAddEParameter) {

+				stringBuffer.append(TEXT_308);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EParameter"));

+				stringBuffer.append(TEXT_313);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));

+				stringBuffer.append(TEXT_310);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClassifier"));

+				stringBuffer.append(TEXT_311);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EParameter"));

+				stringBuffer.append(TEXT_314);

+			}

+		}

+		if (isInterface && genPackage.isLiteralsInterface()) {

+			stringBuffer.append(TEXT_315);

+			if (genModel.isOperationReflection()) {

+				stringBuffer.append(TEXT_316);

+			}

+			stringBuffer.append(TEXT_317);

+			if (isImplementation) {

+				stringBuffer.append(TEXT_318);

+			}

+			stringBuffer.append(TEXT_319);

+			for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {

+				stringBuffer.append(TEXT_320);

+				if (genClassifier instanceof GenClass) {

+					GenClass genClass = (GenClass) genClassifier;

+					if (!genClass.isInterface()) {

+						stringBuffer.append(TEXT_321);

+						stringBuffer.append(genClass.getQualifiedClassName());

+						stringBuffer.append(TEXT_40);

+						stringBuffer.append(genClass.getFormattedName());

+						stringBuffer.append(TEXT_322);

+						stringBuffer.append(genClass.getQualifiedClassName());

+					} else {

+						stringBuffer.append(TEXT_321);

+						stringBuffer.append(genClass.getRawQualifiedInterfaceName());

+						stringBuffer.append(TEXT_40);

+						stringBuffer.append(genClass.getFormattedName());

+						stringBuffer.append(TEXT_322);

+						stringBuffer.append(genClass.getRawQualifiedInterfaceName());

+					}

+				} else if (genClassifier instanceof GenEnum) {

+					GenEnum genEnum = (GenEnum) genClassifier;

+					stringBuffer.append(TEXT_321);

+					stringBuffer.append(genEnum.getQualifiedName());

+					stringBuffer.append(TEXT_40);

+					stringBuffer.append(genEnum.getFormattedName());

+					stringBuffer.append(TEXT_323);

+					stringBuffer.append(genEnum.getQualifiedName());

+				} else if (genClassifier instanceof GenDataType) {

+					GenDataType genDataType = (GenDataType) genClassifier;

+					stringBuffer.append(TEXT_324);

+					stringBuffer.append(genDataType.getFormattedName());

+					stringBuffer.append(TEXT_325);

+					if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {

+						stringBuffer.append(TEXT_326);

+						stringBuffer.append(genDataType.getRawInstanceClassName());

+					}

+				}

+				stringBuffer.append(TEXT_326);

+				stringBuffer.append(genPackage.getQualifiedPackageClassName());

+				stringBuffer.append(TEXT_46);

+				stringBuffer.append(genClassifier.getClassifierAccessorName());

+				stringBuffer.append(TEXT_47);

+				if (genClassifier.hasAPITags()) {

+					stringBuffer.append(TEXT_327);

+					stringBuffer.append(genClassifier.getAPITags(genModel.getIndentation(stringBuffer)));

+				}

+				stringBuffer.append(TEXT_328);

+				if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) {

+					stringBuffer.append(TEXT_329);

+				}

+				stringBuffer.append(TEXT_91);

+				stringBuffer.append(publicStaticFinalFlag);

+				stringBuffer.append(genClassifier.getImportedMetaType());

+				stringBuffer.append(TEXT_67);

+				stringBuffer.append(genPackage.getClassifierID(genClassifier));

+				stringBuffer.append(TEXT_330);

+				stringBuffer.append(genClassifier.getClassifierAccessorName());

+				stringBuffer.append(TEXT_166);

+				if (genClassifier instanceof GenClass) {

+					GenClass genClass = (GenClass) genClassifier;

+					for (GenFeature genFeature : genClass.getGenFeatures()) {

+						stringBuffer.append(TEXT_331);

+						stringBuffer.append(genFeature.getFormattedName());

+						stringBuffer.append(TEXT_56);

+						stringBuffer.append(genFeature.getFeatureKind());

+						stringBuffer.append(TEXT_332);

+						if (genFeature.hasImplicitAPITags()) {

+							stringBuffer.append(TEXT_327);

+							stringBuffer.append(genFeature.getImplicitAPITags(genModel.getIndentation(stringBuffer)));

+						}

+						stringBuffer.append(TEXT_328);

+						if (isJDK50 && genFeature.hasImplicitAPIDeprecatedTag()) {

+							stringBuffer.append(TEXT_329);

+						}

+						stringBuffer.append(TEXT_91);

+						stringBuffer.append(publicStaticFinalFlag);

+						stringBuffer.append(genFeature.getImportedMetaType());

+						stringBuffer.append(TEXT_67);

+						stringBuffer.append(genClass.getFeatureID(genFeature));

+						stringBuffer.append(TEXT_330);

+						stringBuffer.append(genFeature.getFeatureAccessorName());

+						stringBuffer.append(TEXT_166);

+					}

+					if (genModel.isOperationReflection()) {

+						for (GenOperation genOperation : genClass.getGenOperations()) {

+							stringBuffer.append(TEXT_331);

+							stringBuffer.append(genOperation.getFormattedName());

+							stringBuffer.append(TEXT_333);

+							if (genOperation.hasImplicitAPITags()) {

+								stringBuffer.append(TEXT_327);

+								stringBuffer

+										.append(genOperation.getImplicitAPITags(genModel.getIndentation(stringBuffer)));

+							}

+							stringBuffer.append(TEXT_328);

+							if (isJDK50 && genOperation.hasImplicitAPIDeprecatedTag()) {

+								stringBuffer.append(TEXT_329);

+							}

+							stringBuffer.append(TEXT_91);

+							stringBuffer.append(publicStaticFinalFlag);

+							stringBuffer.append(genOperation.getImportedMetaType());

+							stringBuffer.append(TEXT_67);

+							stringBuffer.append(genClass.getOperationID(genOperation, false));

+							stringBuffer.append(TEXT_330);

+							stringBuffer.append(genOperation.getOperationAccessorName());

+							stringBuffer.append(TEXT_166);

+						}

+					}

+				}

+			}

+			stringBuffer.append(TEXT_263);

+		}

+		stringBuffer.append(TEXT_334);

+		stringBuffer.append(isInterface ? genPackage.getPackageInterfaceName() : genPackage.getPackageClassName());

+		genModel.emitSortedImports();

+		stringBuffer.append(TEXT_4);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PackageInterface.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PackageInterface.java
new file mode 100644
index 0000000..b6b0a58
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PackageInterface.java
@@ -0,0 +1,2759 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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;

+	protected final String TEXT_5 = 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_6 = NL + " *   <li>each operation of each class,</li>";

+	protected final String TEXT_7 = NL + " *   <li>each enum,</li>" + NL + " *   <li>and each data type</li>" + NL

+			+ " * </ul>" + NL + " * <!-- end-user-doc -->";

+	protected final String TEXT_8 = NL + " * <!-- begin-model-doc -->" + NL + " * ";

+	protected final String TEXT_9 = NL + " * <!-- end-model-doc -->";

+	protected final String TEXT_10 = NL + " * @see ";

+	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 + " */";

+	protected final String TEXT_15 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL

+			+ " * An implementation of the model <b>Package</b>." + NL + " * <!-- end-user-doc -->";

+	protected final String TEXT_16 = NL + " * ";

+	protected final String TEXT_17 = NL + "@Deprecated";

+	protected final String TEXT_18 = NL + "@SuppressWarnings(\"deprecation\")";

+	protected final String TEXT_19 = NL + "public class ";

+	protected final String TEXT_20 = " extends ";

+	protected final String TEXT_21 = " implements ";

+	protected final String TEXT_22 = NL + "public interface ";

+	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 = 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_27 = " eNAME = \"";

+	protected final String TEXT_28 = "\";";

+	protected final String TEXT_29 = 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_30 = " eNS_URI = \"";

+	protected final String TEXT_31 = 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_32 = " eNS_PREFIX = \"";

+	protected final String TEXT_33 = 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_34 = " eCONTENT_TYPE = \"";

+	protected final String TEXT_35 = 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_36 = " eINSTANCE = ";

+	protected final String TEXT_37 = ".init();" + NL;

+	protected final String TEXT_38 = NL + "\t/**";

+	protected final String TEXT_39 = NL + "\t * The meta object id for the '{@link ";

+	protected final String TEXT_40 = " <em>";

+	protected final String TEXT_41 = "</em>}' class." + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see ";

+	protected final String TEXT_42 = "</em>}' enum." + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see ";

+	protected final String TEXT_43 = NL + "\t * The meta object id for the '<em>";

+	protected final String TEXT_44 = "</em>' data type." + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->";

+	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 * ";

+	protected final String TEXT_49 = NL + "\t * @generated" + NL + "\t */";

+	protected final String TEXT_50 = NL + "\t@Deprecated";

+	protected final String TEXT_51 = NL + "\t";

+	protected final String TEXT_52 = "int ";

+	protected final String TEXT_53 = " = ";

+	protected final String TEXT_54 = ";" + NL;

+	protected final String TEXT_55 = NL + "\t/**" + NL + "\t * The feature id for the '<em><b>";

+	protected final String TEXT_56 = "</b></em>' ";

+	protected final String TEXT_57 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->";

+	protected final String TEXT_58 = NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";

+	protected final String TEXT_59 = NL + "\t/**" + NL + "\t * The number of structural features of the '<em>";

+	protected final String TEXT_60 = "</em>' class." + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->";

+	protected final String TEXT_61 = NL + "\t/**" + NL + "\t * The operation id for the '<em>";

+	protected final String TEXT_62 = "</em>' operation." + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->";

+	protected final String TEXT_63 = NL + "\t/**" + NL + "\t * The number of operations of the '<em>";

+	protected final String TEXT_64 = 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_65 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->";

+	protected final String TEXT_66 = NL + "\tprivate ";

+	protected final String TEXT_67 = " ";

+	protected final String TEXT_68 = " = null;" + NL;

+	protected final String TEXT_69 = 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_70 = "#eNS_URI" + NL + "\t * @see #init()" + NL + "\t * @generated" + NL + "\t */" + NL

+			+ "\tprivate ";

+	protected final String TEXT_71 = "()" + NL + "\t{" + NL + "\t\tsuper(eNS_URI, ";

+	protected final String TEXT_72 = ");" + 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_73 = "#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_74 = NL + "\t * @see #createPackageContents()" + NL

+			+ "\t * @see #initializePackageContents()";

+	protected final String TEXT_75 = NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static ";

+	protected final String TEXT_76 = " init()" + NL + "\t{" + NL + "\t\tif (isInited) return (";

+	protected final String TEXT_77 = ")";

+	protected final String TEXT_78 = ".Registry.INSTANCE.getEPackage(";

+	protected final String TEXT_79 = ".eNS_URI);" + NL;

+	protected final String TEXT_80 = NL + "\t\tinitializeRegistryHelpers();" + NL;

+	protected final String TEXT_81 = NL + "\t\t// Obtain or create and register package" + NL + "\t\tObject registered";

+	protected final String TEXT_82 = ".Registry.INSTANCE.get(eNS_URI);" + NL + "\t\t";

+	protected final String TEXT_83 = " the";

+	protected final String TEXT_84 = " = registered";

+	protected final String TEXT_85 = " instanceof ";

+	protected final String TEXT_86 = " ? (";

+	protected final String TEXT_87 = ")registered";

+	protected final String TEXT_88 = " : new ";

+	protected final String TEXT_89 = "();" + NL + "" + NL + "\t\tisInited = true;" + NL;

+	protected final String TEXT_90 = NL + "\t\t// Initialize simple dependencies";

+	protected final String TEXT_91 = NL + "\t\t";

+	protected final String TEXT_92 = ".eINSTANCE.eClass();";

+	protected final String TEXT_93 = NL + "\t\t// Obtain or create and register interdependencies";

+	protected final String TEXT_94 = "Object ";

+	protected final String TEXT_95 = "registeredPackage = ";

+	protected final String TEXT_96 = ".eNS_URI);" + NL + "\t\t";

+	protected final String TEXT_97 = " = (";

+	protected final String TEXT_98 = ")(registeredPackage instanceof ";

+	protected final String TEXT_99 = " ? registeredPackage : ";

+	protected final String TEXT_100 = ".eINSTANCE);";

+	protected final String TEXT_101 = NL + "\t\t// Load packages";

+	protected final String TEXT_102 = NL + "\t\tthe";

+	protected final String TEXT_103 = ".loadPackage();";

+	protected final String TEXT_104 = NL + "\t\t// Create package meta-data objects";

+	protected final String TEXT_105 = ".createPackageContents();";

+	protected final String TEXT_106 = NL + NL + "\t\t// Initialize created meta-data";

+	protected final String TEXT_107 = ".initializePackageContents();";

+	protected final String TEXT_108 = NL + "\t\t// Fix loaded packages";

+	protected final String TEXT_109 = ".fixPackageContents();";

+	protected final String TEXT_110 = NL + "\t\t// Register package validator" + NL + "\t\t";

+	protected final String TEXT_111 = ".Registry.INSTANCE.put" + NL + "\t\t\t(the";

+	protected final String TEXT_112 = "," + NL + "\t\t\t new ";

+	protected final String TEXT_113 = ".Descriptor()" + NL + "\t\t\t {";

+	protected final String TEXT_114 = NL + "\t\t\t\t @Override";

+	protected final String TEXT_115 = NL + "\t\t\t\t public ";

+	protected final String TEXT_116 = " getEValidator()" + NL + "\t\t\t\t {" + NL + "\t\t\t\t\t return ";

+	protected final String TEXT_117 = ".INSTANCE;" + NL + "\t\t\t\t }" + NL + "\t\t\t });" + NL;

+	protected final String TEXT_118 = NL + "\t\t// Mark meta-data to indicate it can't be changed" + NL + "\t\tthe";

+	protected final String TEXT_119 = ".freeze();" + NL;

+	protected final String TEXT_120 = NL + "\t\t// Update the registry and return the package" + NL + "\t\t";

+	protected final String TEXT_121 = ".Registry.INSTANCE.put(";

+	protected final String TEXT_122 = ".eNS_URI, the";

+	protected final String TEXT_123 = ");" + NL + "\t\treturn the";

+	protected final String TEXT_124 = ";" + NL + "\t}";

+	protected final String TEXT_125 = 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_126 = ".register" + NL + "\t\t\t(";

+	protected final String TEXT_127 = ".class," + NL + "\t\t\t new ";

+	protected final String TEXT_128 = ".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_129 = ";" + 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_130 = "[size];" + NL + "\t\t\t\t }" + NL + "\t\t\t });";

+	protected final String TEXT_131 = ";" + 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_132 = NL + "\t\t\t\t\t return new ";

+	protected final String TEXT_133 = "[size]";

+	protected final String TEXT_134 = "[size];";

+	protected final String TEXT_135 = NL + "\t\t\t\t }" + NL + "\t\t});";

+	protected final String TEXT_136 = 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_137 = ", EBasicWhiteList" + NL + "\t{";

+	protected final String TEXT_138 = 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_139 = NL + "\t}";

+	protected final String TEXT_140 = NL + "\t * Returns the meta object for class '{@link ";

+	protected final String TEXT_141 = "</em>}'." + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @return the meta object for class '<em>";

+	protected final String TEXT_142 = "</em>'." + NL + "\t * @see ";

+	protected final String TEXT_143 = NL + "\t * @model ";

+	protected final String TEXT_144 = NL + "\t *        ";

+	protected final String TEXT_145 = NL + "\t * @model";

+	protected final String TEXT_146 = NL + "\t * Returns the meta object for enum '{@link ";

+	protected final String TEXT_147 = "</em>}'." + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @return the meta object for enum '<em>";

+	protected final String TEXT_148 = NL + "\t * Returns the meta object for data type '<em>";

+	protected final String TEXT_149 = "</em>'.";

+	protected final String TEXT_150 = NL + "\t * Returns the meta object for data type '{@link ";

+	protected final String TEXT_151 = "</em>}'.";

+	protected final String TEXT_152 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->";

+	protected final String TEXT_153 = NL + "     * <!-- begin-model-doc -->" + NL + "     * ";

+	protected final String TEXT_154 = NL + "     * <!-- end-model-doc -->";

+	protected final String TEXT_155 = NL + "\t * @return the meta object for data type '<em>";

+	protected final String TEXT_156 = NL + "\t@Override";

+	protected final String TEXT_157 = NL + "\tpublic ";

+	protected final String TEXT_158 = " get";

+	protected final String TEXT_159 = "()" + NL + "\t{";

+	protected final String TEXT_160 = NL + "\t\tif (";

+	protected final String TEXT_161 = " == null)" + NL + "\t\t{" + NL + "\t\t\t";

+	protected final String TEXT_162 = ".eNS_URI).getEClassifiers().get(";

+	protected final String TEXT_163 = ");" + NL + "\t\t}";

+	protected final String TEXT_164 = NL + "\t\treturn ";

+	protected final String TEXT_165 = ";" + NL + "\t}" + NL;

+	protected final String TEXT_166 = "();" + NL;

+	protected final String TEXT_167 = NL + "\t/**" + NL + "\t * Returns the meta object for the ";

+	protected final String TEXT_168 = " '{@link ";

+	protected final String TEXT_169 = "#";

+	protected final String TEXT_170 = "</em>}'." + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @return the meta object for the ";

+	protected final String TEXT_171 = " '<em>";

+	protected final String TEXT_172 = NL + "\t * @see #get";

+	protected final String TEXT_173 = NL + "\t\treturn (";

+	protected final String TEXT_174 = ".getEStructuralFeatures().get(";

+	protected final String TEXT_175 = ");";

+	protected final String TEXT_176 = NL + "        return (";

+	protected final String TEXT_177 = ")get";

+	protected final String TEXT_178 = "().getEStructuralFeatures().get(";

+	protected final String TEXT_179 = "();";

+	protected final String TEXT_180 = NL + "\t/**" + NL + "\t * Returns the meta object for the '{@link ";

+	protected final String TEXT_181 = "(";

+	protected final String TEXT_182 = ") <em>";

+	protected final String TEXT_183 = "</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_184 = "</em>' operation." + NL + "\t * @see ";

+	protected final String TEXT_185 = ".getEOperations().get(";

+	protected final String TEXT_186 = NL + "        return get";

+	protected final String TEXT_187 = "().getEOperations().get(";

+	protected final String TEXT_188 = 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_189 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

+	protected final String TEXT_190 = "()" + NL + "\t{" + NL + "\t\treturn (";

+	protected final String TEXT_191 = ")getEFactoryInstance();" + NL + "\t}";

+	protected final String TEXT_192 = 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 */";

+	protected final String TEXT_193 = NL + "\t@SuppressWarnings(\"deprecation\")";

+	protected final String TEXT_194 = NL + "\tpublic void createPackageContents()" + NL + "\t{" + NL

+			+ "\t\tif (isCreated) return;" + NL + "\t\tisCreated = true;";

+	protected final String TEXT_195 = NL + NL + "\t\t// Create classes and their features";

+	protected final String TEXT_196 = " = create";

+	protected final String TEXT_197 = NL + "\t\tcreate";

+	protected final String TEXT_198 = ", ";

+	protected final String TEXT_199 = NL + "\t\tcreateEOperation(";

+	protected final String TEXT_200 = NL + NL + "\t\t// Create enums";

+	protected final String TEXT_201 = " = createEEnum(";

+	protected final String TEXT_202 = NL + NL + "\t\t// Create data types";

+	protected final String TEXT_203 = " = createEDataType(";

+	protected final String TEXT_204 = 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_205 = 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 */";

+	protected final String TEXT_206 = 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_207 = NL + NL + "\t\t// Obtain other dependent packages";

+	protected final String TEXT_208 = ".eNS_URI);";

+	protected final String TEXT_209 = NL + NL + "\t\t// Add subpackages";

+	protected final String TEXT_210 = NL + "\t\tgetESubpackages().add(";

+	protected final String TEXT_211 = NL + NL + "\t\t// Create type parameters";

+	protected final String TEXT_212 = "_";

+	protected final String TEXT_213 = " = addETypeParameter(";

+	protected final String TEXT_214 = ", \"";

+	protected final String TEXT_215 = "\");";

+	protected final String TEXT_216 = NL + "\t\taddETypeParameter(";

+	protected final String TEXT_217 = NL + NL + "\t\t// Set bounds for type parameters";

+	protected final String TEXT_218 = "g";

+	protected final String TEXT_219 = " = createEGenericType(";

+	protected final String TEXT_220 = NL + "\t\tg";

+	protected final String TEXT_221 = ".";

+	protected final String TEXT_222 = "(g";

+	protected final String TEXT_223 = ".getEBounds().add(g1);";

+	protected final String TEXT_224 = NL + NL + "\t\t// Add supertypes to classes";

+	protected final String TEXT_225 = ".getESuperTypes().add(";

+	protected final String TEXT_226 = ".get";

+	protected final String TEXT_227 = "());";

+	protected final String TEXT_228 = ".getEGenericSuperTypes().add(g1);";

+	protected final String TEXT_229 = NL + NL + "\t\t// Initialize classes";

+	protected final String TEXT_230 = ", features, and operations; add parameters";

+	protected final String TEXT_231 = " and features; add operations and parameters";

+	protected final String TEXT_232 = NL + "\t\tinitEClass(";

+	protected final String TEXT_233 = "null";

+	protected final String TEXT_234 = ".class";

+	protected final String TEXT_235 = "\", ";

+	protected final String TEXT_236 = "\"";

+	protected final String TEXT_237 = NL + "\t\tinitEReference(get";

+	protected final String TEXT_238 = "(), ";

+	protected final String TEXT_239 = "g1";

+	protected final String TEXT_240 = NL + "\t\tget";

+	protected final String TEXT_241 = "().getEKeys().add(";

+	protected final String TEXT_242 = NL + "\t\tinitEAttribute(get";

+	protected final String TEXT_243 = "initEOperation(get";

+	protected final String TEXT_244 = "addEOperation(";

+	protected final String TEXT_245 = "(), \"";

+	protected final String TEXT_246 = ", null, \"";

+	protected final String TEXT_247 = "addETypeParameter(op, \"";

+	protected final String TEXT_248 = NL + "\t\tt";

+	protected final String TEXT_249 = NL + "\t\taddEParameter(op, ";

+	protected final String TEXT_250 = NL + "\t\taddEException(op, g";

+	protected final String TEXT_251 = NL + "\t\taddEException(op, ";

+	protected final String TEXT_252 = NL + "\t\tinitEOperation(op, g1);";

+	protected final String TEXT_253 = NL + NL + "\t\t// Initialize enums and add enum literals";

+	protected final String TEXT_254 = NL + "\t\tinitEEnum(";

+	protected final String TEXT_255 = ".class, \"";

+	protected final String TEXT_256 = NL + "\t\taddEEnumLiteral(";

+	protected final String TEXT_257 = NL + NL + "\t\t// Initialize data types";

+	protected final String TEXT_258 = NL + "\t\tinitEDataType(";

+	protected final String TEXT_259 = NL + NL + "\t\t// Create resource" + NL + "\t\tcreateResource(";

+	protected final String TEXT_260 = NL + NL + "\t\t// Create annotations";

+	protected final String TEXT_261 = NL + "\t\t// ";

+	protected final String TEXT_262 = "Annotations();";

+	protected final String TEXT_263 = NL + "\t}" + NL;

+	protected final String TEXT_264 = NL + "\t/**" + NL + "\t * Initializes the annotations for <b>";

+	protected final String TEXT_265 = "</b>." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"

+			+ NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected void create";

+	protected final String TEXT_266 = "Annotations()" + NL + "\t{" + NL + "\t\tString source = ";

+	protected final String TEXT_267 = "null;";

+	protected final String TEXT_268 = NL + "\t\taddAnnotation" + NL + "\t\t  (";

+	protected final String TEXT_269 = "," + NL + "\t\t   source," + NL + "\t\t   new String[]" + NL + "\t\t   {";

+	protected final String TEXT_270 = NL + "\t\t\t   ";

+	protected final String TEXT_271 = NL + "\t\t   }";

+	protected final String TEXT_272 = ",";

+	protected final String TEXT_273 = NL + "\t\t   new ";

+	protected final String TEXT_274 = "[]" + NL + "\t\t   {";

+	protected final String TEXT_275 = NL + "\t\t\t ";

+	protected final String TEXT_276 = ".createURI(";

+	protected final String TEXT_277 = "eNS_URI).appendFragment(\"";

+	protected final String TEXT_278 = "\")";

+	protected final String TEXT_279 = NL + "\t\t   });";

+	protected final String TEXT_280 = "," + NL + "\t\t   ";

+	protected final String TEXT_281 = "new boolean[] { ";

+	protected final String TEXT_282 = " }";

+	protected final String TEXT_283 = "null,";

+	protected final String TEXT_284 = "\",";

+	protected final String TEXT_285 = NL + "\t\t   new String[]" + NL + "\t\t   {";

+	protected final String TEXT_286 = 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_287 = " 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_288 = NL + "\t\t}" + NL + "\t\t";

+	protected final String TEXT_289 = " uri = ";

+	protected final String TEXT_290 = ".createURI(url.toString());" + NL + "\t\t";

+	protected final String TEXT_291 = " resource = new ";

+	protected final String TEXT_292 = "().createResource(uri);" + NL + "\t\ttry" + NL + "\t\t{" + NL

+			+ "\t\t\tresource.load(null);" + NL + "\t\t}" + NL + "\t\tcatch (";

+	protected final String TEXT_293 = " exception)" + NL + "\t\t{" + NL + "\t\t\tthrow new ";

+	protected final String TEXT_294 = "(exception);" + NL + "\t\t}" + NL + "\t\tinitializeFromLoadedEPackage(this, (";

+	protected final String TEXT_295 = ")resource.getContents().get(0));" + NL + "\t\tcreateResource(eNS_URI);" + NL

+			+ "\t}" + NL;

+	protected final String TEXT_296 = 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_297 = NL + "\tprotected void fixInstanceClass(";

+	protected final String TEXT_298 = " eClassifier)" + NL + "\t{" + NL

+			+ "\t\tif (eClassifier.getInstanceClassName() == null)" + NL + "\t\t{";

+	protected final String TEXT_299 = NL + "\t\t\teClassifier.setInstanceClassName(\"";

+	protected final String TEXT_300 = ".\" + eClassifier.getName());";

+	protected final String TEXT_301 = NL + "\t\t\tsetGeneratedClassName(eClassifier);";

+	protected final String TEXT_302 = NL + "\t\t\tswitch (eClassifier.getClassifierID())" + NL + "\t\t\t{";

+	protected final String TEXT_303 = NL + "\t\t\t\tcase ";

+	protected final String TEXT_304 = ":";

+	protected final String TEXT_305 = 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_306 = 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_307 = NL + "\t\t}" + NL + "\t}" + NL;

+	protected final String TEXT_308 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";

+	protected final String TEXT_309 = " addEOperation(";

+	protected final String TEXT_310 = " owner, ";

+	protected final String TEXT_311 = " type, String name, int lowerBound, int upperBound, boolean isUnique, boolean isOrdered)"

+			+ NL + "\t{" + NL + "\t\t";

+	protected final String TEXT_312 = " o = addEOperation(owner, type, name, lowerBound, upperBound);" + NL

+			+ "\t\to.setUnique(isUnique);" + NL + "\t\to.setOrdered(isOrdered);" + NL + "\t\treturn o;" + NL + "\t}"

+			+ NL;

+	protected final String TEXT_313 = " addEParameter(";

+	protected final String TEXT_314 = " 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;

+	protected final String TEXT_315 = 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_316 = NL + "\t *   <li>each operation of each class,</li>";

+	protected final String TEXT_317 = 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_318 = "public ";

+	protected final String TEXT_319 = "interface Literals" + NL + "\t{";

+	protected final String TEXT_320 = NL + "\t\t/**";

+	protected final String TEXT_321 = NL + "\t\t * The meta object literal for the '{@link ";

+	protected final String TEXT_322 = "</em>}' class." + NL + "\t\t * <!-- begin-user-doc -->" + NL

+			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @see ";

+	protected final String TEXT_323 = "</em>}' enum." + NL + "\t\t * <!-- begin-user-doc -->" + NL

+			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @see ";

+	protected final String TEXT_324 = NL + "\t\t * The meta object literal for the '<em>";

+	protected final String TEXT_325 = "</em>' data type." + NL + "\t\t * <!-- begin-user-doc -->" + NL

+			+ "\t\t * <!-- end-user-doc -->";

+	protected final String TEXT_326 = NL + "\t\t * @see ";

+	protected final String TEXT_327 = NL + "\t\t * ";

+	protected final String TEXT_328 = NL + "\t\t * @generated" + NL + "\t\t */";

+	protected final String TEXT_329 = NL + "\t\t@Deprecated";

+	protected final String TEXT_330 = " = eINSTANCE.get";

+	protected final String TEXT_331 = NL + "\t\t/**" + NL + "\t\t * The meta object literal for the '<em><b>";

+	protected final String TEXT_332 = " feature." + NL + "\t\t * <!-- begin-user-doc -->" + NL

+			+ "\t\t * <!-- end-user-doc -->";

+	protected final String TEXT_333 = "</b></em>' operation." + NL + "\t\t * <!-- begin-user-doc -->" + NL

+			+ "\t\t * <!-- end-user-doc -->";

+	protected final String TEXT_334 = NL + "} //";

+	protected final String TEXT_335 = 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_335);

+		stringBuffer.append(TEXT_335);

+		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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.html

+		 *

+		 * Contributors:

+		 *   IBM - Initial API and implementation

+		 */

+

+		final GenPackage genPackage = (GenPackage) ((Object[]) argument)[0];

+		final GenModel genModel = genPackage.getGenModel();

+		final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;

+		boolean isInterface = Boolean.TRUE.equals(((Object[]) argument)[1]);

+		boolean isImplementation = Boolean.TRUE.equals(((Object[]) argument)[2]);

+		boolean useInterfaceOverrideAnnotation = genModel.useInterfaceOverrideAnnotation()

+				&& !(isInterface && isImplementation);

+		boolean packageNeedsSuppressDeprecation = isJDK50

+				&& GenModelUtil.hasAPIDeprecatedTag(genPackage.getOrderedGenClassifiers())

+				&& !genPackage.hasAPIDeprecatedTag() && !genModel.isSuppressEMFMetaData();

+		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_2);

+			stringBuffer.append(genPackage.getReflectionPackageName());

+			stringBuffer.append(TEXT_3);

+		}

+		stringBuffer.append(TEXT_4);

+		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_5);

+			if (genModel.isOperationReflection()) {

+				stringBuffer.append(TEXT_6);

+			}

+			stringBuffer.append(TEXT_7);

+			if (genPackage.hasDocumentation()) {

+				stringBuffer.append(TEXT_8);

+				stringBuffer.append(genPackage.getDocumentation(genModel.getIndentation(stringBuffer)));

+				stringBuffer.append(TEXT_9);

+			}

+			stringBuffer.append(TEXT_10);

+			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_11);

+						stringBuffer.append(modelInfo);

+					} else {

+						stringBuffer.append(TEXT_12);

+						stringBuffer.append(modelInfo);

+					}

+				}

+				if (first) {

+					stringBuffer.append(TEXT_13);

+				}

+			}

+			stringBuffer.append(TEXT_14);

+		} else {

+			stringBuffer.append(TEXT_15);

+			if (genPackage.hasAPITags()) {

+				stringBuffer.append(TEXT_16);

+				stringBuffer.append(genPackage.getAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_14);

+		}

+		if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_17);

+		}

+		if (isImplementation) {

+			if (packageNeedsSuppressDeprecation) {

+				stringBuffer.append(TEXT_18);

+			}

+			stringBuffer.append(TEXT_19);

+			stringBuffer.append(genPackage.getPackageClassName());

+			stringBuffer.append(TEXT_20);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.EPackageImpl"));

+			if (!isInterface) {

+				stringBuffer.append(TEXT_21);

+				stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+			}

+		} else {

+			stringBuffer.append(TEXT_22);

+			stringBuffer.append(genPackage.getPackageInterfaceName());

+			stringBuffer.append(TEXT_20);

+			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_3);

+			stringBuffer.append(genModel.getNonNLS());

+			stringBuffer.append(TEXT_4);

+		}

+		if (isInterface) {

+			stringBuffer.append(TEXT_26);

+			stringBuffer.append(publicStaticFinalFlag);

+			stringBuffer.append(genModel.getImportedName("java.lang.String"));

+			stringBuffer.append(TEXT_27);

+			stringBuffer.append(genPackage.getPackageName());

+			stringBuffer.append(TEXT_28);

+			stringBuffer.append(genModel.getNonNLS());

+			stringBuffer.append(TEXT_29);

+			stringBuffer.append(publicStaticFinalFlag);

+			stringBuffer.append(genModel.getImportedName("java.lang.String"));

+			stringBuffer.append(TEXT_30);

+			stringBuffer.append(genPackage.getNSURI());

+			stringBuffer.append(TEXT_28);

+			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.getNSName());

+			stringBuffer.append(TEXT_28);

+			stringBuffer.append(genModel.getNonNLS());

+			if (genPackage.isContentType()) {

+				stringBuffer.append(TEXT_33);

+				stringBuffer.append(publicStaticFinalFlag);

+				stringBuffer.append(genModel.getImportedName("java.lang.String"));

+				stringBuffer.append(TEXT_34);

+				stringBuffer.append(genPackage.getContentTypeIdentifier());

+				stringBuffer.append(TEXT_28);

+				stringBuffer.append(genModel.getNonNLS());

+			}

+			stringBuffer.append(TEXT_35);

+			stringBuffer.append(publicStaticFinalFlag);

+			stringBuffer.append(genPackage.getPackageInterfaceName());

+			stringBuffer.append(TEXT_36);

+			stringBuffer.append(genPackage.getQualifiedPackageClassName());

+			stringBuffer.append(TEXT_37);

+			for (GenClassifier genClassifier : genPackage.getOrderedGenClassifiers()) {

+				stringBuffer.append(TEXT_38);

+				if (genClassifier instanceof GenClass) {

+					GenClass genClass = (GenClass) genClassifier;

+					if (!genClass.isInterface()) {

+						stringBuffer.append(TEXT_39);

+						stringBuffer.append(genClass.getQualifiedClassName());

+						stringBuffer.append(TEXT_40);

+						stringBuffer.append(genClass.getFormattedName());

+						stringBuffer.append(TEXT_41);

+						stringBuffer.append(genClass.getQualifiedClassName());

+					} else {

+						stringBuffer.append(TEXT_39);

+						stringBuffer.append(genClass.getRawQualifiedInterfaceName());

+						stringBuffer.append(TEXT_40);

+						stringBuffer.append(genClass.getFormattedName());

+						stringBuffer.append(TEXT_41);

+						stringBuffer.append(genClass.getRawQualifiedInterfaceName());

+					}

+				} else if (genClassifier instanceof GenEnum) {

+					GenEnum genEnum = (GenEnum) genClassifier;

+					stringBuffer.append(TEXT_39);

+					stringBuffer.append(genEnum.getQualifiedName());

+					stringBuffer.append(TEXT_40);

+					stringBuffer.append(genEnum.getFormattedName());

+					stringBuffer.append(TEXT_42);

+					stringBuffer.append(genEnum.getQualifiedName());

+				} else if (genClassifier instanceof GenDataType) {

+					GenDataType genDataType = (GenDataType) genClassifier;

+					stringBuffer.append(TEXT_43);

+					stringBuffer.append(genDataType.getFormattedName());

+					stringBuffer.append(TEXT_44);

+					if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {

+						stringBuffer.append(TEXT_45);

+						stringBuffer.append(genDataType.getRawInstanceClassName());

+					}

+				}

+				stringBuffer.append(TEXT_45);

+				stringBuffer.append(genPackage.getQualifiedPackageClassName());

+				stringBuffer.append(TEXT_46);

+				stringBuffer.append(genClassifier.getClassifierAccessorName());

+				stringBuffer.append(TEXT_47);

+				if (genClassifier.hasAPITags()) {

+					stringBuffer.append(TEXT_48);

+					stringBuffer.append(genClassifier.getAPITags(genModel.getIndentation(stringBuffer)));

+				}

+				stringBuffer.append(TEXT_49);

+				if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) {

+					stringBuffer.append(TEXT_50);

+				}

+				stringBuffer.append(TEXT_51);

+				stringBuffer.append(publicStaticFinalFlag);

+				stringBuffer.append(TEXT_52);

+				stringBuffer.append(genPackage.getClassifierID(genClassifier));

+				stringBuffer.append(TEXT_53);

+				stringBuffer.append(genPackage.getClassifierValue(genClassifier));

+				stringBuffer.append(TEXT_54);

+				if (genClassifier instanceof GenClass) {

+					GenClass genClass = (GenClass) genClassifier;

+					for (GenFeature genFeature : genClass.getAllGenFeatures()) {

+						stringBuffer.append(TEXT_55);

+						stringBuffer.append(genFeature.getFormattedName());

+						stringBuffer.append(TEXT_56);

+						stringBuffer.append(genFeature.getFeatureKind());

+						stringBuffer.append(TEXT_57);

+						if (genFeature.hasImplicitAPITags()) {

+							stringBuffer.append(TEXT_48);

+							stringBuffer.append(genFeature.getImplicitAPITags(genModel.getIndentation(stringBuffer)));

+						}

+						stringBuffer.append(TEXT_58);

+						if (isJDK50 && genFeature.hasImplicitAPIDeprecatedTag()) {

+							stringBuffer.append(TEXT_50);

+						}

+						stringBuffer.append(TEXT_51);

+						stringBuffer.append(publicStaticFinalFlag);

+						stringBuffer.append(TEXT_52);

+						stringBuffer.append(genClass.getFeatureID(genFeature));

+						stringBuffer.append(TEXT_53);

+						stringBuffer.append(genClass.getFeatureValue(genFeature));

+						stringBuffer.append(TEXT_54);

+					}

+					stringBuffer.append(TEXT_59);

+					stringBuffer.append(genClass.getFormattedName());

+					stringBuffer.append(TEXT_60);

+					if (genClass.hasAPITags()) {

+						stringBuffer.append(TEXT_48);

+						stringBuffer.append(genClass.getAPITags(genModel.getIndentation(stringBuffer)));

+					}

+					stringBuffer.append(TEXT_58);

+					if (isJDK50 && genClass.hasAPIDeprecatedTag()) {

+						stringBuffer.append(TEXT_50);

+					}

+					stringBuffer.append(TEXT_51);

+					stringBuffer.append(publicStaticFinalFlag);

+					stringBuffer.append(TEXT_52);

+					stringBuffer.append(genClass.getFeatureCountID());

+					stringBuffer.append(TEXT_53);

+					stringBuffer.append(genClass.getFeatureCountValue());

+					stringBuffer.append(TEXT_54);

+					if (genModel.isOperationReflection()) {

+						for (GenOperation genOperation : genClass.getAllGenOperations(false)) {

+							if (genClass.getOverrideGenOperation(genOperation) == null) {

+								stringBuffer.append(TEXT_61);

+								stringBuffer.append(genOperation.getFormattedName());

+								stringBuffer.append(TEXT_62);

+								if (genOperation.hasImplicitAPITags()) {

+									stringBuffer.append(TEXT_48);

+									stringBuffer.append(

+											genOperation.getImplicitAPITags(genModel.getIndentation(stringBuffer)));

+								}

+								stringBuffer.append(TEXT_58);

+								if (isJDK50 && genOperation.hasImplicitAPIDeprecatedTag()) {

+									stringBuffer.append(TEXT_50);

+								}

+								stringBuffer.append(TEXT_51);

+								stringBuffer.append(publicStaticFinalFlag);

+								stringBuffer.append(TEXT_52);

+								stringBuffer.append(genClass.getOperationID(genOperation, false));

+								stringBuffer.append(TEXT_53);

+								stringBuffer.append(genClass.getOperationValue(genOperation));

+								stringBuffer.append(TEXT_54);

+							}

+						}

+						stringBuffer.append(TEXT_63);

+						stringBuffer.append(genClass.getFormattedName());

+						stringBuffer.append(TEXT_60);

+						if (genClass.hasAPITags()) {

+							stringBuffer.append(TEXT_48);

+							stringBuffer.append(genClass.getAPITags(genModel.getIndentation(stringBuffer)));

+						}

+						stringBuffer.append(TEXT_58);

+						if (isJDK50 && genClass.hasAPIDeprecatedTag()) {

+							stringBuffer.append(TEXT_50);

+						}

+						stringBuffer.append(TEXT_51);

+						stringBuffer.append(publicStaticFinalFlag);

+						stringBuffer.append(TEXT_52);

+						stringBuffer.append(genClass.getOperationCountID());

+						stringBuffer.append(TEXT_53);

+						stringBuffer.append(genClass.getOperationCountValue());

+						stringBuffer.append(TEXT_54);

+					}

+				}

+			}

+		}

+		if (isImplementation) {

+			if (genPackage.isLoadingInitialization()) {

+				stringBuffer.append(TEXT_64);

+				stringBuffer.append(genPackage.getSerializedPackageFilename());

+				stringBuffer.append(TEXT_28);

+				stringBuffer.append(genModel.getNonNLS());

+				stringBuffer.append(TEXT_4);

+			}

+			for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {

+				stringBuffer.append(TEXT_65);

+				if (genClassifier.hasAPITags(true)) {

+					stringBuffer.append(TEXT_48);

+					stringBuffer.append(genClassifier.getAPITags(genModel.getIndentation(stringBuffer), true));

+				}

+				stringBuffer.append(TEXT_49);

+				if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) {

+					stringBuffer.append(TEXT_50);

+				}

+				stringBuffer.append(TEXT_66);

+				stringBuffer.append(genClassifier.getImportedMetaType());

+				stringBuffer.append(TEXT_67);

+				stringBuffer.append(genClassifier.getClassifierInstanceName());

+				stringBuffer.append(TEXT_68);

+			}

+			stringBuffer.append(TEXT_69);

+			stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());

+			stringBuffer.append(TEXT_70);

+			stringBuffer.append(genPackage.getPackageClassName());

+			stringBuffer.append(TEXT_71);

+			stringBuffer.append(genPackage.getQualifiedEFactoryInstanceAccessor());

+			stringBuffer.append(TEXT_72);

+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+			stringBuffer.append(TEXT_73);

+			if (!genPackage.isLoadedInitialization()) {

+				stringBuffer.append(TEXT_74);

+			}

+			stringBuffer.append(TEXT_75);

+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+			stringBuffer.append(TEXT_76);

+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+			stringBuffer.append(TEXT_77);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

+			stringBuffer.append(TEXT_78);

+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+			stringBuffer.append(TEXT_79);

+			if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {

+				stringBuffer.append(TEXT_80);

+			}

+			stringBuffer.append(TEXT_81);

+			stringBuffer.append(genPackage.getBasicPackageName());

+			stringBuffer.append(TEXT_53);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

+			stringBuffer.append(TEXT_82);

+			stringBuffer.append(genPackage.getPackageClassName());

+			stringBuffer.append(TEXT_83);

+			stringBuffer.append(genPackage.getBasicPackageName());

+			stringBuffer.append(TEXT_84);

+			stringBuffer.append(genPackage.getBasicPackageName());

+			stringBuffer.append(TEXT_85);

+			stringBuffer.append(genPackage.getPackageClassName());

+			stringBuffer.append(TEXT_86);

+			stringBuffer.append(genPackage.getPackageClassName());

+			stringBuffer.append(TEXT_87);

+			stringBuffer.append(genPackage.getBasicPackageName());

+			stringBuffer.append(TEXT_88);

+			stringBuffer.append(genPackage.getPackageClassName());

+			stringBuffer.append(TEXT_89);

+			if (!genPackage.getPackageSimpleDependencies().isEmpty()) {

+				stringBuffer.append(TEXT_90);

+				for (GenPackage dep : genPackage.getPackageSimpleDependencies()) {

+					stringBuffer.append(TEXT_91);

+					stringBuffer.append(dep.getImportedPackageInterfaceName());

+					stringBuffer.append(TEXT_92);

+				}

+				stringBuffer.append(TEXT_4);

+			}

+			if (!genPackage.getPackageInterDependencies().isEmpty()) {

+				stringBuffer.append(TEXT_93);

+				for (ListIterator<GenPackage> i = genPackage.getPackageInterDependencies().listIterator(); i

+						.hasNext();) {

+					GenPackage interdep = i.next();

+					stringBuffer.append(TEXT_91);

+					if (i.previousIndex() == 0) {

+						stringBuffer.append(TEXT_94);

+					}

+					stringBuffer.append(TEXT_95);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

+					stringBuffer.append(TEXT_78);

+					stringBuffer.append(interdep.getImportedPackageInterfaceName());

+					stringBuffer.append(TEXT_96);

+					stringBuffer.append(interdep.getImportedPackageClassName());

+					stringBuffer.append(TEXT_67);

+					stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));

+					stringBuffer.append(TEXT_97);

+					stringBuffer.append(interdep.getImportedPackageClassName());

+					stringBuffer.append(TEXT_98);

+					stringBuffer.append(interdep.getImportedPackageClassName());

+					stringBuffer.append(TEXT_99);

+					stringBuffer.append(interdep.getImportedPackageInterfaceName());

+					stringBuffer.append(TEXT_100);

+				}

+				stringBuffer.append(TEXT_4);

+			}

+			if (genPackage.isLoadedInitialization() || !genPackage.getPackageLoadInterDependencies().isEmpty()) {

+				stringBuffer.append(TEXT_101);

+				if (genPackage.isLoadingInitialization()) {

+					stringBuffer.append(TEXT_102);

+					stringBuffer.append(genPackage.getBasicPackageName());

+					stringBuffer.append(TEXT_103);

+				}

+				for (GenPackage interdep : genPackage.getPackageLoadInterDependencies()) {

+					if (interdep.isLoadingInitialization()) {

+						stringBuffer.append(TEXT_91);

+						stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));

+						stringBuffer.append(TEXT_103);

+					}

+				}

+				stringBuffer.append(TEXT_4);

+			}

+			if (!genPackage.isLoadedInitialization() || !genPackage.getPackageBuildInterDependencies().isEmpty()) {

+				stringBuffer.append(TEXT_104);

+				if (!genPackage.isLoadedInitialization()) {

+					stringBuffer.append(TEXT_102);

+					stringBuffer.append(genPackage.getBasicPackageName());

+					stringBuffer.append(TEXT_105);

+				}

+				for (GenPackage interdep : genPackage.getPackageBuildInterDependencies()) {

+					stringBuffer.append(TEXT_91);

+					stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));

+					stringBuffer.append(TEXT_105);

+				}

+				stringBuffer.append(TEXT_106);

+				if (!genPackage.isLoadedInitialization()) {

+					stringBuffer.append(TEXT_102);

+					stringBuffer.append(genPackage.getBasicPackageName());

+					stringBuffer.append(TEXT_107);

+				}

+				for (GenPackage interdep : genPackage.getPackageBuildInterDependencies()) {

+					stringBuffer.append(TEXT_91);

+					stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));

+					stringBuffer.append(TEXT_107);

+				}

+				stringBuffer.append(TEXT_4);

+			}

+			if (genPackage.isLoadedInitialization() || !genPackage.getPackageLoadInterDependencies().isEmpty()) {

+				stringBuffer.append(TEXT_108);

+				if (genPackage.isLoadedInitialization()) {

+					stringBuffer.append(TEXT_102);

+					stringBuffer.append(genPackage.getBasicPackageName());

+					stringBuffer.append(TEXT_109);

+				}

+				for (GenPackage interdep : genPackage.getPackageLoadInterDependencies()) {

+					stringBuffer.append(TEXT_91);

+					stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));

+					stringBuffer.append(TEXT_109);

+				}

+				stringBuffer.append(TEXT_4);

+			}

+			if (genPackage.hasConstraints()) {

+				stringBuffer.append(TEXT_110);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EValidator"));

+				stringBuffer.append(TEXT_111);

+				stringBuffer.append(genPackage.getBasicPackageName());

+				stringBuffer.append(TEXT_112);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EValidator"));

+				stringBuffer.append(TEXT_113);

+				if (genModel.useInterfaceOverrideAnnotation()) {

+					stringBuffer.append(TEXT_114);

+				}

+				stringBuffer.append(TEXT_115);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EValidator"));

+				stringBuffer.append(TEXT_116);

+				stringBuffer.append(genPackage.getImportedValidatorClassName());

+				stringBuffer.append(TEXT_117);

+			}

+			if (!genPackage.isEcorePackage()) {

+				stringBuffer.append(TEXT_118);

+				stringBuffer.append(genPackage.getBasicPackageName());

+				stringBuffer.append(TEXT_119);

+			}

+			stringBuffer.append(TEXT_120);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

+			stringBuffer.append(TEXT_121);

+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+			stringBuffer.append(TEXT_122);

+			stringBuffer.append(genPackage.getBasicPackageName());

+			stringBuffer.append(TEXT_123);

+			stringBuffer.append(genPackage.getBasicPackageName());

+			stringBuffer.append(TEXT_124);

+			if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {

+				stringBuffer.append(TEXT_125);

+				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_91);

+								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect"));

+								stringBuffer.append(TEXT_126);

+								stringBuffer.append(theClass);

+								stringBuffer.append(TEXT_127);

+								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect"));

+								stringBuffer.append(TEXT_128);

+								stringBuffer.append(genClass.isMapEntry() ? genClass.getImportedClassName()

+										: genClass.getRawImportedInterfaceName()

+												+ genClass.getInterfaceWildTypeArguments());

+								stringBuffer.append(TEXT_129);

+								stringBuffer.append(theClass);

+								stringBuffer.append(TEXT_130);

+							}

+						}

+					} 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_91);

+								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect"));

+								stringBuffer.append(TEXT_126);

+								stringBuffer.append(theClass);

+								stringBuffer.append(TEXT_127);

+								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect"));

+								stringBuffer.append(TEXT_128);

+								stringBuffer.append(theClass);

+								stringBuffer.append(TEXT_131);

+								if (genDataType.isArrayType()) {

+									String componentType = theClass;

+									String indices = "";

+									while (componentType.endsWith("[]")) {

+										componentType = componentType.substring(0, componentType.length() - 2);

+										indices += "[]";

+									}

+									stringBuffer.append(TEXT_132);

+									stringBuffer.append(componentType);

+									stringBuffer.append(TEXT_133);

+									stringBuffer.append(indices);

+									stringBuffer.append(TEXT_3);

+								} else {

+									stringBuffer.append(TEXT_132);

+									stringBuffer.append(theClass);

+									stringBuffer.append(TEXT_134);

+								}

+								stringBuffer.append(TEXT_135);

+							}

+						}

+					}

+				}

+				stringBuffer.append(TEXT_136);

+				stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.IsSerializable"));

+				stringBuffer.append(TEXT_137);

+				for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {

+					if (genClassifier instanceof GenClass) {

+						GenClass genClass = (GenClass) genClassifier;

+						if (!genClass.isDynamic()) {

+							stringBuffer.append(TEXT_138);

+							stringBuffer.append(genClass.isMapEntry() ? genClass.getImportedClassName()

+									: genClass.getImportedWildcardInstanceClassName());

+							stringBuffer.append(TEXT_67);

+							stringBuffer.append(genClass.getSafeUncapName());

+							stringBuffer.append(TEXT_54);

+						}

+					} else if (genClassifier instanceof GenDataType) {

+						GenDataType genDataType = (GenDataType) genClassifier;

+						if (!genDataType.isObjectType() && genDataType.isSerializable()) {

+							stringBuffer.append(TEXT_138);

+							stringBuffer.append(genDataType.getImportedWildcardInstanceClassName());

+							stringBuffer.append(TEXT_67);

+							stringBuffer.append(genDataType.getSafeUncapName());

+							stringBuffer.append(TEXT_54);

+						}

+					}

+				}

+				stringBuffer.append(TEXT_139);

+			}

+			stringBuffer.append(TEXT_4);

+		}

+		if (isInterface) { // TODO REMOVE THIS BOGUS EMPTY LINE

+			stringBuffer.append(TEXT_4);

+		}

+		for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {

+			if (isInterface) {

+				stringBuffer.append(TEXT_38);

+				if (genClassifier instanceof GenClass) {

+					GenClass genClass = (GenClass) genClassifier;

+					stringBuffer.append(TEXT_140);

+					stringBuffer.append(genClass.getRawQualifiedInterfaceName());

+					stringBuffer.append(TEXT_40);

+					stringBuffer.append(genClass.getFormattedName());

+					stringBuffer.append(TEXT_141);

+					stringBuffer.append(genClass.getFormattedName());

+					stringBuffer.append(TEXT_142);

+					stringBuffer.append(genClass.getRawQualifiedInterfaceName());

+					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_143);

+								stringBuffer.append(modelInfo);

+							} else {

+								stringBuffer.append(TEXT_144);

+								stringBuffer.append(modelInfo);

+							}

+						}

+						if (first) {

+							stringBuffer.append(TEXT_145);

+						}

+					}

+				} else if (genClassifier instanceof GenEnum) {

+					GenEnum genEnum = (GenEnum) genClassifier;

+					stringBuffer.append(TEXT_146);

+					stringBuffer.append(genEnum.getQualifiedName());

+					stringBuffer.append(TEXT_40);

+					stringBuffer.append(genEnum.getFormattedName());

+					stringBuffer.append(TEXT_147);

+					stringBuffer.append(genEnum.getFormattedName());

+					stringBuffer.append(TEXT_142);

+					stringBuffer.append(genEnum.getQualifiedName());

+				} else if (genClassifier instanceof GenDataType) {

+					GenDataType genDataType = (GenDataType) genClassifier;

+					if (genDataType.isPrimitiveType() || genDataType.isArrayType()) {

+						stringBuffer.append(TEXT_148);

+						stringBuffer.append(genDataType.getFormattedName());

+						stringBuffer.append(TEXT_149);

+					} else {

+						stringBuffer.append(TEXT_150);

+						stringBuffer.append(genDataType.getRawInstanceClassName());

+						stringBuffer.append(TEXT_40);

+						stringBuffer.append(genDataType.getFormattedName());

+						stringBuffer.append(TEXT_151);

+					}

+					stringBuffer.append(TEXT_152);

+					if (genDataType.hasDocumentation()) {

+						stringBuffer.append(TEXT_153);

+						stringBuffer.append(genDataType.getDocumentation(genModel.getIndentation(stringBuffer)));

+						stringBuffer.append(TEXT_154);

+					}

+					stringBuffer.append(TEXT_155);

+					stringBuffer.append(genDataType.getFormattedName());

+					stringBuffer.append(TEXT_149);

+					if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {

+						stringBuffer.append(TEXT_45);

+						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_143);

+								stringBuffer.append(modelInfo);

+							} else {

+								stringBuffer.append(TEXT_144);

+								stringBuffer.append(modelInfo);

+							}

+						}

+						if (first) {

+							stringBuffer.append(TEXT_145);

+						}

+					}

+				}

+				if ((genClassifier instanceof GenClass || genClassifier instanceof GenEnum)

+						&& genClassifier.hasAPITags()) {

+					stringBuffer.append(TEXT_48);

+					stringBuffer.append(genClassifier.getAPITags(genModel.getIndentation(stringBuffer)));

+				}

+				stringBuffer.append(TEXT_49);

+			} else {

+				stringBuffer.append(TEXT_65);

+				if (genClassifier.hasAPITags()) {

+					stringBuffer.append(TEXT_48);

+					stringBuffer.append(genClassifier.getAPITags(genModel.getIndentation(stringBuffer)));

+				}

+				stringBuffer.append(TEXT_49);

+			}

+			if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) {

+				stringBuffer.append(TEXT_50);

+			}

+			if (isImplementation) {

+				if (useInterfaceOverrideAnnotation) {

+					stringBuffer.append(TEXT_156);

+				}

+				stringBuffer.append(TEXT_157);

+				stringBuffer.append(genClassifier.getImportedMetaType());

+				stringBuffer.append(TEXT_158);

+				stringBuffer.append(genClassifier.getClassifierAccessorName());

+				stringBuffer.append(TEXT_159);

+				if (genPackage.isLoadedInitialization()) {

+					stringBuffer.append(TEXT_160);

+					stringBuffer.append(genClassifier.getClassifierInstanceName());

+					stringBuffer.append(TEXT_161);

+					stringBuffer.append(genClassifier.getClassifierInstanceName());

+					stringBuffer.append(TEXT_97);

+					stringBuffer.append(genClassifier.getImportedMetaType());

+					stringBuffer.append(TEXT_77);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

+					stringBuffer.append(TEXT_78);

+					stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+					stringBuffer.append(TEXT_162);

+					stringBuffer.append(genPackage.getLocalClassifierIndex(genClassifier));

+					stringBuffer.append(TEXT_163);

+				}

+				stringBuffer.append(TEXT_164);

+				stringBuffer.append(genClassifier.getClassifierInstanceName());

+				stringBuffer.append(TEXT_165);

+			} else {

+				stringBuffer.append(TEXT_51);

+				stringBuffer.append(genClassifier.getImportedMetaType());

+				stringBuffer.append(TEXT_158);

+				stringBuffer.append(genClassifier.getClassifierAccessorName());

+				stringBuffer.append(TEXT_166);

+			}

+			if (genClassifier instanceof GenClass) {

+				GenClass genClass = (GenClass) genClassifier;

+				for (GenFeature genFeature : genClass.getGenFeatures()) {

+					if (isInterface) {

+						stringBuffer.append(TEXT_167);

+						stringBuffer.append(genFeature.getFeatureKind());

+						stringBuffer.append(TEXT_168);

+						stringBuffer.append(genClass.getRawQualifiedInterfaceName());

+						if (!genClass.isMapEntry() && !genFeature.isSuppressedGetVisibility()) {

+							stringBuffer.append(TEXT_169);

+							stringBuffer.append(genFeature.getGetAccessor());

+						}

+						stringBuffer.append(TEXT_40);

+						stringBuffer.append(genFeature.getFormattedName());

+						stringBuffer.append(TEXT_170);

+						stringBuffer.append(genFeature.getFeatureKind());

+						stringBuffer.append(TEXT_171);

+						stringBuffer.append(genFeature.getFormattedName());

+						stringBuffer.append(TEXT_142);

+						stringBuffer.append(genClass.getRawQualifiedInterfaceName());

+						if (!genClass.isMapEntry() && !genFeature.isSuppressedGetVisibility()) {

+							stringBuffer.append(TEXT_169);

+							stringBuffer.append(genFeature.getGetAccessor());

+							stringBuffer.append(TEXT_47);

+						}

+						stringBuffer.append(TEXT_172);

+						stringBuffer.append(genClass.getClassifierAccessorName());

+						stringBuffer.append(TEXT_47);

+						if (genFeature.hasImplicitAPITags()) {

+							stringBuffer.append(TEXT_48);

+							stringBuffer.append(genFeature.getImplicitAPITags(genModel.getIndentation(stringBuffer)));

+						}

+						stringBuffer.append(TEXT_49);

+					} else {

+						stringBuffer.append(TEXT_65);

+						if (genFeature.hasImplicitAPITags()) {

+							stringBuffer.append(TEXT_48);

+							stringBuffer.append(genFeature.getImplicitAPITags(genModel.getIndentation(stringBuffer)));

+						}

+						stringBuffer.append(TEXT_49);

+					}

+					if (isJDK50 && genFeature.hasImplicitAPIDeprecatedTag()) {

+						stringBuffer.append(TEXT_50);

+					}

+					if (isImplementation) {

+						if (useInterfaceOverrideAnnotation) {

+							stringBuffer.append(TEXT_156);

+						}

+						stringBuffer.append(TEXT_157);

+						stringBuffer.append(genFeature.getImportedMetaType());

+						stringBuffer.append(TEXT_158);

+						stringBuffer.append(genFeature.getFeatureAccessorName());

+						stringBuffer.append(TEXT_159);

+						if (!genPackage.isLoadedInitialization()) {

+							stringBuffer.append(TEXT_173);

+							stringBuffer.append(genFeature.getImportedMetaType());

+							stringBuffer.append(TEXT_77);

+							stringBuffer.append(genClass.getClassifierInstanceName());

+							stringBuffer.append(TEXT_174);

+							stringBuffer.append(genClass.getLocalFeatureIndex(genFeature));

+							stringBuffer.append(TEXT_175);

+						} else {

+							stringBuffer.append(TEXT_176);

+							stringBuffer.append(genFeature.getImportedMetaType());

+							stringBuffer.append(TEXT_177);

+							stringBuffer.append(genClassifier.getClassifierAccessorName());

+							stringBuffer.append(TEXT_178);

+							stringBuffer.append(genClass.getLocalFeatureIndex(genFeature));

+							stringBuffer.append(TEXT_175);

+						}

+						stringBuffer.append(TEXT_139);

+					} else {

+						stringBuffer.append(TEXT_51);

+						stringBuffer.append(genFeature.getImportedMetaType());

+						stringBuffer.append(TEXT_158);

+						stringBuffer.append(genFeature.getFeatureAccessorName());

+						stringBuffer.append(TEXT_179);

+					}

+					stringBuffer.append(TEXT_4);

+				}

+				if (genModel.isOperationReflection()) {

+					for (GenOperation genOperation : genClass.getGenOperations()) {

+						if (isInterface) {

+							stringBuffer.append(TEXT_180);

+							stringBuffer.append(genClass.getRawQualifiedInterfaceName());

+							stringBuffer.append(TEXT_169);

+							stringBuffer.append(genOperation.getName());

+							stringBuffer.append(TEXT_181);

+							stringBuffer.append(genOperation.getParameterTypes(", "));

+							stringBuffer.append(TEXT_182);

+							stringBuffer.append(genOperation.getFormattedName());

+							stringBuffer.append(TEXT_183);

+							stringBuffer.append(genOperation.getFormattedName());

+							stringBuffer.append(TEXT_184);

+							stringBuffer.append(genClass.getRawQualifiedInterfaceName());

+							stringBuffer.append(TEXT_169);

+							stringBuffer.append(genOperation.getName());

+							stringBuffer.append(TEXT_181);

+							stringBuffer.append(genOperation.getParameterTypes(", "));

+							stringBuffer.append(TEXT_77);

+							if (genOperation.hasImplicitAPITags()) {

+								stringBuffer.append(TEXT_48);

+								stringBuffer

+										.append(genOperation.getImplicitAPITags(genModel.getIndentation(stringBuffer)));

+							}

+							stringBuffer.append(TEXT_49);

+						} else {

+							stringBuffer.append(TEXT_65);

+							if (genOperation.hasImplicitAPITags()) {

+								stringBuffer.append(TEXT_48);

+								stringBuffer

+										.append(genOperation.getImplicitAPITags(genModel.getIndentation(stringBuffer)));

+							}

+							stringBuffer.append(TEXT_49);

+						}

+						if (isJDK50 && genOperation.hasImplicitAPIDeprecatedTag()) {

+							stringBuffer.append(TEXT_50);

+						}

+						if (isImplementation) {

+							if (useInterfaceOverrideAnnotation) {

+								stringBuffer.append(TEXT_156);

+							}

+							stringBuffer.append(TEXT_157);

+							stringBuffer.append(genOperation.getImportedMetaType());

+							stringBuffer.append(TEXT_158);

+							stringBuffer.append(genOperation.getOperationAccessorName());

+							stringBuffer.append(TEXT_159);

+							if (!genPackage.isLoadedInitialization()) {

+								stringBuffer.append(TEXT_164);

+								stringBuffer.append(genClass.getClassifierInstanceName());

+								stringBuffer.append(TEXT_185);

+								stringBuffer.append(genClass.getLocalOperationIndex(genOperation));

+								stringBuffer.append(TEXT_175);

+							} else {

+								stringBuffer.append(TEXT_186);

+								stringBuffer.append(genClassifier.getClassifierAccessorName());

+								stringBuffer.append(TEXT_187);

+								stringBuffer.append(genClass.getLocalOperationIndex(genOperation));

+								stringBuffer.append(TEXT_175);

+							}

+							stringBuffer.append(TEXT_139);

+						} else {

+							stringBuffer.append(TEXT_51);

+							stringBuffer.append(genOperation.getImportedMetaType());

+							stringBuffer.append(TEXT_158);

+							stringBuffer.append(genOperation.getOperationAccessorName());

+							stringBuffer.append(TEXT_179);

+						}

+						stringBuffer.append(TEXT_4);

+					}

+				}

+			}

+		}

+		if (isInterface) {

+			stringBuffer.append(TEXT_188);

+		} else {

+			stringBuffer.append(TEXT_189);

+		}

+		if (isImplementation) {

+			if (useInterfaceOverrideAnnotation) {

+				stringBuffer.append(TEXT_156);

+			}

+			stringBuffer.append(TEXT_157);

+			stringBuffer.append(genPackage.getImportedFactoryInterfaceName());

+			stringBuffer.append(TEXT_158);

+			stringBuffer.append(genPackage.getFactoryName());

+			stringBuffer.append(TEXT_190);

+			stringBuffer.append(genPackage.getImportedFactoryInterfaceName());

+			stringBuffer.append(TEXT_191);

+		} else {

+			stringBuffer.append(TEXT_51);

+			stringBuffer.append(genPackage.getFactoryInterfaceName());

+			stringBuffer.append(TEXT_158);

+			stringBuffer.append(genPackage.getFactoryName());

+			stringBuffer.append(TEXT_179);

+		}

+		stringBuffer.append(TEXT_4);

+		if (isImplementation) {

+			if (!genPackage.isLoadedInitialization()) {

+				stringBuffer.append(TEXT_192);

+				{

+					boolean needsSuppressDeprecation = false;

+					if (!packageNeedsSuppressDeprecation && isJDK50 && !genModel.isSuppressEMFMetaData()) {

+						LOOP: for (GenClass genClass : genPackage.getGenClasses()) {

+							for (GenFeature genFeature : genClass.getGenFeatures()) {

+								if (genFeature.hasAPIDeprecatedTag()) {

+									needsSuppressDeprecation = true;

+									break LOOP;

+								}

+							}

+							for (GenOperation genOperation : genClass.getGenOperations()) {

+								if (genOperation.hasAPIDeprecatedTag()) {

+									needsSuppressDeprecation = true;

+									break LOOP;

+								}

+							}

+						}

+						if (needsSuppressDeprecation) {

+							stringBuffer.append(TEXT_193);

+						}

+					}

+				}

+				stringBuffer.append(TEXT_194);

+				if (!genPackage.getGenClasses().isEmpty()) {

+					stringBuffer.append(TEXT_195);

+					for (Iterator<GenClass> c = genPackage.getGenClasses().iterator(); c.hasNext();) {

+						GenClass genClass = c.next();

+						stringBuffer.append(TEXT_91);

+						stringBuffer.append(genClass.getClassifierInstanceName());

+						stringBuffer.append(TEXT_196);

+						stringBuffer.append(genClass.getMetaType());

+						stringBuffer.append(TEXT_181);

+						stringBuffer.append(genClass.getClassifierID());

+						stringBuffer.append(TEXT_175);

+						for (GenFeature genFeature : genClass.getGenFeatures()) {

+							stringBuffer.append(TEXT_197);

+							stringBuffer.append(genFeature.getMetaType());

+							stringBuffer.append(TEXT_181);

+							stringBuffer.append(genClass.getClassifierInstanceName());

+							stringBuffer.append(TEXT_198);

+							stringBuffer.append(genClass.getFeatureID(genFeature));

+							stringBuffer.append(TEXT_175);

+						}

+						if (genModel.isOperationReflection()) {

+							for (GenOperation genOperation : genClass.getGenOperations()) {

+								stringBuffer.append(TEXT_199);

+								stringBuffer.append(genClass.getClassifierInstanceName());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genClass.getOperationID(genOperation, false));

+								stringBuffer.append(TEXT_175);

+							}

+						}

+						if (c.hasNext()) {

+							stringBuffer.append(TEXT_4);

+						}

+					}

+				}

+				if (!genPackage.getGenEnums().isEmpty()) {

+					stringBuffer.append(TEXT_200);

+					for (GenEnum genEnum : genPackage.getGenEnums()) {

+						stringBuffer.append(TEXT_91);

+						stringBuffer.append(genEnum.getClassifierInstanceName());

+						stringBuffer.append(TEXT_201);

+						stringBuffer.append(genEnum.getClassifierID());

+						stringBuffer.append(TEXT_175);

+					}

+				}

+				if (!genPackage.getGenDataTypes().isEmpty()) {

+					stringBuffer.append(TEXT_202);

+					for (GenDataType genDataType : genPackage.getGenDataTypes()) {

+						stringBuffer.append(TEXT_91);

+						stringBuffer.append(genDataType.getClassifierInstanceName());

+						stringBuffer.append(TEXT_203);

+						stringBuffer.append(genDataType.getClassifierID());

+						stringBuffer.append(TEXT_175);

+					}

+				}

+				stringBuffer.append(TEXT_204);

+

+				///////////////////////

+				class Information {

+					@SuppressWarnings("unused")

+					EGenericType eGenericType;

+					int depth;

+					String type;

+					String accessor;

+				}

+

+				class InformationIterator {

+					Iterator<Object> 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_205);

+				{

+					boolean needsSuppressDeprecation = false;

+					if (!packageNeedsSuppressDeprecation && isJDK50) {

+						LOOP: for (GenEnum genEnum : genPackage.getGenEnums()) {

+							for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {

+								if (genEnumLiteral.hasAPIDeprecatedTag()) {

+									needsSuppressDeprecation = true;

+									break LOOP;

+								}

+							}

+						}

+						if (needsSuppressDeprecation) {

+							stringBuffer.append(TEXT_193);

+						}

+					}

+				}

+				stringBuffer.append(TEXT_206);

+				if (!genPackage.getPackageInitializationDependencies().isEmpty()) {

+					stringBuffer.append(TEXT_207);

+					for (GenPackage dep : genPackage.getPackageInitializationDependencies()) {

+						stringBuffer.append(TEXT_91);

+						stringBuffer.append(dep.getImportedPackageInterfaceName());

+						stringBuffer.append(TEXT_67);

+						stringBuffer.append(genPackage.getPackageInstanceVariable(dep));

+						stringBuffer.append(TEXT_97);

+						stringBuffer.append(dep.getImportedPackageInterfaceName());

+						stringBuffer.append(TEXT_77);

+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

+						stringBuffer.append(TEXT_78);

+						stringBuffer.append(dep.getImportedPackageInterfaceName());

+						stringBuffer.append(TEXT_208);

+					}

+				}

+				if (!genPackage.getSubGenPackages().isEmpty()) {

+					stringBuffer.append(TEXT_209);

+					for (GenPackage sub : genPackage.getSubGenPackages()) {

+						stringBuffer.append(TEXT_210);

+						stringBuffer.append(genPackage.getPackageInstanceVariable(sub));

+						stringBuffer.append(TEXT_175);

+					}

+				}

+				if (!genPackage.getGenClasses().isEmpty()) {

+					boolean firstOperationAssignment = true;

+					int maxTypeParameterAssignment = 0;

+					if (genModel.useGenerics()) {

+						stringBuffer.append(TEXT_211);

+						for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {

+							for (GenTypeParameter genTypeParameter : genClassifier.getGenTypeParameters()) {

+								if (!genTypeParameter.getEcoreTypeParameter().getEBounds().isEmpty()

+										|| genTypeParameter.isUsed()) {

+									stringBuffer.append(TEXT_91);

+									stringBuffer

+											.append(genModel.getImportedName("org.eclipse.emf.ecore.ETypeParameter"));

+									stringBuffer.append(TEXT_67);

+									stringBuffer.append(genClassifier.getClassifierInstanceName());

+									stringBuffer.append(TEXT_212);

+									stringBuffer.append(genTypeParameter.getName());

+									stringBuffer.append(TEXT_213);

+									stringBuffer.append(genClassifier.getClassifierInstanceName());

+									stringBuffer.append(TEXT_214);

+									stringBuffer.append(genTypeParameter.getName());

+									stringBuffer.append(TEXT_215);

+									stringBuffer.append(genModel.getNonNLS());

+								} else {

+									stringBuffer.append(TEXT_216);

+									stringBuffer.append(genClassifier.getClassifierInstanceName());

+									stringBuffer.append(TEXT_214);

+									stringBuffer.append(genTypeParameter.getName());

+									stringBuffer.append(TEXT_215);

+									stringBuffer.append(genModel.getNonNLS());

+								}

+							}

+						}

+					}

+					if (genModel.useGenerics()) {

+						stringBuffer.append(TEXT_217);

+						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_91);

+										stringBuffer.append(prefix);

+										stringBuffer.append(TEXT_218);

+										stringBuffer.append(info.depth + 1);

+										stringBuffer.append(TEXT_219);

+										stringBuffer.append(info.type);

+										stringBuffer.append(TEXT_175);

+										if (info.depth > 0) {

+											stringBuffer.append(TEXT_220);

+											stringBuffer.append(info.depth);

+											stringBuffer.append(TEXT_221);

+											stringBuffer.append(info.accessor);

+											stringBuffer.append(TEXT_222);

+											stringBuffer.append(info.depth + 1);

+											stringBuffer.append(TEXT_175);

+										}

+									}

+									stringBuffer.append(TEXT_91);

+									stringBuffer.append(genClassifier.getClassifierInstanceName());

+									stringBuffer.append(TEXT_212);

+									stringBuffer.append(genTypeParameter.getName());

+									stringBuffer.append(TEXT_223);

+								}

+							}

+						}

+					}

+					stringBuffer.append(TEXT_224);

+					for (GenClass genClass : genPackage.getGenClasses()) {

+						if (!genClass.hasGenericSuperTypes()) {

+							for (GenClass baseGenClass : genClass.getBaseGenClasses()) {

+								stringBuffer.append(TEXT_91);

+								stringBuffer.append(genClass.getClassifierInstanceName());

+								stringBuffer.append(TEXT_225);

+								stringBuffer

+										.append(genPackage.getPackageInstanceVariable(baseGenClass.getGenPackage()));

+								stringBuffer.append(TEXT_226);

+								stringBuffer.append(baseGenClass.getClassifierAccessorName());

+								stringBuffer.append(TEXT_227);

+							}

+						} 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_91);

+									stringBuffer.append(prefix);

+									stringBuffer.append(TEXT_218);

+									stringBuffer.append(info.depth + 1);

+									stringBuffer.append(TEXT_219);

+									stringBuffer.append(info.type);

+									stringBuffer.append(TEXT_175);

+									if (info.depth > 0) {

+										stringBuffer.append(TEXT_220);

+										stringBuffer.append(info.depth);

+										stringBuffer.append(TEXT_221);

+										stringBuffer.append(info.accessor);

+										stringBuffer.append(TEXT_222);

+										stringBuffer.append(info.depth + 1);

+										stringBuffer.append(TEXT_175);

+									}

+								}

+								stringBuffer.append(TEXT_91);

+								stringBuffer.append(genClass.getClassifierInstanceName());

+								stringBuffer.append(TEXT_228);

+							}

+						}

+					}

+					stringBuffer.append(TEXT_229);

+					if (genModel.isOperationReflection()) {

+						stringBuffer.append(TEXT_230);

+					} else {

+						stringBuffer.append(TEXT_231);

+					}

+					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_232);

+						stringBuffer.append(genClass.getClassifierInstanceName());

+						stringBuffer.append(TEXT_198);

+						if (genClass.isDynamic()) {

+							stringBuffer.append(TEXT_233);

+						} else {

+							stringBuffer.append(genClass.getRawImportedInterfaceName());

+							stringBuffer.append(TEXT_234);

+						}

+						stringBuffer.append(TEXT_214);

+						stringBuffer.append(genClass.getName());

+						stringBuffer.append(TEXT_235);

+						stringBuffer.append(genClass.getAbstractFlag());

+						stringBuffer.append(TEXT_198);

+						stringBuffer.append(genClass.getInterfaceFlag());

+						stringBuffer.append(TEXT_198);

+						stringBuffer.append(genClass.getGeneratedInstanceClassFlag());

+						if (hasInstanceTypeName) {

+							stringBuffer.append(TEXT_214);

+							stringBuffer.append(genClass.getEcoreClass().getInstanceTypeName());

+							stringBuffer.append(TEXT_236);

+						}

+						stringBuffer.append(TEXT_175);

+						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_91);

+									stringBuffer.append(prefix);

+									stringBuffer.append(TEXT_218);

+									stringBuffer.append(info.depth + 1);

+									stringBuffer.append(TEXT_219);

+									stringBuffer.append(info.type);

+									stringBuffer.append(TEXT_175);

+									if (info.depth > 0) {

+										stringBuffer.append(TEXT_220);

+										stringBuffer.append(info.depth);

+										stringBuffer.append(TEXT_221);

+										stringBuffer.append(info.accessor);

+										stringBuffer.append(TEXT_222);

+										stringBuffer.append(info.depth + 1);

+										stringBuffer.append(TEXT_175);

+									}

+								}

+							}

+							if (genFeature.isReferenceType()) {

+								GenFeature reverseGenFeature = genFeature.getReverse();

+								String reverse = reverseGenFeature == null ? "null"

+										: genPackage.getPackageInstanceVariable(reverseGenFeature.getGenPackage())

+												+ ".get" + reverseGenFeature.getFeatureAccessorName() + "()";

+								stringBuffer.append(TEXT_237);

+								stringBuffer.append(genFeature.getFeatureAccessorName());

+								stringBuffer.append(TEXT_238);

+								if (genFeature.hasGenericType()) {

+									stringBuffer.append(TEXT_239);

+								} else {

+									stringBuffer.append(

+											genPackage.getPackageInstanceVariable(genFeature.getTypeGenPackage()));

+									stringBuffer.append(TEXT_226);

+									stringBuffer.append(genFeature.getTypeClassifierAccessorName());

+									stringBuffer.append(TEXT_47);

+								}

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(reverse);

+								stringBuffer.append(TEXT_214);

+								stringBuffer.append(genFeature.getName());

+								stringBuffer.append(TEXT_235);

+								stringBuffer.append(genFeature.getDefaultValue());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getLowerBound());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getUpperBound());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getContainerClass());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getTransientFlag());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getVolatileFlag());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getChangeableFlag());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getContainmentFlag());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getResolveProxiesFlag());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getUnsettableFlag());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getUniqueFlag());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getDerivedFlag());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getOrderedFlag());

+								stringBuffer.append(TEXT_175);

+								stringBuffer.append(genModel.getNonNLS());

+								stringBuffer.append(genModel.getNonNLS(genFeature.getDefaultValue(), 2));

+								for (GenFeature keyFeature : genFeature.getKeys()) {

+									stringBuffer.append(TEXT_240);

+									stringBuffer.append(genFeature.getFeatureAccessorName());

+									stringBuffer.append(TEXT_241);

+									stringBuffer

+											.append(genPackage.getPackageInstanceVariable(keyFeature.getGenPackage()));

+									stringBuffer.append(TEXT_226);

+									stringBuffer.append(keyFeature.getFeatureAccessorName());

+									stringBuffer.append(TEXT_227);

+								}

+							} else {

+								stringBuffer.append(TEXT_242);

+								stringBuffer.append(genFeature.getFeatureAccessorName());

+								stringBuffer.append(TEXT_238);

+								if (genFeature.hasGenericType()) {

+									stringBuffer.append(TEXT_239);

+								} else {

+									stringBuffer.append(

+											genPackage.getPackageInstanceVariable(genFeature.getTypeGenPackage()));

+									stringBuffer.append(TEXT_226);

+									stringBuffer.append(genFeature.getTypeClassifierAccessorName());

+									stringBuffer.append(TEXT_47);

+								}

+								stringBuffer.append(TEXT_214);

+								stringBuffer.append(genFeature.getName());

+								stringBuffer.append(TEXT_235);

+								stringBuffer.append(genFeature.getDefaultValue());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getLowerBound());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getUpperBound());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getContainerClass());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getTransientFlag());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getVolatileFlag());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getChangeableFlag());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getUnsettableFlag());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getIDFlag());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getUniqueFlag());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getDerivedFlag());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genFeature.getOrderedFlag());

+								stringBuffer.append(TEXT_175);

+								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_4);

+							if (genModel.useGenerics()) {

+								stringBuffer.append(TEXT_91);

+								stringBuffer.append(prefix);

+								if (genModel.isOperationReflection()) {

+									stringBuffer.append(TEXT_243);

+									stringBuffer.append(genOperation.getOperationAccessorName());

+									stringBuffer.append(TEXT_47);

+								} else {

+									stringBuffer.append(TEXT_244);

+									stringBuffer.append(genClass.getClassifierInstanceName());

+								}

+								stringBuffer.append(TEXT_198);

+								if (genOperation.isVoid() || genOperation.hasGenericType()) {

+									stringBuffer.append(TEXT_233);

+								} else {

+									stringBuffer.append(

+											genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage()));

+									stringBuffer.append(TEXT_226);

+									stringBuffer.append(genOperation.getTypeClassifierAccessorName());

+									stringBuffer.append(TEXT_47);

+								}

+								stringBuffer.append(TEXT_214);

+								stringBuffer.append(genOperation.getName());

+								stringBuffer.append(TEXT_235);

+								stringBuffer.append(genOperation.getLowerBound());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genOperation.getUpperBound());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genOperation.getUniqueFlag());

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genOperation.getOrderedFlag());

+								stringBuffer.append(TEXT_175);

+								stringBuffer.append(genModel.getNonNLS());

+							} else if (!genOperation.isVoid()) {

+								if (!genOperation.getEcoreOperation().isOrdered()

+										|| !genOperation.getEcoreOperation().isUnique()) {

+									needsAddEOperation = true;

+									stringBuffer.append(TEXT_91);

+									stringBuffer.append(prefix);

+									if (genModel.isOperationReflection()) {

+										stringBuffer.append(TEXT_243);

+										stringBuffer.append(genOperation.getOperationAccessorName());

+										stringBuffer.append(TEXT_47);

+									} else {

+										stringBuffer.append(TEXT_244);

+										stringBuffer.append(genClass.getClassifierInstanceName());

+									}

+									stringBuffer.append(TEXT_198);

+									stringBuffer.append(

+											genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage()));

+									stringBuffer.append(TEXT_226);

+									stringBuffer.append(genOperation.getTypeClassifierAccessorName());

+									stringBuffer.append(TEXT_245);

+									stringBuffer.append(genOperation.getName());

+									stringBuffer.append(TEXT_235);

+									stringBuffer.append(genOperation.getLowerBound());

+									stringBuffer.append(TEXT_198);

+									stringBuffer.append(genOperation.getUpperBound());

+									stringBuffer.append(TEXT_198);

+									stringBuffer.append(genOperation.getUniqueFlag());

+									stringBuffer.append(TEXT_198);

+									stringBuffer.append(genOperation.getOrderedFlag());

+									stringBuffer.append(TEXT_175);

+									stringBuffer.append(genModel.getNonNLS());

+								} else {

+									stringBuffer.append(TEXT_91);

+									stringBuffer.append(prefix);

+									if (genModel.isOperationReflection()) {

+										stringBuffer.append(TEXT_243);

+										stringBuffer.append(genOperation.getOperationAccessorName());

+										stringBuffer.append(TEXT_47);

+									} else {

+										stringBuffer.append(TEXT_244);

+										stringBuffer.append(genClass.getClassifierInstanceName());

+									}

+									stringBuffer.append(TEXT_198);

+									stringBuffer.append(

+											genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage()));

+									stringBuffer.append(TEXT_226);

+									stringBuffer.append(genOperation.getTypeClassifierAccessorName());

+									stringBuffer.append(TEXT_245);

+									stringBuffer.append(genOperation.getName());

+									stringBuffer.append(TEXT_235);

+									stringBuffer.append(genOperation.getLowerBound());

+									stringBuffer.append(TEXT_198);

+									stringBuffer.append(genOperation.getUpperBound());

+									stringBuffer.append(TEXT_175);

+									stringBuffer.append(genModel.getNonNLS());

+								}

+							} else {

+								stringBuffer.append(TEXT_91);

+								stringBuffer.append(prefix);

+								if (genModel.isOperationReflection()) {

+									stringBuffer.append(TEXT_243);

+									stringBuffer.append(genOperation.getOperationAccessorName());

+									stringBuffer.append(TEXT_47);

+								} else {

+									stringBuffer.append(TEXT_244);

+									stringBuffer.append(genClass.getClassifierInstanceName());

+								}

+								stringBuffer.append(TEXT_246);

+								stringBuffer.append(genOperation.getName());

+								stringBuffer.append(TEXT_215);

+								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_91);

+									stringBuffer.append(typeParameterVariable);

+									stringBuffer.append(TEXT_247);

+									stringBuffer.append(genTypeParameter.getName());

+									stringBuffer.append(TEXT_215);

+									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_91);

+											stringBuffer.append(typePrefix);

+											stringBuffer.append(TEXT_218);

+											stringBuffer.append(info.depth + 1);

+											stringBuffer.append(TEXT_219);

+											stringBuffer.append(info.type);

+											stringBuffer.append(TEXT_175);

+											if (info.depth > 0) {

+												stringBuffer.append(TEXT_220);

+												stringBuffer.append(info.depth);

+												stringBuffer.append(TEXT_221);

+												stringBuffer.append(info.accessor);

+												stringBuffer.append(TEXT_222);

+												stringBuffer.append(info.depth + 1);

+												stringBuffer.append(TEXT_175);

+											}

+										}

+										stringBuffer.append(TEXT_248);

+										stringBuffer.append(t.nextIndex());

+										stringBuffer.append(TEXT_223);

+									}

+								}

+							}

+							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_91);

+										stringBuffer.append(typePrefix);

+										stringBuffer.append(TEXT_218);

+										stringBuffer.append(info.depth + 1);

+										stringBuffer.append(TEXT_219);

+										stringBuffer.append(info.type);

+										stringBuffer.append(TEXT_175);

+										if (info.depth > 0) {

+											stringBuffer.append(TEXT_220);

+											stringBuffer.append(info.depth);

+											stringBuffer.append(TEXT_221);

+											stringBuffer.append(info.accessor);

+											stringBuffer.append(TEXT_222);

+											stringBuffer.append(info.depth + 1);

+											stringBuffer.append(TEXT_175);

+										}

+									}

+								}

+								if (genModel.useGenerics()) {

+									stringBuffer.append(TEXT_249);

+									if (genParameter.hasGenericType()) {

+										stringBuffer.append(TEXT_239);

+									} else {

+										stringBuffer.append(genPackage

+												.getPackageInstanceVariable(genParameter.getTypeGenPackage()));

+										stringBuffer.append(TEXT_226);

+										stringBuffer.append(genParameter.getTypeClassifierAccessorName());

+										stringBuffer.append(TEXT_47);

+									}

+									stringBuffer.append(TEXT_214);

+									stringBuffer.append(genParameter.getName());

+									stringBuffer.append(TEXT_235);

+									stringBuffer.append(genParameter.getLowerBound());

+									stringBuffer.append(TEXT_198);

+									stringBuffer.append(genParameter.getUpperBound());

+									stringBuffer.append(TEXT_198);

+									stringBuffer.append(genParameter.getUniqueFlag());

+									stringBuffer.append(TEXT_198);

+									stringBuffer.append(genParameter.getOrderedFlag());

+									stringBuffer.append(TEXT_175);

+									stringBuffer.append(genModel.getNonNLS());

+								} else if (!genParameter.getEcoreParameter().isOrdered()

+										|| !genParameter.getEcoreParameter().isUnique()) {

+									needsAddEParameter = true;

+									stringBuffer.append(TEXT_249);

+									if (genParameter.hasGenericType()) {

+										stringBuffer.append(TEXT_239);

+									} else {

+										stringBuffer.append(genPackage

+												.getPackageInstanceVariable(genParameter.getTypeGenPackage()));

+										stringBuffer.append(TEXT_226);

+										stringBuffer.append(genParameter.getTypeClassifierAccessorName());

+										stringBuffer.append(TEXT_47);

+									}

+									stringBuffer.append(TEXT_214);

+									stringBuffer.append(genParameter.getName());

+									stringBuffer.append(TEXT_235);

+									stringBuffer.append(genParameter.getLowerBound());

+									stringBuffer.append(TEXT_198);

+									stringBuffer.append(genParameter.getUpperBound());

+									stringBuffer.append(TEXT_198);

+									stringBuffer.append(genParameter.getUniqueFlag());

+									stringBuffer.append(TEXT_198);

+									stringBuffer.append(genParameter.getOrderedFlag());

+									stringBuffer.append(TEXT_175);

+									stringBuffer.append(genModel.getNonNLS());

+								} else {

+									stringBuffer.append(TEXT_249);

+									if (genParameter.hasGenericType()) {

+										stringBuffer.append(TEXT_239);

+									} else {

+										stringBuffer.append(genPackage

+												.getPackageInstanceVariable(genParameter.getTypeGenPackage()));

+										stringBuffer.append(TEXT_226);

+										stringBuffer.append(genParameter.getTypeClassifierAccessorName());

+										stringBuffer.append(TEXT_47);

+									}

+									stringBuffer.append(TEXT_214);

+									stringBuffer.append(genParameter.getName());

+									stringBuffer.append(TEXT_235);

+									stringBuffer.append(genParameter.getLowerBound());

+									stringBuffer.append(TEXT_198);

+									stringBuffer.append(genParameter.getUpperBound());

+									stringBuffer.append(TEXT_175);

+									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_91);

+										stringBuffer.append(typePrefix);

+										stringBuffer.append(TEXT_218);

+										stringBuffer.append(info.depth + 1);

+										stringBuffer.append(TEXT_219);

+										stringBuffer.append(info.type);

+										stringBuffer.append(TEXT_175);

+										if (info.depth > 0) {

+											stringBuffer.append(TEXT_220);

+											stringBuffer.append(info.depth);

+											stringBuffer.append(TEXT_221);

+											stringBuffer.append(info.accessor);

+											stringBuffer.append(TEXT_222);

+											stringBuffer.append(info.depth + 1);

+											stringBuffer.append(TEXT_175);

+										}

+										stringBuffer.append(TEXT_250);

+										stringBuffer.append(info.depth + 1);

+										stringBuffer.append(TEXT_175);

+									}

+								}

+							} else {

+								for (GenClassifier genException : genOperation.getGenExceptions()) {

+									stringBuffer.append(TEXT_251);

+									stringBuffer.append(

+											genPackage.getPackageInstanceVariable(genException.getGenPackage()));

+									stringBuffer.append(TEXT_226);

+									stringBuffer.append(genException.getClassifierAccessorName());

+									stringBuffer.append(TEXT_227);

+								}

+							}

+							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_91);

+									stringBuffer.append(typePrefix);

+									stringBuffer.append(TEXT_218);

+									stringBuffer.append(info.depth + 1);

+									stringBuffer.append(TEXT_219);

+									stringBuffer.append(info.type);

+									stringBuffer.append(TEXT_175);

+									if (info.depth > 0) {

+										stringBuffer.append(TEXT_220);

+										stringBuffer.append(info.depth);

+										stringBuffer.append(TEXT_221);

+										stringBuffer.append(info.accessor);

+										stringBuffer.append(TEXT_222);

+										stringBuffer.append(info.depth + 1);

+										stringBuffer.append(TEXT_175);

+									}

+								}

+								stringBuffer.append(TEXT_252);

+							}

+						}

+						if (c.hasNext()) {

+							stringBuffer.append(TEXT_4);

+						}

+					}

+				}

+				if (!genPackage.getGenEnums().isEmpty()) {

+					stringBuffer.append(TEXT_253);

+					for (Iterator<GenEnum> e = genPackage.getGenEnums().iterator(); e.hasNext();) {

+						GenEnum genEnum = e.next();

+						stringBuffer.append(TEXT_254);

+						stringBuffer.append(genEnum.getClassifierInstanceName());

+						stringBuffer.append(TEXT_198);

+						stringBuffer.append(genEnum.getImportedName());

+						stringBuffer.append(TEXT_255);

+						stringBuffer.append(genEnum.getName());

+						stringBuffer.append(TEXT_215);

+						stringBuffer.append(genModel.getNonNLS());

+						for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {

+							stringBuffer.append(TEXT_256);

+							stringBuffer.append(genEnum.getClassifierInstanceName());

+							stringBuffer.append(TEXT_198);

+							stringBuffer.append(genEnum.getImportedName().equals(genEnum.getClassifierID())

+									? genEnum.getQualifiedName()

+									: genEnum.getImportedName());

+							stringBuffer.append(TEXT_221);

+							stringBuffer.append(genEnumLiteral.getEnumLiteralInstanceConstantName());

+							stringBuffer.append(TEXT_175);

+						}

+						if (e.hasNext()) {

+							stringBuffer.append(TEXT_4);

+						}

+					}

+				}

+				if (!genPackage.getGenDataTypes().isEmpty()) {

+					stringBuffer.append(TEXT_257);

+					for (GenDataType genDataType : genPackage.getGenDataTypes()) {

+						boolean hasInstanceTypeName = genModel.useGenerics()

+								&& genDataType.getEcoreDataType().getInstanceTypeName() != null

+								&& genDataType.getEcoreDataType().getInstanceTypeName().contains("<");

+						stringBuffer.append(TEXT_258);

+						stringBuffer.append(genDataType.getClassifierInstanceName());

+						stringBuffer.append(TEXT_198);

+						stringBuffer.append(genDataType.getRawImportedInstanceClassName());

+						stringBuffer.append(TEXT_255);

+						stringBuffer.append(genDataType.getName());

+						stringBuffer.append(TEXT_235);

+						stringBuffer.append(genDataType.getSerializableFlag());

+						stringBuffer.append(TEXT_198);

+						stringBuffer.append(genDataType.getGeneratedInstanceClassFlag());

+						if (hasInstanceTypeName) {

+							stringBuffer.append(TEXT_214);

+							stringBuffer.append(genDataType.getEcoreDataType().getInstanceTypeName());

+							stringBuffer.append(TEXT_236);

+						}

+						stringBuffer.append(TEXT_175);

+						stringBuffer.append(genModel.getNonNLS());

+						if (hasInstanceTypeName) {

+							stringBuffer.append(genModel.getNonNLS(2));

+						}

+					}

+				}

+				if (genPackage.getSuperGenPackage() == null) {

+					stringBuffer.append(TEXT_259);

+					stringBuffer.append(genPackage.getSchemaLocation());

+					stringBuffer.append(TEXT_175);

+				}

+				if (!genPackage.isEcorePackage() && !genPackage.getAnnotationSources().isEmpty()) {

+					stringBuffer.append(TEXT_260);

+					for (String annotationSource : genPackage.getAnnotationSources()) {

+						stringBuffer.append(TEXT_261);

+						stringBuffer.append(annotationSource);

+						stringBuffer.append(TEXT_197);

+						stringBuffer.append(genPackage.getAnnotationSourceIdentifier(annotationSource));

+						stringBuffer.append(TEXT_262);

+					}

+				}

+				stringBuffer.append(TEXT_263);

+				for (String annotationSource : genPackage.getAnnotationSources()) {

+					stringBuffer.append(TEXT_264);

+					stringBuffer.append(annotationSource);

+					stringBuffer.append(TEXT_265);

+					stringBuffer.append(genPackage.getAnnotationSourceIdentifier(annotationSource));

+					stringBuffer.append(TEXT_266);

+					if (annotationSource == null) {

+						stringBuffer.append(TEXT_267);

+					} else {

+						stringBuffer.append(TEXT_236);

+						stringBuffer.append(annotationSource);

+						stringBuffer.append(TEXT_28);

+						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_268);

+							stringBuffer.append(genPackage.getAnnotatedModelElementAccessor(eAnnotation));

+							stringBuffer.append(TEXT_269);

+							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_270);

+								stringBuffer.append(key);

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(value);

+								stringBuffer.append(k.hasNext() ? "," : "");

+								stringBuffer.append(genModel.getNonNLS(key + value));

+							}

+							stringBuffer.append(TEXT_271);

+							if (annotationReferenceDataList.isEmpty()) {

+								stringBuffer.append(TEXT_175);

+							} else {

+								stringBuffer.append(TEXT_272);

+							}

+							if (!annotationReferenceDataList.isEmpty()) {

+								stringBuffer.append(TEXT_273);

+								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));

+								stringBuffer.append(TEXT_274);

+								for (Iterator<GenPackage.AnnotationReferenceData> k = annotationReferenceDataList

+										.iterator(); k.hasNext();) {

+									GenPackage.AnnotationReferenceData annotationReferenceData = k.next();

+									stringBuffer.append(TEXT_275);

+									stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));

+									stringBuffer.append(TEXT_276);

+									if (annotationReferenceData.containingGenPackage != genPackage) {

+										stringBuffer.append(annotationReferenceData.containingGenPackage

+												.getImportedPackageInterfaceName());

+										stringBuffer.append(TEXT_221);

+									}

+									stringBuffer.append(TEXT_277);

+									stringBuffer.append(annotationReferenceData.uriFragment);

+									stringBuffer.append(TEXT_278);

+									if (k.hasNext()) {

+										stringBuffer.append(TEXT_272);

+									}

+									stringBuffer.append(genModel.getNonNLS());

+								}

+								stringBuffer.append(TEXT_279);

+							}

+							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_268);

+								stringBuffer.append(genPackage.getAnnotatedModelElementAccessor(eAnnotation));

+								stringBuffer.append(TEXT_280);

+								if (nonContentAnnotation

+										&& genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF210_VALUE) {

+									stringBuffer.append(TEXT_281);

+									stringBuffer.append(path.toString());

+									stringBuffer.append(TEXT_282);

+								} else {

+									stringBuffer.append(depth);

+								}

+								stringBuffer.append(TEXT_280);

+								if (nestedAnnotationSource == null) {

+									stringBuffer.append(TEXT_283);

+								} else {

+									stringBuffer.append(TEXT_236);

+									stringBuffer.append(nestedAnnotationSource);

+									stringBuffer.append(TEXT_284);

+									stringBuffer.append(genModel.getNonNLS());

+								}

+								stringBuffer.append(TEXT_285);

+								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_270);

+									stringBuffer.append(key);

+									stringBuffer.append(TEXT_198);

+									stringBuffer.append(value);

+									stringBuffer.append(l.hasNext() ? "," : "");

+									stringBuffer.append(genModel.getNonNLS(key + value));

+								}

+								stringBuffer.append(TEXT_271);

+								if (nestedAnnotationReferenceDataList.isEmpty()) {

+									stringBuffer.append(TEXT_175);

+								} else {

+									stringBuffer.append(TEXT_272);

+								}

+								if (!nestedAnnotationReferenceDataList.isEmpty()) {

+									stringBuffer.append(TEXT_273);

+									stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));

+									stringBuffer.append(TEXT_274);

+									for (Iterator<GenPackage.AnnotationReferenceData> l = nestedAnnotationReferenceDataList

+											.iterator(); l.hasNext();) {

+										GenPackage.AnnotationReferenceData annotationReferenceData = l.next();

+										stringBuffer.append(TEXT_275);

+										stringBuffer

+												.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));

+										stringBuffer.append(TEXT_276);

+										if (annotationReferenceData.containingGenPackage != genPackage) {

+											stringBuffer.append(annotationReferenceData.containingGenPackage

+													.getImportedPackageInterfaceName());

+											stringBuffer.append(TEXT_221);

+										}

+										stringBuffer.append(TEXT_277);

+										stringBuffer.append(annotationReferenceData.uriFragment);

+										stringBuffer.append(TEXT_278);

+										if (l.hasNext()) {

+											stringBuffer.append(TEXT_272);

+										}

+										stringBuffer.append(genModel.getNonNLS());

+									}

+									stringBuffer.append(TEXT_279);

+								}

+							}

+						}

+					}

+					stringBuffer.append(TEXT_263);

+				}

+			} else {

+				if (genPackage.isLoadingInitialization()) {

+					stringBuffer.append(TEXT_286);

+					stringBuffer.append(genModel.getImportedName("java.net.URL"));

+					stringBuffer.append(TEXT_287);

+					stringBuffer.append(genModel.getNonNLS());

+					stringBuffer.append(TEXT_288);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));

+					stringBuffer.append(TEXT_289);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));

+					stringBuffer.append(TEXT_290);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.resource.Resource"));

+					stringBuffer.append(TEXT_291);

+					stringBuffer.append(

+							genModel.getImportedName("org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl"));

+					stringBuffer.append(TEXT_292);

+					stringBuffer.append(genModel.getImportedName("java.io.IOException"));

+					stringBuffer.append(TEXT_293);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.WrappedException"));

+					stringBuffer.append(TEXT_294);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

+					stringBuffer.append(TEXT_295);

+				}

+				stringBuffer.append(TEXT_296);

+				if (genModel.useClassOverrideAnnotation()) {

+					stringBuffer.append(TEXT_156);

+				}

+				stringBuffer.append(TEXT_297);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClassifier"));

+				stringBuffer.append(TEXT_298);

+				ArrayList<GenClass> dynamicGenClasses = new ArrayList<GenClass>();

+				for (GenClass genClass : genPackage.getGenClasses()) {

+					if (genClass.isDynamic()) {

+						dynamicGenClasses.add(genClass);

+					}

+				}

+				if (dynamicGenClasses.isEmpty()) {

+					stringBuffer.append(TEXT_299);

+					stringBuffer.append(genPackage.getInterfacePackageName());

+					stringBuffer.append(TEXT_300);

+					stringBuffer.append(genModel.getNonNLS());

+					stringBuffer.append(TEXT_301);

+				} else {

+					stringBuffer.append(TEXT_302);

+					for (GenClass genClass : dynamicGenClasses) {

+						if (genClass.isDynamic()) {

+							stringBuffer.append(TEXT_303);

+							stringBuffer.append(genPackage.getClassifierID(genClass));

+							stringBuffer.append(TEXT_304);

+						}

+					}

+					stringBuffer.append(TEXT_305);

+					stringBuffer.append(genPackage.getInterfacePackageName());

+					stringBuffer.append(TEXT_300);

+					stringBuffer.append(genModel.getNonNLS());

+					stringBuffer.append(TEXT_306);

+				}

+				stringBuffer.append(TEXT_307);

+			}

+			if (needsAddEOperation) {

+				stringBuffer.append(TEXT_308);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));

+				stringBuffer.append(TEXT_309);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClass"));

+				stringBuffer.append(TEXT_310);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClassifier"));

+				stringBuffer.append(TEXT_311);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));

+				stringBuffer.append(TEXT_312);

+			}

+			if (needsAddEParameter) {

+				stringBuffer.append(TEXT_308);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EParameter"));

+				stringBuffer.append(TEXT_313);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));

+				stringBuffer.append(TEXT_310);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClassifier"));

+				stringBuffer.append(TEXT_311);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EParameter"));

+				stringBuffer.append(TEXT_314);

+			}

+		}

+		if (isInterface && genPackage.isLiteralsInterface()) {

+			stringBuffer.append(TEXT_315);

+			if (genModel.isOperationReflection()) {

+				stringBuffer.append(TEXT_316);

+			}

+			stringBuffer.append(TEXT_317);

+			if (isImplementation) {

+				stringBuffer.append(TEXT_318);

+			}

+			stringBuffer.append(TEXT_319);

+			for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {

+				stringBuffer.append(TEXT_320);

+				if (genClassifier instanceof GenClass) {

+					GenClass genClass = (GenClass) genClassifier;

+					if (!genClass.isInterface()) {

+						stringBuffer.append(TEXT_321);

+						stringBuffer.append(genClass.getQualifiedClassName());

+						stringBuffer.append(TEXT_40);

+						stringBuffer.append(genClass.getFormattedName());

+						stringBuffer.append(TEXT_322);

+						stringBuffer.append(genClass.getQualifiedClassName());

+					} else {

+						stringBuffer.append(TEXT_321);

+						stringBuffer.append(genClass.getRawQualifiedInterfaceName());

+						stringBuffer.append(TEXT_40);

+						stringBuffer.append(genClass.getFormattedName());

+						stringBuffer.append(TEXT_322);

+						stringBuffer.append(genClass.getRawQualifiedInterfaceName());

+					}

+				} else if (genClassifier instanceof GenEnum) {

+					GenEnum genEnum = (GenEnum) genClassifier;

+					stringBuffer.append(TEXT_321);

+					stringBuffer.append(genEnum.getQualifiedName());

+					stringBuffer.append(TEXT_40);

+					stringBuffer.append(genEnum.getFormattedName());

+					stringBuffer.append(TEXT_323);

+					stringBuffer.append(genEnum.getQualifiedName());

+				} else if (genClassifier instanceof GenDataType) {

+					GenDataType genDataType = (GenDataType) genClassifier;

+					stringBuffer.append(TEXT_324);

+					stringBuffer.append(genDataType.getFormattedName());

+					stringBuffer.append(TEXT_325);

+					if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {

+						stringBuffer.append(TEXT_326);

+						stringBuffer.append(genDataType.getRawInstanceClassName());

+					}

+				}

+				stringBuffer.append(TEXT_326);

+				stringBuffer.append(genPackage.getQualifiedPackageClassName());

+				stringBuffer.append(TEXT_46);

+				stringBuffer.append(genClassifier.getClassifierAccessorName());

+				stringBuffer.append(TEXT_47);

+				if (genClassifier.hasAPITags()) {

+					stringBuffer.append(TEXT_327);

+					stringBuffer.append(genClassifier.getAPITags(genModel.getIndentation(stringBuffer)));

+				}

+				stringBuffer.append(TEXT_328);

+				if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) {

+					stringBuffer.append(TEXT_329);

+				}

+				stringBuffer.append(TEXT_91);

+				stringBuffer.append(publicStaticFinalFlag);

+				stringBuffer.append(genClassifier.getImportedMetaType());

+				stringBuffer.append(TEXT_67);

+				stringBuffer.append(genPackage.getClassifierID(genClassifier));

+				stringBuffer.append(TEXT_330);

+				stringBuffer.append(genClassifier.getClassifierAccessorName());

+				stringBuffer.append(TEXT_166);

+				if (genClassifier instanceof GenClass) {

+					GenClass genClass = (GenClass) genClassifier;

+					for (GenFeature genFeature : genClass.getGenFeatures()) {

+						stringBuffer.append(TEXT_331);

+						stringBuffer.append(genFeature.getFormattedName());

+						stringBuffer.append(TEXT_56);

+						stringBuffer.append(genFeature.getFeatureKind());

+						stringBuffer.append(TEXT_332);

+						if (genFeature.hasImplicitAPITags()) {

+							stringBuffer.append(TEXT_327);

+							stringBuffer.append(genFeature.getImplicitAPITags(genModel.getIndentation(stringBuffer)));

+						}

+						stringBuffer.append(TEXT_328);

+						if (isJDK50 && genFeature.hasImplicitAPIDeprecatedTag()) {

+							stringBuffer.append(TEXT_329);

+						}

+						stringBuffer.append(TEXT_91);

+						stringBuffer.append(publicStaticFinalFlag);

+						stringBuffer.append(genFeature.getImportedMetaType());

+						stringBuffer.append(TEXT_67);

+						stringBuffer.append(genClass.getFeatureID(genFeature));

+						stringBuffer.append(TEXT_330);

+						stringBuffer.append(genFeature.getFeatureAccessorName());

+						stringBuffer.append(TEXT_166);

+					}

+					if (genModel.isOperationReflection()) {

+						for (GenOperation genOperation : genClass.getGenOperations()) {

+							stringBuffer.append(TEXT_331);

+							stringBuffer.append(genOperation.getFormattedName());

+							stringBuffer.append(TEXT_333);

+							if (genOperation.hasImplicitAPITags()) {

+								stringBuffer.append(TEXT_327);

+								stringBuffer

+										.append(genOperation.getImplicitAPITags(genModel.getIndentation(stringBuffer)));

+							}

+							stringBuffer.append(TEXT_328);

+							if (isJDK50 && genOperation.hasImplicitAPIDeprecatedTag()) {

+								stringBuffer.append(TEXT_329);

+							}

+							stringBuffer.append(TEXT_91);

+							stringBuffer.append(publicStaticFinalFlag);

+							stringBuffer.append(genOperation.getImportedMetaType());

+							stringBuffer.append(TEXT_67);

+							stringBuffer.append(genClass.getOperationID(genOperation, false));

+							stringBuffer.append(TEXT_330);

+							stringBuffer.append(genOperation.getOperationAccessorName());

+							stringBuffer.append(TEXT_166);

+						}

+					}

+				}

+			}

+			stringBuffer.append(TEXT_263);

+		}

+		stringBuffer.append(TEXT_334);

+		stringBuffer.append(isInterface ? genPackage.getPackageInterfaceName() : genPackage.getPackageClassName());

+		genModel.emitSortedImports();

+		stringBuffer.append(TEXT_4);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/Plugin.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/Plugin.java
new file mode 100644
index 0000000..b491e23
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/Plugin.java
@@ -0,0 +1,320 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 -->";

+	protected final String TEXT_6 = NL + " * ";

+	protected final String TEXT_7 = NL + " * @generated" + NL + " */";

+	protected final String TEXT_8 = NL + "@Deprecated";

+	protected final String TEXT_9 = NL + "public final class ";

+	protected final String TEXT_10 = " extends EMFPlugin" + NL + "{";

+	protected final String TEXT_11 = 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_12 = " copyright = ";

+	protected final String TEXT_13 = ";";

+	protected final String TEXT_14 = NL;

+	protected final String TEXT_15 = 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_16 = " INSTANCE = new ";

+	protected final String TEXT_17 = "();" + NL;

+	protected final String TEXT_18 = 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_19 = 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_20 = "()" + 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_21 = NL + "\t@Override";

+	protected final String TEXT_22 = NL + "\tpublic ResourceLocator getPluginResourceLocator()" + NL + "\t{";

+	protected final String TEXT_23 = NL + "\t\treturn null;";

+	protected final String TEXT_24 = NL + "\t\treturn plugin;";

+	protected final String TEXT_25 = NL + "\t}" + NL;

+	protected final String TEXT_26 = 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_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 + "" + NL + "\t\t\t// Remember the static instance." + NL + "\t\t\t//"

+			+ NL + "\t\t\tplugin = this;" + NL + "\t\t}";

+	protected final String TEXT_33 = 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_34 = ".OSGiDelegatingBundleActivator" + NL + "\t\t{";

+	protected final String TEXT_35 = NL + "\t\t\t@Override";

+	protected final String TEXT_36 = NL + "\t\t\tprotected ";

+	protected final String TEXT_37 = " createBundle()" + NL + "\t\t\t{" + NL + "\t\t\t\treturn new Implementation();"

+			+ NL + "\t\t\t}" + NL + "\t\t}";

+	protected final String TEXT_38 = NL + "}";

+	protected final String TEXT_39 = 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_39);

+		stringBuffer.append(TEXT_39);

+		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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.html

+		 *

+		 * Contributors:

+		 *   IBM - Initial API and implementation

+		 */

+

+		GenModel genModel = (GenModel) argument;

+		final boolean isJDK50 = 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(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);

+		if (genModel.hasAPITags()) {

+			stringBuffer.append(TEXT_6);

+			stringBuffer.append(genModel.getAPITags(genModel.getIndentation(stringBuffer)));

+		}

+		stringBuffer.append(TEXT_7);

+		if (isJDK50 && genModel.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_8);

+		}

+		stringBuffer.append(TEXT_9);

+		stringBuffer.append(genModel.getModelPluginClassName());

+		stringBuffer.append(TEXT_10);

+		if (genModel.hasCopyrightField()) {

+			stringBuffer.append(TEXT_11);

+			stringBuffer.append(genModel.getImportedName("java.lang.String"));

+			stringBuffer.append(TEXT_12);

+			stringBuffer.append(genModel.getCopyrightFieldLiteral());

+			stringBuffer.append(TEXT_13);

+			stringBuffer.append(genModel.getNonNLS());

+			stringBuffer.append(TEXT_14);

+		}

+		stringBuffer.append(TEXT_15);

+		stringBuffer.append(genModel.getModelPluginClassName());

+		stringBuffer.append(TEXT_16);

+		stringBuffer.append(genModel.getModelPluginClassName());

+		stringBuffer.append(TEXT_17);

+		if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {

+			stringBuffer.append(TEXT_18);

+		}

+		stringBuffer.append(TEXT_19);

+		stringBuffer.append(genModel.getModelPluginClassName());

+		stringBuffer.append(TEXT_20);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_21);

+		}

+		stringBuffer.append(TEXT_22);

+		if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {

+			stringBuffer.append(TEXT_23);

+		} else {

+			stringBuffer.append(TEXT_24);

+		}

+		stringBuffer.append(TEXT_25);

+		if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {

+			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);

+			if (genModel.isOSGiCompatible()) {

+				stringBuffer.append(TEXT_33);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.EMFPlugin"));

+				stringBuffer.append(TEXT_34);

+				if (genModel.useClassOverrideAnnotation()) {

+					stringBuffer.append(TEXT_35);

+				}

+				stringBuffer.append(TEXT_36);

+				stringBuffer.append(genModel.getImportedName("org.osgi.framework.BundleActivator"));

+				stringBuffer.append(TEXT_37);

+			}

+			stringBuffer.append(TEXT_25);

+		}

+		stringBuffer.append(TEXT_38);

+		genModel.emitSortedImports();

+		stringBuffer.append(TEXT_14);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PluginProperties.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PluginProperties.java
new file mode 100644
index 0000000..e5ca0d2
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PluginProperties.java
@@ -0,0 +1,201 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 = NL + "providerName = ";

+	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;

+

+	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_8);

+		stringBuffer.append(TEXT_8);

+		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() + "/" + genModel.getModelBundleLocalization()

+				+ ".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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.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.getModelBundleName());

+		stringBuffer.append(TEXT_3);

+		stringBuffer.append(genModel.getModelBundleVendorName());

+		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_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.ModelProject");

+		canGenerate = canGenerate && (genModel.hasPluginSupport());

+		return canGenerate;

+	}

+}
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PluginXML.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PluginXML.java
new file mode 100644
index 0000000..85b5f11
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PluginXML.java
@@ -0,0 +1,338 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 + "<plugin>";

+	protected final String TEXT_4 = NL + "<plugin" + NL + "      name=\"%pluginName\"" + NL + "      id=\"";

+	protected final String TEXT_5 = "\"" + NL + "      version=\"1.0.0\"";

+	protected final String TEXT_6 = NL + "      provider-name=\"%providerName\"" + NL + "      class=\"";

+	protected final String TEXT_7 = "$Implementation\">";

+	protected final String TEXT_8 = NL + "      provider-name=\"%providerName\">";

+	protected final String TEXT_9 = NL + NL + "   <requires>";

+	protected final String TEXT_10 = NL + "      <import plugin=\"";

+	protected final String TEXT_11 = "\"";

+	protected final String TEXT_12 = " export=\"true\"";

+	protected final String TEXT_13 = "/>";

+	protected final String TEXT_14 = NL + "   </requires>" + NL + "" + NL + "   <runtime>";

+	protected final String TEXT_15 = NL + "      <library name=\"";

+	protected final String TEXT_16 = ".jar\">";

+	protected final String TEXT_17 = NL + "      <library name=\".\">";

+	protected final String TEXT_18 = NL + "         <export name=\"*\"/>" + NL + "      </library>" + NL

+			+ "   </runtime>";

+	protected final String TEXT_19 = NL + NL + "   <extension point=\"org.eclipse.emf.ecore.generated_package\">";

+	protected final String TEXT_20 = NL + "      <!-- @generated ";

+	protected final String TEXT_21 = " -->";

+	protected final String TEXT_22 = NL + "      <package" + NL + "            uri=\"";

+	protected final String TEXT_23 = NL + "            class=\"";

+	protected final String TEXT_24 = "\"" + NL + "            genModel=\"";

+	protected final String TEXT_25 = "\"/>";

+	protected final String TEXT_26 = NL + "   </extension>";

+	protected final String TEXT_27 = NL + NL + "   <extension point=\"org.eclipse.emf.ecore.content_parser\">";

+	protected final String TEXT_28 = NL + "      <parser" + NL + "            contentTypeIdentifier=\"";

+	protected final String TEXT_29 = "\"" + NL + "            class=\"";

+	protected final String TEXT_30 = "\"/>" + NL + "   </extension>" + NL + "" + NL

+			+ "   <extension point=\"org.eclipse.core.contenttype.contentTypes\">";

+	protected final String TEXT_31 = NL + "      <content-type" + NL + "            base-type=\"";

+	protected final String TEXT_32 = "\"" + NL + "            file-extensions=\"";

+	protected final String TEXT_33 = "\"" + NL + "            id=\"";

+	protected final String TEXT_34 = "\"" + NL + "            name=\"%_UI_";

+	protected final String TEXT_35 = "_content_type\"" + NL + "            priority=\"normal\">" + NL

+			+ "         <describer class=\"org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer\">";

+	protected final String TEXT_36 = NL + "            <parameter name=\"namespace\" value=\"";

+	protected final String TEXT_37 = NL + "            <parameter name=\"kind\" value=\"xmi\"/>";

+	protected final String TEXT_38 = NL + "         </describer>" + NL + "      </content-type>" + NL

+			+ "   </extension>";

+	protected final String TEXT_39 = NL + NL + "   <extension point=\"org.eclipse.emf.ecore.extension_parser\">";

+	protected final String TEXT_40 = NL + "      <parser" + NL + "            type=\"";

+	protected final String TEXT_41 = NL + NL + "</plugin>" + NL;

+	protected final String TEXT_42 = 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_42);

+		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.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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.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_2);

+		if (genModel.isBundleManifest()) {

+			stringBuffer.append(TEXT_3);

+		} else {

+			stringBuffer.append(TEXT_4);

+			stringBuffer.append(genModel.getModelPluginID());

+			stringBuffer.append(TEXT_5);

+			if (genModel.hasModelPluginClass()) {

+				stringBuffer.append(TEXT_6);

+				stringBuffer.append(genModel.getQualifiedModelPluginClassName());

+				stringBuffer.append(TEXT_7);

+			} else {

+				stringBuffer.append(TEXT_8);

+			}

+			stringBuffer.append(TEXT_9);

+			for (String pluginID : genModel.getModelRequiredPlugins()) {

+				stringBuffer.append(TEXT_10);

+				stringBuffer.append(pluginID);

+				stringBuffer.append(TEXT_11);

+				if (!pluginID.startsWith("org.eclipse.core.runtime")) {

+					stringBuffer.append(TEXT_12);

+				}

+				stringBuffer.append(TEXT_13);

+			}

+			stringBuffer.append(TEXT_14);

+			if (genModel.isRuntimeJar()) {

+				stringBuffer.append(TEXT_15);

+				stringBuffer.append(genModel.getModelPluginID());

+				stringBuffer.append(TEXT_16);

+			} else {

+				stringBuffer.append(TEXT_17);

+			}

+			stringBuffer.append(TEXT_18);

+		}

+		for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {

+			stringBuffer.append(TEXT_19);

+			if (hasKey) {

+				stringBuffer.append(TEXT_20);

+				stringBuffer.append(key);

+				stringBuffer.append(TEXT_21);

+			}

+			stringBuffer.append(TEXT_22);

+			stringBuffer.append(genPackage.getNSURI());

+			stringBuffer.append(TEXT_11);

+			if (genModel.hasLocalGenModel()) {

+				stringBuffer.append(TEXT_23);

+				stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());

+				stringBuffer.append(TEXT_24);

+				stringBuffer.append(genModel.getRelativeGenModelLocation());

+				stringBuffer.append(TEXT_25);

+			} else {

+				stringBuffer.append(TEXT_23);

+				stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());

+				stringBuffer.append(TEXT_25);

+			}

+			stringBuffer.append(TEXT_26);

+			if (genPackage.isContentType()) {

+				stringBuffer.append(TEXT_27);

+				if (hasKey) {

+					stringBuffer.append(TEXT_20);

+					stringBuffer.append(key);

+					stringBuffer.append(TEXT_21);

+				}

+				stringBuffer.append(TEXT_28);

+				stringBuffer.append(genPackage.getContentTypeIdentifier());

+				stringBuffer.append(TEXT_29);

+				stringBuffer.append(genPackage.getQualifiedEffectiveResourceFactoryClassName());

+				stringBuffer.append(TEXT_30);

+				if (hasKey) {

+					stringBuffer.append(TEXT_20);

+					stringBuffer.append(key);

+					stringBuffer.append(TEXT_21);

+				}

+				stringBuffer.append(TEXT_31);

+				stringBuffer.append(

+						genPackage.isXMIResource() ? "org.eclipse.emf.ecore.xmi" : "org.eclipse.core.runtime.xml");

+				stringBuffer.append(TEXT_32);

+				stringBuffer.append(genPackage.getFileExtensions());

+				stringBuffer.append(TEXT_33);

+				stringBuffer.append(genPackage.getContentTypeIdentifier());

+				stringBuffer.append(TEXT_34);

+				stringBuffer.append(genPackage.getPrefix());

+				stringBuffer.append(TEXT_35);

+				if (genPackage.hasTargetNamespace()) {

+					stringBuffer.append(TEXT_36);

+					stringBuffer.append(genPackage.getNSURI());

+					stringBuffer.append(TEXT_25);

+				}

+				if (genPackage.isXMIResource()) {

+					stringBuffer.append(TEXT_37);

+				}

+				stringBuffer.append(TEXT_38);

+			} else if (genPackage.getResource() != GenResourceKind.NONE_LITERAL) {

+				stringBuffer.append(TEXT_39);

+				if (hasKey) {

+					stringBuffer.append(TEXT_20);

+					stringBuffer.append(key);

+					stringBuffer.append(TEXT_21);

+				}

+				for (String fileExtension : genPackage.getFileExtensionList()) {

+					stringBuffer.append(TEXT_40);

+					stringBuffer.append(fileExtension);

+					stringBuffer.append(TEXT_29);

+					stringBuffer.append(genPackage.getQualifiedResourceFactoryClassName());

+					stringBuffer.append(TEXT_25);

+				}

+				stringBuffer.append(TEXT_26);

+			}

+		}

+		stringBuffer.append(TEXT_41);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ResourceClass.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ResourceClass.java
new file mode 100644
index 0000000..342b6e7
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ResourceClass.java
@@ -0,0 +1,852 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 + " * ";

+	protected final String TEXT_6 = NL + " * @generated" + NL + " */";

+	protected final String TEXT_7 = NL + "@Deprecated";

+	protected final String TEXT_8 = NL + "public class ";

+	protected final String TEXT_9 = " extends ";

+	protected final String TEXT_10 = NL + "{";

+	protected final String TEXT_11 = 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_12 = " copyright = ";

+	protected final String TEXT_13 = ";";

+	protected final String TEXT_14 = NL;

+	protected final String TEXT_15 = 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_16 = "(URI uri)" + NL + "\t{" + NL + "\t\tsuper(uri);";

+	protected final String TEXT_17 = NL + "\t}" + NL;

+	protected final String TEXT_18 = 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_19 = NL + "\t@Override";

+	protected final String TEXT_20 = NL + "\tpublic void doLoad(InputStream inputStream, ";

+	protected final String TEXT_21 = " 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_22 = ")options.get(XMLResource.OPTION_PARSER_FEATURES), " + NL + "\t\t\t\t  (";

+	protected final String TEXT_23 = ")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_24 = NL + "\tpublic void doLoad(InputSource inputSource, ";

+	protected final String TEXT_25 = " 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_26 = ")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_27 = " features, ";

+	protected final String TEXT_28 = " properties, boolean useLexicalHandler) throws IOException" + NL + "\t{" + NL

+			+ "\t\t";

+	protected final String TEXT_29 = " requiredFeatures = new ";

+	protected final String TEXT_30 = "();" + 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_31 = "emptyMap()";

+	protected final String TEXT_32 = "EMPTY_MAP";

+	protected final String TEXT_33 = ";" + 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_34 = NL

+			+ "\t\t\treturn (EObject)((EObject)FrameFactory.INSTANCE.popDocumentRoot(documentRoot)).eContents().get(0);";

+	protected final String TEXT_35 = NL

+			+ "\t\t\treturn FrameFactory.INSTANCE.popDocumentRoot(documentRoot).eContents().get(0);";

+	protected final String TEXT_36 = 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_37 = 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_38 = 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_39 = "StackFrame ";

+	protected final String TEXT_40 = " ";

+	protected final String TEXT_41 = 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_42 = "StackFrame push";

+	protected final String TEXT_43 = "(";

+	protected final String TEXT_44 = " previous, Attributes attributes)" + NL + "\t\t{" + NL + "\t\t\t ";

+	protected final String TEXT_45 = "StackFrame result";

+	protected final String TEXT_46 = " = ";

+	protected final String TEXT_47 = " == null ? new ";

+	protected final String TEXT_48 = "StackFrame() : ";

+	protected final String TEXT_49 = ";" + NL + "\t\t\t ";

+	protected final String TEXT_50 = " = null;" + NL + "\t\t\t result";

+	protected final String TEXT_51 = ".pushOnto(previous);" + NL + "\t\t\t result";

+	protected final String TEXT_52 = ".handleAttributes(attributes);" + NL + "\t\t\t return result";

+	protected final String TEXT_53 = ";" + 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_54 = " pop";

+	protected final String TEXT_55 = ")" + NL + "\t\t{" + NL + "\t\t\t";

+	protected final String TEXT_56 = " result";

+	protected final String TEXT_57 = "Value = ";

+	protected final String TEXT_58 = ".pop";

+	protected final String TEXT_59 = "();" + NL + "\t\t\tthis.";

+	protected final String TEXT_60 = ";" + NL + "\t\t\treturn result";

+	protected final String TEXT_61 = "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_62 = "StackFrame extends ";

+	protected final String TEXT_63 = 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_64 = " the";

+	protected final String TEXT_65 = ";" + NL + "\t\t";

+	protected final String TEXT_66 = 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_67 = ".FrameFactory.";

+	protected final String TEXT_68 = 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_69 = NL + "\t\t\t@Override";

+	protected final String TEXT_70 = NL + "\t\t\tpublic void handleAttributes(Attributes attributes)" + NL + "\t\t\t{";

+	protected final String TEXT_71 = NL + "\t\t\t\tString theValue = attributes.getValue(";

+	protected final String TEXT_72 = ", \"";

+	protected final String TEXT_73 = "\");";

+	protected final String TEXT_74 = NL + "\t\t\t\ttheValue = attributes.getValue(";

+	protected final String TEXT_75 = NL + "\t\t\t\tif (theValue != null)" + NL + "\t\t\t\t{";

+	protected final String TEXT_76 = NL + "\t\t\t\t\tthe";

+	protected final String TEXT_77 = ".set";

+	protected final String TEXT_78 = ".create";

+	protected final String TEXT_79 = "(theValue));";

+	protected final String TEXT_80 = "((";

+	protected final String TEXT_81 = ")";

+	protected final String TEXT_82 = ".createFromString(";

+	protected final String TEXT_83 = ", theValue));";

+	protected final String TEXT_84 = NL + "\t\t\t\t}";

+	protected final String TEXT_85 = NL + "\t\t\t\t// There are attributes to handle.";

+	protected final String TEXT_86 = 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_87 = NL + "\t\t\tpublic ";

+	protected final String TEXT_88 = " startElement(String namespace, String localName, String qName, Attributes attributes) throws SAXException"

+			+ NL + "\t\t\t{";

+	protected final String TEXT_89 = NL + "\t\t\t\t";

+	protected final String TEXT_90 = "else ";

+	protected final String TEXT_91 = "if (\"";

+	protected final String TEXT_92 = "\".equals(localName) && ";

+	protected final String TEXT_93 = ".equals(namespace))" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\treturn ";

+	protected final String TEXT_94 = ".FrameFactory.INSTANCE.push";

+	protected final String TEXT_95 = "(this, attributes);" + NL + "\t\t\t\t}";

+	protected final String TEXT_96 = NL + "\t\t\t\treturn super.startElement(namespace, localName, qName, attributes);";

+	protected final String TEXT_97 = 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_98 = 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_99 = NL + "\t\t\tpublic void endElement(";

+	protected final String TEXT_100 = " child) throws SAXException" + NL + "\t\t\t{";

+	protected final String TEXT_101 = "if (child == ";

+	protected final String TEXT_102 = ")" + NL + "\t\t\t\t{";

+	protected final String TEXT_103 = ".";

+	protected final String TEXT_104 = "().add(";

+	protected final String TEXT_105 = ".FrameFactory.INSTANCE.pop";

+	protected final String TEXT_106 = "));";

+	protected final String TEXT_107 = NL + "\t\t\t\t\t";

+	protected final String TEXT_108 = " = null;" + NL + "\t\t\t\t}";

+	protected final String TEXT_109 = NL + "\t\t\t\tsuper.endElement(child);";

+	protected final String TEXT_110 = 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_111 = NL + "\t\t\tpublic void create()" + NL + "\t\t\t{" + NL + "\t\t\t\tthe";

+	protected final String TEXT_112 = "();" + 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_113 = "()" + NL + "\t\t\t{" + NL + "\t\t\t\tpop();" + NL + "\t\t\t\t";

+	protected final String TEXT_114 = "Value = the";

+	protected final String TEXT_115 = ";" + NL + "\t\t\t\tthe";

+	protected final String TEXT_116 = " = null;" + NL + "\t\t\t\treturn result";

+	protected final String TEXT_117 = "Value;" + NL + "\t\t\t}" + NL + "\t\t" + NL + "\t\t}" + NL;

+	protected final String TEXT_118 = " push";

+	protected final String TEXT_119 = "() : ";

+	protected final String TEXT_120 = ")" + NL + "\t\t{";

+	protected final String TEXT_121 = NL + "\t\t\t";

+	protected final String TEXT_122 = ".popValue());";

+	protected final String TEXT_123 = "Value = ((";

+	protected final String TEXT_124 = ", ";

+	protected final String TEXT_125 = ".popValue())).";

+	protected final String TEXT_126 = "();";

+	protected final String TEXT_127 = "Value = (";

+	protected final String TEXT_128 = NL + "\t\t\tthis.";

+	protected final String TEXT_129 = "Value;" + NL + "\t\t}" + NL;

+	protected final String TEXT_130 = NL + "} //";

+	protected final String TEXT_131 = 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_131);

+		stringBuffer.append(TEXT_131);

+		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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.html

+		 *

+		 * Contributors:

+		 *   IBM - Initial API and implementation

+		 */

+

+		GenPackage genPackage = (GenPackage) argument;

+		GenModel genModel = genPackage.getGenModel();

+		ExtendedMetaData extendedMetaData = genModel.getExtendedMetaData();

+		final boolean isJDK50 = 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.getImportedName("org.eclipse.emf.common.util.URI");

+		genModel.markImportLocation(stringBuffer);

+		stringBuffer.append(TEXT_4);

+		stringBuffer.append(genPackage.getQualifiedResourceFactoryClassName());

+		if (genPackage.hasAPITags()) {

+			stringBuffer.append(TEXT_5);

+			stringBuffer.append(genPackage.getAPITags(genModel.getIndentation(stringBuffer)));

+		}

+		stringBuffer.append(TEXT_6);

+		if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_7);

+		}

+		stringBuffer.append(TEXT_8);

+		stringBuffer.append(genPackage.getResourceClassName());

+		stringBuffer.append(TEXT_9);

+		stringBuffer.append(genPackage.getImportedResourceBaseClassName());

+		stringBuffer.append(TEXT_10);

+		if (genModel.hasCopyrightField()) {

+			stringBuffer.append(TEXT_11);

+			stringBuffer.append(genModel.getImportedName("java.lang.String"));

+			stringBuffer.append(TEXT_12);

+			stringBuffer.append(genModel.getCopyrightFieldLiteral());

+			stringBuffer.append(TEXT_13);

+			stringBuffer.append(genModel.getNonNLS());

+			stringBuffer.append(TEXT_14);

+		}

+		stringBuffer.append(TEXT_15);

+		stringBuffer.append(genPackage.getResourceClassName());

+		stringBuffer.append(TEXT_16);

+		if (genPackage.getResource() == GenResourceKind.XML_LITERAL) { // Do nothing

+		}

+		stringBuffer.append(TEXT_17);

+		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_18);

+				if (genModel.useClassOverrideAnnotation()) {

+					stringBuffer.append(TEXT_19);

+				}

+				stringBuffer.append(TEXT_20);

+				stringBuffer.append(_Map);

+				stringBuffer.append(TEXT_21);

+				stringBuffer.append(_MapStringBoolean);

+				stringBuffer.append(TEXT_22);

+				stringBuffer.append(_MapStringWildcard);

+				stringBuffer.append(TEXT_23);

+				if (genModel.useClassOverrideAnnotation()) {

+					stringBuffer.append(TEXT_19);

+				}

+				stringBuffer.append(TEXT_24);

+				stringBuffer.append(_Map);

+				stringBuffer.append(TEXT_25);

+				stringBuffer.append(_MapStringBoolean);

+				stringBuffer.append(TEXT_22);

+				stringBuffer.append(_MapStringWildcard);

+				stringBuffer.append(TEXT_26);

+				stringBuffer.append(_MapStringBoolean);

+				stringBuffer.append(TEXT_27);

+				stringBuffer.append(_MapStringWildcard);

+				stringBuffer.append(TEXT_28);

+				stringBuffer.append(_MapStringBoolean);

+				stringBuffer.append(TEXT_29);

+				stringBuffer.append(_MapStringBoolean.replaceAll("Map", "HashMap"));

+				stringBuffer.append(TEXT_30);

+				if (genModel.useGenerics()) {

+					stringBuffer.append(TEXT_31);

+				} else {

+					stringBuffer.append(TEXT_32);

+				}

+				stringBuffer.append(TEXT_33);

+				if (genModel.isSuppressEMFTypes()) {

+					stringBuffer.append(TEXT_34);

+				} else {

+					stringBuffer.append(TEXT_35);

+				}

+				stringBuffer.append(TEXT_36);

+			}

+			stringBuffer.append(TEXT_37);

+			for (GenClass genClass : genPackage.getGenClasses()) {

+				stringBuffer.append(TEXT_38);

+				stringBuffer.append(genClass.getName());

+				stringBuffer.append(TEXT_39);

+				stringBuffer.append(genClass.getSafeUncapName());

+				stringBuffer.append(TEXT_3);

+			}

+			for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {

+				stringBuffer.append(TEXT_38);

+				stringBuffer.append(_DataFrame);

+				stringBuffer.append(TEXT_40);

+				stringBuffer.append(genDataType.getSafeUncapName());

+				stringBuffer.append(TEXT_3);

+			}

+			for (GenClass genClass : genPackage.getGenClasses()) {

+				List<EStructuralFeature> attributes = extendedMetaData.getAllAttributes(genClass.getEcoreClass());

+				List<EStructuralFeature> elements = extendedMetaData.getAllElements(genClass.getEcoreClass());

+				stringBuffer.append(TEXT_41);

+				stringBuffer.append(genClass.getName());

+				stringBuffer.append(TEXT_42);

+				stringBuffer.append(genClass.getName());

+				stringBuffer.append(TEXT_43);

+				stringBuffer.append(_StackFrame);

+				stringBuffer.append(TEXT_44);

+				stringBuffer.append(genClass.getName());

+				stringBuffer.append(TEXT_45);

+				stringBuffer.append(genClass.getName());

+				stringBuffer.append(TEXT_46);

+				stringBuffer.append(genClass.getSafeUncapName());

+				stringBuffer.append(TEXT_47);

+				stringBuffer.append(genClass.getName());

+				stringBuffer.append(TEXT_48);

+				stringBuffer.append(genClass.getSafeUncapName());

+				stringBuffer.append(TEXT_49);

+				stringBuffer.append(genClass.getSafeUncapName());

+				stringBuffer.append(TEXT_50);

+				stringBuffer.append(genClass.getName());

+				stringBuffer.append(TEXT_51);

+				stringBuffer.append(genClass.getName());

+				stringBuffer.append(TEXT_52);

+				stringBuffer.append(genClass.getName());

+				stringBuffer.append(TEXT_53);

+				stringBuffer.append(genClass.getImportedInterfaceName());

+				stringBuffer.append(TEXT_54);

+				stringBuffer.append(genClass.getName());

+				stringBuffer.append(TEXT_43);

+				stringBuffer.append(genClass.getName());

+				stringBuffer.append(TEXT_39);

+				stringBuffer.append(genClass.getSafeUncapName());

+				stringBuffer.append(TEXT_55);

+				stringBuffer.append(genClass.getImportedInterfaceName());

+				stringBuffer.append(TEXT_56);

+				stringBuffer.append(genClass.getName());

+				stringBuffer.append(TEXT_57);

+				stringBuffer.append(genClass.getSafeUncapName());

+				stringBuffer.append(TEXT_58);

+				stringBuffer.append(genClass.getName());

+				stringBuffer.append(TEXT_59);

+				stringBuffer.append(genClass.getSafeUncapName());

+				stringBuffer.append(TEXT_46);

+				stringBuffer.append(genClass.getSafeUncapName());

+				stringBuffer.append(TEXT_60);

+				stringBuffer.append(genClass.getName());

+				stringBuffer.append(TEXT_61);

+				stringBuffer.append(genClass.getName());

+				stringBuffer.append(TEXT_62);

+				stringBuffer.append(_StackFrame);

+				stringBuffer.append(TEXT_63);

+				stringBuffer.append(genClass.getImportedInterfaceName());

+				stringBuffer.append(TEXT_64);

+				stringBuffer.append(genClass.getName());

+				stringBuffer.append(TEXT_65);

+				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_66);

+							stringBuffer.append(

+									genFeature.getTypeGenClass().getGenPackage().getImportedResourceClassName());

+							stringBuffer.append(TEXT_67);

+							stringBuffer.append(genFeature.getTypeGenClass().getName());

+							stringBuffer.append(TEXT_39);

+							stringBuffer.append(genFeature.getSafeName());

+							stringBuffer.append(TEXT_3);

+						} else {

+							stringBuffer.append(TEXT_66);

+							stringBuffer.append(_DataFrame);

+							stringBuffer.append(TEXT_40);

+							stringBuffer.append(genFeature.getSafeName());

+							stringBuffer.append(TEXT_65);

+						}

+					}

+				}

+				stringBuffer.append(TEXT_68);

+				if (genModel.useClassOverrideAnnotation()) {

+					stringBuffer.append(TEXT_69);

+				}

+				stringBuffer.append(TEXT_70);

+				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_71);

+								stringBuffer.append(namespace);

+								stringBuffer.append(TEXT_72);

+								stringBuffer.append(name);

+								stringBuffer.append(TEXT_73);

+							} else {

+								stringBuffer.append(TEXT_74);

+								stringBuffer.append(namespace);

+								stringBuffer.append(TEXT_72);

+								stringBuffer.append(name);

+								stringBuffer.append(TEXT_73);

+							}

+							stringBuffer.append(TEXT_75);

+							if (genClassifier.getGenPackage().isDataTypeConverters()) {

+								stringBuffer.append(TEXT_76);

+								stringBuffer.append(genClass.getName());

+								stringBuffer.append(TEXT_77);

+								stringBuffer.append(genFeature.getAccessorName());

+								stringBuffer.append(TEXT_43);

+								stringBuffer

+										.append(genClassifier.getGenPackage().getQualifiedFactoryInstanceAccessor());

+								stringBuffer.append(TEXT_78);

+								stringBuffer.append(genClassifier.getName());

+								stringBuffer.append(TEXT_79);

+							} else {

+								stringBuffer.append(TEXT_76);

+								stringBuffer.append(genClass.getName());

+								stringBuffer.append(TEXT_77);

+								stringBuffer.append(genFeature.getAccessorName());

+								stringBuffer.append(TEXT_80);

+								stringBuffer.append(genFeature.getImportedType(null));

+								stringBuffer.append(TEXT_81);

+								stringBuffer

+										.append(genClassifier.getGenPackage().getQualifiedEFactoryInstanceAccessor());

+								stringBuffer.append(TEXT_82);

+								stringBuffer.append(genClassifier.getQualifiedClassifierAccessor());

+								stringBuffer.append(TEXT_83);

+							}

+							stringBuffer.append(TEXT_84);

+						}

+					}

+				}

+				if (count == 0) {

+					stringBuffer.append(TEXT_85);

+				}

+				stringBuffer.append(TEXT_86);

+				if (genModel.useClassOverrideAnnotation()) {

+					stringBuffer.append(TEXT_69);

+				}

+				stringBuffer.append(TEXT_87);

+				stringBuffer.append(_StackFrame);

+				stringBuffer.append(TEXT_88);

+				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_89);

+						if (count++ != 0) {

+							stringBuffer.append(TEXT_90);

+						}

+						stringBuffer.append(TEXT_91);

+						stringBuffer.append(name);

+						stringBuffer.append(TEXT_92);

+						stringBuffer.append(namespace);

+						stringBuffer.append(TEXT_93);

+						stringBuffer.append(genFeature.getSafeName());

+						stringBuffer.append(TEXT_46);

+						stringBuffer.append(

+								genFeature.getTypeGenClassifier().getGenPackage().getImportedResourceClassName());

+						stringBuffer.append(TEXT_94);

+						stringBuffer.append(genFeature.getTypeGenClassifier().getName());

+						stringBuffer.append(TEXT_95);

+					}

+				}

+				if (count == 0) {

+					stringBuffer.append(TEXT_96);

+				} else {

+					stringBuffer.append(TEXT_97);

+				}

+				stringBuffer.append(TEXT_98);

+				if (genModel.useClassOverrideAnnotation()) {

+					stringBuffer.append(TEXT_69);

+				}

+				stringBuffer.append(TEXT_99);

+				stringBuffer.append(_StackFrame);

+				stringBuffer.append(TEXT_100);

+				count = 0;

+				for (GenFeature genFeature : genClass.getAllGenFeatures()) {

+					String name = extendedMetaData.getName(genFeature.getEcoreFeature());

+					if (elements.contains(genFeature.getEcoreFeature()) && name.indexOf(":") == -1) {

+						stringBuffer.append(TEXT_89);

+						if (count++ != 0) {

+							stringBuffer.append(TEXT_90);

+						}

+						stringBuffer.append(TEXT_101);

+						stringBuffer.append(genFeature.getSafeName());

+						stringBuffer.append(TEXT_102);

+						if (genFeature.isListType()) {

+							stringBuffer.append(TEXT_76);

+							stringBuffer.append(genClass.getName());

+							stringBuffer.append(TEXT_103);

+							stringBuffer.append(genFeature.getGetAccessor());

+							stringBuffer.append(TEXT_104);

+							stringBuffer.append(

+									genFeature.getTypeGenClassifier().getGenPackage().getImportedResourceClassName());

+							stringBuffer.append(TEXT_105);

+							stringBuffer.append(genFeature.getTypeGenClassifier().getName());

+							stringBuffer.append(TEXT_43);

+							stringBuffer.append(genFeature.getSafeName());

+							stringBuffer.append(TEXT_106);

+						} else {

+							stringBuffer.append(TEXT_76);

+							stringBuffer.append(genClass.getName());

+							stringBuffer.append(TEXT_77);

+							stringBuffer.append(genFeature.getAccessorName());

+							stringBuffer.append(TEXT_43);

+							stringBuffer.append(

+									genFeature.getTypeGenClassifier().getGenPackage().getImportedResourceClassName());

+							stringBuffer.append(TEXT_105);

+							stringBuffer.append(genFeature.getTypeGenClassifier().getName());

+							stringBuffer.append(TEXT_43);

+							stringBuffer.append(genFeature.getSafeName());

+							stringBuffer.append(TEXT_106);

+						}

+						stringBuffer.append(TEXT_107);

+						stringBuffer.append(genFeature.getSafeName());

+						stringBuffer.append(TEXT_108);

+					}

+				}

+				if (count == 0) {

+					stringBuffer.append(TEXT_109);

+				} else {

+					stringBuffer.append(TEXT_110);

+				}

+				stringBuffer.append(TEXT_98);

+				if (genModel.useClassOverrideAnnotation()) {

+					stringBuffer.append(TEXT_69);

+				}

+				stringBuffer.append(TEXT_111);

+				stringBuffer.append(genClass.getName());

+				stringBuffer.append(TEXT_46);

+				stringBuffer.append(genPackage.getQualifiedFactoryInstanceAccessor());

+				stringBuffer.append(TEXT_78);

+				stringBuffer.append(genClass.getName());

+				stringBuffer.append(TEXT_112);

+				stringBuffer.append(genClass.getImportedInterfaceName());

+				stringBuffer.append(TEXT_54);

+				stringBuffer.append(genClass.getName());

+				stringBuffer.append(TEXT_113);

+				stringBuffer.append(genClass.getImportedInterfaceName());

+				stringBuffer.append(TEXT_56);

+				stringBuffer.append(genClass.getName());

+				stringBuffer.append(TEXT_114);

+				stringBuffer.append(genClass.getName());

+				stringBuffer.append(TEXT_115);

+				stringBuffer.append(genClass.getName());

+				stringBuffer.append(TEXT_116);

+				stringBuffer.append(genClass.getName());

+				stringBuffer.append(TEXT_117);

+			}

+			for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {

+				stringBuffer.append(TEXT_41);

+				stringBuffer.append(_DataFrame);

+				stringBuffer.append(TEXT_118);

+				stringBuffer.append(genDataType.getName());

+				stringBuffer.append(TEXT_43);

+				stringBuffer.append(_StackFrame);

+				stringBuffer.append(TEXT_44);

+				stringBuffer.append(_DataFrame);

+				stringBuffer.append(TEXT_56);

+				stringBuffer.append(genDataType.getName());

+				stringBuffer.append(TEXT_46);

+				stringBuffer.append(genDataType.getSafeUncapName());

+				stringBuffer.append(TEXT_47);

+				stringBuffer.append(_DataFrame);

+				stringBuffer.append(TEXT_119);

+				stringBuffer.append(genDataType.getSafeUncapName());

+				stringBuffer.append(TEXT_49);

+				stringBuffer.append(genDataType.getSafeUncapName());

+				stringBuffer.append(TEXT_50);

+				stringBuffer.append(genDataType.getName());

+				stringBuffer.append(TEXT_51);

+				stringBuffer.append(genDataType.getName());

+				stringBuffer.append(TEXT_52);

+				stringBuffer.append(genDataType.getName());

+				stringBuffer.append(TEXT_53);

+				stringBuffer.append(genDataType.getImportedParameterizedInstanceClassName());

+				stringBuffer.append(TEXT_54);

+				stringBuffer.append(genDataType.getName());

+				stringBuffer.append(TEXT_43);

+				stringBuffer.append(_DataFrame);

+				stringBuffer.append(TEXT_40);

+				stringBuffer.append(genDataType.getSafeUncapName());

+				stringBuffer.append(TEXT_120);

+				if (genDataType.getGenPackage().isDataTypeConverters()) {

+					stringBuffer.append(TEXT_121);

+					stringBuffer.append(genDataType.getImportedParameterizedInstanceClassName());

+					stringBuffer.append(TEXT_56);

+					stringBuffer.append(genDataType.getName());

+					stringBuffer.append(TEXT_57);

+					stringBuffer.append(genDataType.getGenPackage().getQualifiedFactoryInstanceAccessor());

+					stringBuffer.append(TEXT_78);

+					stringBuffer.append(genDataType.getName());

+					stringBuffer.append(TEXT_43);

+					stringBuffer.append(genDataType.getSafeUncapName());

+					stringBuffer.append(TEXT_122);

+				} else if (genDataType.isPrimitiveType()

+						&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

+					stringBuffer.append(TEXT_121);

+					stringBuffer.append(genDataType.getImportedInstanceClassName());

+					stringBuffer.append(TEXT_56);

+					stringBuffer.append(genDataType.getName());

+					stringBuffer.append(TEXT_123);

+					stringBuffer.append(genDataType.getObjectInstanceClassName());

+					stringBuffer.append(TEXT_81);

+					stringBuffer.append(genDataType.getGenPackage().getQualifiedEFactoryInstanceAccessor());

+					stringBuffer.append(TEXT_82);

+					stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

+					stringBuffer.append(TEXT_124);

+					stringBuffer.append(genDataType.getSafeUncapName());

+					stringBuffer.append(TEXT_125);

+					stringBuffer.append(genDataType.getPrimitiveValueFunction());

+					stringBuffer.append(TEXT_126);

+				} else {

+					stringBuffer.append(TEXT_121);

+					stringBuffer.append(genDataType.getImportedInstanceClassName());

+					stringBuffer.append(TEXT_56);

+					stringBuffer.append(genDataType.getName());

+					stringBuffer.append(TEXT_127);

+					stringBuffer.append(genDataType.getObjectInstanceClassName());

+					stringBuffer.append(TEXT_81);

+					stringBuffer.append(genDataType.getGenPackage().getQualifiedEFactoryInstanceAccessor());

+					stringBuffer.append(TEXT_82);

+					stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

+					stringBuffer.append(TEXT_124);

+					stringBuffer.append(genDataType.getSafeUncapName());

+					stringBuffer.append(TEXT_122);

+				}

+				stringBuffer.append(TEXT_128);

+				stringBuffer.append(genDataType.getSafeUncapName());

+				stringBuffer.append(TEXT_46);

+				stringBuffer.append(genDataType.getSafeUncapName());

+				stringBuffer.append(TEXT_60);

+				stringBuffer.append(genDataType.getName());

+				stringBuffer.append(TEXT_129);

+			}

+			stringBuffer.append(TEXT_17);

+		}

+		stringBuffer.append(TEXT_130);

+		stringBuffer.append(genPackage.getResourceClassName());

+		genModel.emitSortedImports();

+		stringBuffer.append(TEXT_14);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ResourceFactoryClass.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ResourceFactoryClass.java
new file mode 100644
index 0000000..4d23ec9
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ResourceFactoryClass.java
@@ -0,0 +1,303 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 + " * ";

+	protected final String TEXT_6 = NL + " * @generated" + NL + " */";

+	protected final String TEXT_7 = NL + "@Deprecated";

+	protected final String TEXT_8 = NL + "public class ";

+	protected final String TEXT_9 = " extends ";

+	protected final String TEXT_10 = NL + "{";

+	protected final String TEXT_11 = 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_12 = " copyright = ";

+	protected final String TEXT_13 = ";";

+	protected final String TEXT_14 = NL;

+	protected final String TEXT_15 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";

+	protected final String TEXT_16 = " extendedMetaData;" + NL;

+	protected final String TEXT_17 = " xmlMap = new ";

+	protected final String TEXT_18 = "();" + NL;

+	protected final String TEXT_19 = 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_20 = "()" + NL + "\t{" + NL + "\t\tsuper();";

+	protected final String TEXT_21 = NL + "\t\textendedMetaData = new ";

+	protected final String TEXT_22 = "(new ";

+	protected final String TEXT_23 = "(";

+	protected final String TEXT_24 = ".Registry.INSTANCE));" + NL + "\t\textendedMetaData.putPackage(null, ";

+	protected final String TEXT_25 = ".eINSTANCE);";

+	protected final String TEXT_26 = NL + "\t\txmlMap.setNoNamespacePackage(";

+	protected final String TEXT_27 = 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_28 = NL + "\t@Override";

+	protected final String TEXT_29 = NL + "\tpublic Resource createResource(URI uri)" + NL + "\t{";

+	protected final String TEXT_30 = NL + "\t}" + NL + "" + NL + "} //";

+	protected final String TEXT_31 = 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_31);

+		stringBuffer.append(TEXT_31);

+		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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.html

+		 *

+		 * Contributors:

+		 *   IBM - Initial API and implementation

+		 */

+

+		GenPackage genPackage = (GenPackage) argument;

+		GenModel genModel = genPackage.getGenModel();

+		final boolean isJDK50 = 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.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());

+		if (genPackage.hasAPITags()) {

+			stringBuffer.append(TEXT_5);

+			stringBuffer.append(genPackage.getAPITags(genModel.getIndentation(stringBuffer)));

+		}

+		stringBuffer.append(TEXT_6);

+		if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_7);

+		}

+		stringBuffer.append(TEXT_8);

+		stringBuffer.append(genPackage.getResourceFactoryClassName());

+		stringBuffer.append(TEXT_9);

+		stringBuffer.append(genPackage.getImportedResourceFactoryBaseClassName());

+		stringBuffer.append(TEXT_10);

+		if (genModel.hasCopyrightField()) {

+			stringBuffer.append(TEXT_11);

+			stringBuffer.append(genModel.getImportedName("java.lang.String"));

+			stringBuffer.append(TEXT_12);

+			stringBuffer.append(genModel.getCopyrightFieldLiteral());

+			stringBuffer.append(TEXT_13);

+			stringBuffer.append(genModel.getNonNLS());

+			stringBuffer.append(TEXT_14);

+		}

+		if (genPackage.hasExtendedMetaData() && !genPackage.hasTargetNamespace()) {

+			stringBuffer.append(TEXT_15);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.ExtendedMetaData"));

+			stringBuffer.append(TEXT_16);

+		} else if (genPackage.hasXMLMap()) {

+			stringBuffer.append(TEXT_15);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource$XMLMap"));

+			stringBuffer.append(TEXT_17);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.impl.XMLMapImpl"));

+			stringBuffer.append(TEXT_18);

+		}

+		stringBuffer.append(TEXT_19);

+		stringBuffer.append(genPackage.getResourceFactoryClassName());

+		stringBuffer.append(TEXT_20);

+		if (genPackage.hasExtendedMetaData() && !genPackage.hasTargetNamespace()) {

+			stringBuffer.append(TEXT_21);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.BasicExtendedMetaData"));

+			stringBuffer.append(TEXT_22);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.EPackageRegistryImpl"));

+			stringBuffer.append(TEXT_23);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

+			stringBuffer.append(TEXT_24);

+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+			stringBuffer.append(TEXT_25);

+		} else if (genPackage.hasXMLMap() && !genPackage.hasTargetNamespace()) {

+			stringBuffer.append(TEXT_26);

+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+			stringBuffer.append(TEXT_25);

+		}

+		stringBuffer.append(TEXT_27);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_28);

+		}

+		stringBuffer.append(TEXT_29);

+		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.ResourceFactoryClass.ResourceFactoryClass.createResource.override" args="genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>

+

+			InternalPatternContext ictx = (InternalPatternContext) 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("isJDK50", isJDK50);

+			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_14);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/SwitchClass.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/SwitchClass.java
new file mode 100644
index 0000000..b6aeb1b
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/SwitchClass.java
@@ -0,0 +1,510 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 + " * ";

+	protected final String TEXT_6 = NL + " * @generated" + NL + " */";

+	protected final String TEXT_7 = NL + "@Deprecated";

+	protected final String TEXT_8 = NL + "\t@SuppressWarnings(\"deprecation\")";

+	protected final String TEXT_9 = NL + "public class ";

+	protected final String TEXT_10 = " extends Switch";

+	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 + "\tpublic static final ";

+	protected final String TEXT_13 = " copyright = ";

+	protected final String TEXT_14 = ";";

+	protected final String TEXT_15 = NL;

+	protected final String TEXT_16 = 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_17 = " 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_18 = "()" + NL + "\t{" + NL + "\t\tif (modelPackage == null)" + NL + "\t\t{" + NL

+			+ "\t\t\tmodelPackage = ";

+	protected final String TEXT_19 = ".eINSTANCE;" + NL + "\t\t}" + NL + "\t}" + NL;

+	protected final String TEXT_20 = 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_21 = 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_22 = " 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_23 = " 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_24 = NL + "\t\telse" + NL + "\t\t{";

+	protected final String TEXT_25 = NL + "\t\t";

+	protected final String TEXT_26 = "<";

+	protected final String TEXT_27 = ">";

+	protected final String TEXT_28 = " eSuperTypes = theEClass.getESuperTypes();" + NL + "\t\t";

+	protected final String TEXT_29 = "return" + NL + "\t\t";

+	protected final String TEXT_30 = "\teSuperTypes.isEmpty() ?" + NL + "\t\t";

+	protected final String TEXT_31 = "\t\tdefaultCase(theEObject) :" + NL + "\t\t";

+	protected final String TEXT_32 = "\t\tdoSwitch(";

+	protected final String TEXT_33 = "(EClass)";

+	protected final String TEXT_34 = "eSuperTypes.get(0), theEObject);";

+	protected final String TEXT_35 = NL + "\t\t}";

+	protected final String TEXT_36 = NL + "\t}";

+	protected final String TEXT_37 = 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_38 = NL + "\t@Override";

+	protected final String TEXT_39 = NL + "\tprotected ";

+	protected final String TEXT_40 = " doSwitch(int classifierID, EObject theEObject)" + NL + "\t{" + NL

+			+ "\t\tswitch (classifierID)" + NL + "\t\t{";

+	protected final String TEXT_41 = NL + "\t\t\tcase ";

+	protected final String TEXT_42 = ".";

+	protected final String TEXT_43 = ":" + NL + "\t\t\t{" + NL + "\t\t\t\t";

+	protected final String TEXT_44 = "@SuppressWarnings(\"unchecked\") ";

+	protected final String TEXT_45 = " ";

+	protected final String TEXT_46 = " = (";

+	protected final String TEXT_47 = ")theEObject;" + NL + "\t\t\t\t";

+	protected final String TEXT_48 = " = case";

+	protected final String TEXT_49 = "(";

+	protected final String TEXT_50 = ");";

+	protected final String TEXT_51 = NL + "\t\t\t\tif (";

+	protected final String TEXT_52 = " == null) ";

+	protected final String TEXT_53 = " = ";

+	protected final String TEXT_54 = ")";

+	protected final String TEXT_55 = "case";

+	protected final String TEXT_56 = " = defaultCase(theEObject);" + NL + "\t\t\t\treturn ";

+	protected final String TEXT_57 = ";" + NL + "\t\t\t}";

+	protected final String TEXT_58 = NL + "\t\t\tdefault: return defaultCase(theEObject);" + NL + "\t\t}" + NL + "\t}";

+	protected final String TEXT_59 = NL + NL + "\t/**" + NL

+			+ "\t * Returns the result of interpreting the object as an instance of '<em>";

+	protected final String TEXT_60 = "</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_61 = "</em>'." + NL

+			+ "\t * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)";

+	protected final String TEXT_62 = NL + "\t * ";

+	protected final String TEXT_63 = NL + "\t * @generated" + NL + "\t */";

+	protected final String TEXT_64 = NL + "\t@Deprecated";

+	protected final String TEXT_65 = NL + "\tpublic ";

+	protected final String TEXT_66 = " case";

+	protected final String TEXT_67 = " object)" + NL + "\t{" + NL + "\t\treturn null;" + NL + "\t}";

+	protected final String TEXT_68 = 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_69 = " defaultCase(EObject object)" + NL + "\t{" + NL + "\t\treturn null;" + NL + "\t}"

+			+ NL + "" + NL + "} //";

+	protected final String TEXT_70 = 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_70);

+		stringBuffer.append(TEXT_70);

+		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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.html

+		 *

+		 * Contributors:

+		 *   IBM - Initial API and implementation

+		 */

+

+		GenPackage genPackage = (GenPackage) argument;

+		GenModel genModel = genPackage.getGenModel();

+		final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;

+		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());

+		if (genPackage.hasAPITags()) {

+			stringBuffer.append(TEXT_5);

+			stringBuffer.append(genPackage.getAPITags(genModel.getIndentation(stringBuffer)));

+		}

+		stringBuffer.append(TEXT_6);

+		if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_7);

+		} else if (isJDK50 && GenModelUtil.hasAPIDeprecatedTag(genPackage.getGenClasses())) {

+			stringBuffer.append(TEXT_8);

+		}

+		stringBuffer.append(TEXT_9);

+		stringBuffer.append(genPackage.getSwitchClassName());

+		stringBuffer.append(templateParameters);

+		if (supportsComposition) {

+			stringBuffer.append(TEXT_10);

+			stringBuffer.append(templateParameters);

+		}

+		stringBuffer.append(TEXT_11);

+		if (genModel.hasCopyrightField()) {

+			stringBuffer.append(TEXT_12);

+			stringBuffer.append(genModel.getImportedName("java.lang.String"));

+			stringBuffer.append(TEXT_13);

+			stringBuffer.append(genModel.getCopyrightFieldLiteral());

+			stringBuffer.append(TEXT_14);

+			stringBuffer.append(genModel.getNonNLS());

+			stringBuffer.append(TEXT_15);

+		}

+		stringBuffer.append(TEXT_16);

+		stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+		stringBuffer.append(TEXT_17);

+		stringBuffer.append(genPackage.getSwitchClassName());

+		stringBuffer.append(TEXT_18);

+		stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+		stringBuffer.append(TEXT_19);

+		if (supportsComposition) {

+			stringBuffer.append(TEXT_20);

+		} else {

+			boolean isUnnecessaryElse = genModel.isUnnecessaryElse();

+			String indent = isUnnecessaryElse ? "" : "\t";

+			stringBuffer.append(TEXT_21);

+			stringBuffer.append(returnType);

+			stringBuffer.append(TEXT_22);

+			stringBuffer.append(returnType);

+			stringBuffer.append(TEXT_23);

+			if (!isUnnecessaryElse) {

+				stringBuffer.append(TEXT_24);

+			}

+			stringBuffer.append(TEXT_25);

+			stringBuffer.append(indent);

+			stringBuffer.append(genModel.getImportedName("java.util.List"));

+			if (genModel.useGenerics()) {

+				stringBuffer.append(TEXT_26);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClass"));

+				stringBuffer.append(TEXT_27);

+			}

+			stringBuffer.append(TEXT_28);

+			stringBuffer.append(indent);

+			stringBuffer.append(TEXT_29);

+			stringBuffer.append(indent);

+			stringBuffer.append(TEXT_30);

+			stringBuffer.append(indent);

+			stringBuffer.append(TEXT_31);

+			stringBuffer.append(indent);

+			stringBuffer.append(TEXT_32);

+			if (!genModel.useGenerics()) {

+				stringBuffer.append(TEXT_33);

+			}

+			stringBuffer.append(TEXT_34);

+			if (!isUnnecessaryElse) {

+				stringBuffer.append(TEXT_35);

+			}

+			stringBuffer.append(TEXT_36);

+		}

+		stringBuffer.append(TEXT_37);

+		if (supportsComposition) {

+			stringBuffer.append(TEXT_38);

+		}

+		stringBuffer.append(TEXT_39);

+		stringBuffer.append(returnType);

+		stringBuffer.append(TEXT_40);

+		for (GenClass genClass : genPackage.getGenClasses()) {

+			if (!genClass.isEObject()) {

+				String result = "result".equals(genClass.getSafeUncapName()) ? "theResult" : "result";

+				stringBuffer.append(TEXT_41);

+				stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+				stringBuffer.append(TEXT_42);

+				stringBuffer.append(genPackage.getClassifierID(genClass));

+				stringBuffer.append(TEXT_43);

+				if (genClass.isUncheckedCast() || genClass.isMapEntry() && isJDK50) {

+					stringBuffer.append(TEXT_44);

+				}

+				stringBuffer.append(genClass.getImportedInterfaceName());

+				stringBuffer.append(genClass.getInterfaceWildTypeArguments());

+				stringBuffer.append(TEXT_45);

+				stringBuffer.append(genClass.getSafeUncapName());

+				stringBuffer.append(TEXT_46);

+				stringBuffer.append(genClass.getImportedInterfaceName());

+				stringBuffer.append(genClass.getInterfaceWildTypeArguments());

+				stringBuffer.append(TEXT_47);

+				stringBuffer.append(returnType);

+				stringBuffer.append(TEXT_45);

+				stringBuffer.append(result);

+				stringBuffer.append(TEXT_48);

+				stringBuffer.append(genPackage.getClassUniqueName(genClass));

+				stringBuffer.append(TEXT_49);

+				stringBuffer.append(genClass.getSafeUncapName());

+				stringBuffer.append(TEXT_50);

+				for (GenClass baseGenClass : genClass.getSwitchGenClasses()) {

+					stringBuffer.append(TEXT_51);

+					stringBuffer.append(result);

+					stringBuffer.append(TEXT_52);

+					stringBuffer.append(result);

+					stringBuffer.append(TEXT_53);

+					if (genClass.isRawBaseClass(baseGenClass)) {

+						stringBuffer.append(TEXT_49);

+						stringBuffer.append(returnType);

+						stringBuffer.append(TEXT_54);

+					}

+					stringBuffer.append(TEXT_55);

+					stringBuffer.append(genPackage.getClassUniqueName(baseGenClass));

+					stringBuffer.append(TEXT_49);

+					if (genClass.isMapEntry()) {

+						stringBuffer.append(TEXT_49);

+						stringBuffer.append(baseGenClass.getImportedInterfaceName());

+						stringBuffer.append(baseGenClass.getInterfaceTypeArguments());

+						stringBuffer.append(TEXT_54);

+					}

+					stringBuffer.append(genClass.getSafeUncapName());

+					stringBuffer.append(TEXT_50);

+				}

+				stringBuffer.append(TEXT_51);

+				stringBuffer.append(result);

+				stringBuffer.append(TEXT_52);

+				stringBuffer.append(result);

+				stringBuffer.append(TEXT_56);

+				stringBuffer.append(result);

+				stringBuffer.append(TEXT_57);

+			}

+		}

+		stringBuffer.append(TEXT_58);

+		for (GenClass genClass : genPackage.getAllSwitchGenClasses()) {

+			stringBuffer.append(TEXT_59);

+			stringBuffer.append(genClass.getFormattedName());

+			stringBuffer.append(TEXT_60);

+			stringBuffer.append(genClass.getFormattedName());

+			stringBuffer.append(TEXT_61);

+			if (genClass.hasAPITags()) {

+				stringBuffer.append(TEXT_62);

+				stringBuffer.append(genClass.getAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_63);

+			if (isJDK50 && genClass.hasAPIDeprecatedTag()) {

+				stringBuffer.append(TEXT_64);

+			}

+			stringBuffer.append(TEXT_65);

+			stringBuffer.append(genClass.getTypeParameters());

+			stringBuffer.append(returnType);

+			stringBuffer.append(TEXT_66);

+			stringBuffer.append(genPackage.getClassUniqueName(genClass));

+			stringBuffer.append(TEXT_49);

+			stringBuffer.append(genClass.getImportedInterfaceName());

+			stringBuffer.append(genClass.getInterfaceTypeArguments());

+			stringBuffer.append(TEXT_67);

+		}

+		stringBuffer.append(TEXT_68);

+		if (supportsComposition) {

+			stringBuffer.append(TEXT_38);

+		}

+		stringBuffer.append(TEXT_65);

+		stringBuffer.append(returnType);

+		stringBuffer.append(TEXT_69);

+		stringBuffer.append(genPackage.getSwitchClassName());

+		genModel.emitSortedImports();

+		stringBuffer.append(TEXT_15);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ValidatorClass.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ValidatorClass.java
new file mode 100644
index 0000000..076cf43
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ValidatorClass.java
@@ -0,0 +1,1911 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 + " * ";

+	protected final String TEXT_6 = NL + " * @generated" + NL + " */";

+	protected final String TEXT_7 = NL + "@Deprecated";

+	protected final String TEXT_8 = NL + "@SuppressWarnings(\"deprecation\")";

+	protected final String TEXT_9 = NL + "public class ";

+	protected final String TEXT_10 = " extends ";

+	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 + "\tpublic static final ";

+	protected final String TEXT_13 = " copyright = ";

+	protected final String TEXT_14 = ";";

+	protected final String TEXT_15 = NL;

+	protected final String TEXT_16 = 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_17 = " INSTANCE = new ";

+	protected final String TEXT_18 = "();" + 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_19 = "\";";

+	protected final String TEXT_20 = NL + "\t/**" + NL

+			+ "\t * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint '";

+	protected final String TEXT_21 = "' of '";

+	protected final String TEXT_22 = "'." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

+			+ "\t * @generated" + NL + "\t */" + NL + "\tpublic static final int ";

+	protected final String TEXT_23 = " = ";

+	protected final String TEXT_24 = 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_25 = ";" + 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_26 = 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_27 = " ";

+	protected final String TEXT_28 = "Validator;" + NL;

+	protected final String TEXT_29 = 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_30 = " eClass, ";

+	protected final String TEXT_31 = " eObject, DiagnosticChain diagnostics, ";

+	protected final String TEXT_32 = " context, ";

+	protected final String TEXT_33 = " validationDelegate, ";

+	protected final String TEXT_34 = " invariant, ";

+	protected final String TEXT_35 = " expression, int severity, ";

+	protected final String TEXT_36 = " source, int code)" + NL + "\t{" + NL + "\t\treturn ";

+	protected final String TEXT_37 = ".validate(eClass, eObject, diagnostics, context, validationDelegate, invariant, expression, severity, source, code);"

+			+ NL + "\t}" + NL;

+	protected final String TEXT_38 = 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_39 = "()" + NL + "\t{" + NL + "\t\tsuper();";

+	protected final String TEXT_40 = NL + "\t\t";

+	protected final String TEXT_41 = "Validator = ";

+	protected final String TEXT_42 = ".INSTANCE;";

+	protected final String TEXT_43 = 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_44 = NL + "\t@Override";

+	protected final String TEXT_45 = NL + "\tprotected EPackage getEPackage()" + NL + "\t{" + NL + "\t  return ";

+	protected final String TEXT_46 = ".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_47 = NL + "\t@SuppressWarnings(\"unchecked\")";

+	protected final String TEXT_48 = NL

+			+ "\tprotected boolean validate(int classifierID, Object value, DiagnosticChain diagnostics, ";

+	protected final String TEXT_49 = " context)" + NL + "\t{" + NL + "\t\tswitch (classifierID)" + NL + "\t\t{";

+	protected final String TEXT_50 = NL + "\t\t\tcase ";

+	protected final String TEXT_51 = ".";

+	protected final String TEXT_52 = ":";

+	protected final String TEXT_53 = NL + "\t\t\t\treturn validate";

+	protected final String TEXT_54 = "(((";

+	protected final String TEXT_55 = ")value).";

+	protected final String TEXT_56 = "(), diagnostics, context);";

+	protected final String TEXT_57 = "((";

+	protected final String TEXT_58 = ")value, diagnostics, context);";

+	protected final String TEXT_59 = "(value, diagnostics, context);";

+	protected final String TEXT_60 = NL + "\t\t\tdefault:" + NL + "\t\t\t\treturn true;" + NL + "\t\t}" + NL + "\t}"

+			+ NL;

+	protected final String TEXT_61 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->";

+	protected final String TEXT_62 = NL + "\t * ";

+	protected final String TEXT_63 = NL + "\t * @generated" + NL + "\t */";

+	protected final String TEXT_64 = NL + "\t@Deprecated";

+	protected final String TEXT_65 = NL + "\tpublic boolean validate";

+	protected final String TEXT_66 = "(";

+	protected final String TEXT_67 = ", DiagnosticChain ";

+	protected final String TEXT_68 = ", ";

+	protected final String TEXT_69 = ")" + NL + "\t{";

+	protected final String TEXT_70 = NL + "\t\treturn true;";

+	protected final String TEXT_71 = NL + "\t\treturn validate_EveryDefaultConstraint(";

+	protected final String TEXT_72 = ")";

+	protected final String TEXT_73 = ");";

+	protected final String TEXT_74 = NL + "\t\tif (!validate_NoCircularContainment(";

+	protected final String TEXT_75 = ")) return false;";

+	protected final String TEXT_76 = NL + "\t\tboolean ";

+	protected final String TEXT_77 = "validate";

+	protected final String TEXT_78 = "_";

+	protected final String TEXT_79 = NL + "\t\tif (";

+	protected final String TEXT_80 = " || ";

+	protected final String TEXT_81 = " != null) ";

+	protected final String TEXT_82 = " &= ";

+	protected final String TEXT_83 = NL + "\t\treturn ";

+	protected final String TEXT_84 = NL + "\t}" + NL;

+	protected final String TEXT_85 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @see #validate";

+	protected final String TEXT_86 = NL + "\t */" + NL + "\tpublic static final ";

+	protected final String TEXT_87 = "__VALUE = ";

+	protected final String TEXT_88 = "__UPPER_BOUND = ";

+	protected final String TEXT_89 = ";" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @see #validate";

+	protected final String TEXT_90 = "__LOWER_BOUND = ";

+	protected final String TEXT_91 = NL + "\t */" + NL + "\tpublic static final  PatternMatcher [][] ";

+	protected final String TEXT_92 = "__VALUES =" + NL + "\t\tnew PatternMatcher [][]" + NL + "\t\t{";

+	protected final String TEXT_93 = NL + "\t\t\tnew PatternMatcher []" + NL + "\t\t\t{";

+	protected final String TEXT_94 = NL + "\t\t\t\t";

+	protected final String TEXT_95 = ".createPatternMatcher(";

+	protected final String TEXT_96 = NL + "\t\t\t}";

+	protected final String TEXT_97 = NL + "\t\t};" + NL;

+	protected final String TEXT_98 = NL + "\t */";

+	protected final String TEXT_99 = NL + "\tpublic static final ";

+	protected final String TEXT_100 = "__VALUES =" + NL + "\t\twrapEnumerationValues" + NL + "\t\t\t(new Object[]" + NL

+			+ "\t\t\t {";

+	protected final String TEXT_101 = NL + "\t\t\t\t ";

+	protected final String TEXT_102 = "new ";

+	protected final String TEXT_103 = NL + "\t\t\t });" + NL;

+	protected final String TEXT_104 = NL + "\t/**" + NL + "\t * The cached validation expression for the ";

+	protected final String TEXT_105 = " constraint of '<em>";

+	protected final String TEXT_106 = "</em>'." + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected static final ";

+	protected final String TEXT_107 = "__";

+	protected final String TEXT_108 = "__EEXPRESSION = \"";

+	protected final String TEXT_109 = NL + "\t/**" + NL + "\t * Validates the ";

+	protected final String TEXT_110 = "</em>'." + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic boolean validate";

+	protected final String TEXT_111 = " = true;" + NL + "\t\tfor (";

+	protected final String TEXT_112 = " i = ";

+	protected final String TEXT_113 = ".iterator(); i.hasNext() && (result || diagnostics != null); )" + NL + "\t\t{"

+			+ NL + "\t\t\tObject item = i.next();";

+	protected final String TEXT_114 = NL + "\t\t\tif (";

+	protected final String TEXT_115 = ".isInstance(item))" + NL + "\t\t\t{" + NL + "\t\t\t\tresult &= ";

+	protected final String TEXT_116 = ").";

+	protected final String TEXT_117 = "()";

+	protected final String TEXT_118 = ");" + NL + "\t\t\t}" + NL + "\t\t\telse";

+	protected final String TEXT_119 = NL + "\t\t\tif (!";

+	protected final String TEXT_120 = ".isInstance(item))";

+	protected final String TEXT_121 = NL + "\t\t\t{" + NL + "\t\t\t\tresult = false;" + NL

+			+ "\t\t\t\treportDataValueTypeViolation(";

+	protected final String TEXT_122 = ", item, ";

+	protected final String TEXT_123 = ");" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\treturn result;";

+	protected final String TEXT_124 = NL + "\t\tif (diagnostics != null)" + NL + "\t\t{" + NL + "\t\t\t";

+	protected final String TEXT_125 = " tempDiagnostics = new BasicDiagnostic();";

+	protected final String TEXT_126 = ", tempDiagnostics, ";

+	protected final String TEXT_127 = ")) return true;";

+	protected final String TEXT_128 = ".isInstance(";

+	protected final String TEXT_129 = "))" + NL + "\t\t\t{" + NL + "\t\t\t\t";

+	protected final String TEXT_130 = "if (";

+	protected final String TEXT_131 = ")) ";

+	protected final String TEXT_132 = "return true;" + NL + "\t\t\t}";

+	protected final String TEXT_133 = NL + "\t\t\tfor (";

+	protected final String TEXT_134 = " diagnostic : tempDiagnostics.getChildren())" + NL + "\t\t\t{" + NL

+			+ "\t\t\t\tdiagnostics.add(diagnostic);" + NL + "\t\t\t}";

+	protected final String TEXT_135 = NL + "\t\t\t";

+	protected final String TEXT_136 = " 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_137 = ")children.get(i));" + NL + "\t\t\t}";

+	protected final String TEXT_138 = NL + "\t\t}" + NL + "\t\telse" + NL + "\t\t{";

+	protected final String TEXT_139 = ", null, ";

+	protected final String TEXT_140 = NL + "\t\t}" + NL + "\t\treturn false;";

+	protected final String TEXT_141 = NL + "\t\treturn validatePattern(";

+	protected final String TEXT_142 = "__VALUES, ";

+	protected final String TEXT_143 = " = new ";

+	protected final String TEXT_144 = "__VALUES.contains(";

+	protected final String TEXT_145 = ");" + NL + "\t\tif (!";

+	protected final String TEXT_146 = " && ";

+	protected final String TEXT_147 = " != null)" + NL + "\t\t\treportEnumerationViolation(";

+	protected final String TEXT_148 = ");" + NL + "\t\treturn ";

+	protected final String TEXT_149 = "__VALUE;" + NL + "\t\tif (!";

+	protected final String TEXT_150 = " != null)";

+	protected final String TEXT_151 = NL + "\t\t\treportMinViolation(";

+	protected final String TEXT_152 = ", new ";

+	protected final String TEXT_153 = "), new ";

+	protected final String TEXT_154 = "__VALUE), ";

+	protected final String TEXT_155 = "__VALUE, ";

+	protected final String TEXT_156 = NL + "\t\tint ";

+	protected final String TEXT_157 = ".compareCalendar(";

+	protected final String TEXT_158 = "__VALUE);" + NL + "\t\tboolean ";

+	protected final String TEXT_159 = " == 0 || ";

+	protected final String TEXT_160 = " == 1;";

+	protected final String TEXT_161 = ".compareDuration(";

+	protected final String TEXT_162 = ".compareTo(";

+	protected final String TEXT_163 = "__VALUE) ";

+	protected final String TEXT_164 = " 0;";

+	protected final String TEXT_165 = NL + "\t\tif (!";

+	protected final String TEXT_166 = " != null)" + NL + "\t\t\treportMinViolation(";

+	protected final String TEXT_167 = NL + "\t\t\treportMaxViolation(";

+	protected final String TEXT_168 = " == -1;";

+	protected final String TEXT_169 = " != null)" + NL + "\t\t\treportMaxViolation(";

+	protected final String TEXT_170 = NL + "\t\tint length = ";

+	protected final String TEXT_171 = ";" + NL + "\t\tboolean ";

+	protected final String TEXT_172 = " = length >= ";

+	protected final String TEXT_173 = ";" + NL + "\t\tif (!";

+	protected final String TEXT_174 = " != null)" + NL + "\t\t\treportMinLengthViolation(";

+	protected final String TEXT_175 = ", length, ";

+	protected final String TEXT_176 = " = length <= ";

+	protected final String TEXT_177 = " != null)" + NL + "\t\t\treportMaxLengthViolation(";

+	protected final String TEXT_178 = " > ";

+	protected final String TEXT_179 = "__LOWER_BOUND && ";

+	protected final String TEXT_180 = " < ";

+	protected final String TEXT_181 = "__UPPER_BOUND;" + NL + "\t\tif (!";

+	protected final String TEXT_182 = NL + "\t\t\treportTotalDigitsViolation(";

+	protected final String TEXT_183 = "), ";

+	protected final String TEXT_184 = NL + "\t\tint scale = ";

+	protected final String TEXT_185 = ".scale();" + NL + "\t\tint totalDigits = scale < 0 ? ";

+	protected final String TEXT_186 = ".precision() - scale : ";

+	protected final String TEXT_187 = ".precision();" + NL + "\t\tboolean ";

+	protected final String TEXT_188 = " = totalDigits <= ";

+	protected final String TEXT_189 = " != null)" + NL + "\t\t\treportTotalDigitsViolation(";

+	protected final String TEXT_190 = "__LOWER_BOUND) > 0 && ";

+	protected final String TEXT_191 = "__UPPER_BOUND) < 0;" + NL + "\t\tif (!";

+	protected final String TEXT_192 = ".scale() <= ";

+	protected final String TEXT_193 = " != null)" + NL + "\t\t\treportFractionDigitsViolation(";

+	protected final String TEXT_194 = 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_195 = " != null)" + NL + "\t\t\t{" + NL + "\t\t\t\t";

+	protected final String TEXT_196 = ".add";

+	protected final String TEXT_197 = NL + "\t\t\t\t\t(createDiagnostic" + NL + "\t\t\t\t\t\t(";

+	protected final String TEXT_198 = ".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_199 = NL + "\t\t\t\t\t\t new Object[] { \"";

+	protected final String TEXT_200 = "\", getValueLabel(";

+	protected final String TEXT_201 = ") },";

+	protected final String TEXT_202 = NL + "\t\t\t\t\t\t new Object[] { ";

+	protected final String TEXT_203 = " }," + NL + "\t\t\t\t\t\t context));";

+	protected final String TEXT_204 = NL + "\t\t\t\t\t(new ";

+	protected final String TEXT_205 = NL + "\t\t\t\t\t\t(";

+	protected final String TEXT_206 = ".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_207 = ".INSTANCE.getString(\"_UI_GenericConstraint_diagnostic\", new Object[] { \"";

+	protected final String TEXT_208 = ") }),";

+	protected final String TEXT_209 = " }));";

+	protected final String TEXT_210 = NL + "\t\t\t}" + NL + "\t\t\treturn false;" + NL + "\t\t}" + NL + "\t\treturn ";

+	protected final String TEXT_211 = NL + "\t\treturn" + NL + "\t\t\tvalidate" + NL + "\t\t\t\t(";

+	protected final String TEXT_212 = "," + NL + "\t\t\t\t ";

+	protected final String TEXT_213 = "," + NL + "\t\t\t\t \"";

+	protected final String TEXT_214 = "\",";

+	protected final String TEXT_215 = NL + "\t\t\t\t \"";

+	protected final String TEXT_216 = "__EEXPRESSION," + NL + "\t\t\t\t ";

+	protected final String TEXT_217 = ".ERROR," + NL + "\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t 0);";

+	protected final String TEXT_218 = 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_219 = NL + "\t\t\t}" + NL + "\t\t\treturn false;" + NL + "\t\t}" + NL

+			+ "\t\treturn true;";

+	protected final String TEXT_220 = "\", getObjectLabel(";

+	protected final String TEXT_221 = 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_222 = NL + "\tpublic ";

+	protected final String TEXT_223 = " getResourceLocator()" + NL + "\t{";

+	protected final String TEXT_224 = 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_225 = NL + "} //";

+	protected final String TEXT_226 = 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_226);

+		stringBuffer.append(TEXT_226);

+		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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.html

+		 *

+		 * Contributors:

+		 *   IBM - Initial API and implementation

+		 */

+

+		GenPackage genPackage = (GenPackage) argument;

+		GenModel genModel = genPackage.getGenModel();

+		final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;

+		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());

+		if (genPackage.hasAPITags()) {

+			stringBuffer.append(TEXT_5);

+			stringBuffer.append(genPackage.getAPITags(genModel.getIndentation(stringBuffer)));

+		}

+		stringBuffer.append(TEXT_6);

+		if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_7);

+		} else if (isJDK50 && GenModelUtil.hasAPIDeprecatedTag(genPackage.getGenClassifiers())) {

+			stringBuffer.append(TEXT_8);

+		}

+		stringBuffer.append(TEXT_9);

+		stringBuffer.append(genPackage.getValidatorClassName());

+		stringBuffer.append(TEXT_10);

+		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.EObjectValidator"));

+		stringBuffer.append(TEXT_11);

+		if (genModel.hasCopyrightField()) {

+			stringBuffer.append(TEXT_12);

+			stringBuffer.append(genModel.getImportedName("java.lang.String"));

+			stringBuffer.append(TEXT_13);

+			stringBuffer.append(genModel.getCopyrightFieldLiteral());

+			stringBuffer.append(TEXT_14);

+			stringBuffer.append(genModel.getNonNLS());

+			stringBuffer.append(TEXT_15);

+		}

+		stringBuffer.append(TEXT_16);

+		stringBuffer.append(genPackage.getValidatorClassName());

+		stringBuffer.append(TEXT_17);

+		stringBuffer.append(genPackage.getValidatorClassName());

+		stringBuffer.append(TEXT_18);

+		stringBuffer.append(genPackage.getInterfacePackageName());

+		stringBuffer.append(TEXT_19);

+		stringBuffer.append(genModel.getNonNLS());

+		stringBuffer.append(TEXT_15);

+		int count = 0;

+		for (GenClass genClass : genPackage.getGenClasses()) {

+			for (GenOperation genOperation : genClass.getInvariantOperations()) {

+				stringBuffer.append(TEXT_20);

+				stringBuffer.append(genOperation.getFormattedName());

+				stringBuffer.append(TEXT_21);

+				stringBuffer.append(genClass.getFormattedName());

+				stringBuffer.append(TEXT_22);

+				stringBuffer.append(genClass.getOperationID(genOperation));

+				stringBuffer.append(TEXT_23);

+				stringBuffer.append(++count);

+				stringBuffer.append(TEXT_3);

+			}

+		}

+		stringBuffer.append(TEXT_24);

+		stringBuffer.append(count);

+		stringBuffer.append(TEXT_25);

+		for (GenPackage baseGenPackage : genPackage.getAllValidatorBaseGenPackages()) {

+			stringBuffer.append(TEXT_26);

+			stringBuffer.append(baseGenPackage.getImportedValidatorClassName());

+			stringBuffer.append(TEXT_27);

+			stringBuffer.append(genPackage.getValidatorPackageUniqueSafeName(baseGenPackage));

+			stringBuffer.append(TEXT_28);

+		}

+		if (genPackage.hasInvariantExpressions()) {

+			stringBuffer.append(TEXT_29);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClass"));

+			stringBuffer.append(TEXT_30);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EObject"));

+			stringBuffer.append(TEXT_31);

+			stringBuffer.append(_Map);

+			stringBuffer.append(TEXT_32);

+			stringBuffer.append(genModel.getImportedName("java.lang.String"));

+			stringBuffer.append(TEXT_33);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));

+			stringBuffer.append(TEXT_34);

+			stringBuffer.append(genModel.getImportedName("java.lang.String"));

+			stringBuffer.append(TEXT_35);

+			stringBuffer.append(genModel.getImportedName("java.lang.String"));

+			stringBuffer.append(TEXT_36);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.EObjectValidator"));

+			stringBuffer.append(TEXT_37);

+		}

+		stringBuffer.append(TEXT_38);

+		stringBuffer.append(genPackage.getValidatorClassName());

+		stringBuffer.append(TEXT_39);

+		for (GenPackage baseGenPackage : genPackage.getAllValidatorBaseGenPackages()) {

+			stringBuffer.append(TEXT_40);

+			stringBuffer.append(genPackage.getValidatorPackageUniqueSafeName(baseGenPackage));

+			stringBuffer.append(TEXT_41);

+			stringBuffer.append(baseGenPackage.getImportedValidatorClassName());

+			stringBuffer.append(TEXT_42);

+		}

+		stringBuffer.append(TEXT_43);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_44);

+		}

+		stringBuffer.append(TEXT_45);

+		stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+		stringBuffer.append(TEXT_46);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_44);

+		}

+		for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {

+			if (genClassifier.isUncheckedCast()) {

+				stringBuffer.append(TEXT_47);

+				break;

+			}

+		}

+		stringBuffer.append(TEXT_48);

+		stringBuffer.append(_Map);

+		stringBuffer.append(TEXT_49);

+		for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {

+			stringBuffer.append(TEXT_50);

+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+			stringBuffer.append(TEXT_51);

+			stringBuffer.append(genPackage.getClassifierID(genClassifier));

+			stringBuffer.append(TEXT_52);

+			if (genClassifier instanceof GenDataType) {

+				GenDataType genDataType = (GenDataType) genClassifier;

+				if (genDataType.isPrimitiveType()) {

+					if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

+						stringBuffer.append(TEXT_53);

+						stringBuffer.append(genDataType.getName());

+						stringBuffer.append(TEXT_54);

+						stringBuffer.append(genDataType.getObjectInstanceClassName());

+						stringBuffer.append(TEXT_55);

+						stringBuffer.append(genDataType.getPrimitiveValueFunction());

+						stringBuffer.append(TEXT_56);

+					} else {

+						stringBuffer.append(TEXT_53);

+						stringBuffer.append(genDataType.getName());

+						stringBuffer.append(TEXT_57);

+						stringBuffer.append(genDataType.getObjectInstanceClassName());

+						stringBuffer.append(TEXT_58);

+					}

+				} else if (genDataType.isObjectType()) {

+					stringBuffer.append(TEXT_53);

+					stringBuffer.append(genDataType.getName());

+					stringBuffer.append(TEXT_59);

+				} else {

+					stringBuffer.append(TEXT_53);

+					stringBuffer.append(genDataType.getName());

+					stringBuffer.append(TEXT_57);

+					stringBuffer.append(genDataType.getObjectType().getImportedWildcardInstanceClassName());

+					stringBuffer.append(TEXT_58);

+				}

+			} else {

+				GenClass genClass = (GenClass) genClassifier;

+				stringBuffer.append(TEXT_53);

+				stringBuffer.append(genClass.getName());

+				stringBuffer.append(TEXT_57);

+				stringBuffer.append(genClass.getImportedWildcardInstanceClassName());

+				stringBuffer.append(TEXT_58);

+			}

+		}

+		stringBuffer.append(TEXT_60);

+		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_61);

+			if (genClassifier.hasAPITags()) {

+				stringBuffer.append(TEXT_62);

+				stringBuffer.append(genClassifier.getAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_63);

+			if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) {

+				stringBuffer.append(TEXT_64);

+			}

+			stringBuffer.append(TEXT_65);

+			stringBuffer.append(genClassifier.getName());

+			stringBuffer.append(TEXT_66);

+			stringBuffer.append(genClassifier.getImportedWildcardInstanceClassName());

+			stringBuffer.append(TEXT_27);

+			stringBuffer.append(genClassifier.getSafeUncapName());

+			stringBuffer.append(TEXT_67);

+			stringBuffer.append(diagnostics);

+			stringBuffer.append(TEXT_68);

+			stringBuffer.append(_Map);

+			stringBuffer.append(TEXT_27);

+			stringBuffer.append(context);

+			stringBuffer.append(TEXT_69);

+			if (genClassifier.getAllGenConstraints().isEmpty()) {

+				stringBuffer.append(TEXT_70);

+			} else if (genClassifier.hasOnlyDefaultConstraints()) {

+				stringBuffer.append(TEXT_71);

+				if (!((GenClass) genClassifier).isEObjectExtension()) {

+					stringBuffer.append(TEXT_66);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EObject"));

+					stringBuffer.append(TEXT_72);

+				}

+				stringBuffer.append(genClassifier.getSafeUncapName());

+				stringBuffer.append(TEXT_68);

+				stringBuffer.append(diagnostics);

+				stringBuffer.append(TEXT_68);

+				stringBuffer.append(context);

+				stringBuffer.append(TEXT_73);

+			} 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_74);

+						if (!((GenClass) genClassifier).isEObjectExtension()) {

+							stringBuffer.append(TEXT_66);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EObject"));

+							stringBuffer.append(TEXT_72);

+						}

+						stringBuffer.append(genClassifier.getSafeUncapName());

+						stringBuffer.append(TEXT_68);

+						stringBuffer.append(diagnostics);

+						stringBuffer.append(TEXT_68);

+						stringBuffer.append(context);

+						stringBuffer.append(TEXT_75);

+					} else if (first) {

+						first = false;

+						stringBuffer.append(TEXT_76);

+						stringBuffer.append(result);

+						stringBuffer.append(TEXT_23);

+						stringBuffer.append(delegate);

+						stringBuffer.append(TEXT_77);

+						stringBuffer.append(constraintImplementor == null ? "" : constraintImplementor.getName());

+						stringBuffer.append(TEXT_78);

+						stringBuffer.append(constraint);

+						stringBuffer.append(TEXT_66);

+						stringBuffer.append(cast);

+						stringBuffer.append(genClassifier.getSafeUncapName());

+						stringBuffer.append(accessor);

+						stringBuffer.append(TEXT_68);

+						stringBuffer.append(diagnostics);

+						stringBuffer.append(TEXT_68);

+						stringBuffer.append(context);

+						stringBuffer.append(TEXT_73);

+					} else {

+						stringBuffer.append(TEXT_79);

+						stringBuffer.append(result);

+						stringBuffer.append(TEXT_80);

+						stringBuffer.append(diagnostics);

+						stringBuffer.append(TEXT_81);

+						stringBuffer.append(result);

+						stringBuffer.append(TEXT_82);

+						stringBuffer.append(delegate);

+						stringBuffer.append(TEXT_77);

+						stringBuffer.append(constraintImplementor == null ? "" : constraintImplementor.getName());

+						stringBuffer.append(TEXT_78);

+						stringBuffer.append(constraint);

+						stringBuffer.append(TEXT_66);

+						stringBuffer.append(cast);

+						stringBuffer.append(genClassifier.getSafeUncapName());

+						stringBuffer.append(accessor);

+						stringBuffer.append(TEXT_68);

+						stringBuffer.append(diagnostics);

+						stringBuffer.append(TEXT_68);

+						stringBuffer.append(context);

+						stringBuffer.append(TEXT_73);

+					}

+				}

+				stringBuffer.append(TEXT_83);

+				stringBuffer.append(result);

+				stringBuffer.append(TEXT_14);

+			}

+			stringBuffer.append(TEXT_84);

+			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_85);

+						stringBuffer.append(genDataType.getName());

+						stringBuffer.append(TEXT_78);

+						stringBuffer.append(constraint);

+						stringBuffer.append(TEXT_86);

+						stringBuffer.append(genDataType.getImportedInstanceClassName());

+						stringBuffer.append(TEXT_27);

+						stringBuffer.append(constant);

+						stringBuffer.append(TEXT_87);

+						stringBuffer.append(genDataType.getStaticValue(genDataType.getMinLiteral()));

+						stringBuffer.append(TEXT_3);

+					} else if (constraint.equals("Max") && genDataType.getMaxLiteral() != null) {

+						stringBuffer.append(TEXT_85);

+						stringBuffer.append(genDataType.getName());

+						stringBuffer.append(TEXT_78);

+						stringBuffer.append(constraint);

+						stringBuffer.append(TEXT_86);

+						stringBuffer.append(genDataType.getImportedInstanceClassName());

+						stringBuffer.append(TEXT_27);

+						stringBuffer.append(constant);

+						stringBuffer.append(TEXT_87);

+						stringBuffer.append(genDataType.getStaticValue(genDataType.getMaxLiteral()));

+						stringBuffer.append(TEXT_3);

+					} 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_85);

+						stringBuffer.append(genDataType.getName());

+						stringBuffer.append(TEXT_78);

+						stringBuffer.append(constraint);

+						stringBuffer.append(TEXT_86);

+						stringBuffer.append(genDataType.getImportedInstanceClassName());

+						stringBuffer.append(TEXT_27);

+						stringBuffer.append(constant);

+						stringBuffer.append(TEXT_88);

+						stringBuffer.append(genDataType.getStaticValue(value));

+						stringBuffer.append(TEXT_89);

+						stringBuffer.append(genDataType.getName());

+						stringBuffer.append(TEXT_78);

+						stringBuffer.append(constraint);

+						stringBuffer.append(TEXT_86);

+						stringBuffer.append(genDataType.getImportedInstanceClassName());

+						stringBuffer.append(TEXT_27);

+						stringBuffer.append(constant);

+						stringBuffer.append(TEXT_90);

+						stringBuffer.append(genDataType.getStaticValue("-" + value));

+						stringBuffer.append(TEXT_3);

+					} else if (constraint.equals("Pattern") && !genDataType.getPatterns().isEmpty()) {

+						stringBuffer.append(TEXT_85);

+						stringBuffer.append(genDataType.getName());

+						stringBuffer.append(TEXT_78);

+						stringBuffer.append(constraint);

+						stringBuffer.append(TEXT_91);

+						stringBuffer.append(constant);

+						stringBuffer.append(TEXT_92);

+						for (Iterator<List<String>> k = genDataType.getPatterns().iterator(); k.hasNext();) {

+							List<String> patternList = k.next();

+							stringBuffer.append(TEXT_93);

+							for (Iterator<String> p = patternList.iterator(); p.hasNext();) {

+								String pattern = p.next();

+								stringBuffer.append(TEXT_94);

+								stringBuffer.append(

+										genModel.getImportedName("org.eclipse.emf.ecore.xml.type.util.XMLTypeUtil"));

+								stringBuffer.append(TEXT_95);

+								stringBuffer.append(pattern);

+								stringBuffer.append(TEXT_72);

+								stringBuffer.append(p.hasNext() ? "," : "");

+							}

+							stringBuffer.append(TEXT_96);

+							stringBuffer.append(k.hasNext() ? "," : "");

+						}

+						stringBuffer.append(TEXT_97);

+					} else if (constraint.equals("Enumeration") && !genDataType.getEnumerationLiterals().isEmpty()) {

+						stringBuffer.append(TEXT_85);

+						stringBuffer.append(genDataType.getName());

+						stringBuffer.append(TEXT_78);

+						stringBuffer.append(constraint);

+						stringBuffer.append(TEXT_98);

+						if (genDataType.isUncheckedCast()) {

+							stringBuffer.append(TEXT_47);

+						}

+						stringBuffer.append(TEXT_99);

+						stringBuffer.append(genModel.getImportedName("java.util.Collection"));

+						stringBuffer.append(objectArgument);

+						stringBuffer.append(TEXT_27);

+						stringBuffer.append(constant);

+						stringBuffer.append(TEXT_100);

+						for (Iterator<String> k = genDataType.getEnumerationLiterals().iterator(); k.hasNext();) {

+							String literal = k.next();

+							stringBuffer.append(TEXT_101);

+							if (genDataType.isPrimitiveType()

+									&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

+								stringBuffer.append(TEXT_102);

+								stringBuffer.append(genDataType.getObjectInstanceClassName());

+								stringBuffer.append(TEXT_66);

+							}

+							stringBuffer.append(genDataType.getStaticValue(literal, false));

+							if (genDataType.isPrimitiveType()

+									&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

+								stringBuffer.append(TEXT_72);

+							}

+							stringBuffer.append(k.hasNext() ? "," : "");

+						}

+						stringBuffer.append(TEXT_103);

+					}

+				}

+				if (genClassifier.hasConstraintExpression(constraint)) {

+					stringBuffer.append(TEXT_104);

+					stringBuffer.append(constraint);

+					stringBuffer.append(TEXT_105);

+					stringBuffer.append(genClassifier.getFormattedName());

+					stringBuffer.append(TEXT_106);

+					stringBuffer.append(genModel.getImportedName("java.lang.String"));

+					stringBuffer.append(TEXT_27);

+					stringBuffer.append(genClassifier.getClassifierID());

+					stringBuffer.append(TEXT_107);

+					stringBuffer.append(CodeGenUtil.upperName(constraint));

+					stringBuffer.append(TEXT_108);

+					stringBuffer.append(genClassifier.getConstraintExpression(constraint, "\t\t"));

+					stringBuffer.append(TEXT_19);

+					stringBuffer.append(genModel.getNonNLS());

+					stringBuffer.append(TEXT_15);

+				}

+				stringBuffer.append(TEXT_109);

+				stringBuffer.append(constraint);

+				stringBuffer.append(TEXT_105);

+				stringBuffer.append(genClassifier.getFormattedName());

+				stringBuffer.append(TEXT_110);

+				stringBuffer.append(genClassifier.getName());

+				stringBuffer.append(TEXT_78);

+				stringBuffer.append(constraint);

+				stringBuffer.append(TEXT_66);

+				stringBuffer.append(genClassifier.getImportedWildcardInstanceClassName());

+				stringBuffer.append(TEXT_27);

+				stringBuffer.append(genClassifier.getSafeUncapName());

+				stringBuffer.append(TEXT_67);

+				stringBuffer.append(diagnostics);

+				stringBuffer.append(TEXT_68);

+				stringBuffer.append(_Map);

+				stringBuffer.append(TEXT_27);

+				stringBuffer.append(context);

+				stringBuffer.append(TEXT_69);

+				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_76);

+						stringBuffer.append(result);

+						stringBuffer.append(TEXT_111);

+						stringBuffer.append(genModel.getImportedName("java.util.Iterator"));

+						stringBuffer.append(singleWildcard);

+						stringBuffer.append(TEXT_112);

+						stringBuffer.append(genClassifier.getSafeUncapName());

+						stringBuffer.append(TEXT_113);

+						if (itemType.getGenPackage().hasConstraints()) {

+							stringBuffer.append(TEXT_114);

+							stringBuffer.append(itemType.getQualifiedClassifierAccessor());

+							stringBuffer.append(TEXT_115);

+							stringBuffer.append(itemDelegate);

+							stringBuffer.append(TEXT_77);

+							stringBuffer.append(itemType.getName());

+							stringBuffer.append(TEXT_66);

+							if (itemType.isPrimitiveType()

+									&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

+								stringBuffer.append(TEXT_66);

+							}

+							if (!itemType.isObjectType()) {

+								stringBuffer.append(TEXT_66);

+								stringBuffer.append(itemType.getObjectInstanceClassName());

+								stringBuffer.append(TEXT_72);

+							}

+							stringBuffer.append(item);

+							if (itemType.isPrimitiveType()

+									&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

+								stringBuffer.append(TEXT_116);

+								stringBuffer.append(itemType.getPrimitiveValueFunction());

+								stringBuffer.append(TEXT_117);

+							}

+							stringBuffer.append(TEXT_68);

+							stringBuffer.append(diagnostics);

+							stringBuffer.append(TEXT_68);

+							stringBuffer.append(context);

+							stringBuffer.append(TEXT_118);

+						} else {

+							stringBuffer.append(TEXT_119);

+							stringBuffer.append(itemType.getQualifiedClassifierAccessor());

+							stringBuffer.append(TEXT_120);

+						}

+						stringBuffer.append(TEXT_121);

+						stringBuffer.append(itemType.getQualifiedClassifierAccessor());

+						stringBuffer.append(TEXT_122);

+						stringBuffer.append(diagnostics);

+						stringBuffer.append(TEXT_68);

+						stringBuffer.append(context);

+						stringBuffer.append(TEXT_123);

+					} else if (constraint.equals("MemberTypes") && !genDataType.getMemberTypes().isEmpty()) {

+						stringBuffer.append(TEXT_124);

+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic"));

+						stringBuffer.append(TEXT_125);

+						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_114);

+								stringBuffer.append(memberDelegate);

+								stringBuffer.append(TEXT_77);

+								stringBuffer.append(memberType.getName());

+								stringBuffer.append(TEXT_66);

+								stringBuffer.append(genClassifier.getSafeUncapName());

+								stringBuffer.append(TEXT_126);

+								stringBuffer.append(context);

+								stringBuffer.append(TEXT_127);

+							} else {

+								stringBuffer.append(TEXT_114);

+								stringBuffer.append(memberType.getQualifiedClassifierAccessor());

+								stringBuffer.append(TEXT_128);

+								stringBuffer.append(genClassifier.getSafeUncapName());

+								stringBuffer.append(TEXT_129);

+								if (memberType.getGenPackage().hasConstraints()) {

+									stringBuffer.append(TEXT_130);

+									stringBuffer.append(memberDelegate);

+									stringBuffer.append(TEXT_77);

+									stringBuffer.append(memberType.getName());

+									stringBuffer.append(TEXT_66);

+									if (memberType.isPrimitiveType()

+											&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

+										stringBuffer.append(TEXT_66);

+									}

+									if (!memberType.isObjectType() && !memberType.getQualifiedInstanceClassName()

+											.equals(genDataType.getQualifiedInstanceClassName())) {

+										stringBuffer.append(TEXT_66);

+										stringBuffer.append(memberType.getImportedWildcardObjectInstanceClassName());

+										stringBuffer.append(TEXT_72);

+									}

+									stringBuffer.append(genClassifier.getSafeUncapName());

+									if (memberType.isPrimitiveType()

+											&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

+										stringBuffer.append(TEXT_116);

+										stringBuffer.append(memberType.getPrimitiveValueFunction());

+										stringBuffer.append(TEXT_117);

+									}

+									stringBuffer.append(TEXT_126);

+									stringBuffer.append(context);

+									stringBuffer.append(TEXT_131);

+								}

+								stringBuffer.append(TEXT_132);

+							}

+						}

+						if (genModel.useGenerics()) {

+							stringBuffer.append(TEXT_133);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));

+							stringBuffer.append(TEXT_134);

+						} else {

+							stringBuffer.append(TEXT_135);

+							stringBuffer.append(genModel.getImportedName("java.util.List"));

+							stringBuffer.append(TEXT_136);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));

+							stringBuffer.append(TEXT_137);

+						}

+						stringBuffer.append(TEXT_138);

+						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_114);

+								stringBuffer.append(memberDelegate);

+								stringBuffer.append(TEXT_77);

+								stringBuffer.append(memberType.getName());

+								stringBuffer.append(TEXT_66);

+								stringBuffer.append(genClassifier.getSafeUncapName());

+								stringBuffer.append(TEXT_139);

+								stringBuffer.append(context);

+								stringBuffer.append(TEXT_127);

+							} else {

+								stringBuffer.append(TEXT_114);

+								stringBuffer.append(memberType.getQualifiedClassifierAccessor());

+								stringBuffer.append(TEXT_128);

+								stringBuffer.append(genClassifier.getSafeUncapName());

+								stringBuffer.append(TEXT_129);

+								if (memberType.getGenPackage().hasConstraints()) {

+									stringBuffer.append(TEXT_130);

+									stringBuffer.append(memberDelegate);

+									stringBuffer.append(TEXT_77);

+									stringBuffer.append(memberType.getName());

+									stringBuffer.append(TEXT_66);

+									if (memberType.isPrimitiveType()

+											&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

+										stringBuffer.append(TEXT_66);

+									}

+									if (!memberType.isObjectType() && !memberType.getQualifiedInstanceClassName()

+											.equals(genDataType.getQualifiedInstanceClassName())) {

+										stringBuffer.append(TEXT_66);

+										stringBuffer.append(memberType.getImportedWildcardObjectInstanceClassName());

+										stringBuffer.append(TEXT_72);

+									}

+									stringBuffer.append(genClassifier.getSafeUncapName());

+									if (memberType.isPrimitiveType()

+											&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

+										stringBuffer.append(TEXT_116);

+										stringBuffer.append(memberType.getPrimitiveValueFunction());

+										stringBuffer.append(TEXT_117);

+									}

+									stringBuffer.append(TEXT_139);

+									stringBuffer.append(context);

+									stringBuffer.append(TEXT_131);

+								}

+								stringBuffer.append(TEXT_132);

+							}

+						}

+						stringBuffer.append(TEXT_140);

+					} else if (constraint.equals("Pattern") && !genDataType.getPatterns().isEmpty()) {

+						stringBuffer.append(TEXT_141);

+						stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

+						stringBuffer.append(TEXT_68);

+						if (genDataType.isPrimitiveType()

+								&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

+							stringBuffer.append(TEXT_102);

+							stringBuffer.append(genDataType.getObjectInstanceClassName());

+							stringBuffer.append(TEXT_66);

+						}

+						stringBuffer.append(genDataType.getSafeUncapName());

+						if (genDataType.isPrimitiveType()

+								&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

+							stringBuffer.append(TEXT_72);

+						}

+						stringBuffer.append(TEXT_68);

+						stringBuffer.append(constant);

+						stringBuffer.append(TEXT_142);

+						stringBuffer.append(diagnostics);

+						stringBuffer.append(TEXT_68);

+						stringBuffer.append(context);

+						stringBuffer.append(TEXT_73);

+					} 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_40);

+							stringBuffer.append(genDataType.getObjectInstanceClassName());

+							stringBuffer.append(TEXT_27);

+							stringBuffer.append(variable);

+							stringBuffer.append(TEXT_143);

+							stringBuffer.append(genDataType.getObjectInstanceClassName());

+							stringBuffer.append(TEXT_66);

+							stringBuffer.append(genDataType.getSafeUncapName());

+							stringBuffer.append(TEXT_73);

+						}

+						stringBuffer.append(TEXT_76);

+						stringBuffer.append(result);

+						stringBuffer.append(TEXT_23);

+						stringBuffer.append(constant);

+						stringBuffer.append(TEXT_144);

+						stringBuffer.append(variable);

+						stringBuffer.append(TEXT_145);

+						stringBuffer.append(result);

+						stringBuffer.append(TEXT_146);

+						stringBuffer.append(diagnostics);

+						stringBuffer.append(TEXT_147);

+						stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

+						stringBuffer.append(TEXT_68);

+						stringBuffer.append(variable);

+						stringBuffer.append(TEXT_68);

+						stringBuffer.append(constant);

+						stringBuffer.append(TEXT_142);

+						stringBuffer.append(diagnostics);

+						stringBuffer.append(TEXT_68);

+						stringBuffer.append(context);

+						stringBuffer.append(TEXT_148);

+						stringBuffer.append(result);

+						stringBuffer.append(TEXT_14);

+					} else if (constraint.equals("Min") && genDataType.getMinLiteral() != null) {

+						if (genDataType.isPrimitiveType()) {

+							stringBuffer.append(TEXT_76);

+							stringBuffer.append(result);

+							stringBuffer.append(TEXT_23);

+							stringBuffer.append(genDataType.getSafeUncapName());

+							stringBuffer.append(TEXT_27);

+							stringBuffer.append(genDataType.isMinInclusive() ? ">=" : ">");

+							stringBuffer.append(TEXT_27);

+							stringBuffer.append(constant);

+							stringBuffer.append(TEXT_149);

+							stringBuffer.append(result);

+							stringBuffer.append(TEXT_146);

+							stringBuffer.append(diagnostics);

+							stringBuffer.append(TEXT_150);

+							if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

+								stringBuffer.append(TEXT_151);

+								stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

+								stringBuffer.append(TEXT_152);

+								stringBuffer.append(genDataType.getObjectInstanceClassName());

+								stringBuffer.append(TEXT_66);

+								stringBuffer.append(genDataType.getSafeUncapName());

+								stringBuffer.append(TEXT_153);

+								stringBuffer.append(genDataType.getObjectInstanceClassName());

+								stringBuffer.append(TEXT_66);

+								stringBuffer.append(constant);

+								stringBuffer.append(TEXT_154);

+								stringBuffer.append(genDataType.isMinInclusive() ? "true" : "false");

+								stringBuffer.append(TEXT_68);

+								stringBuffer.append(diagnostics);

+								stringBuffer.append(TEXT_68);

+								stringBuffer.append(context);

+								stringBuffer.append(TEXT_73);

+							} else {

+								stringBuffer.append(TEXT_151);

+								stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

+								stringBuffer.append(TEXT_68);

+								stringBuffer.append(genDataType.getSafeUncapName());

+								stringBuffer.append(TEXT_68);

+								stringBuffer.append(constant);

+								stringBuffer.append(TEXT_155);

+								stringBuffer.append(genDataType.isMinInclusive() ? "true" : "false");

+								stringBuffer.append(TEXT_68);

+								stringBuffer.append(diagnostics);

+								stringBuffer.append(TEXT_68);

+								stringBuffer.append(context);

+								stringBuffer.append(TEXT_73);

+							}

+							stringBuffer.append(TEXT_83);

+							stringBuffer.append(result);

+							stringBuffer.append(TEXT_14);

+						} else {

+							String comparison = "comparison".equals(genClassifier.getSafeUncapName()) ? "theComparison"

+									: "comparison";

+							if (genDataType.isXMLCalendar()) {

+								stringBuffer.append(TEXT_156);

+								stringBuffer.append(comparison);

+								stringBuffer.append(TEXT_23);

+								stringBuffer.append(

+										genModel.getImportedName("org.eclipse.emf.ecore.xml.type.util.XMLTypeUtil"));

+								stringBuffer.append(TEXT_157);

+								stringBuffer.append(genDataType.getSafeUncapName());

+								stringBuffer.append(TEXT_68);

+								stringBuffer.append(constant);

+								stringBuffer.append(TEXT_158);

+								stringBuffer.append(result);

+								stringBuffer.append(TEXT_23);

+								if (genDataType.isMinInclusive()) {

+									stringBuffer.append(comparison);

+									stringBuffer.append(TEXT_159);

+								}

+								stringBuffer.append(comparison);

+								stringBuffer.append(TEXT_160);

+							} else if (genDataType.isXMLDuration()) {

+								stringBuffer.append(TEXT_156);

+								stringBuffer.append(comparison);

+								stringBuffer.append(TEXT_23);

+								stringBuffer.append(

+										genModel.getImportedName("org.eclipse.emf.ecore.xml.type.util.XMLTypeUtil"));

+								stringBuffer.append(TEXT_161);

+								stringBuffer.append(genDataType.getSafeUncapName());

+								stringBuffer.append(TEXT_68);

+								stringBuffer.append(constant);

+								stringBuffer.append(TEXT_158);

+								stringBuffer.append(result);

+								stringBuffer.append(TEXT_23);

+								if (genDataType.isMinInclusive()) {

+									stringBuffer.append(comparison);

+									stringBuffer.append(TEXT_159);

+								}

+								stringBuffer.append(comparison);

+								stringBuffer.append(TEXT_160);

+							} else {

+								stringBuffer.append(TEXT_76);

+								stringBuffer.append(result);

+								stringBuffer.append(TEXT_23);

+								stringBuffer.append(genDataType.getSafeUncapName());

+								stringBuffer.append(TEXT_162);

+								stringBuffer.append(constant);

+								stringBuffer.append(TEXT_163);

+								stringBuffer.append(genDataType.isMinInclusive() ? ">=" : ">");

+								stringBuffer.append(TEXT_164);

+							}

+							stringBuffer.append(TEXT_165);

+							stringBuffer.append(result);

+							stringBuffer.append(TEXT_146);

+							stringBuffer.append(diagnostics);

+							stringBuffer.append(TEXT_166);

+							stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

+							stringBuffer.append(TEXT_68);

+							stringBuffer.append(genDataType.getSafeUncapName());

+							stringBuffer.append(TEXT_68);

+							stringBuffer.append(constant);

+							stringBuffer.append(TEXT_155);

+							stringBuffer.append(genDataType.isMinInclusive() ? "true" : "false");

+							stringBuffer.append(TEXT_68);

+							stringBuffer.append(diagnostics);

+							stringBuffer.append(TEXT_68);

+							stringBuffer.append(context);

+							stringBuffer.append(TEXT_148);

+							stringBuffer.append(result);

+							stringBuffer.append(TEXT_14);

+						}

+					} else if (constraint.equals("Max") && genDataType.getMaxLiteral() != null) {

+						if (genDataType.isPrimitiveType()) {

+							stringBuffer.append(TEXT_76);

+							stringBuffer.append(result);

+							stringBuffer.append(TEXT_23);

+							stringBuffer.append(genDataType.getSafeUncapName());

+							stringBuffer.append(TEXT_27);

+							stringBuffer.append(genDataType.isMaxInclusive() ? "<=" : "<");

+							stringBuffer.append(TEXT_27);

+							stringBuffer.append(constant);

+							stringBuffer.append(TEXT_149);

+							stringBuffer.append(result);

+							stringBuffer.append(TEXT_146);

+							stringBuffer.append(diagnostics);

+							stringBuffer.append(TEXT_150);

+							if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

+								stringBuffer.append(TEXT_167);

+								stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

+								stringBuffer.append(TEXT_152);

+								stringBuffer.append(genDataType.getObjectInstanceClassName());

+								stringBuffer.append(TEXT_66);

+								stringBuffer.append(genDataType.getSafeUncapName());

+								stringBuffer.append(TEXT_153);

+								stringBuffer.append(genDataType.getObjectInstanceClassName());

+								stringBuffer.append(TEXT_66);

+								stringBuffer.append(constant);

+								stringBuffer.append(TEXT_154);

+								stringBuffer.append(genDataType.isMaxInclusive() ? "true" : "false");

+								stringBuffer.append(TEXT_68);

+								stringBuffer.append(diagnostics);

+								stringBuffer.append(TEXT_68);

+								stringBuffer.append(context);

+								stringBuffer.append(TEXT_73);

+							} else {

+								stringBuffer.append(TEXT_167);

+								stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

+								stringBuffer.append(TEXT_68);

+								stringBuffer.append(genDataType.getSafeUncapName());

+								stringBuffer.append(TEXT_68);

+								stringBuffer.append(constant);

+								stringBuffer.append(TEXT_155);

+								stringBuffer.append(genDataType.isMaxInclusive() ? "true" : "false");

+								stringBuffer.append(TEXT_68);

+								stringBuffer.append(diagnostics);

+								stringBuffer.append(TEXT_68);

+								stringBuffer.append(context);

+								stringBuffer.append(TEXT_73);

+							}

+							stringBuffer.append(TEXT_83);

+							stringBuffer.append(result);

+							stringBuffer.append(TEXT_14);

+						} else {

+							String comparison = "comparison".equals(genClassifier.getSafeUncapName()) ? "theComparison"

+									: "comparison";

+							if (genDataType.isXMLCalendar()) {

+								stringBuffer.append(TEXT_156);

+								stringBuffer.append(comparison);

+								stringBuffer.append(TEXT_23);

+								stringBuffer.append(

+										genModel.getImportedName("org.eclipse.emf.ecore.xml.type.util.XMLTypeUtil"));

+								stringBuffer.append(TEXT_157);

+								stringBuffer.append(genDataType.getSafeUncapName());

+								stringBuffer.append(TEXT_68);

+								stringBuffer.append(constant);

+								stringBuffer.append(TEXT_158);

+								stringBuffer.append(result);

+								stringBuffer.append(TEXT_23);

+								if (genDataType.isMaxInclusive()) {

+									stringBuffer.append(comparison);

+									stringBuffer.append(TEXT_159);

+								}

+								stringBuffer.append(comparison);

+								stringBuffer.append(TEXT_168);

+							} else if (genDataType.isXMLDuration()) {

+								stringBuffer.append(TEXT_156);

+								stringBuffer.append(comparison);

+								stringBuffer.append(TEXT_23);

+								stringBuffer.append(

+										genModel.getImportedName("org.eclipse.emf.ecore.xml.type.util.XMLTypeUtil"));

+								stringBuffer.append(TEXT_161);

+								stringBuffer.append(genDataType.getSafeUncapName());

+								stringBuffer.append(TEXT_68);

+								stringBuffer.append(constant);

+								stringBuffer.append(TEXT_158);

+								stringBuffer.append(result);

+								stringBuffer.append(TEXT_23);

+								if (genDataType.isMaxInclusive()) {

+									stringBuffer.append(comparison);

+									stringBuffer.append(TEXT_159);

+								}

+								stringBuffer.append(comparison);

+								stringBuffer.append(TEXT_168);

+							} else {

+								stringBuffer.append(TEXT_76);

+								stringBuffer.append(result);

+								stringBuffer.append(TEXT_23);

+								stringBuffer.append(genDataType.getSafeUncapName());

+								stringBuffer.append(TEXT_162);

+								stringBuffer.append(constant);

+								stringBuffer.append(TEXT_163);

+								stringBuffer.append(genDataType.isMaxInclusive() ? "<=" : "<");

+								stringBuffer.append(TEXT_164);

+							}

+							stringBuffer.append(TEXT_165);

+							stringBuffer.append(result);

+							stringBuffer.append(TEXT_146);

+							stringBuffer.append(diagnostics);

+							stringBuffer.append(TEXT_169);

+							stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

+							stringBuffer.append(TEXT_68);

+							stringBuffer.append(genDataType.getSafeUncapName());

+							stringBuffer.append(TEXT_68);

+							stringBuffer.append(constant);

+							stringBuffer.append(TEXT_155);

+							stringBuffer.append(genDataType.isMaxInclusive() ? "true" : "false");

+							stringBuffer.append(TEXT_68);

+							stringBuffer.append(diagnostics);

+							stringBuffer.append(TEXT_68);

+							stringBuffer.append(context);

+							stringBuffer.append(TEXT_148);

+							stringBuffer.append(result);

+							stringBuffer.append(TEXT_14);

+						}

+					} else if (constraint.equals("MinLength") && genDataType.getMinLength() != -1) {

+						stringBuffer.append(TEXT_170);

+						stringBuffer.append(genDataType.getSafeUncapName());

+						stringBuffer.append(TEXT_51);

+						stringBuffer.append(genDataType.getLengthAccessorFunction());

+						stringBuffer.append(TEXT_171);

+						stringBuffer.append(result);

+						stringBuffer.append(TEXT_172);

+						stringBuffer.append(genDataType.getMinLength());

+						stringBuffer.append(TEXT_173);

+						stringBuffer.append(result);

+						stringBuffer.append(TEXT_146);

+						stringBuffer.append(diagnostics);

+						stringBuffer.append(TEXT_174);

+						stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

+						stringBuffer.append(TEXT_68);

+						stringBuffer.append(genDataType.getSafeUncapName());

+						stringBuffer.append(TEXT_175);

+						stringBuffer.append(genDataType.getMinLength());

+						stringBuffer.append(TEXT_68);

+						stringBuffer.append(diagnostics);

+						stringBuffer.append(TEXT_68);

+						stringBuffer.append(context);

+						stringBuffer.append(TEXT_148);

+						stringBuffer.append(result);

+						stringBuffer.append(TEXT_14);

+					} else if (constraint.equals("MaxLength") && genDataType.getMaxLength() != -1) {

+						stringBuffer.append(TEXT_170);

+						stringBuffer.append(genDataType.getSafeUncapName());

+						stringBuffer.append(TEXT_51);

+						stringBuffer.append(genDataType.getLengthAccessorFunction());

+						stringBuffer.append(TEXT_171);

+						stringBuffer.append(result);

+						stringBuffer.append(TEXT_176);

+						stringBuffer.append(genDataType.getMaxLength());

+						stringBuffer.append(TEXT_173);

+						stringBuffer.append(result);

+						stringBuffer.append(TEXT_146);

+						stringBuffer.append(diagnostics);

+						stringBuffer.append(TEXT_177);

+						stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

+						stringBuffer.append(TEXT_68);

+						stringBuffer.append(genDataType.getSafeUncapName());

+						stringBuffer.append(TEXT_175);

+						stringBuffer.append(genDataType.getMaxLength());

+						stringBuffer.append(TEXT_68);

+						stringBuffer.append(diagnostics);

+						stringBuffer.append(TEXT_68);

+						stringBuffer.append(context);

+						stringBuffer.append(TEXT_148);

+						stringBuffer.append(result);

+						stringBuffer.append(TEXT_14);

+					} else if (constraint.equals("TotalDigits") && genDataType.getTotalDigits() != -1) {

+						if (genDataType.isPrimitiveType()) {

+							stringBuffer.append(TEXT_76);

+							stringBuffer.append(result);

+							stringBuffer.append(TEXT_23);

+							stringBuffer.append(genDataType.getSafeUncapName());

+							stringBuffer.append(TEXT_178);

+							stringBuffer.append(constant);

+							stringBuffer.append(TEXT_179);

+							stringBuffer.append(genDataType.getSafeUncapName());

+							stringBuffer.append(TEXT_180);

+							stringBuffer.append(constant);

+							stringBuffer.append(TEXT_181);

+							stringBuffer.append(result);

+							stringBuffer.append(TEXT_146);

+							stringBuffer.append(diagnostics);

+							stringBuffer.append(TEXT_150);

+							if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

+								stringBuffer.append(TEXT_182);

+								stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

+								stringBuffer.append(TEXT_152);

+								stringBuffer.append(genDataType.getObjectInstanceClassName());

+								stringBuffer.append(TEXT_66);

+								stringBuffer.append(genDataType.getSafeUncapName());

+								stringBuffer.append(TEXT_183);

+								stringBuffer.append(genDataType.getTotalDigits());

+								stringBuffer.append(TEXT_68);

+								stringBuffer.append(diagnostics);

+								stringBuffer.append(TEXT_68);

+								stringBuffer.append(context);

+								stringBuffer.append(TEXT_73);

+							} else {

+								stringBuffer.append(TEXT_182);

+								stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

+								stringBuffer.append(TEXT_68);

+								stringBuffer.append(genDataType.getSafeUncapName());

+								stringBuffer.append(TEXT_68);

+								stringBuffer.append(genDataType.getTotalDigits());

+								stringBuffer.append(TEXT_68);

+								stringBuffer.append(diagnostics);

+								stringBuffer.append(TEXT_68);

+								stringBuffer.append(context);

+								stringBuffer.append(TEXT_73);

+							}

+						} else if ("java.math.BigDecimal".equals(genDataType.getQualifiedInstanceClassName())) {

+							stringBuffer.append(TEXT_184);

+							stringBuffer.append(genDataType.getSafeUncapName());

+							stringBuffer.append(TEXT_185);

+							stringBuffer.append(genDataType.getSafeUncapName());

+							stringBuffer.append(TEXT_186);

+							stringBuffer.append(genDataType.getSafeUncapName());

+							stringBuffer.append(TEXT_187);

+							stringBuffer.append(result);

+							stringBuffer.append(TEXT_188);

+							stringBuffer.append(genDataType.getTotalDigits());

+							stringBuffer.append(TEXT_173);

+							stringBuffer.append(result);

+							stringBuffer.append(TEXT_146);

+							stringBuffer.append(diagnostics);

+							stringBuffer.append(TEXT_189);

+							stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

+							stringBuffer.append(TEXT_68);

+							stringBuffer.append(genDataType.getSafeUncapName());

+							stringBuffer.append(TEXT_68);

+							stringBuffer.append(genDataType.getTotalDigits());

+							stringBuffer.append(TEXT_68);

+							stringBuffer.append(diagnostics);

+							stringBuffer.append(TEXT_68);

+							stringBuffer.append(context);

+							stringBuffer.append(TEXT_73);

+						} else {

+							stringBuffer.append(TEXT_76);

+							stringBuffer.append(result);

+							stringBuffer.append(TEXT_23);

+							stringBuffer.append(genDataType.getSafeUncapName());

+							stringBuffer.append(TEXT_162);

+							stringBuffer.append(constant);

+							stringBuffer.append(TEXT_190);

+							stringBuffer.append(genDataType.getSafeUncapName());

+							stringBuffer.append(TEXT_162);

+							stringBuffer.append(constant);

+							stringBuffer.append(TEXT_191);

+							stringBuffer.append(result);

+							stringBuffer.append(TEXT_146);

+							stringBuffer.append(diagnostics);

+							stringBuffer.append(TEXT_189);

+							stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

+							stringBuffer.append(TEXT_68);

+							stringBuffer.append(genDataType.getSafeUncapName());

+							stringBuffer.append(TEXT_68);

+							stringBuffer.append(genDataType.getTotalDigits());

+							stringBuffer.append(TEXT_68);

+							stringBuffer.append(diagnostics);

+							stringBuffer.append(TEXT_68);

+							stringBuffer.append(context);

+							stringBuffer.append(TEXT_73);

+						}

+						stringBuffer.append(TEXT_83);

+						stringBuffer.append(result);

+						stringBuffer.append(TEXT_14);

+					} else if (constraint.equals("FractionDigits") && genDataType.getFractionDigits() != -1

+							&& "java.math.BigDecimal".equals(genDataType.getQualifiedInstanceClassName())) {

+						stringBuffer.append(TEXT_76);

+						stringBuffer.append(result);

+						stringBuffer.append(TEXT_23);

+						stringBuffer.append(genDataType.getSafeUncapName());

+						stringBuffer.append(TEXT_192);

+						stringBuffer.append(genDataType.getFractionDigits());

+						stringBuffer.append(TEXT_173);

+						stringBuffer.append(result);

+						stringBuffer.append(TEXT_146);

+						stringBuffer.append(diagnostics);

+						stringBuffer.append(TEXT_193);

+						stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

+						stringBuffer.append(TEXT_68);

+						stringBuffer.append(genDataType.getSafeUncapName());

+						stringBuffer.append(TEXT_68);

+						stringBuffer.append(genDataType.getFractionDigits());

+						stringBuffer.append(TEXT_68);

+						stringBuffer.append(diagnostics);

+						stringBuffer.append(TEXT_68);

+						stringBuffer.append(context);

+						stringBuffer.append(TEXT_148);

+						stringBuffer.append(result);

+						stringBuffer.append(TEXT_14);

+					} else if (constraintDelegate != null) {

+						stringBuffer.append(TEXT_194);

+						stringBuffer.append(diagnostics);

+						stringBuffer.append(TEXT_195);

+						stringBuffer.append(diagnostics);

+						stringBuffer.append(TEXT_196);

+						if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {

+							stringBuffer.append(TEXT_197);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));

+							stringBuffer.append(TEXT_198);

+							stringBuffer.append(genModel.getNonNLS());

+							stringBuffer.append(TEXT_199);

+							stringBuffer.append(constraint);

+							stringBuffer.append(TEXT_200);

+							stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

+							stringBuffer.append(TEXT_68);

+							stringBuffer.append(genClassifier.getSafeUncapName());

+							stringBuffer.append(TEXT_68);

+							stringBuffer.append(context);

+							stringBuffer.append(TEXT_201);

+							stringBuffer.append(genModel.getNonNLS());

+							stringBuffer.append(TEXT_202);

+							stringBuffer.append(genClassifier.getSafeUncapName());

+							stringBuffer.append(TEXT_203);

+						} else {

+							stringBuffer.append(TEXT_204);

+							stringBuffer

+									.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic"));

+							stringBuffer.append(TEXT_205);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));

+							stringBuffer.append(TEXT_206);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin"));

+							stringBuffer.append(TEXT_207);

+							stringBuffer.append(constraint);

+							stringBuffer.append(TEXT_200);

+							stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

+							stringBuffer.append(TEXT_68);

+							stringBuffer.append(genClassifier.getSafeUncapName());

+							stringBuffer.append(TEXT_68);

+							stringBuffer.append(context);

+							stringBuffer.append(TEXT_208);

+							stringBuffer.append(genModel.getNonNLS());

+							stringBuffer.append(genModel.getNonNLS(2));

+							stringBuffer.append(TEXT_202);

+							stringBuffer.append(genClassifier.getSafeUncapName());

+							stringBuffer.append(TEXT_209);

+						}

+						stringBuffer.append(TEXT_210);

+						stringBuffer.append(delegate);

+						stringBuffer.append(TEXT_77);

+						stringBuffer.append(constraintDelegate.getName());

+						stringBuffer.append(TEXT_78);

+						stringBuffer.append(constraint);

+						stringBuffer.append(TEXT_66);

+						stringBuffer.append(genClassifier.getSafeUncapName());

+						stringBuffer.append(accessor);

+						stringBuffer.append(TEXT_68);

+						stringBuffer.append(diagnostics);

+						stringBuffer.append(TEXT_68);

+						stringBuffer.append(context);

+						stringBuffer.append(TEXT_73);

+					} else {

+						if (genClassifier.hasConstraintExpression(constraint)) {

+							stringBuffer.append(TEXT_211);

+							stringBuffer.append(genClassifier.getQualifiedClassifierAccessor());

+							stringBuffer.append(TEXT_212);

+							stringBuffer.append(genClassifier.getSafeUncapName());

+							stringBuffer.append(TEXT_212);

+							stringBuffer.append(diagnostics);

+							stringBuffer.append(TEXT_212);

+							stringBuffer.append(context);

+							stringBuffer.append(TEXT_213);

+							stringBuffer.append(genClassifier.getValidationDelegate(constraint));

+							stringBuffer.append(TEXT_214);

+							stringBuffer.append(genModel.getNonNLS());

+							stringBuffer.append(TEXT_215);

+							stringBuffer.append(constraint);

+							stringBuffer.append(TEXT_214);

+							stringBuffer.append(genModel.getNonNLS());

+							stringBuffer.append(TEXT_101);

+							stringBuffer.append(genClassifier.getClassifierID());

+							stringBuffer.append(TEXT_107);

+							stringBuffer.append(CodeGenUtil.upperName(constraint));

+							stringBuffer.append(TEXT_216);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));

+							stringBuffer.append(TEXT_217);

+						} else {

+							stringBuffer.append(TEXT_218);

+							stringBuffer.append(diagnostics);

+							stringBuffer.append(TEXT_195);

+							stringBuffer.append(diagnostics);

+							stringBuffer.append(TEXT_196);

+							if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {

+								stringBuffer.append(TEXT_197);

+								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genModel.getNonNLS());

+								stringBuffer.append(TEXT_199);

+								stringBuffer.append(constraint);

+								stringBuffer.append(TEXT_200);

+								stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

+								stringBuffer.append(TEXT_68);

+								stringBuffer.append(genClassifier.getSafeUncapName());

+								stringBuffer.append(TEXT_68);

+								stringBuffer.append(context);

+								stringBuffer.append(TEXT_201);

+								stringBuffer.append(genModel.getNonNLS());

+								stringBuffer.append(TEXT_202);

+								stringBuffer.append(genClassifier.getSafeUncapName());

+								stringBuffer.append(TEXT_203);

+							} else {

+								stringBuffer.append(TEXT_204);

+								stringBuffer.append(

+										genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic"));

+								stringBuffer.append(TEXT_205);

+								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));

+								stringBuffer.append(TEXT_206);

+								stringBuffer

+										.append(genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin"));

+								stringBuffer.append(TEXT_207);

+								stringBuffer.append(constraint);

+								stringBuffer.append(TEXT_200);

+								stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

+								stringBuffer.append(TEXT_68);

+								stringBuffer.append(genClassifier.getSafeUncapName());

+								stringBuffer.append(TEXT_68);

+								stringBuffer.append(context);

+								stringBuffer.append(TEXT_208);

+								stringBuffer.append(genModel.getNonNLS());

+								stringBuffer.append(genModel.getNonNLS(2));

+								stringBuffer.append(TEXT_202);

+								stringBuffer.append(genClassifier.getSafeUncapName());

+								stringBuffer.append(TEXT_209);

+							}

+							stringBuffer.append(TEXT_219);

+						}

+					}

+				} else {

+					GenOperation genOperation = ((GenClass) genClassifier).getInvariantOperation(constraint);

+					if (genOperation != null) {

+						stringBuffer.append(TEXT_83);

+						stringBuffer.append(genClassifier.getSafeUncapName());

+						stringBuffer.append(TEXT_51);

+						stringBuffer.append(constraint);

+						stringBuffer.append(TEXT_66);

+						stringBuffer.append(diagnostics);

+						stringBuffer.append(TEXT_68);

+						stringBuffer.append(context);

+						stringBuffer.append(TEXT_73);

+					} else if (constraintDelegate != null) {

+						stringBuffer.append(TEXT_194);

+						stringBuffer.append(diagnostics);

+						stringBuffer.append(TEXT_195);

+						stringBuffer.append(diagnostics);

+						stringBuffer.append(TEXT_196);

+						if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {

+							stringBuffer.append(TEXT_197);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));

+							stringBuffer.append(TEXT_198);

+							stringBuffer.append(genModel.getNonNLS());

+							stringBuffer.append(TEXT_199);

+							stringBuffer.append(constraint);

+							stringBuffer.append(TEXT_220);

+							stringBuffer.append(genClassifier.getSafeUncapName());

+							stringBuffer.append(TEXT_68);

+							stringBuffer.append(context);

+							stringBuffer.append(TEXT_201);

+							stringBuffer.append(genModel.getNonNLS());

+							stringBuffer.append(TEXT_202);

+							stringBuffer.append(genClassifier.getSafeUncapName());

+							stringBuffer.append(TEXT_203);

+						} else {

+							stringBuffer.append(TEXT_204);

+							stringBuffer

+									.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic"));

+							stringBuffer.append(TEXT_205);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));

+							stringBuffer.append(TEXT_206);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin"));

+							stringBuffer.append(TEXT_207);

+							stringBuffer.append(constraint);

+							stringBuffer.append(TEXT_220);

+							stringBuffer.append(genClassifier.getSafeUncapName());

+							stringBuffer.append(TEXT_68);

+							stringBuffer.append(context);

+							stringBuffer.append(TEXT_208);

+							stringBuffer.append(genModel.getNonNLS());

+							stringBuffer.append(genModel.getNonNLS(2));

+							stringBuffer.append(TEXT_202);

+							stringBuffer.append(genClassifier.getSafeUncapName());

+							stringBuffer.append(TEXT_209);

+						}

+						stringBuffer.append(TEXT_210);

+						stringBuffer.append(delegate);

+						stringBuffer.append(TEXT_77);

+						stringBuffer.append(constraintDelegate.getName());

+						stringBuffer.append(TEXT_78);

+						stringBuffer.append(constraint);

+						stringBuffer.append(TEXT_66);

+						stringBuffer.append(cast);

+						stringBuffer.append(genClassifier.getSafeUncapName());

+						stringBuffer.append(TEXT_68);

+						stringBuffer.append(diagnostics);

+						stringBuffer.append(TEXT_68);

+						stringBuffer.append(context);

+						stringBuffer.append(TEXT_73);

+					} else {

+						if (genClassifier.hasConstraintExpression(constraint)) {

+							stringBuffer.append(TEXT_211);

+							stringBuffer.append(genClassifier.getQualifiedClassifierAccessor());

+							stringBuffer.append(TEXT_212);

+							if (!((GenClass) genClassifier).isEObjectExtension()) {

+								stringBuffer.append(TEXT_66);

+								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EObject"));

+								stringBuffer.append(TEXT_72);

+							}

+							stringBuffer.append(genClassifier.getSafeUncapName());

+							stringBuffer.append(TEXT_212);

+							stringBuffer.append(diagnostics);

+							stringBuffer.append(TEXT_212);

+							stringBuffer.append(context);

+							stringBuffer.append(TEXT_213);

+							stringBuffer.append(genClassifier.getValidationDelegate(constraint));

+							stringBuffer.append(TEXT_214);

+							stringBuffer.append(genModel.getNonNLS());

+							stringBuffer.append(TEXT_215);

+							stringBuffer.append(constraint);

+							stringBuffer.append(TEXT_214);

+							stringBuffer.append(genModel.getNonNLS());

+							stringBuffer.append(TEXT_101);

+							stringBuffer.append(genClassifier.getClassifierID());

+							stringBuffer.append(TEXT_107);

+							stringBuffer.append(CodeGenUtil.upperName(constraint));

+							stringBuffer.append(TEXT_216);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));

+							stringBuffer.append(TEXT_217);

+						} else {

+							stringBuffer.append(TEXT_218);

+							stringBuffer.append(diagnostics);

+							stringBuffer.append(TEXT_195);

+							stringBuffer.append(diagnostics);

+							stringBuffer.append(TEXT_196);

+							if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {

+								stringBuffer.append(TEXT_197);

+								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));

+								stringBuffer.append(TEXT_198);

+								stringBuffer.append(genModel.getNonNLS());

+								stringBuffer.append(TEXT_199);

+								stringBuffer.append(constraint);

+								stringBuffer.append(TEXT_220);

+								stringBuffer.append(genClassifier.getSafeUncapName());

+								stringBuffer.append(TEXT_68);

+								stringBuffer.append(context);

+								stringBuffer.append(TEXT_201);

+								stringBuffer.append(genModel.getNonNLS());

+								stringBuffer.append(TEXT_202);

+								stringBuffer.append(genClassifier.getSafeUncapName());

+								stringBuffer.append(TEXT_203);

+							} else {

+								stringBuffer.append(TEXT_204);

+								stringBuffer.append(

+										genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic"));

+								stringBuffer.append(TEXT_205);

+								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));

+								stringBuffer.append(TEXT_206);

+								stringBuffer

+										.append(genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin"));

+								stringBuffer.append(TEXT_207);

+								stringBuffer.append(constraint);

+								stringBuffer.append(TEXT_220);

+								stringBuffer.append(genClassifier.getSafeUncapName());

+								stringBuffer.append(TEXT_68);

+								stringBuffer.append(context);

+								stringBuffer.append(TEXT_208);

+								stringBuffer.append(genModel.getNonNLS());

+								stringBuffer.append(genModel.getNonNLS(2));

+								stringBuffer.append(TEXT_202);

+								stringBuffer.append(genClassifier.getSafeUncapName());

+								stringBuffer.append(TEXT_209);

+							}

+							stringBuffer.append(TEXT_219);

+						}

+					}

+				}

+				stringBuffer.append(TEXT_84);

+			}

+		}

+		if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {

+			stringBuffer.append(TEXT_221);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_44);

+			}

+			stringBuffer.append(TEXT_222);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.ResourceLocator"));

+			stringBuffer.append(TEXT_223);

+			if (genModel.hasModelPluginClass()) {

+				stringBuffer.append(TEXT_83);

+				stringBuffer.append(genModel.getImportedName(genModel.getQualifiedModelPluginClassName()));

+				stringBuffer.append(TEXT_42);

+			} else {

+				stringBuffer.append(TEXT_224);

+			}

+			stringBuffer.append(TEXT_84);

+		}

+		stringBuffer.append(TEXT_15);

+		{

+			//<%@ 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,isJDK50:isJDK50,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("isJDK50", isJDK50);

+			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_225);

+		stringBuffer.append(genPackage.getValidatorClassName());

+		genModel.emitSortedImports();

+		stringBuffer.append(TEXT_15);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/XMLProcessorClass.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/XMLProcessorClass.java
new file mode 100644
index 0000000..49dbb09
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/XMLProcessorClass.java
@@ -0,0 +1,289 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 -->";

+	protected final String TEXT_5 = NL + " * ";

+	protected final String TEXT_6 = NL + " * @generated" + NL + " */";

+	protected final String TEXT_7 = NL + "@Deprecated";

+	protected final String TEXT_8 = NL + "public class ";

+	protected final String TEXT_9 = " extends ";

+	protected final String TEXT_10 = NL + "{";

+	protected final String TEXT_11 = 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_12 = " copyright = ";

+	protected final String TEXT_13 = ";";

+	protected final String TEXT_14 = NL;

+	protected final String TEXT_15 = 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_16 = "()" + NL + "\t{";

+	protected final String TEXT_17 = NL + "\t\tsuper(new ";

+	protected final String TEXT_18 = "(";

+	protected final String TEXT_19 = ".Registry.INSTANCE));" + NL + "\t\textendedMetaData.putPackage(null, ";

+	protected final String TEXT_20 = ".eINSTANCE);";

+	protected final String TEXT_21 = NL + "\t\tsuper((";

+	protected final String TEXT_22 = ".Registry.INSTANCE));" + NL + "\t\t";

+	protected final String TEXT_23 = ".eINSTANCE.eClass();";

+	protected final String TEXT_24 = NL + "\t}" + NL + "\t" + NL + "\t/**" + NL

+			+ "\t * Register for \"*\" and \"xml\" file extensions the ";

+	protected final String TEXT_25 = " factory." + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

+	protected final String TEXT_26 = NL + "\t@Override";

+	protected final String TEXT_27 = NL + "\tprotected Map";

+	protected final String TEXT_28 = "<";

+	protected final String TEXT_29 = ", ";

+	protected final String TEXT_30 = ".Factory>";

+	protected final String TEXT_31 = " 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_32 = "());" + NL + "\t\t\tregistrations.put(STAR_EXTENSION, new ";

+	protected final String TEXT_33 = "());" + NL + "\t\t}" + NL + "\t\treturn registrations;" + NL + "\t}" + NL + ""

+			+ NL + "} //";

+	protected final String TEXT_34 = 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_34);

+		stringBuffer.append(TEXT_34);

+		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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.html

+		 *

+		 * Contributors:

+		 *   IBM - Initial API and implementation

+		 */

+

+		GenPackage genPackage = (GenPackage) argument;

+		GenModel genModel = genPackage.getGenModel();

+		final boolean isJDK50 = 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.getImportedName("java.util.Map");

+		genModel.markImportLocation(stringBuffer);

+		stringBuffer.append(TEXT_4);

+		if (genPackage.hasAPITags()) {

+			stringBuffer.append(TEXT_5);

+			stringBuffer.append(genPackage.getAPITags(genModel.getIndentation(stringBuffer)));

+		}

+		stringBuffer.append(TEXT_6);

+		if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_7);

+		}

+		stringBuffer.append(TEXT_8);

+		stringBuffer.append(genPackage.getXMLProcessorClassName());

+		stringBuffer.append(TEXT_9);

+		stringBuffer.append(genPackage.getImportedXMLProcessorBaseClassName());

+		stringBuffer.append(TEXT_10);

+		if (genModel.hasCopyrightField()) {

+			stringBuffer.append(TEXT_11);

+			stringBuffer.append(genModel.getImportedName("java.lang.String"));

+			stringBuffer.append(TEXT_12);

+			stringBuffer.append(genModel.getCopyrightFieldLiteral());

+			stringBuffer.append(TEXT_13);

+			stringBuffer.append(genModel.getNonNLS());

+			stringBuffer.append(TEXT_14);

+		}

+		stringBuffer.append(TEXT_15);

+		stringBuffer.append(genPackage.getXMLProcessorClassName());

+		stringBuffer.append(TEXT_16);

+		if (genPackage.hasExtendedMetaData() && !genPackage.hasTargetNamespace()) {

+			stringBuffer.append(TEXT_17);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.EPackageRegistryImpl"));

+			stringBuffer.append(TEXT_18);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

+			stringBuffer.append(TEXT_19);

+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+			stringBuffer.append(TEXT_20);

+		} else {

+			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);

+		}

+		stringBuffer.append(TEXT_24);

+		stringBuffer.append(genPackage.getResourceFactoryClassName());

+		stringBuffer.append(TEXT_25);

+		if (genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_26);

+		}

+		stringBuffer.append(TEXT_27);

+		if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) {

+			stringBuffer.append(TEXT_28);

+			stringBuffer.append(genModel.getImportedName("java.lang.String"));

+			stringBuffer.append(TEXT_29);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.resource.Resource"));

+			stringBuffer.append(TEXT_30);

+		}

+		stringBuffer.append(TEXT_31);

+		stringBuffer.append(genPackage.getResourceFactoryClassName());

+		stringBuffer.append(TEXT_32);

+		stringBuffer.append(genPackage.getResourceFactoryClassName());

+		stringBuffer.append(TEXT_33);

+		stringBuffer.append(genPackage.getXMLProcessorClassName());

+		genModel.emitSortedImports();

+		stringBuffer.append(TEXT_14);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeatureTODOoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeatureTODOoverride.java
new file mode 100644
index 0000000..9452244
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeatureTODOoverride.java
@@ -0,0 +1,326 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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;

+

+	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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_4);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeatureannotationsinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeatureannotationsinsert.java
new file mode 100644
index 0000000..716fc07
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeatureannotationsinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeatureoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeatureoverride.java
new file mode 100644
index 0000000..792af08
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeatureoverride.java
@@ -0,0 +1,539 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 -->";

+	protected final String TEXT_2 = NL + "\t * ";

+	protected final String TEXT_3 = NL + "\t * @generated" + NL + "\t */";

+	protected final String TEXT_4 = NL;

+	protected final String TEXT_5 = NL + "\t@Deprecated";

+	protected final String TEXT_6 = NL + "\tpublic ";

+	protected final String TEXT_7 = " basicGet";

+	protected final String TEXT_8 = "()" + NL + "\t{";

+	protected final String TEXT_9 = NL + "\t\treturn (";

+	protected final String TEXT_10 = ")eDynamicGet(";

+	protected final String TEXT_11 = " - ESTATIC_FEATURE_COUNT";

+	protected final String TEXT_12 = ", ";

+	protected final String TEXT_13 = ", false, ";

+	protected final String TEXT_14 = ");";

+	protected final String TEXT_15 = NL + "\t\treturn ";

+	protected final String TEXT_16 = "(";

+	protected final String TEXT_17 = ")";

+	protected final String TEXT_18 = "__ESETTING_DELEGATE.dynamicGet(this, null, 0, false, false)";

+	protected final String TEXT_19 = ").";

+	protected final String TEXT_20 = "()";

+	protected final String TEXT_21 = ";";

+	protected final String TEXT_22 = NL + "\t\tif (eContainerFeatureID() != ";

+	protected final String TEXT_23 = ") return null;" + NL + "\t\treturn (";

+	protected final String TEXT_24 = ")eInternalContainer();";

+	protected final String TEXT_25 = ")eVirtualGet(";

+	protected final String TEXT_26 = ")((";

+	protected final String TEXT_27 = ".Internal.Wrapper)get";

+	protected final String TEXT_28 = "()).featureMap().get(";

+	protected final String TEXT_29 = ", false);";

+	protected final String TEXT_30 = ")get";

+	protected final String TEXT_31 = "().get(";

+	protected final String TEXT_32 = NL + "\t\t";

+	protected final String TEXT_33 = NL + "\t}" + NL + NL;

+	protected final String TEXT_34 = 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_34);

+		stringBuffer.append(TEXT_34);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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.hasAPITags()) {

+			stringBuffer.append(TEXT_2);

+			stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+		}

+		stringBuffer.append(TEXT_3);

+		if (isJDK50) { //Class/basicGetGenFeature.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.basicGetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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);

+			}

+

+		}

+		if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_5);

+		}

+		stringBuffer.append(TEXT_6);

+		stringBuffer.append(genFeature.getImportedType(genClass));

+		stringBuffer.append(TEXT_7);

+		stringBuffer.append(genFeature.getAccessorName());

+		stringBuffer.append(TEXT_8);

+		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.basicGetGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+			callParameters.put("isGWT", isGWT);

+			callParameters.put("forceDefaultCase", forceDefaultCase);

+			callParameters.put("indentDefaultCase", indentDefaultCase);

+			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() && !genFeature.isVolatile()) {

+			stringBuffer.append(TEXT_9);

+			stringBuffer.append(genFeature.getImportedType(genClass));

+			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);

+			stringBuffer.append(!genFeature.isEffectiveSuppressEMFTypes());

+			stringBuffer.append(TEXT_14);

+		} else if (genFeature.hasSettingDelegate()) {

+			stringBuffer.append(TEXT_15);

+			if (!isJDK50 && genFeature.isPrimitiveType()) {

+				stringBuffer.append(TEXT_16);

+			}

+			stringBuffer.append(TEXT_16);

+			stringBuffer.append(genFeature.getObjectType(genClass));

+			stringBuffer.append(TEXT_17);

+			stringBuffer.append(genFeature.getUpperName());

+			stringBuffer.append(TEXT_18);

+			if (!isJDK50 && genFeature.isPrimitiveType()) {

+				stringBuffer.append(TEXT_19);

+				stringBuffer.append(genFeature.getPrimitiveValueFunction());

+				stringBuffer.append(TEXT_20);

+			}

+			stringBuffer.append(TEXT_21);

+		} else if (genFeature.isContainer()) {

+			stringBuffer.append(TEXT_22);

+			stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+			stringBuffer.append(positiveOffsetCorrection);

+			stringBuffer.append(TEXT_23);

+			stringBuffer.append(genFeature.getImportedType(genClass));

+			stringBuffer.append(TEXT_24);

+		} else if (!genFeature.isVolatile()) {

+			if (genModel.isVirtualDelegation()) {

+				stringBuffer.append(TEXT_9);

+				stringBuffer.append(genFeature.getImportedType(genClass));

+				stringBuffer.append(TEXT_25);

+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+				stringBuffer.append(positiveOffsetCorrection);

+				stringBuffer.append(TEXT_14);

+			} else {

+				stringBuffer.append(TEXT_15);

+				stringBuffer.append(genFeature.getSafeName());

+				stringBuffer.append(TEXT_21);

+			}

+		} else if (genFeature.hasDelegateFeature()) {

+			GenFeature delegateFeature = genFeature.getDelegateFeature();

+			if (delegateFeature.isWrappedFeatureMapType()) {

+				stringBuffer.append(TEXT_9);

+				stringBuffer.append(genFeature.getImportedType(genClass));

+				stringBuffer.append(TEXT_26);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+				stringBuffer.append(TEXT_27);

+				stringBuffer.append(delegateFeature.getAccessorName());

+				stringBuffer.append(TEXT_28);

+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+				stringBuffer.append(TEXT_29);

+			} else {

+				stringBuffer.append(TEXT_9);

+				stringBuffer.append(genFeature.getImportedType(genClass));

+				stringBuffer.append(TEXT_30);

+				stringBuffer.append(delegateFeature.getAccessorName());

+				stringBuffer.append(TEXT_31);

+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+				stringBuffer.append(TEXT_29);

+			}

+		} else if (genFeature.hasGetterBody()) {

+			stringBuffer.append(TEXT_32);

+			stringBuffer.append(genFeature.getGetterBody(genModel.getIndentation(stringBuffer)));

+		} else {

+			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.basicGetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_33);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeaturepreinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeaturepreinsert.java
new file mode 100644
index 0000000..8228458
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeaturepreinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeatureTODOoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeatureTODOoverride.java
new file mode 100644
index 0000000..9d1c6e3
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeatureTODOoverride.java
@@ -0,0 +1,329 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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;

+

+	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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_4);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeatureannotationsinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeatureannotationsinsert.java
new file mode 100644
index 0000000..38ee7e9
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeatureannotationsinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeatureoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeatureoverride.java
new file mode 100644
index 0000000..0851b26
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeatureoverride.java
@@ -0,0 +1,812 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 -->";

+	protected final String TEXT_2 = NL + "\t * ";

+	protected final String TEXT_3 = NL + "\t * @generated" + NL + "\t */";

+	protected final String TEXT_4 = NL;

+	protected final String TEXT_5 = NL + "\t@Deprecated";

+	protected final String TEXT_6 = NL + "\tpublic ";

+	protected final String TEXT_7 = " basicSet";

+	protected final String TEXT_8 = "(";

+	protected final String TEXT_9 = " new";

+	protected final String TEXT_10 = ", ";

+	protected final String TEXT_11 = " msgs)" + NL + "\t{";

+	protected final String TEXT_12 = NL + "\t\tmsgs = eBasicSetContainer(";

+	protected final String TEXT_13 = ", msgs);";

+	protected final String TEXT_14 = NL + "\t\treturn msgs;";

+	protected final String TEXT_15 = NL + "\t\tmsgs = eDynamicInverseAdd(";

+	protected final String TEXT_16 = NL + "\t\tObject old";

+	protected final String TEXT_17 = " = eVirtualSet(";

+	protected final String TEXT_18 = ", new";

+	protected final String TEXT_19 = ");";

+	protected final String TEXT_20 = NL + "\t\t";

+	protected final String TEXT_21 = " old";

+	protected final String TEXT_22 = " = ";

+	protected final String TEXT_23 = ";" + NL + "\t\t";

+	protected final String TEXT_24 = " = new";

+	protected final String TEXT_25 = ";";

+	protected final String TEXT_26 = NL + "\t\tboolean isSetChange = old";

+	protected final String TEXT_27 = " == EVIRTUAL_NO_VALUE;";

+	protected final String TEXT_28 = NL + "\t\tboolean old";

+	protected final String TEXT_29 = "ESet = (";

+	protected final String TEXT_30 = " & ";

+	protected final String TEXT_31 = "_ESETFLAG) != 0;";

+	protected final String TEXT_32 = " |= ";

+	protected final String TEXT_33 = "_ESETFLAG;";

+	protected final String TEXT_34 = "ESet = ";

+	protected final String TEXT_35 = "ESet;";

+	protected final String TEXT_36 = "ESet = true;";

+	protected final String TEXT_37 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t{";

+	protected final String TEXT_38 = NL + "\t\t\t";

+	protected final String TEXT_39 = " notification = new ";

+	protected final String TEXT_40 = "(this, ";

+	protected final String TEXT_41 = ".SET, ";

+	protected final String TEXT_42 = "isSetChange ? null : old";

+	protected final String TEXT_43 = "old";

+	protected final String TEXT_44 = "isSetChange";

+	protected final String TEXT_45 = "!old";

+	protected final String TEXT_46 = "ESet";

+	protected final String TEXT_47 = " == EVIRTUAL_NO_VALUE ? null : old";

+	protected final String TEXT_48 = NL + "\t\t\tif (msgs == null) msgs = notification; else msgs.add(notification);"

+			+ NL + "\t\t}";

+	protected final String TEXT_49 = NL + "\t\treturn ((";

+	protected final String TEXT_50 = ".Internal)((";

+	protected final String TEXT_51 = ".Internal.Wrapper)get";

+	protected final String TEXT_52 = "()).featureMap()).basicAdd(";

+	protected final String TEXT_53 = ".Internal)get";

+	protected final String TEXT_54 = "()).basicAdd(";

+	protected final String TEXT_55 = NL + "\t}" + NL + NL;

+	protected final String TEXT_56 = 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_56);

+		stringBuffer.append(TEXT_56);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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.hasAPITags()) {

+			stringBuffer.append(TEXT_2);

+			stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+		}

+		stringBuffer.append(TEXT_3);

+		if (isJDK50) { //Class/basicSetGenFeature.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.basicSetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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 (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_5);

+		}

+		stringBuffer.append(TEXT_6);

+		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

+		stringBuffer.append(TEXT_7);

+		stringBuffer.append(genFeature.getAccessorName());

+		stringBuffer.append(TEXT_8);

+		stringBuffer.append(genFeature.getImportedInternalType(genClass));

+		stringBuffer.append(TEXT_9);

+		stringBuffer.append(genFeature.getCapName());

+		stringBuffer.append(TEXT_10);

+		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

+		stringBuffer.append(TEXT_11);

+		if (genFeature.isContainer()) {

+			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.basicSetGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_12);

+			stringBuffer.append(genFeature.getAsInternalEObject("new" + genFeature.getCapName(), false));

+			stringBuffer.append(TEXT_10);

+			stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+			stringBuffer.append(positiveOffsetCorrection);

+			stringBuffer.append(TEXT_13);

+			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.basicSetGenFeature.post.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_14);

+		} else if (genModel.isDynamicDelegation()) {

+			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.basicSetGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_15);

+			stringBuffer.append(genFeature.getAsInternalEObject("new" + genFeature.getCapName(), false));

+			stringBuffer.append(TEXT_10);

+			stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+			stringBuffer.append(positiveOffsetCorrection);

+			stringBuffer.append(TEXT_13);

+			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.basicSetGenFeature.post.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_14);

+		} else if (!genFeature.isVolatile()) {

+			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.basicSetGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_16);

+				stringBuffer.append(genFeature.getCapName());

+				stringBuffer.append(TEXT_17);

+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+				stringBuffer.append(positiveOffsetCorrection);

+				stringBuffer.append(TEXT_18);

+				stringBuffer.append(genFeature.getCapName());

+				stringBuffer.append(TEXT_19);

+			} else {

+				stringBuffer.append(TEXT_20);

+				stringBuffer.append(genFeature.getImportedType(genClass));

+				stringBuffer.append(TEXT_21);

+				stringBuffer.append(genFeature.getCapName());

+				stringBuffer.append(TEXT_22);

+				stringBuffer.append(genFeature.getSafeName());

+				stringBuffer.append(TEXT_23);

+				stringBuffer.append(genFeature.getSafeName());

+				stringBuffer.append(TEXT_24);

+				stringBuffer.append(genFeature.getCapName());

+				stringBuffer.append(TEXT_25);

+			}

+			if (genFeature.isUnsettable()) {

+				if (genModel.isVirtualDelegation()) {

+					if (!genModel.isSuppressNotification()) {

+						stringBuffer.append(TEXT_26);

+						stringBuffer.append(genFeature.getCapName());

+						stringBuffer.append(TEXT_27);

+					}

+				} else if (genClass.isESetFlag(genFeature)) {

+					stringBuffer.append(TEXT_28);

+					stringBuffer.append(genFeature.getCapName());

+					stringBuffer.append(TEXT_29);

+					stringBuffer.append(genClass.getESetFlagsField(genFeature));

+					stringBuffer.append(TEXT_30);

+					stringBuffer.append(genFeature.getUpperName());

+					stringBuffer.append(TEXT_31);

+					if (!genModel.isSuppressNotification()) {

+						stringBuffer.append(TEXT_20);

+						stringBuffer.append(genClass.getESetFlagsField(genFeature));

+						stringBuffer.append(TEXT_32);

+						stringBuffer.append(genFeature.getUpperName());

+						stringBuffer.append(TEXT_33);

+					}

+				} else {

+					if (!genModel.isSuppressNotification()) {

+						stringBuffer.append(TEXT_28);

+						stringBuffer.append(genFeature.getCapName());

+						stringBuffer.append(TEXT_34);

+						stringBuffer.append(genFeature.getUncapName());

+						stringBuffer.append(TEXT_35);

+					}

+					stringBuffer.append(TEXT_20);

+					stringBuffer.append(genFeature.getUncapName());

+					stringBuffer.append(TEXT_36);

+				}

+			}

+			if (!genModel.isSuppressNotification()) {

+				stringBuffer.append(TEXT_37);

+				if (genFeature.isUnsettable()) {

+					stringBuffer.append(TEXT_38);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

+					stringBuffer.append(TEXT_39);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

+					stringBuffer.append(TEXT_40);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

+					stringBuffer.append(TEXT_41);

+					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+					stringBuffer.append(positiveOffsetCorrection);

+					stringBuffer.append(TEXT_10);

+					if (genModel.isVirtualDelegation()) {

+						stringBuffer.append(TEXT_42);

+						stringBuffer.append(genFeature.getCapName());

+					} else {

+						stringBuffer.append(TEXT_43);

+						stringBuffer.append(genFeature.getCapName());

+					}

+					stringBuffer.append(TEXT_18);

+					stringBuffer.append(genFeature.getCapName());

+					stringBuffer.append(TEXT_10);

+					if (genModel.isVirtualDelegation()) {

+						stringBuffer.append(TEXT_44);

+					} else {

+						stringBuffer.append(TEXT_45);

+						stringBuffer.append(genFeature.getCapName());

+						stringBuffer.append(TEXT_46);

+					}

+					stringBuffer.append(TEXT_19);

+				} else {

+					stringBuffer.append(TEXT_38);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

+					stringBuffer.append(TEXT_39);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

+					stringBuffer.append(TEXT_40);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

+					stringBuffer.append(TEXT_41);

+					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+					stringBuffer.append(positiveOffsetCorrection);

+					stringBuffer.append(TEXT_10);

+					if (genModel.isVirtualDelegation()) {

+						stringBuffer.append(TEXT_43);

+						stringBuffer.append(genFeature.getCapName());

+						stringBuffer.append(TEXT_47);

+						stringBuffer.append(genFeature.getCapName());

+					} else {

+						stringBuffer.append(TEXT_43);

+						stringBuffer.append(genFeature.getCapName());

+					}

+					stringBuffer.append(TEXT_18);

+					stringBuffer.append(genFeature.getCapName());

+					stringBuffer.append(TEXT_19);

+				}

+				stringBuffer.append(TEXT_48);

+			}

+			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.basicSetGenFeature.post.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_14);

+		} else if (genFeature.hasDelegateFeature()) {

+			GenFeature delegateFeature = genFeature.getDelegateFeature();

+			if (delegateFeature.isWrappedFeatureMapType()) {

+				stringBuffer.append(TEXT_49);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+				stringBuffer.append(TEXT_50);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+				stringBuffer.append(TEXT_51);

+				stringBuffer.append(delegateFeature.getAccessorName());

+				stringBuffer.append(TEXT_52);

+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+				stringBuffer.append(TEXT_18);

+				stringBuffer.append(genFeature.getCapName());

+				stringBuffer.append(TEXT_13);

+			} else {

+				stringBuffer.append(TEXT_49);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+				stringBuffer.append(TEXT_53);

+				stringBuffer.append(delegateFeature.getAccessorName());

+				stringBuffer.append(TEXT_54);

+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+				stringBuffer.append(TEXT_18);

+				stringBuffer.append(genFeature.getCapName());

+				stringBuffer.append(TEXT_13);

+			}

+		} else {

+			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.basicSetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_55);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeaturepostinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeaturepostinsert.java
new file mode 100644
index 0000000..ce3d70d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeaturepostinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeaturepreinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeaturepreinsert.java
new file mode 100644
index 0000000..6e4ba00
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeaturepreinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicUnsetGenFeatureTODOoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicUnsetGenFeatureTODOoverride.java
new file mode 100644
index 0000000..5d16de0
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicUnsetGenFeatureTODOoverride.java
@@ -0,0 +1,329 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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;

+

+	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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_4);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicUnsetGenFeatureannotationsinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicUnsetGenFeatureannotationsinsert.java
new file mode 100644
index 0000000..ec079a6
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicUnsetGenFeatureannotationsinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicUnsetGenFeatureoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicUnsetGenFeatureoverride.java
new file mode 100644
index 0000000..75a558c
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicUnsetGenFeatureoverride.java
@@ -0,0 +1,550 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 -->";

+	protected final String TEXT_2 = NL + "\t * ";

+	protected final String TEXT_3 = NL + "\t * @generated" + NL + "\t */";

+	protected final String TEXT_4 = NL;

+	protected final String TEXT_5 = NL + "\t@Deprecated";

+	protected final String TEXT_6 = NL + "\tpublic ";

+	protected final String TEXT_7 = " basicUnset";

+	protected final String TEXT_8 = "(";

+	protected final String TEXT_9 = " msgs)" + NL + "\t{";

+	protected final String TEXT_10 = NL + "\t\treturn eDynamicInverseRemove(";

+	protected final String TEXT_11 = "basicGet";

+	protected final String TEXT_12 = "(), ";

+	protected final String TEXT_13 = ", msgs);";

+	protected final String TEXT_14 = "Object old";

+	protected final String TEXT_15 = " = ";

+	protected final String TEXT_16 = "eVirtualUnset(";

+	protected final String TEXT_17 = ");";

+	protected final String TEXT_18 = NL + "\t\t";

+	protected final String TEXT_19 = " old";

+	protected final String TEXT_20 = ";";

+	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 = " &= ~";

+	protected final String TEXT_29 = "_ESETFLAG;";

+	protected final String TEXT_30 = "ESet = ";

+	protected final String TEXT_31 = "ESet;";

+	protected final String TEXT_32 = "ESet = false;";

+	protected final String TEXT_33 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t{" + NL + "\t\t\t";

+	protected final String TEXT_34 = " notification = new ";

+	protected final String TEXT_35 = "(this, ";

+	protected final String TEXT_36 = ".UNSET, ";

+	protected final String TEXT_37 = ", ";

+	protected final String TEXT_38 = "isSetChange ? old";

+	protected final String TEXT_39 = " : null";

+	protected final String TEXT_40 = "old";

+	protected final String TEXT_41 = ", null, ";

+	protected final String TEXT_42 = "isSetChange";

+	protected final String TEXT_43 = "ESet";

+	protected final String TEXT_44 = ");" + NL

+			+ "\t\t\tif (msgs == null) msgs = notification; else msgs.add(notification);" + NL + "\t\t}" + NL

+			+ "\t\treturn msgs;";

+	protected final String TEXT_45 = NL + "\t}" + NL + NL;

+	protected final String TEXT_46 = 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_46);

+		stringBuffer.append(TEXT_46);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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.hasAPITags()) {

+			stringBuffer.append(TEXT_2);

+			stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+		}

+		stringBuffer.append(TEXT_3);

+		if (isJDK50) { //Class/basicUnsetGenFeature.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.basicUnsetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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);

+			}

+

+		}

+		if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_5);

+		}

+		stringBuffer.append(TEXT_6);

+		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

+		stringBuffer.append(TEXT_7);

+		stringBuffer.append(genFeature.getAccessorName());

+		stringBuffer.append(TEXT_8);

+		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

+		stringBuffer.append(TEXT_9);

+		if (genModel.isDynamicDelegation()) {

+			stringBuffer.append(TEXT_10);

+			stringBuffer.append(genFeature.getAsInternalEObject("", false));

+			if (genFeature.isResolveProxies()) {

+				stringBuffer.append(TEXT_11);

+				stringBuffer.append(genFeature.getAccessorName());

+			} else {

+				stringBuffer.append(genFeature.getGetAccessor());

+			}

+			stringBuffer.append(TEXT_12);

+			stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+			stringBuffer.append(positiveOffsetCorrection);

+			stringBuffer.append(TEXT_13);

+		} else if (!genFeature.isVolatile()) {

+			if (genModel.isVirtualDelegation()) {

+				if (!genModel.isSuppressNotification()) {

+					stringBuffer.append(TEXT_14);

+					stringBuffer.append(genFeature.getCapName());

+					stringBuffer.append(TEXT_15);

+				}

+				stringBuffer.append(TEXT_16);

+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+				stringBuffer.append(positiveOffsetCorrection);

+				stringBuffer.append(TEXT_17);

+			} else {

+				if (!genModel.isSuppressNotification()) {

+					stringBuffer.append(TEXT_18);

+					stringBuffer.append(genFeature.getImportedType(genClass));

+					stringBuffer.append(TEXT_19);

+					stringBuffer.append(genFeature.getCapName());

+					stringBuffer.append(TEXT_15);

+					stringBuffer.append(genFeature.getSafeName());

+					stringBuffer.append(TEXT_20);

+				}

+				stringBuffer.append(TEXT_18);

+				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_18);

+				stringBuffer.append(genClass.getESetFlagsField(genFeature));

+				stringBuffer.append(TEXT_28);

+				stringBuffer.append(genFeature.getUpperName());

+				stringBuffer.append(TEXT_29);

+			} else {

+				if (!genModel.isSuppressNotification()) {

+					stringBuffer.append(TEXT_24);

+					stringBuffer.append(genFeature.getCapName());

+					stringBuffer.append(TEXT_30);

+					stringBuffer.append(genFeature.getUncapName());

+					stringBuffer.append(TEXT_31);

+				}

+				stringBuffer.append(TEXT_18);

+				stringBuffer.append(genFeature.getUncapName());

+				stringBuffer.append(TEXT_32);

+			}

+			if (!genModel.isSuppressNotification()) {

+				stringBuffer.append(TEXT_33);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

+				stringBuffer.append(TEXT_34);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

+				stringBuffer.append(TEXT_35);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

+				stringBuffer.append(TEXT_36);

+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+				stringBuffer.append(positiveOffsetCorrection);

+				stringBuffer.append(TEXT_37);

+				if (genModel.isVirtualDelegation()) {

+					stringBuffer.append(TEXT_38);

+					stringBuffer.append(genFeature.getCapName());

+					stringBuffer.append(TEXT_39);

+				} else {

+					stringBuffer.append(TEXT_40);

+					stringBuffer.append(genFeature.getCapName());

+				}

+				stringBuffer.append(TEXT_41);

+				if (genModel.isVirtualDelegation()) {

+					stringBuffer.append(TEXT_42);

+				} else {

+					stringBuffer.append(TEXT_40);

+					stringBuffer.append(genFeature.getCapName());

+					stringBuffer.append(TEXT_43);

+				}

+				stringBuffer.append(TEXT_44);

+			}

+		} else {

+			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.basicUnsetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_45);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdeclaredFieldGenFeatureinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdeclaredFieldGenFeatureinsert.java
new file mode 100644
index 0000000..8ad69fb
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdeclaredFieldGenFeatureinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdeclaredFieldGenFeatureoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdeclaredFieldGenFeatureoverride.java
new file mode 100644
index 0000000..b57afea
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdeclaredFieldGenFeatureoverride.java
@@ -0,0 +1,780 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 = "()";

+	protected final String TEXT_7 = NL + "\t * ";

+	protected final String TEXT_8 = NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";

+	protected final String TEXT_9 = NL + "\t@";

+	protected final String TEXT_10 = NL + "\t@Deprecated";

+	protected final String TEXT_11 = NL + "\tprotected ";

+	protected final String TEXT_12 = ".Internal.SettingDelegate ";

+	protected final String TEXT_13 = "__ESETTING_DELEGATE = ((";

+	protected final String TEXT_14 = ".Internal)";

+	protected final String TEXT_15 = ").getSettingDelegate();" + NL;

+	protected final String TEXT_16 = NL + "\t/**" + NL + "\t * The cached value of the '{@link #";

+	protected final String TEXT_17 = " ";

+	protected final String TEXT_18 = ";" + NL;

+	protected final String TEXT_19 = NL + "\t/**" + NL + "\t * The empty value for the '{@link #";

+	protected final String TEXT_20 = "</em>}' array accessor." + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see #";

+	protected final String TEXT_21 = NL + "\t@SuppressWarnings(\"rawtypes\")";

+	protected final String TEXT_22 = NL + "\tprotected static final ";

+	protected final String TEXT_23 = "[] ";

+	protected final String TEXT_24 = "_EEMPTY_ARRAY = new ";

+	protected final String TEXT_25 = " [0]";

+	protected final String TEXT_26 = NL + "\t/**" + NL + "\t * The default value of the '{@link #";

+	protected final String TEXT_27 = NL + "\t@SuppressWarnings(\"unchecked\")";

+	protected final String TEXT_28 = "; // TODO The default value literal \"";

+	protected final String TEXT_29 = "\" is not valid.";

+	protected final String TEXT_30 = " = ";

+	protected final String TEXT_31 = ";";

+	protected final String TEXT_32 = NL;

+	protected final String TEXT_33 = 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_34 = NL + "\tprotected int ";

+	protected final String TEXT_35 = " = 0;" + NL;

+	protected final String TEXT_36 = NL + "\t/**" + NL

+			+ "\t * The offset of the flags representing the value of the '{@link #";

+	protected final String TEXT_37 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->";

+	protected final String TEXT_38 = NL + "\tprotected static final int ";

+	protected final String TEXT_39 = "_EFLAG_OFFSET = ";

+	protected final String TEXT_40 = ";" + NL + "" + NL + "\t/**" + NL

+			+ "\t * The flags representing the default value of the '{@link #";

+	protected final String TEXT_41 = "_EFLAG_DEFAULT = ";

+	protected final String TEXT_42 = ".ordinal()";

+	protected final String TEXT_43 = ".VALUES.indexOf(";

+	protected final String TEXT_44 = ")";

+	protected final String TEXT_45 = " << ";

+	protected final String TEXT_46 = "_EFLAG_OFFSET;" + NL + "" + NL + "\t/**" + NL

+			+ "\t * The array of enumeration values for '{@link ";

+	protected final String TEXT_47 = "}'" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->";

+	protected final String TEXT_48 = NL + "\tprivate static final ";

+	protected final String TEXT_49 = "_EFLAG_VALUES = ";

+	protected final String TEXT_50 = ".values()";

+	protected final String TEXT_51 = "(";

+	protected final String TEXT_52 = "[])";

+	protected final String TEXT_53 = ".VALUES.toArray(new ";

+	protected final String TEXT_54 = "[";

+	protected final String TEXT_55 = ".VALUES.size()])";

+	protected final String TEXT_56 = NL + "\t/**" + NL + "\t * The flag";

+	protected final String TEXT_57 = " representing the value of the '{@link #";

+	protected final String TEXT_58 = "_EFLAG = ";

+	protected final String TEXT_59 = "_EFLAG_OFFSET";

+	protected final String TEXT_60 = NL + "\t/**" + NL + "\t * The flag representing whether the ";

+	protected final String TEXT_61 = " has been set." + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->";

+	protected final String TEXT_62 = "_ESETFLAG = 1 << ";

+	protected final String TEXT_63 = NL + "\t/**" + NL + "\t * This is true if the ";

+	protected final String TEXT_64 = NL + "\tprotected boolean ";

+	protected final String TEXT_65 = "ESet;" + NL;

+	protected final String TEXT_66 = 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_66);

+		stringBuffer.append(TEXT_66);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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 (genFeature.hasAPITags()) {

+				stringBuffer.append(TEXT_7);

+				stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_8);

+			if (isGWT) {

+				stringBuffer.append(TEXT_9);

+				stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));

+			}

+			if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+				stringBuffer.append(TEXT_10);

+			}

+			stringBuffer.append(TEXT_11);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));

+			stringBuffer.append(TEXT_12);

+			stringBuffer.append(genFeature.getUpperName());

+			stringBuffer.append(TEXT_13);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));

+			stringBuffer.append(TEXT_14);

+			stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+			stringBuffer.append(TEXT_15);

+		} else if (genFeature.isListType() || genFeature.isReferenceType()) {

+			if (genClass.isField(genFeature)) {

+				stringBuffer.append(TEXT_16);

+				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 (genFeature.hasAPITags()) {

+					stringBuffer.append(TEXT_7);

+					stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+				}

+				stringBuffer.append(TEXT_8);

+				if (isGWT) {

+					stringBuffer.append(TEXT_9);

+					stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));

+				}

+				if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+					stringBuffer.append(TEXT_10);

+				}

+				stringBuffer.append(TEXT_11);

+				stringBuffer.append(genFeature.getImportedInternalType(genClass));

+				stringBuffer.append(TEXT_17);

+				stringBuffer.append(genFeature.getSafeName());

+				stringBuffer.append(TEXT_18);

+			}

+			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_19);

+				stringBuffer.append(genFeature.getGetArrayAccessor());

+				stringBuffer.append(TEXT_3);

+				stringBuffer.append(genFeature.getFormattedName());

+				stringBuffer.append(TEXT_20);

+				stringBuffer.append(genFeature.getGetArrayAccessor());

+				stringBuffer.append(TEXT_6);

+				if (genFeature.hasAPITags()) {

+					stringBuffer.append(TEXT_7);

+					stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+				}

+				stringBuffer.append(TEXT_8);

+				if (genFeature.getQualifiedListItemType(genClass).contains("<")

+						|| genFeature.getArrayItemType(genClass).contains("<")) {

+					stringBuffer.append(TEXT_21);

+				}

+				if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+					stringBuffer.append(TEXT_10);

+				}

+				stringBuffer.append(TEXT_22);

+				stringBuffer.append(rawListItemType);

+				stringBuffer.append(TEXT_23);

+				stringBuffer.append(genFeature.getUpperName());

+				stringBuffer.append(TEXT_24);

+				stringBuffer.append(head);

+				stringBuffer.append(TEXT_25);

+				stringBuffer.append(tail);

+				stringBuffer.append(TEXT_18);

+			}

+		} else {

+			if (genFeature.hasEDefault() && (!genFeature.isVolatile() || !genModel.isReflectiveDelegation()

+					&& (!genFeature.hasDelegateFeature() || !genFeature.isUnsettable()))) {

+				String staticDefaultValue = genFeature.getStaticDefaultValue();

+				stringBuffer.append(TEXT_26);

+				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 (genFeature.hasAPITags()) {

+					stringBuffer.append(TEXT_7);

+					stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+				}

+				stringBuffer.append(TEXT_8);

+				if (genModel.useGenerics() && genFeature.isListDataType() && genFeature.isSetDefaultValue()) {

+					stringBuffer.append(TEXT_27);

+				}

+				if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+					stringBuffer.append(TEXT_10);

+				}

+				stringBuffer.append(TEXT_22);

+				stringBuffer.append(genFeature.getImportedType(genClass));

+				stringBuffer.append(TEXT_17);

+				stringBuffer.append(genFeature.getEDefault());

+				if ("".equals(staticDefaultValue)) {

+					stringBuffer.append(TEXT_28);

+					stringBuffer.append(genFeature.getEcoreFeature().getDefaultValueLiteral());

+					stringBuffer.append(TEXT_29);

+				} else {

+					stringBuffer.append(TEXT_30);

+					stringBuffer.append(staticDefaultValue);

+					stringBuffer.append(TEXT_31);

+					stringBuffer.append(genModel.getNonNLS(staticDefaultValue));

+				}

+				stringBuffer.append(TEXT_32);

+			}

+			if (genClass.isField(genFeature)) {

+				if (genClass.isFlag(genFeature)) {

+					int flagIndex = genClass.getFlagIndex(genFeature);

+					if (flagIndex > 31 && flagIndex % 32 == 0) {

+						stringBuffer.append(TEXT_33);

+						if (isGWT) {

+							stringBuffer.append(TEXT_9);

+							stringBuffer

+									.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));

+						}

+						stringBuffer.append(TEXT_34);

+						stringBuffer.append(genClass.getFlagsField(genFeature));

+						stringBuffer.append(TEXT_35);

+					}

+					if (genFeature.isEnumType()) {

+						stringBuffer.append(TEXT_36);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_3);

+						stringBuffer.append(genFeature.getFormattedName());

+						stringBuffer.append(TEXT_4);

+						stringBuffer.append(genFeature.getFeatureKind());

+						stringBuffer.append(TEXT_37);

+						if (genFeature.hasAPITags()) {

+							stringBuffer.append(TEXT_7);

+							stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+						}

+						stringBuffer.append(TEXT_8);

+						if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+							stringBuffer.append(TEXT_10);

+						}

+						stringBuffer.append(TEXT_38);

+						stringBuffer.append(genFeature.getUpperName());

+						stringBuffer.append(TEXT_39);

+						stringBuffer.append(flagIndex % 32);

+						stringBuffer.append(TEXT_40);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_3);

+						stringBuffer.append(genFeature.getFormattedName());

+						stringBuffer.append(TEXT_4);

+						stringBuffer.append(genFeature.getFeatureKind());

+						stringBuffer.append(TEXT_37);

+						if (genFeature.hasAPITags()) {

+							stringBuffer.append(TEXT_7);

+							stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+						}

+						stringBuffer.append(TEXT_8);

+						if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+							stringBuffer.append(TEXT_10);

+						}

+						stringBuffer.append(TEXT_38);

+						stringBuffer.append(genFeature.getUpperName());

+						stringBuffer.append(TEXT_41);

+						if (isJDK50) {

+							stringBuffer.append(genFeature.getEDefault());

+							stringBuffer.append(TEXT_42);

+						} else {

+							stringBuffer.append(genFeature.getImportedType(genClass));

+							stringBuffer.append(TEXT_43);

+							stringBuffer.append(genFeature.getEDefault());

+							stringBuffer.append(TEXT_44);

+						}

+						stringBuffer.append(TEXT_45);

+						stringBuffer.append(genFeature.getUpperName());

+						stringBuffer.append(TEXT_46);

+						stringBuffer.append(genFeature.getImportedType(genClass));

+						stringBuffer.append(TEXT_17);

+						stringBuffer.append(genFeature.getTypeGenClassifier().getFormattedName());

+						stringBuffer.append(TEXT_47);

+						if (genFeature.hasAPITags()) {

+							stringBuffer.append(TEXT_7);

+							stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+						}

+						stringBuffer.append(TEXT_8);

+						if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+							stringBuffer.append(TEXT_10);

+						}

+						stringBuffer.append(TEXT_48);

+						stringBuffer.append(genFeature.getImportedType(genClass));

+						stringBuffer.append(TEXT_23);

+						stringBuffer.append(genFeature.getUpperName());

+						stringBuffer.append(TEXT_49);

+						if (isJDK50) {

+							stringBuffer.append(genFeature.getImportedType(genClass));

+							stringBuffer.append(TEXT_50);

+						} else {

+							stringBuffer.append(TEXT_51);

+							stringBuffer.append(genFeature.getImportedType(genClass));

+							stringBuffer.append(TEXT_52);

+							stringBuffer.append(genFeature.getImportedType(genClass));

+							stringBuffer.append(TEXT_53);

+							stringBuffer.append(genFeature.getImportedType(genClass));

+							stringBuffer.append(TEXT_54);

+							stringBuffer.append(genFeature.getImportedType(genClass));

+							stringBuffer.append(TEXT_55);

+						}

+						stringBuffer.append(TEXT_18);

+					}

+					stringBuffer.append(TEXT_56);

+					stringBuffer.append(genClass.getFlagSize(genFeature) > 1 ? "s" : "");

+					stringBuffer.append(TEXT_57);

+					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 (genFeature.hasAPITags()) {

+						stringBuffer.append(TEXT_7);

+						stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+					}

+					stringBuffer.append(TEXT_8);

+					if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+						stringBuffer.append(TEXT_10);

+					}

+					stringBuffer.append(TEXT_38);

+					stringBuffer.append(genFeature.getUpperName());

+					stringBuffer.append(TEXT_58);

+					stringBuffer.append(genClass.getFlagMask(genFeature));

+					stringBuffer.append(TEXT_45);

+					if (genFeature.isEnumType()) {

+						stringBuffer.append(genFeature.getUpperName());

+						stringBuffer.append(TEXT_59);

+					} else {

+						stringBuffer.append(flagIndex % 32);

+					}

+					stringBuffer.append(TEXT_18);

+				} else {

+					stringBuffer.append(TEXT_16);

+					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 (genFeature.hasAPITags()) {

+						stringBuffer.append(TEXT_7);

+						stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+					}

+					stringBuffer.append(TEXT_8);

+					if (isGWT) {

+						stringBuffer.append(TEXT_9);

+						stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));

+					}

+					if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+						stringBuffer.append(TEXT_10);

+					}

+					stringBuffer.append(TEXT_11);

+					stringBuffer.append(genFeature.getImportedType(genClass));

+					stringBuffer.append(TEXT_17);

+					stringBuffer.append(genFeature.getSafeName());

+					if (genFeature.hasEDefault()) {

+						stringBuffer.append(TEXT_30);

+						stringBuffer.append(genFeature.getEDefault());

+					}

+					stringBuffer.append(TEXT_18);

+				}

+			}

+		}

+		if (genClass.isESetField(genFeature)) {

+			if (genClass.isESetFlag(genFeature)) {

+				int flagIndex = genClass.getESetFlagIndex(genFeature);

+				if (flagIndex > 31 && flagIndex % 32 == 0) {

+					stringBuffer.append(TEXT_33);

+					if (isGWT) {

+						stringBuffer.append(TEXT_9);

+						stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));

+					}

+					stringBuffer.append(TEXT_34);

+					stringBuffer.append(genClass.getESetFlagsField(genFeature));

+					stringBuffer.append(TEXT_35);

+				}

+				stringBuffer.append(TEXT_60);

+				stringBuffer.append(genFeature.getFormattedName());

+				stringBuffer.append(TEXT_17);

+				stringBuffer.append(genFeature.getFeatureKind());

+				stringBuffer.append(TEXT_61);

+				if (genFeature.hasAPITags()) {

+					stringBuffer.append(TEXT_7);

+					stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+				}

+				stringBuffer.append(TEXT_8);

+				if (genFeature.hasAPITags()) {

+					stringBuffer.append(TEXT_7);

+					stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+				}

+				stringBuffer.append(TEXT_38);

+				stringBuffer.append(genFeature.getUpperName());

+				stringBuffer.append(TEXT_62);

+				stringBuffer.append(flagIndex % 32);

+				stringBuffer.append(TEXT_18);

+			} else {

+				stringBuffer.append(TEXT_63);

+				stringBuffer.append(genFeature.getFormattedName());

+				stringBuffer.append(TEXT_17);

+				stringBuffer.append(genFeature.getFeatureKind());

+				stringBuffer.append(TEXT_61);

+				if (genFeature.hasAPITags()) {

+					stringBuffer.append(TEXT_7);

+					stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+				}

+				stringBuffer.append(TEXT_8);

+				if (isGWT) {

+					stringBuffer.append(TEXT_9);

+					stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));

+				}

+				if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+					stringBuffer.append(TEXT_10);

+				}

+				stringBuffer.append(TEXT_64);

+				stringBuffer.append(genFeature.getUncapName());

+				stringBuffer.append(TEXT_65);

+			}

+		}

+		stringBuffer.append(TEXT_32);

+		{

+			//<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+			callParameters.put("isGWT", isGWT);

+			callParameters.put("forceDefaultCase", forceDefaultCase);

+			callParameters.put("indentDefaultCase", indentDefaultCase);

+			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_32);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdynamicDelegation.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdynamicDelegation.java
new file mode 100644
index 0000000..9dc7e23
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdynamicDelegation.java
@@ -0,0 +1,304 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import org.eclipse.emf.ecore.*;

+import org.eclipse.egf.model.pattern.*;

+import org.eclipse.egf.pattern.execution.*;

+import org.eclipse.egf.pattern.query.*;

+

+public class ClassdynamicDelegation {

+	protected static String nl;

+

+	public static synchronized ClassdynamicDelegation create(String lineSeparator) {

+		nl = lineSeparator;

+		ClassdynamicDelegation result = new ClassdynamicDelegation();

+		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 ClassdynamicDelegation() {

+		//Here is the constructor

+		StringBuffer stringBuffer = new StringBuffer();

+

+		// add initialisation of the pattern variables (declaration has been already done).

+

+	}

+

+	public String generate(Object argument) throws Exception {

+		final 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+									for (Object isGWTParameter : isGWTList) {

+										for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+											for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+												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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																		this.isGWT = (java.lang.Boolean) isGWTParameter;

+																		this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																		this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																		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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdynamicSetGenFeaturepostinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdynamicSetGenFeaturepostinsert.java
new file mode 100644
index 0000000..9aef723
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdynamicSetGenFeaturepostinsert.java
@@ -0,0 +1,330 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import org.eclipse.emf.ecore.*;

+import org.eclipse.egf.model.pattern.*;

+import org.eclipse.egf.pattern.execution.*;

+import org.eclipse.egf.pattern.query.*;

+

+public class ClassdynamicSetGenFeaturepostinsert {

+	protected static String nl;

+

+	public static synchronized ClassdynamicSetGenFeaturepostinsert create(String lineSeparator) {

+		nl = lineSeparator;

+		ClassdynamicSetGenFeaturepostinsert result = new ClassdynamicSetGenFeaturepostinsert();

+		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 ClassdynamicSetGenFeaturepostinsert() {

+		//Here is the constructor

+		StringBuffer stringBuffer = new StringBuffer();

+

+		// add initialisation of the pattern variables (declaration has been already done).

+

+	}

+

+	public String generate(Object argument) throws Exception {

+		final 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+											for (Object isGWTParameter : isGWTList) {

+												for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+													for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+														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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																				this.isGWT = (java.lang.Boolean) isGWTParameter;

+																				this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																				this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																				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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdynamicSetGenFeaturepreinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdynamicSetGenFeaturepreinsert.java
new file mode 100644
index 0000000..e1bed83
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdynamicSetGenFeaturepreinsert.java
@@ -0,0 +1,330 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import org.eclipse.emf.ecore.*;

+import org.eclipse.egf.model.pattern.*;

+import org.eclipse.egf.pattern.execution.*;

+import org.eclipse.egf.pattern.query.*;

+

+public class ClassdynamicSetGenFeaturepreinsert {

+	protected static String nl;

+

+	public static synchronized ClassdynamicSetGenFeaturepreinsert create(String lineSeparator) {

+		nl = lineSeparator;

+		ClassdynamicSetGenFeaturepreinsert result = new ClassdynamicSetGenFeaturepreinsert();

+		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 ClassdynamicSetGenFeaturepreinsert() {

+		//Here is the constructor

+		StringBuffer stringBuffer = new StringBuffer();

+

+		// add initialisation of the pattern variables (declaration has been already done).

+

+	}

+

+	public String generate(Object argument) throws Exception {

+		final 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+											for (Object isGWTParameter : isGWTList) {

+												for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+													for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+														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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																				this.isGWT = (java.lang.Boolean) isGWTParameter;

+																				this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																				this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																				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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasseIsSetoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasseIsSetoverride.java
new file mode 100644
index 0000000..9a4cf6b
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasseIsSetoverride.java
@@ -0,0 +1,587 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 = " != null && !";

+	protected final String TEXT_16 = ".featureMap().isEmpty();";

+	protected final String TEXT_17 = ".isEmpty();";

+	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 = ")eVirtualGet(";

+	protected final String TEXT_22 = ");" + NL + "\t\t\t\treturn ";

+	protected final String TEXT_23 = NL + "\t\t\t\treturn !";

+	protected final String TEXT_24 = "().isEmpty();";

+	protected final String TEXT_25 = " != null;";

+	protected final String TEXT_26 = NL + "\t\t\t\treturn eVirtualGet(";

+	protected final String TEXT_27 = ") != null;";

+	protected final String TEXT_28 = NL + "\t\t\t\treturn basicGet";

+	protected final String TEXT_29 = "() != null;";

+	protected final String TEXT_30 = NL + "\t\t\t\treturn ((";

+	protected final String TEXT_31 = " & ";

+	protected final String TEXT_32 = "_EFLAG) != 0) != ";

+	protected final String TEXT_33 = ";";

+	protected final String TEXT_34 = NL + "\t\t\t\treturn (";

+	protected final String TEXT_35 = "_EFLAG) != ";

+	protected final String TEXT_36 = "_EFLAG_DEFAULT;";

+	protected final String TEXT_37 = " != ";

+	protected final String TEXT_38 = ", ";

+	protected final String TEXT_39 = ") != ";

+	protected final String TEXT_40 = "() != ";

+	protected final String TEXT_41 = " == null ? ";

+	protected final String TEXT_42 = " != null : !";

+	protected final String TEXT_43 = ".equals(";

+	protected final String TEXT_44 = ");";

+	protected final String TEXT_45 = "() != null : !";

+	protected final String TEXT_46 = "());";

+	protected final String TEXT_47 = NL + "\t\t\tdefault:";

+	protected final String TEXT_48 = NL + "\t\t}";

+	protected final String TEXT_49 = NL;

+	protected final String TEXT_50 = "\t\treturn super.eIsSet(featureID);";

+	protected final String TEXT_51 = "\t\treturn eDynamicIsSet(featureID);";

+	protected final String TEXT_52 = NL + "\t}" + NL + NL;

+	protected final String TEXT_53 = 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+									for (Object isGWTParameter : isGWTList) {

+										for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+											for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+												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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																		this.isGWT = (java.lang.Boolean) isGWTParameter;

+																		this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																		this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																		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_53);

+		stringBuffer.append(TEXT_53);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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_10);

+						stringBuffer.append(safeNameAccessor);

+						stringBuffer.append(TEXT_15);

+						stringBuffer.append(safeNameAccessor);

+						stringBuffer.append(TEXT_16);

+					}

+				} else {

+					if (genClass.isField(genFeature)) {

+						stringBuffer.append(TEXT_10);

+						stringBuffer.append(safeNameAccessor);

+						stringBuffer.append(TEXT_15);

+						stringBuffer.append(safeNameAccessor);

+						stringBuffer.append(TEXT_17);

+					} else {

+						if (genFeature.isField()

+								&& genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {

+							stringBuffer.append(TEXT_18);

+							stringBuffer.append(genFeature.getImportedType(genClass));

+							stringBuffer.append(TEXT_19);

+							stringBuffer.append(safeNameAccessor);

+							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(safeNameAccessor);

+							stringBuffer.append(TEXT_15);

+							stringBuffer.append(safeNameAccessor);

+							stringBuffer.append(TEXT_17);

+						} else {

+							stringBuffer.append(TEXT_23);

+							stringBuffer.append(genFeature.getGetAccessor());

+							stringBuffer.append(TEXT_24);

+						}

+					}

+				}

+			} else if (genFeature.isUnsettable()) {

+				stringBuffer.append(TEXT_8);

+				stringBuffer.append(genFeature.getAccessorName());

+				stringBuffer.append(TEXT_9);

+			} else if (genFeature.isResolveProxies()) {

+				if (genClass.isField(genFeature)) {

+					stringBuffer.append(TEXT_10);

+					stringBuffer.append(safeNameAccessor);

+					stringBuffer.append(TEXT_25);

+				} else {

+					if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {

+						stringBuffer.append(TEXT_26);

+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(positiveOffsetCorrection);

+						stringBuffer.append(TEXT_27);

+					} else {

+						stringBuffer.append(TEXT_28);

+						stringBuffer.append(genFeature.getAccessorName());

+						stringBuffer.append(TEXT_29);

+					}

+				}

+			} else if (!genFeature.hasEDefault()) {

+				if (genClass.isField(genFeature)) {

+					stringBuffer.append(TEXT_10);

+					stringBuffer.append(safeNameAccessor);

+					stringBuffer.append(TEXT_25);

+				} else {

+					if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {

+						stringBuffer.append(TEXT_26);

+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(positiveOffsetCorrection);

+						stringBuffer.append(TEXT_27);

+					} else {

+						stringBuffer.append(TEXT_10);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_29);

+					}

+				}

+			} else if (genFeature.isPrimitiveType() || genFeature.isEnumType()) {

+				if (genClass.isField(genFeature)) {

+					if (genClass.isFlag(genFeature)) {

+						if (genFeature.isBooleanType()) {

+							stringBuffer.append(TEXT_30);

+							stringBuffer.append(genClass.getFlagsField(genFeature));

+							stringBuffer.append(TEXT_31);

+							stringBuffer.append(genFeature.getUpperName());

+							stringBuffer.append(TEXT_32);

+							stringBuffer.append(genFeature.getEDefault());

+							stringBuffer.append(TEXT_33);

+						} else {

+							stringBuffer.append(TEXT_34);

+							stringBuffer.append(genClass.getFlagsField(genFeature));

+							stringBuffer.append(TEXT_31);

+							stringBuffer.append(genFeature.getUpperName());

+							stringBuffer.append(TEXT_35);

+							stringBuffer.append(genFeature.getUpperName());

+							stringBuffer.append(TEXT_36);

+						}

+					} else {

+						stringBuffer.append(TEXT_10);

+						stringBuffer.append(safeNameAccessor);

+						stringBuffer.append(TEXT_37);

+						stringBuffer.append(genFeature.getEDefault());

+						stringBuffer.append(TEXT_33);

+					}

+				} else {

+					if (genFeature.isEnumType() && genFeature.isField()

+							&& genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {

+						stringBuffer.append(TEXT_26);

+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(positiveOffsetCorrection);

+						stringBuffer.append(TEXT_38);

+						stringBuffer.append(genFeature.getEDefault());

+						stringBuffer.append(TEXT_39);

+						stringBuffer.append(genFeature.getEDefault());

+						stringBuffer.append(TEXT_33);

+					} else {

+						stringBuffer.append(TEXT_10);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_40);

+						stringBuffer.append(genFeature.getEDefault());

+						stringBuffer.append(TEXT_33);

+					}

+				}

+			} else {//datatype

+				if (genClass.isField(genFeature)) {

+					stringBuffer.append(TEXT_10);

+					stringBuffer.append(genFeature.getEDefault());

+					stringBuffer.append(TEXT_41);

+					stringBuffer.append(safeNameAccessor);

+					stringBuffer.append(TEXT_42);

+					stringBuffer.append(genFeature.getEDefault());

+					stringBuffer.append(TEXT_43);

+					stringBuffer.append(safeNameAccessor);

+					stringBuffer.append(TEXT_44);

+				} else {

+					if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {

+						stringBuffer.append(TEXT_18);

+						stringBuffer.append(genFeature.getImportedType(genClass));

+						stringBuffer.append(TEXT_19);

+						stringBuffer.append(safeNameAccessor);

+						stringBuffer.append(TEXT_20);

+						stringBuffer.append(genFeature.getImportedType(genClass));

+						stringBuffer.append(TEXT_21);

+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(positiveOffsetCorrection);

+						stringBuffer.append(TEXT_38);

+						stringBuffer.append(genFeature.getEDefault());

+						stringBuffer.append(TEXT_22);

+						stringBuffer.append(genFeature.getEDefault());

+						stringBuffer.append(TEXT_41);

+						stringBuffer.append(safeNameAccessor);

+						stringBuffer.append(TEXT_42);

+						stringBuffer.append(genFeature.getEDefault());

+						stringBuffer.append(TEXT_43);

+						stringBuffer.append(safeNameAccessor);

+						stringBuffer.append(TEXT_44);

+					} else {

+						stringBuffer.append(TEXT_10);

+						stringBuffer.append(genFeature.getEDefault());

+						stringBuffer.append(TEXT_41);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_45);

+						stringBuffer.append(genFeature.getEDefault());

+						stringBuffer.append(TEXT_43);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_46);

+					}

+				}

+			}

+		}

+		if (forceDefaultCase) {

+			stringBuffer.append(TEXT_47);

+		} else { // {

+			stringBuffer.append(TEXT_48);

+		}

+		if (genModel.isMinimalReflectiveMethods()) {

+			stringBuffer.append(TEXT_49);

+			stringBuffer.append(indentDefaultCase);

+			stringBuffer.append(TEXT_50);

+		} else {

+			stringBuffer.append(TEXT_49);

+			stringBuffer.append(indentDefaultCase);

+			stringBuffer.append(TEXT_51);

+		}

+		if (forceDefaultCase) { // {

+			stringBuffer.append(TEXT_48);

+		} // }

+		stringBuffer.append(TEXT_52);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasseUnsetoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasseUnsetoverride.java
new file mode 100644
index 0000000..906edf7
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasseUnsetoverride.java
@@ -0,0 +1,401 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 = "__ESETTING_DELEGATE.dynamicUnset(this, null, 0);";

+	protected final String TEXT_18 = "(";

+	protected final String TEXT_19 = ");";

+	protected final String TEXT_20 = NL + "\t\t\t\treturn;";

+	protected final String TEXT_21 = NL + "\t\t\tdefault:";

+	protected final String TEXT_22 = NL + "\t\t}";

+	protected final String TEXT_23 = NL;

+	protected final String TEXT_24 = "\t\tsuper.eUnset(featureID);";

+	protected final String TEXT_25 = "\t\teDynamicUnset(featureID);";

+	protected final String TEXT_26 = NL + "\t}" + NL + NL;

+	protected final String TEXT_27 = 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+									for (Object isGWTParameter : isGWTList) {

+										for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+											for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+												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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																		this.isGWT = (java.lang.Boolean) isGWTParameter;

+																		this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																		this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																		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_27);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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_10);

+				stringBuffer.append(genFeature.getUpperName());

+				stringBuffer.append(TEXT_17);

+			} else {

+				stringBuffer.append(TEXT_14);

+				stringBuffer.append(genFeature.getAccessorName());

+				stringBuffer.append(TEXT_18);

+				stringBuffer.append(genFeature.getEDefault());

+				stringBuffer.append(TEXT_19);

+			}

+			stringBuffer.append(TEXT_20);

+		}

+		if (forceDefaultCase) {

+			stringBuffer.append(TEXT_21);

+		} else { // {

+			stringBuffer.append(TEXT_22);

+		}

+		if (genModel.isMinimalReflectiveMethods()) {

+			stringBuffer.append(TEXT_23);

+			stringBuffer.append(indentDefaultCase);

+			stringBuffer.append(TEXT_24);

+			if (forceDefaultCase) {

+				stringBuffer.append(TEXT_20);

+			}

+		} else {

+			stringBuffer.append(TEXT_23);

+			stringBuffer.append(indentDefaultCase);

+			stringBuffer.append(TEXT_25);

+			if (forceDefaultCase) {

+				stringBuffer.append(TEXT_20);

+			}

+		}

+		if (forceDefaultCase) { // {

+			stringBuffer.append(TEXT_22);

+		} // }

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassegfCustomconstructoroverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassegfCustomconstructoroverride.java
new file mode 100644
index 0000000..463f2bb
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassegfCustomconstructoroverride.java
@@ -0,0 +1,305 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import org.eclipse.emf.ecore.*;

+import org.eclipse.egf.model.pattern.*;

+import org.eclipse.egf.pattern.execution.*;

+import org.eclipse.egf.pattern.query.*;

+

+public class ClassegfCustomconstructoroverride {

+	protected static String nl;

+

+	public static synchronized ClassegfCustomconstructoroverride create(String lineSeparator) {

+		nl = lineSeparator;

+		ClassegfCustomconstructoroverride result = new ClassegfCustomconstructoroverride();

+		nl = null;

+		return result;

+	}

+

+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

+	protected final String TEXT_1 = NL + "\t\tsuper();" + NL;

+	protected final String TEXT_2 = NL;

+

+	public ClassegfCustomconstructoroverride() {

+		//Here is the constructor

+		StringBuffer stringBuffer = new StringBuffer();

+

+		// add initialisation of the pattern variables (declaration has been already done).

+

+	}

+

+	public String generate(Object argument) throws Exception {

+		final 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+									for (Object isGWTParameter : isGWTList) {

+										for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+											for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+												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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																		this.isGWT = (java.lang.Boolean) isGWTParameter;

+																		this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																		this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																		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_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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenFeatureReifiedoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenFeatureReifiedoverride.java
new file mode 100644
index 0000000..7f298e1
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenFeatureReifiedoverride.java
@@ -0,0 +1,715 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 * @see #";

+	protected final String TEXT_3 = "()";

+	protected final String TEXT_4 = NL + "\t * ";

+	protected final String TEXT_5 = NL + "\t * @generated" + NL + "\t */";

+	protected final String TEXT_6 = NL + "\t@SuppressWarnings(\"unchecked\")";

+	protected final String TEXT_7 = NL + "\t@Deprecated";

+	protected final String TEXT_8 = NL + "\t@Override";

+	protected final String TEXT_9 = NL + "\tpublic ";

+	protected final String TEXT_10 = "[] ";

+	protected final String TEXT_11 = "()" + NL + "\t{";

+	protected final String TEXT_12 = NL + "\t\t";

+	protected final String TEXT_13 = " list = (";

+	protected final String TEXT_14 = ")";

+	protected final String TEXT_15 = "();" + NL + "\t\tif (list.isEmpty()) return ";

+	protected final String TEXT_16 = "_EEMPTY_ARRAY;";

+	protected final String TEXT_17 = NL + "\t\tif (";

+	protected final String TEXT_18 = " == null || ";

+	protected final String TEXT_19 = ".isEmpty()) return ";

+	protected final String TEXT_20 = "_EEMPTY_ARRAY;" + NL + "\t\t";

+	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 * This is specialized for the more specific element type known in this context.";

+	protected final String TEXT_25 = NL;

+	protected final String TEXT_26 = " ";

+	protected final String TEXT_27 = "_";

+	protected final String TEXT_28 = " = (";

+	protected final String TEXT_29 = ")eVirtualGet(";

+	protected final String TEXT_30 = ");";

+	protected final String TEXT_31 = " == null)" + NL + "\t\t{";

+	protected final String TEXT_32 = NL + "\t\t\teVirtualSet(";

+	protected final String TEXT_33 = ", ";

+	protected final String TEXT_34 = " = new ";

+	protected final String TEXT_35 = NL + "\t\t\t";

+	protected final String TEXT_36 = NL + "\t\t}" + NL + "\t\treturn ";

+	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 * This is specialized for the more specific type known in this context.";

+	protected final String TEXT_39 = " basicSet";

+	protected final String TEXT_40 = "(";

+	protected final String TEXT_41 = " new";

+	protected final String TEXT_42 = " msgs)" + NL + "\t{" + NL + "\t\treturn super.basicSet";

+	protected final String TEXT_43 = "(new";

+	protected final String TEXT_44 = ", msgs);" + NL + "\t}" + NL;

+	protected final String TEXT_45 = NL + "\tpublic void set";

+	protected final String TEXT_46 = ")" + NL + "\t{" + NL + "\t\tsuper.set";

+	protected final String TEXT_47 = ");" + NL + "\t}" + NL;

+	protected final String TEXT_48 = 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+												for (Object isGWTParameter : isGWTList) {

+													for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+														for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+															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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																					this.isGWT = (java.lang.Boolean) isGWTParameter;

+																					this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																					this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																					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_48);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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);

+			stringBuffer.append(genFeature.getGetAccessor());

+			stringBuffer.append(TEXT_3);

+			if (genFeature.hasAPITags()) {

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_5);

+			if (genModel.useGenerics() && CodeGenUtil.isUncheckedCast(arrayElementType)) {

+				stringBuffer.append(TEXT_6);

+			}

+			if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+				stringBuffer.append(TEXT_7);

+			}

+			if (useInterfaceOverrideAnnotation || classExtendsAllGenFeatures.contains(genFeature)) {

+				stringBuffer.append(TEXT_8);

+			}

+			stringBuffer.append(TEXT_9);

+			stringBuffer.append(arrayElementType);

+			stringBuffer.append(TEXT_10);

+			stringBuffer.append(genFeature.getGetArrayAccessor());

+			stringBuffer.append(TEXT_11);

+			if (genFeature.isVolatile()) {

+				stringBuffer.append(TEXT_12);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

+				stringBuffer.append(genFeature.getListTemplateArguments(genClass));

+				stringBuffer.append(TEXT_13);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

+				stringBuffer.append(genFeature.getListTemplateArguments(genClass));

+				stringBuffer.append(TEXT_14);

+				stringBuffer.append(genFeature.getGetAccessor());

+				stringBuffer.append(TEXT_15);

+				stringBuffer.append(genFeature.getUpperName());

+				stringBuffer.append(TEXT_16);

+			} else {

+				stringBuffer.append(TEXT_17);

+				stringBuffer.append(genFeature.getSafeName());

+				stringBuffer.append(TEXT_18);

+				stringBuffer.append(genFeature.getSafeName());

+				stringBuffer.append(TEXT_19);

+				stringBuffer.append(genFeature.getUpperName());

+				stringBuffer.append(TEXT_20);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

+				stringBuffer.append(genFeature.getListTemplateArguments(genClass));

+				stringBuffer.append(TEXT_13);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

+				stringBuffer.append(genFeature.getListTemplateArguments(genClass));

+				stringBuffer.append(TEXT_14);

+				stringBuffer.append(genFeature.getSafeName());

+				stringBuffer.append(TEXT_21);

+			}

+			stringBuffer.append(TEXT_22);

+			stringBuffer.append(arrayElementType);

+			stringBuffer.append(TEXT_23);

+		}

+		if (genFeature.isGet() && genFeature.isListType()) {

+			stringBuffer.append(TEXT_24);

+			if (genFeature.hasAPITags()) {

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_5);

+			if (isJDK50) { //Class/getGenFeature.annotations.insert.javajetinc

+				stringBuffer.append(TEXT_25);

+				{

+					//<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+					callParameters.put("isGWT", isGWT);

+					callParameters.put("forceDefaultCase", forceDefaultCase);

+					callParameters.put("indentDefaultCase", indentDefaultCase);

+					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_6);

+			}

+			if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+				stringBuffer.append(TEXT_7);

+			}

+			if (useInterfaceOverrideAnnotation || classExtendsAllGenFeatures.contains(genFeature)) {

+				stringBuffer.append(TEXT_8);

+			}

+			stringBuffer.append(TEXT_9);

+			stringBuffer.append(genFeature.getImportedType(genClass));

+			stringBuffer.append(TEXT_26);

+			stringBuffer.append(genFeature.getGetAccessor());

+			if (genClass.hasCollidingGetAccessorOperation(genFeature)) {

+				stringBuffer.append(TEXT_27);

+			}

+			stringBuffer.append(TEXT_11);

+			stringBuffer.append(TEXT_25);

+			{

+				//<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_12);

+				stringBuffer.append(genFeature.getImportedType(genClass));

+				stringBuffer.append(TEXT_26);

+				stringBuffer.append(genFeature.getSafeName());

+				stringBuffer.append(TEXT_28);

+				stringBuffer.append(genFeature.getImportedType(genClass));

+				stringBuffer.append(TEXT_29);

+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+				stringBuffer.append(positiveOffsetCorrection);

+				stringBuffer.append(TEXT_30);

+			}

+			stringBuffer.append(TEXT_17);

+			stringBuffer.append(genFeature.getSafeName());

+			stringBuffer.append(TEXT_31);

+			if (genModel.isVirtualDelegation()) {

+				stringBuffer.append(TEXT_32);

+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+				stringBuffer.append(positiveOffsetCorrection);

+				stringBuffer.append(TEXT_33);

+				stringBuffer.append(genFeature.getSafeName());

+				stringBuffer.append(TEXT_34);

+				stringBuffer.append(genClass.getListConstructor(genFeature));

+				stringBuffer.append(TEXT_30);

+			} else {

+				stringBuffer.append(TEXT_35);

+				stringBuffer.append(genFeature.getSafeName());

+				stringBuffer.append(TEXT_34);

+				stringBuffer.append(genClass.getListConstructor(genFeature));

+				stringBuffer.append(TEXT_21);

+			}

+			stringBuffer.append(TEXT_36);

+			stringBuffer.append(genFeature.getSafeName());

+			stringBuffer.append(genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes() ? ".map()" : "");

+			stringBuffer.append(TEXT_37);

+		}

+		if (!genModel.isReflectiveDelegation() && genFeature.isBasicSet()) {

+			stringBuffer.append(TEXT_38);

+			if (genFeature.hasAPITags()) {

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_5);

+			if (isJDK50) { //Class/basicSetGenFeature.annotations.insert.javajetinc

+				stringBuffer.append(TEXT_25);

+				{

+					//<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+					callParameters.put("isGWT", isGWT);

+					callParameters.put("forceDefaultCase", forceDefaultCase);

+					callParameters.put("indentDefaultCase", indentDefaultCase);

+					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 (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+				stringBuffer.append(TEXT_7);

+			}

+			if (classExtendsAllGenFeatures.contains(genFeature)) {

+				stringBuffer.append(TEXT_8);

+			}

+			stringBuffer.append(TEXT_9);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

+			stringBuffer.append(TEXT_39);

+			stringBuffer.append(genFeature.getAccessorName());

+			stringBuffer.append(TEXT_40);

+			stringBuffer.append(genFeature.getImportedInternalType(genClass));

+			stringBuffer.append(TEXT_41);

+			stringBuffer.append(genFeature.getCapName());

+			stringBuffer.append(TEXT_33);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

+			stringBuffer.append(TEXT_42);

+			stringBuffer.append(genFeature.getAccessorName());

+			stringBuffer.append(TEXT_43);

+			stringBuffer.append(genFeature.getCapName());

+			stringBuffer.append(TEXT_44);

+		}

+		if (genFeature.isSet() && !(!genModel.isReflectiveDelegation() && genFeature.isBasicSet())) {

+			stringBuffer.append(TEXT_38);

+			if (genFeature.hasAPITags()) {

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_5);

+			if (isJDK50) { //Class/setGenFeature.annotations.insert.javajetinc

+				stringBuffer.append(TEXT_25);

+				{

+					//<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+					callParameters.put("isGWT", isGWT);

+					callParameters.put("forceDefaultCase", forceDefaultCase);

+					callParameters.put("indentDefaultCase", indentDefaultCase);

+					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 (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+					stringBuffer.append(TEXT_7);

+				}

+				if (classExtendsAllGenFeatures.contains(genFeature)) {

+					stringBuffer.append(TEXT_8);

+				}

+				stringBuffer.append(TEXT_45);

+				stringBuffer.append(genFeature.getAccessorName());

+				if (genClass.hasCollidingSetAccessorOperation(genFeature)) {

+					stringBuffer.append(TEXT_27);

+				}

+				stringBuffer.append(TEXT_40);

+				stringBuffer.append(genFeature.getImportedType(genClass));

+				stringBuffer.append(TEXT_26);

+				stringBuffer.append(setAccessorOperation == null ? "new" + genFeature.getCapName()

+						: setAccessorOperation.getGenParameters().get(0).getName());

+				stringBuffer.append(TEXT_46);

+				stringBuffer.append(genFeature.getAccessorName());

+				if (genClass.hasCollidingSetAccessorOperation(genFeature)) {

+					stringBuffer.append(TEXT_27);

+				}

+				stringBuffer.append(TEXT_40);

+				stringBuffer.append(setAccessorOperation == null ? "new" + genFeature.getCapName()

+						: setAccessorOperation.getGenParameters().get(0).getName());

+				stringBuffer.append(TEXT_47);

+			}

+		}

+		stringBuffer.append(TEXT_25);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenFeatureinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenFeatureinsert.java
new file mode 100644
index 0000000..e552b55
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenFeatureinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenFeatureoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenFeatureoverride.java
new file mode 100644
index 0000000..c820a49
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenFeatureoverride.java
@@ -0,0 +1,841 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 -->";

+	protected final String TEXT_3 = NL + "\t * ";

+	protected final String TEXT_4 = NL + "\t * @generated" + NL + "\t */";

+	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 + "\t@Deprecated";

+	protected final String TEXT_10 = NL + "\t@Override";

+	protected final String TEXT_11 = NL + "\tpublic ";

+	protected final String TEXT_12 = "()" + NL + "\t{";

+	protected final String TEXT_13 = NL + "\t\t";

+	protected final String TEXT_14 = " list = (";

+	protected final String TEXT_15 = ")";

+	protected final String TEXT_16 = "();" + NL + "\t\tif (list.isEmpty()) return ";

+	protected final String TEXT_17 = "_EEMPTY_ARRAY;";

+	protected final String TEXT_18 = NL + "\t\tif (";

+	protected final String TEXT_19 = " == null || ";

+	protected final String TEXT_20 = ".isEmpty()) return ";

+	protected final String TEXT_21 = "_EEMPTY_ARRAY;" + NL + "\t\t";

+	protected final String TEXT_22 = ";";

+	protected final String TEXT_23 = NL + "\t\tlist.shrink();" + NL + "\t\treturn (";

+	protected final String TEXT_24 = "[])list.data();" + NL + "\t}" + NL;

+	protected final String TEXT_25 = " get";

+	protected final String TEXT_26 = "(int index);" + NL;

+	protected final String TEXT_27 = "(int index)" + NL + "\t{" + NL + "\t\treturn ";

+	protected final String TEXT_28 = "(";

+	protected final String TEXT_29 = "().get(index);" + NL + "\t}" + NL;

+	protected final String TEXT_30 = NL + "\tint get";

+	protected final String TEXT_31 = "Length();" + NL;

+	protected final String TEXT_32 = NL + "\tpublic int get";

+	protected final String TEXT_33 = "Length()" + NL + "\t{";

+	protected final String TEXT_34 = NL + "\t\treturn ";

+	protected final String TEXT_35 = "().size();";

+	protected final String TEXT_36 = " == null ? 0 : ";

+	protected final String TEXT_37 = ".size();";

+	protected final String TEXT_38 = NL + "\t}" + NL;

+	protected final String TEXT_39 = NL + "\tvoid set";

+	protected final String TEXT_40 = "[] new";

+	protected final String TEXT_41 = ");" + NL;

+	protected final String TEXT_42 = NL + "\tpublic void set";

+	protected final String TEXT_43 = ")" + NL + "\t{" + NL + "\t\t((";

+	protected final String TEXT_44 = "()).setData(new";

+	protected final String TEXT_45 = ".length, new";

+	protected final String TEXT_46 = ");" + NL + "\t}" + NL;

+	protected final String TEXT_47 = "(int index, ";

+	protected final String TEXT_48 = " element);" + NL;

+	protected final String TEXT_49 = " element)" + NL + "\t{" + NL + "\t\t";

+	protected final String TEXT_50 = "().set(index, element);" + NL + "\t}" + NL;

+	protected final String TEXT_51 = NL;

+	protected final String TEXT_52 = 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_52);

+		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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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 (genFeature.hasAPITags()) {

+				stringBuffer.append(TEXT_3);

+				stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_4);

+			if (!isImplementation) {

+				stringBuffer.append(TEXT_5);

+				stringBuffer.append(arrayElementType);

+				stringBuffer.append(TEXT_6);

+				stringBuffer.append(genFeature.getGetArrayAccessor());

+				stringBuffer.append(TEXT_7);

+			} else {

+				if (genModel.useGenerics() && CodeGenUtil.isUncheckedCast(arrayElementType)) {

+					stringBuffer.append(TEXT_8);

+				}

+				if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+					stringBuffer.append(TEXT_9);

+				}

+				if (useInterfaceOverrideAnnotation) {

+					stringBuffer.append(TEXT_10);

+				}

+				stringBuffer.append(TEXT_11);

+				stringBuffer.append(arrayElementType);

+				stringBuffer.append(TEXT_6);

+				stringBuffer.append(genFeature.getGetArrayAccessor());

+				stringBuffer.append(TEXT_12);

+				if (genFeature.isVolatile()) {

+					stringBuffer.append(TEXT_13);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

+					stringBuffer.append(genFeature.getListTemplateArguments(genClass));

+					stringBuffer.append(TEXT_14);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

+					stringBuffer.append(genFeature.getListTemplateArguments(genClass));

+					stringBuffer.append(TEXT_15);

+					stringBuffer.append(genFeature.getGetAccessor());

+					stringBuffer.append(TEXT_16);

+					stringBuffer.append(genFeature.getUpperName());

+					stringBuffer.append(TEXT_17);

+				} else {

+					stringBuffer.append(TEXT_18);

+					stringBuffer.append(genFeature.getSafeName());

+					stringBuffer.append(TEXT_19);

+					stringBuffer.append(genFeature.getSafeName());

+					stringBuffer.append(TEXT_20);

+					stringBuffer.append(genFeature.getUpperName());

+					stringBuffer.append(TEXT_21);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

+					stringBuffer.append(genFeature.getListTemplateArguments(genClass));

+					stringBuffer.append(TEXT_14);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

+					stringBuffer.append(genFeature.getListTemplateArguments(genClass));

+					stringBuffer.append(TEXT_15);

+					stringBuffer.append(genFeature.getSafeName());

+					stringBuffer.append(TEXT_22);

+				}

+				stringBuffer.append(TEXT_23);

+				stringBuffer.append(arrayElementType);

+				stringBuffer.append(TEXT_24);

+			}

+			stringBuffer.append(TEXT_2);

+			if (genFeature.hasAPITags()) {

+				stringBuffer.append(TEXT_3);

+				stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_4);

+			if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+				stringBuffer.append(TEXT_9);

+			}

+			if (!isImplementation) {

+				stringBuffer.append(TEXT_5);

+				stringBuffer.append(genFeature.getListItemType(genClass));

+				stringBuffer.append(TEXT_25);

+				stringBuffer.append(genFeature.getAccessorName());

+				stringBuffer.append(TEXT_26);

+			} else {

+				if (useInterfaceOverrideAnnotation) {

+					stringBuffer.append(TEXT_10);

+				}

+				stringBuffer.append(TEXT_11);

+				stringBuffer.append(genFeature.getListItemType(genClass));

+				stringBuffer.append(TEXT_25);

+				stringBuffer.append(genFeature.getAccessorName());

+				stringBuffer.append(TEXT_27);

+				if (!genModel.useGenerics()) {

+					stringBuffer.append(TEXT_28);

+					stringBuffer.append(genFeature.getListItemType(genClass));

+					stringBuffer.append(TEXT_15);

+				}

+				stringBuffer.append(genFeature.getGetAccessor());

+				stringBuffer.append(TEXT_29);

+			}

+			stringBuffer.append(TEXT_2);

+			if (genFeature.hasAPITags()) {

+				stringBuffer.append(TEXT_3);

+				stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_4);

+			if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+				stringBuffer.append(TEXT_9);

+			}

+			if (!isImplementation) {

+				stringBuffer.append(TEXT_30);

+				stringBuffer.append(genFeature.getAccessorName());

+				stringBuffer.append(TEXT_31);

+			} else {

+				if (useInterfaceOverrideAnnotation) {

+					stringBuffer.append(TEXT_10);

+				}

+				stringBuffer.append(TEXT_32);

+				stringBuffer.append(genFeature.getAccessorName());

+				stringBuffer.append(TEXT_33);

+				if (genFeature.isVolatile()) {

+					stringBuffer.append(TEXT_34);

+					stringBuffer.append(genFeature.getGetAccessor());

+					stringBuffer.append(TEXT_35);

+				} else {

+					stringBuffer.append(TEXT_34);

+					stringBuffer.append(genFeature.getSafeName());

+					stringBuffer.append(TEXT_36);

+					stringBuffer.append(genFeature.getSafeName());

+					stringBuffer.append(TEXT_37);

+				}

+				stringBuffer.append(TEXT_38);

+			}

+			stringBuffer.append(TEXT_2);

+			if (genFeature.hasAPITags()) {

+				stringBuffer.append(TEXT_3);

+				stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_4);

+			if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+				stringBuffer.append(TEXT_9);

+			}

+			if (!isImplementation) {

+				stringBuffer.append(TEXT_39);

+				stringBuffer.append(genFeature.getAccessorName());

+				stringBuffer.append(TEXT_28);

+				stringBuffer.append(genFeature.getListItemType(genClass));

+				stringBuffer.append(TEXT_40);

+				stringBuffer.append(genFeature.getCapName());

+				stringBuffer.append(TEXT_41);

+			} else {

+				if (useInterfaceOverrideAnnotation) {

+					stringBuffer.append(TEXT_10);

+				}

+				stringBuffer.append(TEXT_42);

+				stringBuffer.append(genFeature.getAccessorName());

+				stringBuffer.append(TEXT_28);

+				stringBuffer.append(genFeature.getListItemType(genClass));

+				stringBuffer.append(TEXT_40);

+				stringBuffer.append(genFeature.getCapName());

+				stringBuffer.append(TEXT_43);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

+				stringBuffer.append(genFeature.getListTemplateArguments(genClass));

+				stringBuffer.append(TEXT_15);

+				stringBuffer.append(genFeature.getGetAccessor());

+				stringBuffer.append(TEXT_44);

+				stringBuffer.append(genFeature.getCapName());

+				stringBuffer.append(TEXT_45);

+				stringBuffer.append(genFeature.getCapName());

+				stringBuffer.append(TEXT_46);

+			}

+			stringBuffer.append(TEXT_2);

+			if (genFeature.hasAPITags()) {

+				stringBuffer.append(TEXT_3);

+				stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_4);

+			if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+				stringBuffer.append(TEXT_9);

+			}

+			if (!isImplementation) {

+				stringBuffer.append(TEXT_39);

+				stringBuffer.append(genFeature.getAccessorName());

+				stringBuffer.append(TEXT_47);

+				stringBuffer.append(genFeature.getListItemType(genClass));

+				stringBuffer.append(TEXT_48);

+			} else {

+				if (useInterfaceOverrideAnnotation) {

+					stringBuffer.append(TEXT_10);

+				}

+				stringBuffer.append(TEXT_42);

+				stringBuffer.append(genFeature.getAccessorName());

+				stringBuffer.append(TEXT_47);

+				stringBuffer.append(genFeature.getListItemType(genClass));

+				stringBuffer.append(TEXT_49);

+				stringBuffer.append(genFeature.getGetAccessor());

+				stringBuffer.append(TEXT_50);

+			}

+		}

+		if (genFeature.isGet() && (isImplementation || !genFeature.isSuppressedGetVisibility())) {

+			stringBuffer.append(TEXT_51);

+			{

+				//<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_51);

+			{

+				//<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_51);

+			{

+				//<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_51);

+			{

+				//<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_51);

+			{

+				//<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_51);

+			{

+				//<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_51);

+			{

+				//<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_51);

+		{

+			//<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+			callParameters.put("isGWT", isGWT);

+			callParameters.put("forceDefaultCase", forceDefaultCase);

+			callParameters.put("indentDefaultCase", indentDefaultCase);

+			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_51);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationannotationsinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationannotationsinsert.java
new file mode 100644
index 0000000..de3fd85
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationannotationsinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationinsert.java
new file mode 100644
index 0000000..0252062
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationjavadocinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationjavadocinsert.java
new file mode 100644
index 0000000..a77ed03
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationjavadocinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationjavadocoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationjavadocoverride.java
new file mode 100644
index 0000000..718ad9e
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationjavadocoverride.java
@@ -0,0 +1,406 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 = " ";

+	protected final String TEXT_9 = NL + "\t * <!-- end-model-doc -->";

+	protected final String TEXT_10 = NL + "\t * @model ";

+	protected final String TEXT_11 = NL + "\t *        ";

+	protected final String TEXT_12 = NL + "\t * @model";

+	protected final String TEXT_13 = NL + "\t * @generated" + NL + "\t */" + NL;

+	protected final String TEXT_14 = 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_14);

+		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("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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+			callParameters.put("isGWT", isGWT);

+			callParameters.put("forceDefaultCase", forceDefaultCase);

+			callParameters.put("indentDefaultCase", indentDefaultCase);

+			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_6);

+						stringBuffer.append(genParameter.getName());

+						stringBuffer.append(TEXT_8);

+						stringBuffer.append(genParameter.getDocumentation(genModel.getIndentation(stringBuffer)));

+					}

+				}

+			}

+			stringBuffer.append(TEXT_9);

+		}

+		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_10);

+					stringBuffer.append(modelInfo);

+				} else {

+					stringBuffer.append(TEXT_11);

+					stringBuffer.append(modelInfo);

+				}

+			}

+			if (first) {

+				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 {

+		return true;

+	}

+}
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationoverride.java
new file mode 100644
index 0000000..806ddc8
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationoverride.java
@@ -0,0 +1,751 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 * ";

+	protected final String TEXT_8 = NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";

+	protected final String TEXT_9 = NL + "\t@Deprecated";

+	protected final String TEXT_10 = NL + "\tprotected static final ";

+	protected final String TEXT_11 = " ";

+	protected final String TEXT_12 = "__EEXPRESSION = \"";

+	protected final String TEXT_13 = "\";";

+	protected final String TEXT_14 = NL;

+	protected final String TEXT_15 = NL + "\t/**" + NL + "\t * The cached invocation delegate for the '{@link #";

+	protected final String TEXT_16 = "</em>}' operation." + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see #";

+	protected final String TEXT_17 = ".Internal.InvocationDelegate ";

+	protected final String TEXT_18 = "__EINVOCATION_DELEGATE = ((";

+	protected final String TEXT_19 = ".Internal)";

+	protected final String TEXT_20 = ").getInvocationDelegate();" + NL;

+	protected final String TEXT_21 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->";

+	protected final String TEXT_22 = NL + "\t * @generated" + NL + "\t */";

+	protected final String TEXT_23 = NL + "\t";

+	protected final String TEXT_24 = ";" + NL;

+	protected final String TEXT_25 = NL + "\t@SuppressWarnings(\"unchecked\")";

+	protected final String TEXT_26 = NL + "\t@Override";

+	protected final String TEXT_27 = NL + "\tpublic ";

+	protected final String TEXT_28 = NL + "\t{";

+	protected final String TEXT_29 = NL + "\t\t";

+	protected final String TEXT_30 = NL + "\t\treturn" + NL + "\t\t\t";

+	protected final String TEXT_31 = ".validate" + NL + "\t\t\t\t(";

+	protected final String TEXT_32 = "," + NL + "\t\t\t\t this," + NL + "\t\t\t\t ";

+	protected final String TEXT_33 = "," + NL + "\t\t\t\t ";

+	protected final String TEXT_34 = "," + NL + "\t\t\t\t \"";

+	protected final String TEXT_35 = "\",";

+	protected final String TEXT_36 = NL + "\t\t\t\t ";

+	protected final String TEXT_37 = "__EEXPRESSION," + NL + "\t\t\t\t ";

+	protected final String TEXT_38 = ".ERROR," + NL + "\t\t\t\t ";

+	protected final String TEXT_39 = ".DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t ";

+	protected final String TEXT_40 = ".";

+	protected final String TEXT_41 = ");";

+	protected final String TEXT_42 = 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_43 = " != null)" + NL + "\t\t\t{" + NL + "\t\t\t\t";

+	protected final String TEXT_44 = ".add" + NL + "\t\t\t\t\t(new ";

+	protected final String TEXT_45 = NL + "\t\t\t\t\t\t(";

+	protected final String TEXT_46 = ".ERROR," + NL + "\t\t\t\t\t\t ";

+	protected final String TEXT_47 = ".DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t ";

+	protected final String TEXT_48 = "," + NL + "\t\t\t\t\t\t ";

+	protected final String TEXT_49 = ".INSTANCE.getString(\"_UI_GenericInvariant_diagnostic\", new Object[] { \"";

+	protected final String TEXT_50 = "\", ";

+	protected final String TEXT_51 = ".getObjectLabel(this, ";

+	protected final String TEXT_52 = ") }),";

+	protected final String TEXT_53 = 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_54 = NL + "\t\ttry" + NL + "\t\t{";

+	protected final String TEXT_55 = NL + "\t\t\t";

+	protected final String TEXT_56 = "__EINVOCATION_DELEGATE.dynamicInvoke(this, ";

+	protected final String TEXT_57 = "new ";

+	protected final String TEXT_58 = ".UnmodifiableEList<Object>(";

+	protected final String TEXT_59 = ", ";

+	protected final String TEXT_60 = "null";

+	protected final String TEXT_61 = NL + "\t\t\treturn ";

+	protected final String TEXT_62 = ").";

+	protected final String TEXT_63 = "()";

+	protected final String TEXT_64 = ";";

+	protected final String TEXT_65 = NL + "\t\t}" + NL + "\t\tcatch (";

+	protected final String TEXT_66 = " ite)" + NL + "\t\t{" + NL + "\t\t\tthrow new ";

+	protected final String TEXT_67 = "(ite);" + NL + "\t\t}";

+	protected final String TEXT_68 = NL + "\t}" + NL;

+	protected final String TEXT_69 = 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_69);

+		stringBuffer.append(TEXT_69);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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_3);

+				stringBuffer.append(genOperation.getParameterTypes(", "));

+				stringBuffer.append(TEXT_6);

+				if (genOperation.hasAPITags()) {

+					stringBuffer.append(TEXT_7);

+					stringBuffer.append(genOperation.getAPITags(genModel.getIndentation(stringBuffer)));

+				}

+				stringBuffer.append(TEXT_8);

+				if (isJDK50 && genOperation.hasAPIDeprecatedTag()) {

+					stringBuffer.append(TEXT_9);

+				}

+				stringBuffer.append(TEXT_10);

+				stringBuffer.append(genModel.getImportedName("java.lang.String"));

+				stringBuffer.append(TEXT_11);

+				stringBuffer.append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale()));

+				stringBuffer.append(TEXT_12);

+				stringBuffer.append(genOperation.getInvariantExpression("\t\t"));

+				stringBuffer.append(TEXT_13);

+				stringBuffer.append(genModel.getNonNLS());

+				stringBuffer.append(TEXT_14);

+			} else if (genOperation.hasInvocationDelegate()) {

+				stringBuffer.append(TEXT_15);

+				stringBuffer.append(genOperation.getName());

+				stringBuffer.append(TEXT_3);

+				stringBuffer.append(genOperation.getParameterTypes(", "));

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(genOperation.getFormattedName());

+				stringBuffer.append(TEXT_16);

+				stringBuffer.append(genOperation.getName());

+				stringBuffer.append(TEXT_3);

+				stringBuffer.append(genOperation.getParameterTypes(", "));

+				stringBuffer.append(TEXT_6);

+				if (genOperation.hasAPITags()) {

+					stringBuffer.append(TEXT_7);

+					stringBuffer.append(genOperation.getAPITags(genModel.getIndentation(stringBuffer)));

+				}

+				stringBuffer.append(TEXT_8);

+				if (isJDK50 && genOperation.hasAPIDeprecatedTag()) {

+					stringBuffer.append(TEXT_9);

+				}

+				stringBuffer.append(TEXT_10);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));

+				stringBuffer.append(TEXT_17);

+				stringBuffer.append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale()));

+				stringBuffer.append(TEXT_18);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));

+				stringBuffer.append(TEXT_19);

+				stringBuffer.append(genOperation.getQualifiedOperationAccessor());

+				stringBuffer.append(TEXT_20);

+			}

+		}

+		if (isInterface) {

+			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.genOperation.javadoc.override" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_21);

+			if (genOperation.hasAPITags()) {

+				stringBuffer.append(TEXT_7);

+				stringBuffer.append(genOperation.getAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_22);

+			if (isJDK50) { //Class/genOperation.annotations.insert.javajetinc

+				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.genOperation.annotations.insert" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+					callParameters.put("isGWT", isGWT);

+					callParameters.put("forceDefaultCase", forceDefaultCase);

+					callParameters.put("indentDefaultCase", indentDefaultCase);

+					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 (isJDK50 && genOperation.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_9);

+		}

+		if (!isImplementation) {

+			stringBuffer.append(TEXT_23);

+			stringBuffer.append(genOperation.getTypeParameters(genClass));

+			stringBuffer.append(genOperation.getImportedType(genClass));

+			stringBuffer.append(TEXT_11);

+			stringBuffer.append(genOperation.getName());

+			stringBuffer.append(TEXT_3);

+			stringBuffer.append(genOperation.getParameters(genClass));

+			stringBuffer.append(TEXT_6);

+			stringBuffer.append(genOperation.getThrows(genClass));

+			stringBuffer.append(TEXT_24);

+		} else {

+			if (genModel.useGenerics() && !genOperation.hasBody() && !genOperation.isInvariant()

+					&& genOperation.hasInvocationDelegate() && genOperation.isUncheckedCast(genClass)) {

+				stringBuffer.append(TEXT_25);

+			}

+			if (useInterfaceOverrideAnnotation && !genClass.isMapEntry() && !genOperation.isSuppressedVisibility()) {

+				stringBuffer.append(TEXT_26);

+			}

+			stringBuffer.append(TEXT_27);

+			stringBuffer.append(genOperation.getTypeParameters(genClass));

+			stringBuffer.append(genOperation.getImportedType(genClass));

+			stringBuffer.append(TEXT_11);

+			stringBuffer.append(genOperation.getName());

+			stringBuffer.append(TEXT_3);

+			stringBuffer.append(genOperation.getParameters(isImplementation, genClass));

+			stringBuffer.append(TEXT_6);

+			stringBuffer.append(genOperation.getThrows(genClass));

+			stringBuffer.append(TEXT_28);

+			if (genOperation.hasBody()) {

+				stringBuffer.append(TEXT_29);

+				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_30);

+					stringBuffer.append(opClass.getGenPackage().getImportedValidatorClassName());

+					stringBuffer.append(TEXT_31);

+					stringBuffer.append(genClass.getQualifiedClassifierAccessor());

+					stringBuffer.append(TEXT_32);

+					stringBuffer.append(diagnostics);

+					stringBuffer.append(TEXT_33);

+					stringBuffer.append(context);

+					stringBuffer.append(TEXT_34);

+					stringBuffer.append(genOperation.getValidationDelegate());

+					stringBuffer.append(TEXT_35);

+					stringBuffer.append(genModel.getNonNLS());

+					stringBuffer.append(TEXT_36);

+					stringBuffer.append(genOperation.getQualifiedOperationAccessor());

+					stringBuffer.append(TEXT_33);

+					stringBuffer

+							.append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale()));

+					stringBuffer.append(TEXT_37);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));

+					stringBuffer.append(TEXT_38);

+					stringBuffer.append(opClass.getGenPackage().getImportedValidatorClassName());

+					stringBuffer.append(TEXT_39);

+					stringBuffer.append(opClass.getGenPackage().getImportedValidatorClassName());

+					stringBuffer.append(TEXT_40);

+					stringBuffer.append(opClass.getOperationID(genOperation));

+					stringBuffer.append(TEXT_41);

+				} else {

+					stringBuffer.append(TEXT_42);

+					stringBuffer.append(diagnostics);

+					stringBuffer.append(TEXT_43);

+					stringBuffer.append(diagnostics);

+					stringBuffer.append(TEXT_44);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic"));

+					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_40);

+					stringBuffer.append(opClass.getOperationID(genOperation));

+					stringBuffer.append(TEXT_48);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin"));

+					stringBuffer.append(TEXT_49);

+					stringBuffer.append(genOperation.getName());

+					stringBuffer.append(TEXT_50);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.EObjectValidator"));

+					stringBuffer.append(TEXT_51);

+					stringBuffer.append(context);

+					stringBuffer.append(TEXT_52);

+					stringBuffer.append(genModel.getNonNLS());

+					stringBuffer.append(genModel.getNonNLS(2));

+					stringBuffer.append(TEXT_53);

+				}

+			} else if (genOperation.hasInvocationDelegate()) {

+				int size = genOperation.getGenParameters().size();

+				stringBuffer.append(TEXT_54);

+				if (genOperation.isVoid()) {

+					stringBuffer.append(TEXT_55);

+					stringBuffer

+							.append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale()));

+					stringBuffer.append(TEXT_56);

+					if (size > 0) {

+						stringBuffer.append(TEXT_57);

+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

+						stringBuffer.append(TEXT_58);

+						stringBuffer.append(size);

+						stringBuffer.append(TEXT_59);

+						stringBuffer.append(genOperation.getParametersArray(genClass));

+						stringBuffer.append(TEXT_6);

+					} else {

+						stringBuffer.append(TEXT_60);

+					}

+					stringBuffer.append(TEXT_41);

+				} else {

+					stringBuffer.append(TEXT_61);

+					if (!isJDK50 && genOperation.isPrimitiveType()) {

+						stringBuffer.append(TEXT_3);

+					}

+					stringBuffer.append(TEXT_3);

+					stringBuffer.append(genOperation.getObjectType(genClass));

+					stringBuffer.append(TEXT_6);

+					stringBuffer

+							.append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale()));

+					stringBuffer.append(TEXT_56);

+					if (size > 0) {

+						stringBuffer.append(TEXT_57);

+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

+						stringBuffer.append(TEXT_58);

+						stringBuffer.append(size);

+						stringBuffer.append(TEXT_59);

+						stringBuffer.append(genOperation.getParametersArray(genClass));

+						stringBuffer.append(TEXT_6);

+					} else {

+						stringBuffer.append(TEXT_60);

+					}

+					stringBuffer.append(TEXT_6);

+					if (!isJDK50 && genOperation.isPrimitiveType()) {

+						stringBuffer.append(TEXT_62);

+						stringBuffer.append(genOperation.getPrimitiveValueFunction());

+						stringBuffer.append(TEXT_63);

+					}

+					stringBuffer.append(TEXT_64);

+				}

+				stringBuffer.append(TEXT_65);

+				stringBuffer

+						.append(genModel.getImportedName(isGWT ? "org.eclipse.emf.common.util.InvocationTargetException"

+								: "java.lang.reflect.InvocationTargetException"));

+				stringBuffer.append(TEXT_66);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.WrappedException"));

+				stringBuffer.append(TEXT_67);

+			} else {

+				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.implementedGenOperation.TODO.override" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+					callParameters.put("isGWT", isGWT);

+					callParameters.put("forceDefaultCase", forceDefaultCase);

+					callParameters.put("indentDefaultCase", indentDefaultCase);

+					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_68);

+		}

+		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.genOperation.insert" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+			callParameters.put("isGWT", isGWT);

+			callParameters.put("forceDefaultCase", forceDefaultCase);

+			callParameters.put("indentDefaultCase", indentDefaultCase);

+			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_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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeatureTODOoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeatureTODOoverride.java
new file mode 100644
index 0000000..418c488
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeatureTODOoverride.java
@@ -0,0 +1,344 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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;

+

+	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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_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("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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeatureannotationsinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeatureannotationsinsert.java
new file mode 100644
index 0000000..c214701
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeatureannotationsinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeaturejavadocinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeaturejavadocinsert.java
new file mode 100644
index 0000000..728754f
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeaturejavadocinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeaturejavadocoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeaturejavadocoverride.java
new file mode 100644
index 0000000..3b5ccfd
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeaturejavadocoverride.java
@@ -0,0 +1,525 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 = "," + NL + "\t * and the value is of type ";

+	protected final String TEXT_9 = ",";

+	protected final String TEXT_10 = NL + "\t * The list contents are of type {@link ";

+	protected final String TEXT_11 = NL + "\t * The default value is <code>";

+	protected final String TEXT_12 = "</code>.";

+	protected final String TEXT_13 = NL + "\t * The literals are from the enumeration {@link ";

+	protected final String TEXT_14 = "}.";

+	protected final String TEXT_15 = NL + "\t * It is bidirectional and its opposite is '{@link ";

+	protected final String TEXT_16 = "#";

+	protected final String TEXT_17 = " <em>";

+	protected final String TEXT_18 = "</em>}'.";

+	protected final String TEXT_19 = NL;

+	protected final String TEXT_20 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->";

+	protected final String TEXT_21 = NL + "\t * <!-- begin-model-doc -->" + NL + "\t * ";

+	protected final String TEXT_22 = NL + "\t * <!-- end-model-doc -->";

+	protected final String TEXT_23 = NL + "\t * @return the value of the '<em>";

+	protected final String TEXT_24 = "</em>' ";

+	protected final String TEXT_25 = NL + "\t * @see ";

+	protected final String TEXT_26 = NL + "\t * @see #isSet";

+	protected final String TEXT_27 = "()";

+	protected final String TEXT_28 = NL + "\t * @see #unset";

+	protected final String TEXT_29 = NL + "\t * @see #set";

+	protected final String TEXT_30 = "(";

+	protected final String TEXT_31 = ")";

+	protected final String TEXT_32 = "#get";

+	protected final String TEXT_33 = NL + "\t * @model ";

+	protected final String TEXT_34 = NL + "\t *        ";

+	protected final String TEXT_35 = NL + "\t * @model";

+	protected final String TEXT_36 = NL + "\t * @generated" + NL + "\t */" + NL;

+	protected final String TEXT_37 = 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_37);

+		stringBuffer.append(TEXT_37);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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_6);

+				}

+				stringBuffer.append(TEXT_8);

+				if (valueFeature.isListType()) {

+					stringBuffer.append(TEXT_5);

+					stringBuffer.append(valueFeature.getQualifiedListItemType(genClass));

+					stringBuffer.append(TEXT_6);

+				} else {

+					stringBuffer.append(TEXT_7);

+					stringBuffer.append(valueFeature.getType(genClass));

+					stringBuffer.append(TEXT_6);

+				}

+				stringBuffer.append(TEXT_9);

+			} 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 = "<code>" + CodeGenUtil.xmlEscapeEncode(typeName.substring(index)) + "</code>";

+				}

+

+				stringBuffer.append(TEXT_10);

+				stringBuffer.append(head);

+				stringBuffer.append(TEXT_6);

+				stringBuffer.append(tail);

+				stringBuffer.append(TEXT_3);

+			}

+		} else if (genFeature.isSetDefaultValue()) {

+			stringBuffer.append(TEXT_11);

+			stringBuffer.append(genFeature.getDefaultValue());

+			stringBuffer.append(TEXT_12);

+		}

+		if (genFeature.getTypeGenEnum() != null) {

+			stringBuffer.append(TEXT_13);

+			stringBuffer.append(genFeature.getTypeGenEnum().getQualifiedName());

+			stringBuffer.append(TEXT_14);

+		}

+		if (genFeature.isBidirectional() && !genFeature.getReverse().getGenClass().isMapEntry()) {

+			GenFeature reverseGenFeature = genFeature.getReverse();

+			if (!reverseGenFeature.isSuppressedGetVisibility()) {

+				stringBuffer.append(TEXT_15);

+				stringBuffer.append(reverseGenFeature.getGenClass().getRawQualifiedInterfaceName());

+				stringBuffer.append(TEXT_16);

+				stringBuffer.append(reverseGenFeature.getGetAccessor());

+				stringBuffer.append(TEXT_17);

+				stringBuffer.append(reverseGenFeature.getFormattedName());

+				stringBuffer.append(TEXT_18);

+			}

+		}

+		stringBuffer.append(TEXT_19);

+		{

+			//<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+			callParameters.put("isGWT", isGWT);

+			callParameters.put("forceDefaultCase", forceDefaultCase);

+			callParameters.put("indentDefaultCase", indentDefaultCase);

+			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_20);

+		if (genFeature.hasDocumentation()) {

+			stringBuffer.append(TEXT_21);

+			stringBuffer.append(genFeature.getDocumentation(genModel.getIndentation(stringBuffer)));

+			stringBuffer.append(TEXT_22);

+		}

+		stringBuffer.append(TEXT_23);

+		stringBuffer.append(genFeature.getFormattedName());

+		stringBuffer.append(TEXT_24);

+		stringBuffer.append(genFeature.getFeatureKind());

+		stringBuffer.append(TEXT_3);

+		if (genFeature.getTypeGenEnum() != null) {

+			stringBuffer.append(TEXT_25);

+			stringBuffer.append(genFeature.getTypeGenEnum().getQualifiedName());

+		}

+		if (genFeature.isUnsettable()) {

+			if (!genFeature.isSuppressedIsSetVisibility()) {

+				stringBuffer.append(TEXT_26);

+				stringBuffer.append(genFeature.getAccessorName());

+				stringBuffer.append(TEXT_27);

+			}

+			if (genFeature.isChangeable() && !genFeature.isSuppressedUnsetVisibility()) {

+				stringBuffer.append(TEXT_28);

+				stringBuffer.append(genFeature.getAccessorName());

+				stringBuffer.append(TEXT_27);

+			}

+		}

+		if (genFeature.isChangeable() && !genFeature.isListType() && !genFeature.isSuppressedSetVisibility()) {

+			stringBuffer.append(TEXT_29);

+			stringBuffer.append(genFeature.getAccessorName());

+			stringBuffer.append(TEXT_30);

+			stringBuffer.append(genFeature.getRawImportedBoundType());

+			stringBuffer.append(TEXT_31);

+		}

+		if (!genModel.isSuppressEMFMetaData()) {

+			stringBuffer.append(TEXT_25);

+			stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());

+			stringBuffer.append(TEXT_32);

+			stringBuffer.append(genFeature.getFeatureAccessorName());

+			stringBuffer.append(TEXT_27);

+		}

+		if (genFeature.isBidirectional() && !genFeature.getReverse().getGenClass().isMapEntry()) {

+			GenFeature reverseGenFeature = genFeature.getReverse();

+			if (!reverseGenFeature.isSuppressedGetVisibility()) {

+				stringBuffer.append(TEXT_25);

+				stringBuffer.append(reverseGenFeature.getGenClass().getRawQualifiedInterfaceName());

+				stringBuffer.append(TEXT_16);

+				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_33);

+					stringBuffer.append(modelInfo);

+				} else {

+					stringBuffer.append(TEXT_34);

+					stringBuffer.append(modelInfo);

+				}

+			}

+			if (first) {

+				stringBuffer.append(TEXT_35);

+			}

+		}

+		stringBuffer.append(TEXT_36);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeatureoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeatureoverride.java
new file mode 100644
index 0000000..7dc76a8
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeatureoverride.java
@@ -0,0 +1,994 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 -->";

+	protected final String TEXT_4 = NL + "\t * ";

+	protected final String TEXT_5 = NL + "\t * @generated" + NL + "\t */";

+	protected final String TEXT_6 = NL + "\t@Deprecated";

+	protected final String TEXT_7 = NL + "\t";

+	protected final String TEXT_8 = " ";

+	protected final String TEXT_9 = "();" + NL;

+	protected final String TEXT_10 = NL + "\t@SuppressWarnings(\"unchecked\")";

+	protected final String TEXT_11 = NL + "\t@Override";

+	protected final String TEXT_12 = NL + "\tpublic ";

+	protected final String TEXT_13 = "_";

+	protected final String TEXT_14 = "()" + NL + "\t{";

+	protected final String TEXT_15 = NL + "\t\treturn ";

+	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 = ")eGet(";

+	protected final String TEXT_27 = ", true)";

+	protected final String TEXT_28 = "__ESETTING_DELEGATE.dynamicGet(this, null, 0, true, false)";

+	protected final String TEXT_29 = " = (";

+	protected final String TEXT_30 = ")eVirtualGet(";

+	protected final String TEXT_31 = ");";

+	protected final String TEXT_32 = NL + "\t\tif (";

+	protected final String TEXT_33 = " == null)" + NL + "\t\t{";

+	protected final String TEXT_34 = NL + "\t\t\teVirtualSet(";

+	protected final String TEXT_35 = " = new ";

+	protected final String TEXT_36 = NL + "\t\t\t";

+	protected final String TEXT_37 = NL + "\t\t}" + NL + "\t\treturn ";

+	protected final String TEXT_38 = NL + "\t\tif (eContainerFeatureID() != ";

+	protected final String TEXT_39 = ") return null;" + NL + "\t\treturn (";

+	protected final String TEXT_40 = "eContainer";

+	protected final String TEXT_41 = "eInternalContainer";

+	protected final String TEXT_42 = "();";

+	protected final String TEXT_43 = " != null && ";

+	protected final String TEXT_44 = ".eIsProxy())" + NL + "\t\t{" + NL + "\t\t\t";

+	protected final String TEXT_45 = " old";

+	protected final String TEXT_46 = " = ";

+	protected final String TEXT_47 = ";" + NL + "\t\t\t";

+	protected final String TEXT_48 = "eResolveProxy(old";

+	protected final String TEXT_49 = ");" + NL + "\t\t\tif (";

+	protected final String TEXT_50 = " != old";

+	protected final String TEXT_51 = ")" + NL + "\t\t\t{";

+	protected final String TEXT_52 = NL + "\t\t\t\t";

+	protected final String TEXT_53 = " new";

+	protected final String TEXT_54 = " msgs = old";

+	protected final String TEXT_55 = ".eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ";

+	protected final String TEXT_56 = ", null, null);";

+	protected final String TEXT_57 = " msgs =  old";

+	protected final String TEXT_58 = ".eInverseRemove(this, ";

+	protected final String TEXT_59 = ".class, null);";

+	protected final String TEXT_60 = NL + "\t\t\t\tif (new";

+	protected final String TEXT_61 = ".eInternalContainer() == null)" + NL + "\t\t\t\t{";

+	protected final String TEXT_62 = NL + "\t\t\t\t\tmsgs = new";

+	protected final String TEXT_63 = ".eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ";

+	protected final String TEXT_64 = ", null, msgs);";

+	protected final String TEXT_65 = NL + "\t\t\t\t\tmsgs =  new";

+	protected final String TEXT_66 = ".eInverseAdd(this, ";

+	protected final String TEXT_67 = ".class, msgs);";

+	protected final String TEXT_68 = NL + "\t\t\t\t}" + NL + "\t\t\t\tif (msgs != null) msgs.dispatch();";

+	protected final String TEXT_69 = NL + "\t\t\t\teVirtualSet(";

+	protected final String TEXT_70 = NL + "\t\t\t\tif (eNotificationRequired())" + NL + "\t\t\t\t\teNotify(new ";

+	protected final String TEXT_71 = "(this, ";

+	protected final String TEXT_72 = ".RESOLVE, ";

+	protected final String TEXT_73 = ", old";

+	protected final String TEXT_74 = "));";

+	protected final String TEXT_75 = NL + "\t\t\t}" + NL + "\t\t}";

+	protected final String TEXT_76 = NL + "\t\treturn (";

+	protected final String TEXT_77 = " & ";

+	protected final String TEXT_78 = "_EFLAG) != 0;";

+	protected final String TEXT_79 = "_EFLAG_VALUES[(";

+	protected final String TEXT_80 = "_EFLAG) >>> ";

+	protected final String TEXT_81 = "_EFLAG_OFFSET];";

+	protected final String TEXT_82 = " = basicGet";

+	protected final String TEXT_83 = "();" + NL + "\t\treturn ";

+	protected final String TEXT_84 = ".eIsProxy() ? ";

+	protected final String TEXT_85 = "eResolveProxy(";

+	protected final String TEXT_86 = ") : ";

+	protected final String TEXT_87 = NL + "\t\treturn new ";

+	protected final String TEXT_88 = "((";

+	protected final String TEXT_89 = ".Internal)((";

+	protected final String TEXT_90 = ".Internal.Wrapper)get";

+	protected final String TEXT_91 = "()).featureMap().";

+	protected final String TEXT_92 = "list(";

+	protected final String TEXT_93 = ")get";

+	protected final String TEXT_94 = "().";

+	protected final String TEXT_95 = NL + "\t\treturn ((";

+	protected final String TEXT_96 = "()).featureMap().list(";

+	protected final String TEXT_97 = NL + "\t\treturn get";

+	protected final String TEXT_98 = "().list(";

+	protected final String TEXT_99 = "()).featureMap().get(";

+	protected final String TEXT_100 = "get";

+	protected final String TEXT_101 = "().get(";

+	protected final String TEXT_102 = NL + "\t}" + NL;

+	protected final String TEXT_103 = 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_103);

+		stringBuffer.append(TEXT_103);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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 (genFeature.hasAPITags()) {

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_5);

+			if (isJDK50) { //Class/getGenFeature.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.getGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+					callParameters.put("isGWT", isGWT);

+					callParameters.put("forceDefaultCase", forceDefaultCase);

+					callParameters.put("indentDefaultCase", indentDefaultCase);

+					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 (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_6);

+		}

+		if (!isImplementation) {

+			stringBuffer.append(TEXT_7);

+			stringBuffer.append(genFeature.getImportedType(genClass));

+			stringBuffer.append(TEXT_8);

+			stringBuffer.append(genFeature.getGetAccessor());

+			stringBuffer.append(TEXT_9);

+		} else {

+			if (genModel.useGenerics() && ((genFeature.isContainer() || genFeature.isResolveProxies())

+					&& !genFeature.isListType() && genFeature.isUncheckedCast(genClass)

+					|| genFeature.isListType() && !genFeature.isFeatureMapType()

+							&& (genModel.isReflectiveDelegation() || genModel.isVirtualDelegation()

+									|| (genModel.isDynamicDelegation() && !genFeature.isVolatile()))

+					|| genFeature.isListDataType() && genFeature.hasDelegateFeature()

+					|| genFeature.isListType() && genFeature.hasSettingDelegate())) {

+				stringBuffer.append(TEXT_10);

+			}

+			if (useInterfaceOverrideAnnotation && !genClass.isMapEntry()

+					&& !genClass.hasCollidingGetAccessorOperation(genFeature)

+					&& !genFeature.isSuppressedGetVisibility()) {

+				stringBuffer.append(TEXT_11);

+			}

+			stringBuffer.append(TEXT_12);

+			stringBuffer.append(genFeature.getImportedType(genClass));

+			stringBuffer.append(TEXT_8);

+			stringBuffer.append(genFeature.getGetAccessor());

+			if (genClass.hasCollidingGetAccessorOperation(genFeature)) {

+				stringBuffer.append(TEXT_13);

+			}

+			stringBuffer.append(TEXT_14);

+			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.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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() && !genFeature.isVolatile()) {

+				stringBuffer.append(TEXT_15);

+				if (!isJDK50 && genFeature.isPrimitiveType()) {

+					stringBuffer.append(TEXT_16);

+				}

+				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_15);

+					if (!isJDK50 && genFeature.isPrimitiveType()) {

+						stringBuffer.append(TEXT_16);

+					}

+					stringBuffer.append(TEXT_16);

+					stringBuffer.append(genFeature.getObjectType(genClass));

+					stringBuffer.append(TEXT_26);

+					stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+					stringBuffer.append(TEXT_27);

+					if (!isJDK50 && genFeature.isPrimitiveType()) {

+						stringBuffer.append(TEXT_22);

+						stringBuffer.append(genFeature.getPrimitiveValueFunction());

+						stringBuffer.append(TEXT_23);

+					}

+					stringBuffer.append(TEXT_24);

+				}

+			} else if (genFeature.hasSettingDelegate()) {

+				stringBuffer.append(TEXT_15);

+				if (!isJDK50 && genFeature.isPrimitiveType()) {

+					stringBuffer.append(TEXT_16);

+				}

+				stringBuffer.append(TEXT_16);

+				stringBuffer.append(genFeature.getObjectType(genClass));

+				stringBuffer.append(TEXT_21);

+				stringBuffer.append(genFeature.getUpperName());

+				stringBuffer.append(TEXT_28);

+				if (!isJDK50 && genFeature.isPrimitiveType()) {

+					stringBuffer.append(TEXT_22);

+					stringBuffer.append(genFeature.getPrimitiveValueFunction());

+					stringBuffer.append(TEXT_23);

+				}

+				stringBuffer.append(TEXT_24);

+			} else if (!genFeature.isVolatile()) {

+				if (genFeature.isListType()) {

+					if (genModel.isVirtualDelegation()) {

+						stringBuffer.append(TEXT_25);

+						stringBuffer.append(genFeature.getImportedType(genClass));

+						stringBuffer.append(TEXT_8);

+						stringBuffer.append(genFeature.getSafeName());

+						stringBuffer.append(TEXT_29);

+						stringBuffer.append(genFeature.getImportedType(genClass));

+						stringBuffer.append(TEXT_30);

+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(positiveOffsetCorrection);

+						stringBuffer.append(TEXT_31);

+					}

+					stringBuffer.append(TEXT_32);

+					stringBuffer.append(genFeature.getSafeName());

+					stringBuffer.append(TEXT_33);

+					if (genModel.isVirtualDelegation()) {

+						stringBuffer.append(TEXT_34);

+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(positiveOffsetCorrection);

+						stringBuffer.append(TEXT_19);

+						stringBuffer.append(genFeature.getSafeName());

+						stringBuffer.append(TEXT_35);

+						stringBuffer.append(genClass.getListConstructor(genFeature));

+						stringBuffer.append(TEXT_31);

+					} else {

+						stringBuffer.append(TEXT_36);

+						stringBuffer.append(genFeature.getSafeName());

+						stringBuffer.append(TEXT_35);

+						stringBuffer.append(genClass.getListConstructor(genFeature));

+						stringBuffer.append(TEXT_24);

+					}

+					stringBuffer.append(TEXT_37);

+					stringBuffer.append(genFeature.getSafeName());

+					stringBuffer

+							.append(genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes() ? ".map()" : "");

+					stringBuffer.append(TEXT_24);

+				} else if (genFeature.isContainer()) {

+					stringBuffer.append(TEXT_38);

+					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+					stringBuffer.append(positiveOffsetCorrection);

+					stringBuffer.append(TEXT_39);

+					stringBuffer.append(genFeature.getImportedType(genClass));

+					stringBuffer.append(TEXT_21);

+					if (genFeature.isResolveProxies()) {

+						stringBuffer.append(TEXT_40);

+					} else {

+						stringBuffer.append(TEXT_41);

+					}

+					stringBuffer.append(TEXT_42);

+				} else {

+					if (genFeature.isResolveProxies()) {

+						if (genModel.isVirtualDelegation()) {

+							stringBuffer.append(TEXT_25);

+							stringBuffer.append(genFeature.getImportedType(genClass));

+							stringBuffer.append(TEXT_8);

+							stringBuffer.append(genFeature.getSafeName());

+							stringBuffer.append(TEXT_29);

+							stringBuffer.append(genFeature.getImportedType(genClass));

+							stringBuffer.append(TEXT_30);

+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+							stringBuffer.append(positiveOffsetCorrection);

+							if (genFeature.hasEDefault()) {

+								stringBuffer.append(TEXT_19);

+								stringBuffer.append(genFeature.getEDefault());

+							}

+							stringBuffer.append(TEXT_31);

+						}

+						stringBuffer.append(TEXT_32);

+						stringBuffer.append(genFeature.getSafeName());

+						stringBuffer.append(TEXT_43);

+						stringBuffer.append(genFeature.getSafeNameAsEObject());

+						stringBuffer.append(TEXT_44);

+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

+						stringBuffer.append(TEXT_45);

+						stringBuffer.append(genFeature.getCapName());

+						stringBuffer.append(TEXT_46);

+						stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), false));

+						stringBuffer.append(TEXT_47);

+						stringBuffer.append(genFeature.getSafeName());

+						stringBuffer.append(TEXT_46);

+						stringBuffer.append(genFeature.getNonEObjectInternalTypeCast(genClass));

+						stringBuffer.append(TEXT_48);

+						stringBuffer.append(genFeature.getCapName());

+						stringBuffer.append(TEXT_49);

+						stringBuffer.append(genFeature.getSafeName());

+						stringBuffer.append(TEXT_50);

+						stringBuffer.append(genFeature.getCapName());

+						stringBuffer.append(TEXT_51);

+						if (genFeature.isEffectiveContains()) {

+							stringBuffer.append(TEXT_52);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

+							stringBuffer.append(TEXT_53);

+							stringBuffer.append(genFeature.getCapName());

+							stringBuffer.append(TEXT_46);

+							stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), false));

+							stringBuffer.append(TEXT_24);

+							if (!genFeature.isBidirectional()) {

+								stringBuffer.append(TEXT_52);

+								stringBuffer.append(

+										genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

+								stringBuffer.append(TEXT_54);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_55);

+								stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+								stringBuffer.append(negativeOffsetCorrection);

+								stringBuffer.append(TEXT_56);

+							} else {

+								GenFeature reverseFeature = genFeature.getReverse();

+								GenClass targetClass = reverseFeature.getGenClass();

+								String reverseOffsetCorrection = targetClass.hasOffsetCorrection()

+										? " + " + genClass.getOffsetCorrectionField(genFeature)

+										: "";

+								stringBuffer.append(TEXT_52);

+								stringBuffer.append(

+										genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

+								stringBuffer.append(TEXT_57);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_58);

+								stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));

+								stringBuffer.append(reverseOffsetCorrection);

+								stringBuffer.append(TEXT_19);

+								stringBuffer.append(targetClass.getRawImportedInterfaceName());

+								stringBuffer.append(TEXT_59);

+							}

+							stringBuffer.append(TEXT_60);

+							stringBuffer.append(genFeature.getCapName());

+							stringBuffer.append(TEXT_61);

+							if (!genFeature.isBidirectional()) {

+								stringBuffer.append(TEXT_62);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_63);

+								stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+								stringBuffer.append(negativeOffsetCorrection);

+								stringBuffer.append(TEXT_64);

+							} else {

+								GenFeature reverseFeature = genFeature.getReverse();

+								GenClass targetClass = reverseFeature.getGenClass();

+								String reverseOffsetCorrection = targetClass.hasOffsetCorrection()

+										? " + " + genClass.getOffsetCorrectionField(genFeature)

+										: "";

+								stringBuffer.append(TEXT_65);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_66);

+								stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));

+								stringBuffer.append(reverseOffsetCorrection);

+								stringBuffer.append(TEXT_19);

+								stringBuffer.append(targetClass.getRawImportedInterfaceName());

+								stringBuffer.append(TEXT_67);

+							}

+							stringBuffer.append(TEXT_68);

+						} else if (genModel.isVirtualDelegation()) {

+							stringBuffer.append(TEXT_69);

+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+							stringBuffer.append(positiveOffsetCorrection);

+							stringBuffer.append(TEXT_19);

+							stringBuffer.append(genFeature.getSafeName());

+							stringBuffer.append(TEXT_31);

+						}

+						if (!genModel.isSuppressNotification()) {

+							stringBuffer.append(TEXT_70);

+							stringBuffer

+									.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

+							stringBuffer.append(TEXT_71);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

+							stringBuffer.append(TEXT_72);

+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+							stringBuffer.append(positiveOffsetCorrection);

+							stringBuffer.append(TEXT_73);

+							stringBuffer.append(genFeature.getCapName());

+							stringBuffer.append(TEXT_19);

+							stringBuffer.append(genFeature.getSafeName());

+							stringBuffer.append(TEXT_74);

+						}

+						stringBuffer.append(TEXT_75);

+					}

+					if (!genFeature.isResolveProxies() && genModel.isVirtualDelegation()

+							&& !genFeature.isPrimitiveType()) {

+						stringBuffer.append(TEXT_76);

+						stringBuffer.append(genFeature.getImportedType(genClass));

+						stringBuffer.append(TEXT_30);

+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(positiveOffsetCorrection);

+						if (genFeature.hasEDefault()) {

+							stringBuffer.append(TEXT_19);

+							stringBuffer.append(genFeature.getEDefault());

+						}

+						stringBuffer.append(TEXT_31);

+					} else if (genClass.isFlag(genFeature)) {

+						if (genFeature.isBooleanType()) {

+							stringBuffer.append(TEXT_76);

+							stringBuffer.append(genClass.getFlagsField(genFeature));

+							stringBuffer.append(TEXT_77);

+							stringBuffer.append(genFeature.getUpperName());

+							stringBuffer.append(TEXT_78);

+						} else {

+							stringBuffer.append(TEXT_15);

+							stringBuffer.append(genFeature.getUpperName());

+							stringBuffer.append(TEXT_79);

+							stringBuffer.append(genClass.getFlagsField(genFeature));

+							stringBuffer.append(TEXT_77);

+							stringBuffer.append(genFeature.getUpperName());

+							stringBuffer.append(TEXT_80);

+							stringBuffer.append(genFeature.getUpperName());

+							stringBuffer.append(TEXT_81);

+						}

+					} else {

+						stringBuffer.append(TEXT_15);

+						stringBuffer.append(genFeature.getSafeName());

+						stringBuffer.append(TEXT_24);

+					}

+				}

+			} else {//volatile

+				if (genFeature.isResolveProxies() && !genFeature.isListType()) {

+					stringBuffer.append(TEXT_25);

+					stringBuffer.append(genFeature.getImportedType(genClass));

+					stringBuffer.append(TEXT_8);

+					stringBuffer.append(genFeature.getSafeName());

+					stringBuffer.append(TEXT_82);

+					stringBuffer.append(genFeature.getAccessorName());

+					stringBuffer.append(TEXT_83);

+					stringBuffer.append(genFeature.getSafeName());

+					stringBuffer.append(TEXT_43);

+					stringBuffer.append(genFeature.getSafeNameAsEObject());

+					stringBuffer.append(TEXT_84);

+					stringBuffer.append(genFeature.getNonEObjectInternalTypeCast(genClass));

+					stringBuffer.append(TEXT_85);

+					stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), false));

+					stringBuffer.append(TEXT_86);

+					stringBuffer.append(genFeature.getSafeName());

+					stringBuffer.append(TEXT_24);

+				} 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_87);

+							stringBuffer.append(genFeature.getImportedEffectiveFeatureMapWrapperClass());

+							stringBuffer.append(TEXT_88);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+							stringBuffer.append(TEXT_89);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+							stringBuffer.append(TEXT_90);

+							stringBuffer.append(delegateFeature.getAccessorName());

+							stringBuffer.append(TEXT_91);

+							stringBuffer.append(featureMapEntryTemplateArgument);

+							stringBuffer.append(TEXT_92);

+							stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+							stringBuffer.append(TEXT_74);

+						} else {

+							stringBuffer.append(TEXT_76);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+							stringBuffer.append(TEXT_93);

+							stringBuffer.append(delegateFeature.getAccessorName());

+							stringBuffer.append(TEXT_94);

+							stringBuffer.append(featureMapEntryTemplateArgument);

+							stringBuffer.append(TEXT_92);

+							stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+							stringBuffer.append(TEXT_31);

+						}

+					} else if (genFeature.isListType()) {

+						if (delegateFeature.isWrappedFeatureMapType()) {

+							stringBuffer.append(TEXT_95);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+							stringBuffer.append(TEXT_90);

+							stringBuffer.append(delegateFeature.getAccessorName());

+							stringBuffer.append(TEXT_96);

+							stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+							stringBuffer.append(TEXT_31);

+						} else {

+							stringBuffer.append(TEXT_97);

+							stringBuffer.append(delegateFeature.getAccessorName());

+							stringBuffer.append(TEXT_98);

+							stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+							stringBuffer.append(TEXT_31);

+						}

+					} else {

+						if (delegateFeature.isWrappedFeatureMapType()) {

+							stringBuffer.append(TEXT_15);

+							if (!isJDK50 && genFeature.isPrimitiveType()) {

+								stringBuffer.append(TEXT_16);

+							}

+							if (genFeature.getTypeGenDataType() == null

+									|| !genFeature.getTypeGenDataType().isObjectType()) {

+								stringBuffer.append(TEXT_16);

+								stringBuffer.append(genFeature.getObjectType(genClass));

+								stringBuffer.append(TEXT_21);

+							}

+							stringBuffer.append(TEXT_88);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+							stringBuffer.append(TEXT_90);

+							stringBuffer.append(delegateFeature.getAccessorName());

+							stringBuffer.append(TEXT_99);

+							stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+							stringBuffer.append(TEXT_27);

+							if (!isJDK50 && genFeature.isPrimitiveType()) {

+								stringBuffer.append(TEXT_22);

+								stringBuffer.append(genFeature.getPrimitiveValueFunction());

+								stringBuffer.append(TEXT_23);

+							}

+							stringBuffer.append(TEXT_24);

+						} else {

+							stringBuffer.append(TEXT_15);

+							if (!isJDK50 && genFeature.isPrimitiveType()) {

+								stringBuffer.append(TEXT_16);

+							}

+							if (genFeature.getTypeGenDataType() == null

+									|| !genFeature.getTypeGenDataType().isObjectType()) {

+								stringBuffer.append(TEXT_16);

+								stringBuffer.append(genFeature.getObjectType(genClass));

+								stringBuffer.append(TEXT_21);

+							}

+							stringBuffer.append(TEXT_100);

+							stringBuffer.append(delegateFeature.getAccessorName());

+							stringBuffer.append(TEXT_101);

+							stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+							stringBuffer.append(TEXT_27);

+							if (!isJDK50 && genFeature.isPrimitiveType()) {

+								stringBuffer.append(TEXT_22);

+								stringBuffer.append(genFeature.getPrimitiveValueFunction());

+								stringBuffer.append(TEXT_23);

+							}

+							stringBuffer.append(TEXT_24);

+						}

+					}

+				} else if (genClass.getGetAccessorOperation(genFeature) != null) {

+					stringBuffer.append(TEXT_25);

+					stringBuffer.append(genClass.getGetAccessorOperation(genFeature)

+							.getBody(genModel.getIndentation(stringBuffer)));

+				} else if (genFeature.hasGetterBody()) {

+					stringBuffer.append(TEXT_25);

+					stringBuffer.append(genFeature.getGetterBody(genModel.getIndentation(stringBuffer)));

+				} else {

+					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.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+						callParameters.put("isGWT", isGWT);

+						callParameters.put("forceDefaultCase", forceDefaultCase);

+						callParameters.put("indentDefaultCase", indentDefaultCase);

+						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_102);

+		}

+		stringBuffer.append(TEXT_2);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeaturepreinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeaturepreinsert.java
new file mode 100644
index 0000000..e0bf91f
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeaturepreinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassimplementedGenOperationTODOoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassimplementedGenOperationTODOoverride.java
new file mode 100644
index 0000000..75d7dd4
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassimplementedGenOperationTODOoverride.java
@@ -0,0 +1,320 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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;

+

+	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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/Classinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/Classinsert.java
new file mode 100644
index 0000000..eaadb16
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/Classinsert.java
@@ -0,0 +1,304 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+									for (Object isGWTParameter : isGWTList) {

+										for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+											for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+												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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																		this.isGWT = (java.lang.Boolean) isGWTParameter;

+																		this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																		this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																		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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/Classinterfacejavadocoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/Classinterfacejavadocoverride.java
new file mode 100644
index 0000000..5fce59a
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/Classinterfacejavadocoverride.java
@@ -0,0 +1,384 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 + " * @see ";

+	protected final String TEXT_13 = "#get";

+	protected final String TEXT_14 = "()";

+	protected final String TEXT_15 = NL + " * @model ";

+	protected final String TEXT_16 = NL + " *        ";

+	protected final String TEXT_17 = NL + " * @model";

+	protected final String TEXT_18 = NL + " * @extends ";

+	protected final String TEXT_19 = NL + " * ";

+	protected final String TEXT_20 = NL + " * @generated" + NL + " */" + NL;

+	protected final String TEXT_21 = 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+									for (Object isGWTParameter : isGWTList) {

+										for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+											for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+												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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																		this.isGWT = (java.lang.Boolean) isGWTParameter;

+																		this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																		this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																		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_21);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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.getRawQualifiedInterfaceName());

+					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_5);

+		if (!genModel.isSuppressEMFMetaData()) {

+			stringBuffer.append(TEXT_12);

+			stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());

+			stringBuffer.append(TEXT_13);

+			stringBuffer.append(genClass.getClassifierAccessorName());

+			stringBuffer.append(TEXT_14);

+		}

+		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_15);

+					stringBuffer.append(modelInfo);

+				} else {

+					stringBuffer.append(TEXT_16);

+					stringBuffer.append(modelInfo);

+				}

+			}

+			if (first) {

+				stringBuffer.append(TEXT_17);

+			}

+		}

+		if (genClass.needsRootExtendsInterfaceExtendsTag()) {

+			stringBuffer.append(TEXT_18);

+			stringBuffer.append(genModel.getImportedName(genModel.getRootExtendsInterface()));

+		}

+		if (genClass.hasImplicitAPITags(true)) {

+			stringBuffer.append(TEXT_19);

+			stringBuffer.append(genClass.getImplicitAPITags(genModel.getIndentation(stringBuffer), true));

+		}

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeatureTODOoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeatureTODOoverride.java
new file mode 100644
index 0000000..c3b25e7
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeatureTODOoverride.java
@@ -0,0 +1,326 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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;

+

+	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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_4);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeatureannotationsinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeatureannotationsinsert.java
new file mode 100644
index 0000000..9184030
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeatureannotationsinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeaturejavadocinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeaturejavadocinsert.java
new file mode 100644
index 0000000..6cdbdaa
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeaturejavadocinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeaturejavadocoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeaturejavadocoverride.java
new file mode 100644
index 0000000..1ef5ce4
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeaturejavadocoverride.java
@@ -0,0 +1,399 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 = NL + "\t * @see #unset";

+	protected final String TEXT_10 = "()";

+	protected final String TEXT_11 = NL + "\t * @see #";

+	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 * ";

+	protected final String TEXT_16 = NL + "\t * @generated" + NL + "\t */" + NL;

+	protected final String TEXT_17 = 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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.getRawQualifiedInterfaceName());

+		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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+			callParameters.put("isGWT", isGWT);

+			callParameters.put("forceDefaultCase", forceDefaultCase);

+			callParameters.put("indentDefaultCase", indentDefaultCase);

+			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_5);

+		if (genFeature.isChangeable() && !genFeature.isSuppressedUnsetVisibility()) {

+			stringBuffer.append(TEXT_9);

+			stringBuffer.append(genFeature.getAccessorName());

+			stringBuffer.append(TEXT_10);

+		}

+		stringBuffer.append(TEXT_11);

+		stringBuffer.append(genFeature.getGetAccessor());

+		stringBuffer.append(TEXT_10);

+		if (!genFeature.isListType() && genFeature.isChangeable() && !genFeature.isSuppressedSetVisibility()) {

+			stringBuffer.append(TEXT_12);

+			stringBuffer.append(genFeature.getAccessorName());

+			stringBuffer.append(TEXT_13);

+			stringBuffer.append(genFeature.getRawImportedBoundType());

+			stringBuffer.append(TEXT_14);

+		}

+		if (genFeature.hasAPITags()) {

+			stringBuffer.append(TEXT_15);

+			stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+		}

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeatureoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeatureoverride.java
new file mode 100644
index 0000000..9456c3d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeatureoverride.java
@@ -0,0 +1,573 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 -->";

+	protected final String TEXT_4 = NL + "\t * ";

+	protected final String TEXT_5 = NL + "\t * @generated" + NL + "\t */";

+	protected final String TEXT_6 = NL + "\t@Deprecated";

+	protected final String TEXT_7 = NL + "\tboolean isSet";

+	protected final String TEXT_8 = "();" + NL;

+	protected final String TEXT_9 = NL + "\t@Override";

+	protected final String TEXT_10 = NL + "\tpublic boolean isSet";

+	protected final String TEXT_11 = "_";

+	protected final String TEXT_12 = "()" + NL + "\t{";

+	protected final String TEXT_13 = NL + "\t\treturn eDynamicIsSet(";

+	protected final String TEXT_14 = " - ESTATIC_FEATURE_COUNT";

+	protected final String TEXT_15 = ", ";

+	protected final String TEXT_16 = ");";

+	protected final String TEXT_17 = NL + "\t\treturn eIsSet(";

+	protected final String TEXT_18 = NL + "\t\treturn ";

+	protected final String TEXT_19 = "__ESETTING_DELEGATE.dynamicIsSet(this, null, 0);";

+	protected final String TEXT_20 = NL + "\t\t";

+	protected final String TEXT_21 = " ";

+	protected final String TEXT_22 = " = (";

+	protected final String TEXT_23 = ")eVirtualGet(";

+	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 = NL + "\t\treturn (";

+	protected final String TEXT_30 = " & ";

+	protected final String TEXT_31 = "_ESETFLAG) != 0;";

+	protected final String TEXT_32 = "ESet;";

+	protected final String TEXT_33 = NL + "\t\treturn !((";

+	protected final String TEXT_34 = ".Internal)((";

+	protected final String TEXT_35 = ".Internal.Wrapper)get";

+	protected final String TEXT_36 = "()).featureMap()).isEmpty(";

+	protected final String TEXT_37 = ".Internal)get";

+	protected final String TEXT_38 = "()).isEmpty(";

+	protected final String TEXT_39 = NL + "\t}" + NL;

+	protected final String TEXT_40 = 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_40);

+		stringBuffer.append(TEXT_40);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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 (genFeature.hasAPITags()) {

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_5);

+			if (isJDK50) { //Class/isSetGenFeature.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.isSetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+					callParameters.put("isGWT", isGWT);

+					callParameters.put("forceDefaultCase", forceDefaultCase);

+					callParameters.put("indentDefaultCase", indentDefaultCase);

+					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 (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_6);

+		}

+		if (!isImplementation) {

+			stringBuffer.append(TEXT_7);

+			stringBuffer.append(genFeature.getAccessorName());

+			stringBuffer.append(TEXT_8);

+		} else {

+			if (useInterfaceOverrideAnnotation && !genClass.isMapEntry()

+					&& !genClass.hasCollidingIsSetAccessorOperation(genFeature)

+					&& !genFeature.isSuppressedIsSetVisibility()) {

+				stringBuffer.append(TEXT_9);

+			}

+			stringBuffer.append(TEXT_10);

+			stringBuffer.append(genFeature.getAccessorName());

+			if (genClass.hasCollidingIsSetAccessorOperation(genFeature)) {

+				stringBuffer.append(TEXT_11);

+			}

+			stringBuffer.append(TEXT_12);

+			if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) {

+				stringBuffer.append(TEXT_13);

+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+				if (genClass.hasStaticFeatures()) {

+					stringBuffer.append(TEXT_14);

+				}

+				stringBuffer.append(TEXT_15);

+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+				stringBuffer.append(TEXT_16);

+			} else if (genModel.isReflectiveDelegation()) {

+				stringBuffer.append(TEXT_17);

+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+				stringBuffer.append(TEXT_16);

+			} else if (genFeature.hasSettingDelegate()) {

+				stringBuffer.append(TEXT_18);

+				stringBuffer.append(genFeature.getUpperName());

+				stringBuffer.append(TEXT_19);

+			} else if (!genFeature.isVolatile()) {

+				if (genFeature.isListType()) {

+					if (genModel.isVirtualDelegation()) {

+						stringBuffer.append(TEXT_20);

+						stringBuffer.append(genFeature.getImportedType(genClass));

+						stringBuffer.append(TEXT_21);

+						stringBuffer.append(genFeature.getSafeName());

+						stringBuffer.append(TEXT_22);

+						stringBuffer.append(genFeature.getImportedType(genClass));

+						stringBuffer.append(TEXT_23);

+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(positiveOffsetCorrection);

+						stringBuffer.append(TEXT_16);

+					}

+					stringBuffer.append(TEXT_18);

+					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_16);

+					} else if (genClass.isESetFlag(genFeature)) {

+						stringBuffer.append(TEXT_29);

+						stringBuffer.append(genClass.getESetFlagsField(genFeature));

+						stringBuffer.append(TEXT_30);

+						stringBuffer.append(genFeature.getUpperName());

+						stringBuffer.append(TEXT_31);

+					} else {

+						stringBuffer.append(TEXT_18);

+						stringBuffer.append(genFeature.getUncapName());

+						stringBuffer.append(TEXT_32);

+					}

+				}

+			} else if (genFeature.hasDelegateFeature()) {

+				GenFeature delegateFeature = genFeature.getDelegateFeature();

+				if (delegateFeature.isWrappedFeatureMapType()) {

+					stringBuffer.append(TEXT_33);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+					stringBuffer.append(TEXT_34);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+					stringBuffer.append(TEXT_35);

+					stringBuffer.append(delegateFeature.getAccessorName());

+					stringBuffer.append(TEXT_36);

+					stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+					stringBuffer.append(TEXT_16);

+				} else {

+					stringBuffer.append(TEXT_33);

+					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_16);

+				}

+			} else if (genClass.getIsSetAccessorOperation(genFeature) != null) {

+				stringBuffer.append(TEXT_20);

+				stringBuffer.append(

+						genClass.getIsSetAccessorOperation(genFeature).getBody(genModel.getIndentation(stringBuffer)));

+			} else {

+				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.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+					callParameters.put("isGWT", isGWT);

+					callParameters.put("forceDefaultCase", forceDefaultCase);

+					callParameters.put("indentDefaultCase", indentDefaultCase);

+					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_39);

+		}

+		stringBuffer.append(TEXT_2);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassreflectiveDelegationoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassreflectiveDelegationoverride.java
new file mode 100644
index 0000000..c96e088
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassreflectiveDelegationoverride.java
@@ -0,0 +1,338 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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;

+

+	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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+									for (Object isGWTParameter : isGWTList) {

+										for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+											for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+												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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																		this.isGWT = (java.lang.Boolean) isGWTParameter;

+																		this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																		this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																		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_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("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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeatureTODOoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeatureTODOoverride.java
new file mode 100644
index 0000000..adf35e7
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeatureTODOoverride.java
@@ -0,0 +1,338 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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;

+

+	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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+											for (Object isGWTParameter : isGWTList) {

+												for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+													for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+														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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																				this.isGWT = (java.lang.Boolean) isGWTParameter;

+																				this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																				this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																				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_4);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeatureannotationsinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeatureannotationsinsert.java
new file mode 100644
index 0000000..6f1d25d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeatureannotationsinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturejavadocinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturejavadocinsert.java
new file mode 100644
index 0000000..d8faa4b
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturejavadocinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturejavadocoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturejavadocoverride.java
new file mode 100644
index 0000000..2769fcf
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturejavadocoverride.java
@@ -0,0 +1,402 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 = NL + "\t * @see ";

+	protected final String TEXT_10 = NL + "\t * @see #isSet";

+	protected final String TEXT_11 = "()";

+	protected final String TEXT_12 = NL + "\t * @see #unset";

+	protected final String TEXT_13 = NL + "\t * @see #";

+	protected final String TEXT_14 = NL + "\t * ";

+	protected final String TEXT_15 = NL + "\t * @generated" + NL + "\t */" + NL;

+	protected final String TEXT_16 = 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_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("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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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.getRawQualifiedInterfaceName());

+		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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+			callParameters.put("isGWT", isGWT);

+			callParameters.put("forceDefaultCase", forceDefaultCase);

+			callParameters.put("indentDefaultCase", indentDefaultCase);

+			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_5);

+		if (genFeature.isEnumType()) {

+			stringBuffer.append(TEXT_9);

+			stringBuffer.append(genFeature.getTypeGenEnum().getQualifiedName());

+		}

+		if (genFeature.isUnsettable()) {

+			if (!genFeature.isSuppressedIsSetVisibility()) {

+				stringBuffer.append(TEXT_10);

+				stringBuffer.append(genFeature.getAccessorName());

+				stringBuffer.append(TEXT_11);

+			}

+			if (!genFeature.isSuppressedUnsetVisibility()) {

+				stringBuffer.append(TEXT_12);

+				stringBuffer.append(genFeature.getAccessorName());

+				stringBuffer.append(TEXT_11);

+			}

+		}

+		stringBuffer.append(TEXT_13);

+		stringBuffer.append(genFeature.getGetAccessor());

+		stringBuffer.append(TEXT_11);

+		if (genFeature.hasAPITags()) {

+			stringBuffer.append(TEXT_14);

+			stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+		}

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeatureoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeatureoverride.java
new file mode 100644
index 0000000..d73672f
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeatureoverride.java
@@ -0,0 +1,1235 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 -->";

+	protected final String TEXT_4 = NL + "\t * ";

+	protected final String TEXT_5 = NL + "\t * @generated" + NL + "\t */";

+	protected final String TEXT_6 = NL + "\t@Deprecated";

+	protected final String TEXT_7 = NL + "\tvoid set";

+	protected final String TEXT_8 = "(";

+	protected final String TEXT_9 = " value);" + NL;

+	protected final String TEXT_10 = NL + "\t@Override";

+	protected final String TEXT_11 = NL + "\tpublic void set";

+	protected final String TEXT_12 = "_";

+	protected final String TEXT_13 = " ";

+	protected final String TEXT_14 = ")" + NL + "\t{";

+	protected final String TEXT_15 = NL + "\t\teDynamicSet(";

+	protected final String TEXT_16 = " - ESTATIC_FEATURE_COUNT";

+	protected final String TEXT_17 = ", ";

+	protected final String TEXT_18 = "new ";

+	protected final String TEXT_19 = "new";

+	protected final String TEXT_20 = ")";

+	protected final String TEXT_21 = ");";

+	protected final String TEXT_22 = NL + "\t\teSet(";

+	protected final String TEXT_23 = NL + "\t\t";

+	protected final String TEXT_24 = "__ESETTING_DELEGATE.dynamicSet(this, null, 0, ";

+	protected final String TEXT_25 = NL + "\t\tif (new";

+	protected final String TEXT_26 = " != eInternalContainer() || (eContainerFeatureID() != ";

+	protected final String TEXT_27 = " && new";

+	protected final String TEXT_28 = " != null))" + NL + "\t\t{" + NL + "\t\t\tif (";

+	protected final String TEXT_29 = ".isAncestor(this, ";

+	protected final String TEXT_30 = "))" + NL + "\t\t\t\tthrow new ";

+	protected final String TEXT_31 = "(\"Recursive containment not allowed for \" + toString());";

+	protected final String TEXT_32 = NL + "\t\t\t";

+	protected final String TEXT_33 = " msgs = null;" + NL + "\t\t\tif (eInternalContainer() != null)" + NL

+			+ "\t\t\t\tmsgs = eBasicRemoveFromContainer(msgs);" + NL + "\t\t\tif (new";

+	protected final String TEXT_34 = " != null)" + NL + "\t\t\t\tmsgs = ";

+	protected final String TEXT_35 = ".eInverseAdd(this, ";

+	protected final String TEXT_36 = ".class, msgs);" + NL + "\t\t\tmsgs = basicSet";

+	protected final String TEXT_37 = ", msgs);" + NL + "\t\t\tif (msgs != null) msgs.dispatch();" + NL + "\t\t}";

+	protected final String TEXT_38 = NL + "\t\telse if (eNotificationRequired())" + NL + "\t\t\teNotify(new ";

+	protected final String TEXT_39 = "(this, ";

+	protected final String TEXT_40 = ".SET, ";

+	protected final String TEXT_41 = ", new";

+	protected final String TEXT_42 = "));";

+	protected final String TEXT_43 = " = (";

+	protected final String TEXT_44 = ")eVirtualGet(";

+	protected final String TEXT_45 = " != ";

+	protected final String TEXT_46 = ")" + NL + "\t\t{" + NL + "\t\t\t";

+	protected final String TEXT_47 = " msgs = null;" + NL + "\t\t\tif (";

+	protected final String TEXT_48 = " != null)";

+	protected final String TEXT_49 = NL + "\t\t\t\tmsgs = ";

+	protected final String TEXT_50 = ".eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ";

+	protected final String TEXT_51 = ", null, msgs);" + NL + "\t\t\tif (new";

+	protected final String TEXT_52 = ".eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ";

+	protected final String TEXT_53 = ", null, msgs);";

+	protected final String TEXT_54 = ".eInverseRemove(this, ";

+	protected final String TEXT_55 = ".class, msgs);" + NL + "\t\t\tif (new";

+	protected final String TEXT_56 = ".class, msgs);";

+	protected final String TEXT_57 = NL + "\t\t\tmsgs = basicSet";

+	protected final String TEXT_58 = NL + "\t\telse" + NL + "\t\t{";

+	protected final String TEXT_59 = NL + "\t\t\tboolean old";

+	protected final String TEXT_60 = "ESet = eVirtualIsSet(";

+	protected final String TEXT_61 = "ESet = (";

+	protected final String TEXT_62 = " & ";

+	protected final String TEXT_63 = "_ESETFLAG) != 0;";

+	protected final String TEXT_64 = " |= ";

+	protected final String TEXT_65 = "_ESETFLAG;";

+	protected final String TEXT_66 = "ESet = ";

+	protected final String TEXT_67 = "ESet;";

+	protected final String TEXT_68 = "ESet = true;";

+	protected final String TEXT_69 = NL + "\t\t\tif (eNotificationRequired())" + NL + "\t\t\t\teNotify(new ";

+	protected final String TEXT_70 = ", !old";

+	protected final String TEXT_71 = "ESet));";

+	protected final String TEXT_72 = NL + "\t\t}";

+	protected final String TEXT_73 = " old";

+	protected final String TEXT_74 = "_EFLAG) != 0;";

+	protected final String TEXT_75 = " = ";

+	protected final String TEXT_76 = "_EFLAG_VALUES[(";

+	protected final String TEXT_77 = "_EFLAG) >>> ";

+	protected final String TEXT_78 = "_EFLAG_OFFSET];";

+	protected final String TEXT_79 = ") ";

+	protected final String TEXT_80 = "_EFLAG; else ";

+	protected final String TEXT_81 = " &= ~";

+	protected final String TEXT_82 = "_EFLAG;";

+	protected final String TEXT_83 = " == null) new";

+	protected final String TEXT_84 = "_EDEFAULT;" + NL + "\t\t";

+	protected final String TEXT_85 = " & ~";

+	protected final String TEXT_86 = "_EFLAG | ";

+	protected final String TEXT_87 = ".ordinal()";

+	protected final String TEXT_88 = ".VALUES.indexOf(new";

+	protected final String TEXT_89 = " << ";

+	protected final String TEXT_90 = "_EFLAG_OFFSET;";

+	protected final String TEXT_91 = ";";

+	protected final String TEXT_92 = " = new";

+	protected final String TEXT_93 = " == null ? ";

+	protected final String TEXT_94 = " : new";

+	protected final String TEXT_95 = NL + "\t\tObject old";

+	protected final String TEXT_96 = " = eVirtualSet(";

+	protected final String TEXT_97 = NL + "\t\tboolean isSetChange = old";

+	protected final String TEXT_98 = " == EVIRTUAL_NO_VALUE;";

+	protected final String TEXT_99 = NL + "\t\tboolean old";

+	protected final String TEXT_100 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t\teNotify(new ";

+	protected final String TEXT_101 = "isSetChange ? ";

+	protected final String TEXT_102 = " : old";

+	protected final String TEXT_103 = "old";

+	protected final String TEXT_104 = "isSetChange";

+	protected final String TEXT_105 = "!old";

+	protected final String TEXT_106 = "ESet";

+	protected final String TEXT_107 = " == EVIRTUAL_NO_VALUE ? ";

+	protected final String TEXT_108 = NL + "\t\t((";

+	protected final String TEXT_109 = ".Internal)((";

+	protected final String TEXT_110 = ".Internal.Wrapper)get";

+	protected final String TEXT_111 = "()).featureMap()).set(";

+	protected final String TEXT_112 = ".Internal)get";

+	protected final String TEXT_113 = "()).set(";

+	protected final String TEXT_114 = NL + "\t}" + NL;

+	protected final String TEXT_115 = 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_115);

+		stringBuffer.append(TEXT_115);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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 (genFeature.hasAPITags()) {

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_5);

+			if (isJDK50) { //Class/setGenFeature.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.setGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+					callParameters.put("isGWT", isGWT);

+					callParameters.put("forceDefaultCase", forceDefaultCase);

+					callParameters.put("indentDefaultCase", indentDefaultCase);

+					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 (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_6);

+		}

+		if (!isImplementation) {

+			stringBuffer.append(TEXT_7);

+			stringBuffer.append(genFeature.getAccessorName());

+			stringBuffer.append(TEXT_8);

+			stringBuffer.append(genFeature.getImportedType(genClass));

+			stringBuffer.append(TEXT_9);

+		} else {

+			GenOperation setAccessorOperation = genClass.getSetAccessorOperation(genFeature);

+			if (useInterfaceOverrideAnnotation && !genClass.isMapEntry()

+					&& !genClass.hasCollidingSetAccessorOperation(genFeature)

+					&& !genFeature.isSuppressedSetVisibility()) {

+				stringBuffer.append(TEXT_10);

+			}

+			stringBuffer.append(TEXT_11);

+			stringBuffer.append(genFeature.getAccessorName());

+			if (genClass.hasCollidingSetAccessorOperation(genFeature)) {

+				stringBuffer.append(TEXT_12);

+			}

+			stringBuffer.append(TEXT_8);

+			stringBuffer.append(genFeature.getImportedType(genClass));

+			stringBuffer.append(TEXT_13);

+			stringBuffer.append(setAccessorOperation == null ? "new" + genFeature.getCapName()

+					: setAccessorOperation.getGenParameters().get(0).getName());

+			stringBuffer.append(TEXT_14);

+			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.pre.insert" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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() && !genFeature.isVolatile()) {

+				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.dynamicSetGenFeature.pre.insert" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+					callParameters.put("isGWT", isGWT);

+					callParameters.put("forceDefaultCase", forceDefaultCase);

+					callParameters.put("indentDefaultCase", indentDefaultCase);

+					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#_Y__lwCSWEemxeP6B0lLOpA",

+							new ExecutionContext((InternalPatternContext) ctx), callParameters);

+					stringBuffer.setLength(0);

+				}

+

+				stringBuffer.append(TEXT_15);

+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+				if (genClass.hasStaticFeatures()) {

+					stringBuffer.append(TEXT_16);

+				}

+				stringBuffer.append(TEXT_17);

+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+				stringBuffer.append(TEXT_17);

+				if (!isJDK50 && genFeature.isPrimitiveType()) {

+					stringBuffer.append(TEXT_18);

+					stringBuffer.append(genFeature.getObjectType(genClass));

+					stringBuffer.append(TEXT_8);

+				}

+				stringBuffer.append(TEXT_19);

+				stringBuffer.append(genFeature.getCapName());

+				if (!isJDK50 && genFeature.isPrimitiveType()) {

+					stringBuffer.append(TEXT_20);

+				}

+				stringBuffer.append(TEXT_21);

+				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.dynamicSetGenFeature.post.insert" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+					callParameters.put("isGWT", isGWT);

+					callParameters.put("forceDefaultCase", forceDefaultCase);

+					callParameters.put("indentDefaultCase", indentDefaultCase);

+					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#_ZGGNwCSWEemxeP6B0lLOpA",

+							new ExecutionContext((InternalPatternContext) ctx), callParameters);

+					stringBuffer.setLength(0);

+				}

+

+			} else if (genModel.isReflectiveDelegation()) {

+				stringBuffer.append(TEXT_22);

+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+				stringBuffer.append(TEXT_17);

+				if (!isJDK50 && genFeature.isPrimitiveType()) {

+					stringBuffer.append(TEXT_18);

+					stringBuffer.append(genFeature.getObjectType(genClass));

+					stringBuffer.append(TEXT_8);

+				}

+				stringBuffer.append(TEXT_19);

+				stringBuffer.append(genFeature.getCapName());

+				if (!isJDK50 && genFeature.isPrimitiveType()) {

+					stringBuffer.append(TEXT_20);

+				}

+				stringBuffer.append(TEXT_21);

+			} else if (genFeature.hasSettingDelegate()) {

+				stringBuffer.append(TEXT_23);

+				stringBuffer.append(genFeature.getUpperName());

+				stringBuffer.append(TEXT_24);

+				if (!isJDK50 && genFeature.isPrimitiveType()) {

+					stringBuffer.append(TEXT_18);

+					stringBuffer.append(genFeature.getObjectType(genClass));

+					stringBuffer.append(TEXT_8);

+				}

+				stringBuffer.append(TEXT_19);

+				stringBuffer.append(genFeature.getCapName());

+				if (!isJDK50 && genFeature.isPrimitiveType()) {

+					stringBuffer.append(TEXT_20);

+				}

+				stringBuffer.append(TEXT_21);

+			} 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_25);

+					stringBuffer.append(genFeature.getCapName());

+					stringBuffer.append(TEXT_26);

+					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+					stringBuffer.append(positiveOffsetCorrection);

+					stringBuffer.append(TEXT_27);

+					stringBuffer.append(genFeature.getCapName());

+					stringBuffer.append(TEXT_28);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.EcoreUtil"));

+					stringBuffer.append(TEXT_29);

+					stringBuffer.append(genFeature.getEObjectCast());

+					stringBuffer.append(TEXT_19);

+					stringBuffer.append(genFeature.getCapName());

+					stringBuffer.append(TEXT_30);

+					stringBuffer.append(genModel.getImportedName("java.lang.IllegalArgumentException"));

+					stringBuffer.append(TEXT_31);

+					stringBuffer.append(genModel.getNonNLS());

+					stringBuffer.append(TEXT_32);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

+					stringBuffer.append(TEXT_33);

+					stringBuffer.append(genFeature.getCapName());

+					stringBuffer.append(TEXT_34);

+					stringBuffer.append(genFeature.getAsInternalEObject("new" + genFeature.getCapName(), true));

+					stringBuffer.append(TEXT_35);

+					stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));

+					stringBuffer.append(reverseOffsetCorrection);

+					stringBuffer.append(TEXT_17);

+					stringBuffer.append(targetClass.getRawImportedInterfaceName());

+					stringBuffer.append(TEXT_36);

+					stringBuffer.append(genFeature.getAccessorName());

+					stringBuffer.append(TEXT_8);

+					stringBuffer.append(genFeature.getInternalTypeCast());

+					stringBuffer.append(TEXT_19);

+					stringBuffer.append(genFeature.getCapName());

+					stringBuffer.append(TEXT_37);

+					if (!genModel.isSuppressNotification()) {

+						stringBuffer.append(TEXT_38);

+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

+						stringBuffer.append(TEXT_39);

+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

+						stringBuffer.append(TEXT_40);

+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(positiveOffsetCorrection);

+						stringBuffer.append(TEXT_41);

+						stringBuffer.append(genFeature.getCapName());

+						stringBuffer.append(TEXT_41);

+						stringBuffer.append(genFeature.getCapName());

+						stringBuffer.append(TEXT_42);

+					}

+				} else if (genFeature.isBidirectional() || genFeature.isEffectiveContains()) {

+					if (genModel.isVirtualDelegation()) {

+						stringBuffer.append(TEXT_23);

+						stringBuffer.append(genFeature.getImportedType(genClass));

+						stringBuffer.append(TEXT_13);

+						stringBuffer.append(genFeature.getSafeName());

+						stringBuffer.append(TEXT_43);

+						stringBuffer.append(genFeature.getImportedType(genClass));

+						stringBuffer.append(TEXT_44);

+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(positiveOffsetCorrection);

+						stringBuffer.append(TEXT_21);

+					}

+					stringBuffer.append(TEXT_25);

+					stringBuffer.append(genFeature.getCapName());

+					stringBuffer.append(TEXT_45);

+					stringBuffer.append(genFeature.getSafeName());

+					stringBuffer.append(TEXT_46);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

+					stringBuffer.append(TEXT_47);

+					stringBuffer.append(genFeature.getSafeName());

+					stringBuffer.append(TEXT_48);

+					if (!genFeature.isBidirectional()) {

+						stringBuffer.append(TEXT_49);

+						stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), true));

+						stringBuffer.append(TEXT_50);

+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(negativeOffsetCorrection);

+						stringBuffer.append(TEXT_51);

+						stringBuffer.append(genFeature.getCapName());

+						stringBuffer.append(TEXT_34);

+						stringBuffer.append(genFeature.getAsInternalEObject("new" + genFeature.getCapName(), true));

+						stringBuffer.append(TEXT_52);

+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(negativeOffsetCorrection);

+						stringBuffer.append(TEXT_53);

+					} else {

+						GenFeature reverseFeature = genFeature.getReverse();

+						GenClass targetClass = reverseFeature.getGenClass();

+						String reverseOffsetCorrection = targetClass.hasOffsetCorrection()

+								? " + " + genClass.getOffsetCorrectionField(genFeature)

+								: "";

+						stringBuffer.append(TEXT_49);

+						stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), true));

+						stringBuffer.append(TEXT_54);

+						stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));

+						stringBuffer.append(reverseOffsetCorrection);

+						stringBuffer.append(TEXT_17);

+						stringBuffer.append(targetClass.getRawImportedInterfaceName());

+						stringBuffer.append(TEXT_55);

+						stringBuffer.append(genFeature.getCapName());

+						stringBuffer.append(TEXT_34);

+						stringBuffer.append(genFeature.getAsInternalEObject("new" + genFeature.getCapName(), true));

+						stringBuffer.append(TEXT_35);

+						stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));

+						stringBuffer.append(reverseOffsetCorrection);

+						stringBuffer.append(TEXT_17);

+						stringBuffer.append(targetClass.getRawImportedInterfaceName());

+						stringBuffer.append(TEXT_56);

+					}

+					stringBuffer.append(TEXT_57);

+					stringBuffer.append(genFeature.getAccessorName());

+					stringBuffer.append(TEXT_8);

+					stringBuffer.append(genFeature.getInternalTypeCast());

+					stringBuffer.append(TEXT_19);

+					stringBuffer.append(genFeature.getCapName());

+					stringBuffer.append(TEXT_37);

+					if (genFeature.isUnsettable()) {

+						stringBuffer.append(TEXT_58);

+						if (genModel.isVirtualDelegation()) {

+							stringBuffer.append(TEXT_59);

+							stringBuffer.append(genFeature.getCapName());

+							stringBuffer.append(TEXT_60);

+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+							stringBuffer.append(positiveOffsetCorrection);

+							stringBuffer.append(TEXT_21);

+						} else if (genClass.isESetFlag(genFeature)) {

+							if (!genModel.isSuppressNotification()) {

+								stringBuffer.append(TEXT_59);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_61);

+								stringBuffer.append(genClass.getESetFlagsField(genFeature));

+								stringBuffer.append(TEXT_62);

+								stringBuffer.append(genFeature.getUpperName());

+								stringBuffer.append(TEXT_63);

+							}

+							stringBuffer.append(TEXT_32);

+							stringBuffer.append(genClass.getESetFlagsField(genFeature));

+							stringBuffer.append(TEXT_64);

+							stringBuffer.append(genFeature.getUpperName());

+							stringBuffer.append(TEXT_65);

+						} else {

+							if (!genModel.isSuppressNotification()) {

+								stringBuffer.append(TEXT_59);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_66);

+								stringBuffer.append(genFeature.getUncapName());

+								stringBuffer.append(TEXT_67);

+							}

+							stringBuffer.append(TEXT_32);

+							stringBuffer.append(genFeature.getUncapName());

+							stringBuffer.append(TEXT_68);

+						}

+						if (!genModel.isSuppressNotification()) {

+							stringBuffer.append(TEXT_69);

+							stringBuffer

+									.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

+							stringBuffer.append(TEXT_39);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

+							stringBuffer.append(TEXT_40);

+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+							stringBuffer.append(positiveOffsetCorrection);

+							stringBuffer.append(TEXT_41);

+							stringBuffer.append(genFeature.getCapName());

+							stringBuffer.append(TEXT_41);

+							stringBuffer.append(genFeature.getCapName());

+							stringBuffer.append(TEXT_70);

+							stringBuffer.append(genFeature.getCapName());

+							stringBuffer.append(TEXT_71);

+						}

+						stringBuffer.append(TEXT_72);

+					} else {

+						if (!genModel.isSuppressNotification()) {

+							stringBuffer.append(TEXT_38);

+							stringBuffer

+									.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

+							stringBuffer.append(TEXT_39);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

+							stringBuffer.append(TEXT_40);

+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+							stringBuffer.append(positiveOffsetCorrection);

+							stringBuffer.append(TEXT_41);

+							stringBuffer.append(genFeature.getCapName());

+							stringBuffer.append(TEXT_41);

+							stringBuffer.append(genFeature.getCapName());

+							stringBuffer.append(TEXT_42);

+						}

+					}

+				} else {

+					if (genClass.isFlag(genFeature)) {

+						if (!genModel.isSuppressNotification()) {

+							if (genFeature.isBooleanType()) {

+								stringBuffer.append(TEXT_23);

+								stringBuffer.append(genFeature.getImportedType(genClass));

+								stringBuffer.append(TEXT_73);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_43);

+								stringBuffer.append(genClass.getFlagsField(genFeature));

+								stringBuffer.append(TEXT_62);

+								stringBuffer.append(genFeature.getUpperName());

+								stringBuffer.append(TEXT_74);

+							} else {

+								stringBuffer.append(TEXT_23);

+								stringBuffer.append(genFeature.getImportedType(genClass));

+								stringBuffer.append(TEXT_73);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_75);

+								stringBuffer.append(genFeature.getUpperName());

+								stringBuffer.append(TEXT_76);

+								stringBuffer.append(genClass.getFlagsField(genFeature));

+								stringBuffer.append(TEXT_62);

+								stringBuffer.append(genFeature.getUpperName());

+								stringBuffer.append(TEXT_77);

+								stringBuffer.append(genFeature.getUpperName());

+								stringBuffer.append(TEXT_78);

+							}

+						}

+						if (genFeature.isBooleanType()) {

+							stringBuffer.append(TEXT_25);

+							stringBuffer.append(genFeature.getCapName());

+							stringBuffer.append(TEXT_79);

+							stringBuffer.append(genClass.getFlagsField(genFeature));

+							stringBuffer.append(TEXT_64);

+							stringBuffer.append(genFeature.getUpperName());

+							stringBuffer.append(TEXT_80);

+							stringBuffer.append(genClass.getFlagsField(genFeature));

+							stringBuffer.append(TEXT_81);

+							stringBuffer.append(genFeature.getUpperName());

+							stringBuffer.append(TEXT_82);

+						} else {

+							stringBuffer.append(TEXT_25);

+							stringBuffer.append(genFeature.getCapName());

+							stringBuffer.append(TEXT_83);

+							stringBuffer.append(genFeature.getCapName());

+							stringBuffer.append(TEXT_75);

+							stringBuffer.append(genFeature.getUpperName());

+							stringBuffer.append(TEXT_84);

+							stringBuffer.append(genClass.getFlagsField(genFeature));

+							stringBuffer.append(TEXT_75);

+							stringBuffer.append(genClass.getFlagsField(genFeature));

+							stringBuffer.append(TEXT_85);

+							stringBuffer.append(genFeature.getUpperName());

+							stringBuffer.append(TEXT_86);

+							if (isJDK50) {

+								stringBuffer.append(TEXT_19);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_87);

+							} else {

+								stringBuffer.append(genFeature.getImportedType(genClass));

+								stringBuffer.append(TEXT_88);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_20);

+							}

+							stringBuffer.append(TEXT_89);

+							stringBuffer.append(genFeature.getUpperName());

+							stringBuffer.append(TEXT_90);

+						}

+					} else {

+						if (!genModel.isVirtualDelegation() || genFeature.isPrimitiveType()) {

+							if (!genModel.isSuppressNotification()) {

+								stringBuffer.append(TEXT_23);

+								stringBuffer.append(genFeature.getImportedType(genClass));

+								stringBuffer.append(TEXT_73);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_75);

+								stringBuffer.append(genFeature.getSafeName());

+								stringBuffer.append(TEXT_91);

+							}

+						}

+						if (genFeature.isEnumType()) {

+							if (genModel.isVirtualDelegation()) {

+								stringBuffer.append(TEXT_23);

+								stringBuffer.append(genFeature.getImportedType(genClass));

+								stringBuffer.append(TEXT_13);

+								stringBuffer.append(genFeature.getSafeName());

+								stringBuffer.append(TEXT_92);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_93);

+								stringBuffer.append(genFeature.getEDefault());

+								stringBuffer.append(TEXT_94);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_91);

+							} else {

+								stringBuffer.append(TEXT_23);

+								stringBuffer.append(genFeature.getSafeName());

+								stringBuffer.append(TEXT_92);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_93);

+								stringBuffer.append(genFeature.getEDefault());

+								stringBuffer.append(TEXT_94);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_91);

+							}

+						} else {

+							if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

+								stringBuffer.append(TEXT_23);

+								stringBuffer.append(genFeature.getImportedType(genClass));

+								stringBuffer.append(TEXT_13);

+								stringBuffer.append(genFeature.getSafeName());

+								stringBuffer.append(TEXT_75);

+								stringBuffer.append(genFeature.getInternalTypeCast());

+								stringBuffer.append(TEXT_19);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_91);

+							} else {

+								stringBuffer.append(TEXT_23);

+								stringBuffer.append(genFeature.getSafeName());

+								stringBuffer.append(TEXT_75);

+								stringBuffer.append(genFeature.getInternalTypeCast());

+								stringBuffer.append(TEXT_19);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_91);

+							}

+						}

+						if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

+							stringBuffer.append(TEXT_95);

+							stringBuffer.append(genFeature.getCapName());

+							stringBuffer.append(TEXT_96);

+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+							stringBuffer.append(positiveOffsetCorrection);

+							stringBuffer.append(TEXT_17);

+							stringBuffer.append(genFeature.getSafeName());

+							stringBuffer.append(TEXT_21);

+						}

+					}

+					if (genFeature.isUnsettable()) {

+						if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

+							stringBuffer.append(TEXT_97);

+							stringBuffer.append(genFeature.getCapName());

+							stringBuffer.append(TEXT_98);

+						} else if (genClass.isESetFlag(genFeature)) {

+							if (!genModel.isSuppressNotification()) {

+								stringBuffer.append(TEXT_99);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_61);

+								stringBuffer.append(genClass.getESetFlagsField(genFeature));

+								stringBuffer.append(TEXT_62);

+								stringBuffer.append(genFeature.getUpperName());

+								stringBuffer.append(TEXT_63);

+							}

+							stringBuffer.append(TEXT_23);

+							stringBuffer.append(genClass.getESetFlagsField(genFeature));

+							stringBuffer.append(TEXT_64);

+							stringBuffer.append(genFeature.getUpperName());

+							stringBuffer.append(TEXT_65);

+						} else {

+							if (!genModel.isSuppressNotification()) {

+								stringBuffer.append(TEXT_99);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_66);

+								stringBuffer.append(genFeature.getUncapName());

+								stringBuffer.append(TEXT_67);

+							}

+							stringBuffer.append(TEXT_23);

+							stringBuffer.append(genFeature.getUncapName());

+							stringBuffer.append(TEXT_68);

+						}

+						if (!genModel.isSuppressNotification()) {

+							stringBuffer.append(TEXT_100);

+							stringBuffer

+									.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

+							stringBuffer.append(TEXT_39);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

+							stringBuffer.append(TEXT_40);

+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+							stringBuffer.append(positiveOffsetCorrection);

+							stringBuffer.append(TEXT_17);

+							if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

+								stringBuffer.append(TEXT_101);

+								stringBuffer.append(genFeature.getEDefault());

+								stringBuffer.append(TEXT_102);

+								stringBuffer.append(genFeature.getCapName());

+							} else {

+								stringBuffer.append(TEXT_103);

+								stringBuffer.append(genFeature.getCapName());

+							}

+							stringBuffer.append(TEXT_17);

+							if (genClass.isFlag(genFeature)) {

+								stringBuffer.append(TEXT_19);

+								stringBuffer.append(genFeature.getCapName());

+							} else {

+								stringBuffer.append(genFeature.getSafeName());

+							}

+							stringBuffer.append(TEXT_17);

+							if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

+								stringBuffer.append(TEXT_104);

+							} else {

+								stringBuffer.append(TEXT_105);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_106);

+							}

+							stringBuffer.append(TEXT_42);

+						}

+					} else {

+						if (!genModel.isSuppressNotification()) {

+							stringBuffer.append(TEXT_100);

+							stringBuffer

+									.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

+							stringBuffer.append(TEXT_39);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

+							stringBuffer.append(TEXT_40);

+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+							stringBuffer.append(positiveOffsetCorrection);

+							stringBuffer.append(TEXT_17);

+							if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

+								stringBuffer.append(TEXT_103);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_107);

+								stringBuffer.append(genFeature.getEDefault());

+								stringBuffer.append(TEXT_102);

+								stringBuffer.append(genFeature.getCapName());

+							} else {

+								stringBuffer.append(TEXT_103);

+								stringBuffer.append(genFeature.getCapName());

+							}

+							stringBuffer.append(TEXT_17);

+							if (genClass.isFlag(genFeature)) {

+								stringBuffer.append(TEXT_19);

+								stringBuffer.append(genFeature.getCapName());

+							} else {

+								stringBuffer.append(genFeature.getSafeName());

+							}

+							stringBuffer.append(TEXT_42);

+						}

+					}

+				}

+				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.post.insert" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+					callParameters.put("isGWT", isGWT);

+					callParameters.put("forceDefaultCase", forceDefaultCase);

+					callParameters.put("indentDefaultCase", indentDefaultCase);

+					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_108);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+					stringBuffer.append(TEXT_109);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+					stringBuffer.append(TEXT_110);

+					stringBuffer.append(delegateFeature.getAccessorName());

+					stringBuffer.append(TEXT_111);

+					stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+					stringBuffer.append(TEXT_17);

+					if (!isJDK50 && genFeature.isPrimitiveType()) {

+						stringBuffer.append(TEXT_18);

+						stringBuffer.append(genFeature.getObjectType(genClass));

+						stringBuffer.append(TEXT_8);

+					}

+					stringBuffer.append(TEXT_19);

+					stringBuffer.append(genFeature.getCapName());

+					if (!isJDK50 && genFeature.isPrimitiveType()) {

+						stringBuffer.append(TEXT_20);

+					}

+					stringBuffer.append(TEXT_21);

+				} else {

+					stringBuffer.append(TEXT_108);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+					stringBuffer.append(TEXT_112);

+					stringBuffer.append(delegateFeature.getAccessorName());

+					stringBuffer.append(TEXT_113);

+					stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+					stringBuffer.append(TEXT_17);

+					if (!isJDK50 && genFeature.isPrimitiveType()) {

+						stringBuffer.append(TEXT_18);

+						stringBuffer.append(genFeature.getObjectType(genClass));

+						stringBuffer.append(TEXT_8);

+					}

+					stringBuffer.append(TEXT_19);

+					stringBuffer.append(genFeature.getCapName());

+					if (!isJDK50 && genFeature.isPrimitiveType()) {

+						stringBuffer.append(TEXT_20);

+					}

+					stringBuffer.append(TEXT_21);

+				}

+			} else if (setAccessorOperation != null) {

+				stringBuffer.append(TEXT_23);

+				stringBuffer.append(setAccessorOperation.getBody(genModel.getIndentation(stringBuffer)));

+			} else {

+				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.TODO.override" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+					callParameters.put("isGWT", isGWT);

+					callParameters.put("forceDefaultCase", forceDefaultCase);

+					callParameters.put("indentDefaultCase", indentDefaultCase);

+					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_114);

+		}

+		stringBuffer.append(TEXT_2);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturepostinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturepostinsert.java
new file mode 100644
index 0000000..484bcab
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturepostinsert.java
@@ -0,0 +1,330 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+											for (Object isGWTParameter : isGWTList) {

+												for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+													for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+														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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																				this.isGWT = (java.lang.Boolean) isGWTParameter;

+																				this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																				this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																				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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturepreinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturepreinsert.java
new file mode 100644
index 0000000..f714b77
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturepreinsert.java
@@ -0,0 +1,330 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+											for (Object isGWTParameter : isGWTList) {

+												for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+													for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+														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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																				this.isGWT = (java.lang.Boolean) isGWTParameter;

+																				this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																				this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																				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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeatureTODOoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeatureTODOoverride.java
new file mode 100644
index 0000000..e05663f
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeatureTODOoverride.java
@@ -0,0 +1,325 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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;

+

+	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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_4);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeatureannotationsinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeatureannotationsinsert.java
new file mode 100644
index 0000000..d5039c7
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeatureannotationsinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeaturejavadocinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeaturejavadocinsert.java
new file mode 100644
index 0000000..684622d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeaturejavadocinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeaturejavadocoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeaturejavadocoverride.java
new file mode 100644
index 0000000..c3ffbc7
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeaturejavadocoverride.java
@@ -0,0 +1,393 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 = NL + "\t * @see #set";

+	protected final String TEXT_12 = "(";

+	protected final String TEXT_13 = ")";

+	protected final String TEXT_14 = NL + "\t * ";

+	protected final String TEXT_15 = NL + "\t * @generated" + NL + "\t */" + NL;

+	protected final String TEXT_16 = 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_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("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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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.getRawQualifiedInterfaceName());

+		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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+			callParameters.put("isGWT", isGWT);

+			callParameters.put("forceDefaultCase", forceDefaultCase);

+			callParameters.put("indentDefaultCase", indentDefaultCase);

+			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_9);

+		if (!genFeature.isListType() && !genFeature.isSuppressedSetVisibility()) {

+			stringBuffer.append(TEXT_11);

+			stringBuffer.append(genFeature.getAccessorName());

+			stringBuffer.append(TEXT_12);

+			stringBuffer.append(genFeature.getRawImportedBoundType());

+			stringBuffer.append(TEXT_13);

+		}

+		if (genFeature.hasAPITags()) {

+			stringBuffer.append(TEXT_14);

+			stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+		}

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeatureoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeatureoverride.java
new file mode 100644
index 0000000..6029815
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeatureoverride.java
@@ -0,0 +1,887 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Class;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 -->";

+	protected final String TEXT_4 = NL + "\t * ";

+	protected final String TEXT_5 = NL + "\t * @generated" + NL + "\t */";

+	protected final String TEXT_6 = NL + "\t@Deprecated";

+	protected final String TEXT_7 = NL + "\tvoid unset";

+	protected final String TEXT_8 = "();" + NL;

+	protected final String TEXT_9 = NL + "\t@Override";

+	protected final String TEXT_10 = NL + "\tpublic void unset";

+	protected final String TEXT_11 = "_";

+	protected final String TEXT_12 = "()" + NL + "\t{";

+	protected final String TEXT_13 = NL + "\t\teDynamicUnset(";

+	protected final String TEXT_14 = " - ESTATIC_FEATURE_COUNT";

+	protected final String TEXT_15 = ", ";

+	protected final String TEXT_16 = ");";

+	protected final String TEXT_17 = NL + "\t\teUnset(";

+	protected final String TEXT_18 = NL + "\t\t";

+	protected final String TEXT_19 = "__ESETTING_DELEGATE.dynamicUnset(this, null, 0);";

+	protected final String TEXT_20 = " ";

+	protected final String TEXT_21 = " = (";

+	protected final String TEXT_22 = ")eVirtualGet(";

+	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 = " != null)" + NL + "\t\t{" + NL + "\t\t\t";

+	protected final String TEXT_29 = " msgs = null;";

+	protected final String TEXT_30 = NL + "\t\t\tmsgs = ";

+	protected final String TEXT_31 = ".eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ";

+	protected final String TEXT_32 = ", null, msgs);";

+	protected final String TEXT_33 = ".eInverseRemove(this, ";

+	protected final String TEXT_34 = ".class, msgs);";

+	protected final String TEXT_35 = NL + "\t\t\tmsgs = basicUnset";

+	protected final String TEXT_36 = "(msgs);" + NL + "\t\t\tif (msgs != null) msgs.dispatch();" + NL + "\t\t}" + NL

+			+ "\t\telse" + NL + "\t\t{";

+	protected final String TEXT_37 = NL + "\t\t\tboolean old";

+	protected final String TEXT_38 = "ESet = eVirtualIsSet(";

+	protected final String TEXT_39 = "ESet = (";

+	protected final String TEXT_40 = " & ";

+	protected final String TEXT_41 = "_ESETFLAG) != 0;";

+	protected final String TEXT_42 = NL + "\t\t\t";

+	protected final String TEXT_43 = " &= ~";

+	protected final String TEXT_44 = "_ESETFLAG;";

+	protected final String TEXT_45 = "ESet = ";

+	protected final String TEXT_46 = "ESet;";

+	protected final String TEXT_47 = "ESet = false;";

+	protected final String TEXT_48 = NL + "\t\t\tif (eNotificationRequired())" + NL + "\t\t\t\teNotify(new ";

+	protected final String TEXT_49 = "(this, ";

+	protected final String TEXT_50 = ".UNSET, ";

+	protected final String TEXT_51 = ", null, null, old";

+	protected final String TEXT_52 = "ESet));";

+	protected final String TEXT_53 = NL + "\t\t}";

+	protected final String TEXT_54 = " old";

+	protected final String TEXT_55 = "_EFLAG) != 0;";

+	protected final String TEXT_56 = " = ";

+	protected final String TEXT_57 = "_EFLAG_VALUES[(";

+	protected final String TEXT_58 = "_EFLAG) >>> ";

+	protected final String TEXT_59 = "_EFLAG_OFFSET];";

+	protected final String TEXT_60 = NL + "\t\tObject old";

+	protected final String TEXT_61 = " = eVirtualUnset(";

+	protected final String TEXT_62 = ";";

+	protected final String TEXT_63 = NL + "\t\tboolean isSetChange = old";

+	protected final String TEXT_64 = " != EVIRTUAL_NO_VALUE;";

+	protected final String TEXT_65 = NL + "\t\tboolean old";

+	protected final String TEXT_66 = " = null;";

+	protected final String TEXT_67 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t\teNotify(new ";

+	protected final String TEXT_68 = "isSetChange ? old";

+	protected final String TEXT_69 = " : null";

+	protected final String TEXT_70 = "old";

+	protected final String TEXT_71 = ", null, ";

+	protected final String TEXT_72 = "isSetChange";

+	protected final String TEXT_73 = "ESet";

+	protected final String TEXT_74 = "));";

+	protected final String TEXT_75 = ") ";

+	protected final String TEXT_76 = " |= ";

+	protected final String TEXT_77 = "_EFLAG; else ";

+	protected final String TEXT_78 = "_EFLAG;";

+	protected final String TEXT_79 = " & ~";

+	protected final String TEXT_80 = "_EFLAG | ";

+	protected final String TEXT_81 = "_EFLAG_DEFAULT;";

+	protected final String TEXT_82 = " : ";

+	protected final String TEXT_83 = NL + "\t\t((";

+	protected final String TEXT_84 = ".Internal)((";

+	protected final String TEXT_85 = ".Internal.Wrapper)get";

+	protected final String TEXT_86 = "()).featureMap()).clear(";

+	protected final String TEXT_87 = ".Internal)get";

+	protected final String TEXT_88 = "()).clear(";

+	protected final String TEXT_89 = NL + "\t}" + NL;

+	protected final String TEXT_90 = 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_90);

+		stringBuffer.append(TEXT_90);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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 (genFeature.hasAPITags()) {

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_5);

+			if (isJDK50) { //Class/unsetGenFeature.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.unsetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+					callParameters.put("isGWT", isGWT);

+					callParameters.put("forceDefaultCase", forceDefaultCase);

+					callParameters.put("indentDefaultCase", indentDefaultCase);

+					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 (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_6);

+		}

+		if (!isImplementation) {

+			stringBuffer.append(TEXT_7);

+			stringBuffer.append(genFeature.getAccessorName());

+			stringBuffer.append(TEXT_8);

+		} else {

+			if (useInterfaceOverrideAnnotation && !genClass.isMapEntry()

+					&& !genClass.hasCollidingUnsetAccessorOperation(genFeature)

+					&& !genFeature.isSuppressedUnsetVisibility()) {

+				stringBuffer.append(TEXT_9);

+			}

+			stringBuffer.append(TEXT_10);

+			stringBuffer.append(genFeature.getAccessorName());

+			if (genClass.hasCollidingUnsetAccessorOperation(genFeature)) {

+				stringBuffer.append(TEXT_11);

+			}

+			stringBuffer.append(TEXT_12);

+			if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) {

+				stringBuffer.append(TEXT_13);

+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+				if (genClass.hasStaticFeatures()) {

+					stringBuffer.append(TEXT_14);

+				}

+				stringBuffer.append(TEXT_15);

+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+				stringBuffer.append(TEXT_16);

+			} else if (genModel.isReflectiveDelegation()) {

+				stringBuffer.append(TEXT_17);

+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+				stringBuffer.append(TEXT_16);

+			} else if (genFeature.hasSettingDelegate()) {

+				stringBuffer.append(TEXT_18);

+				stringBuffer.append(genFeature.getUpperName());

+				stringBuffer.append(TEXT_19);

+			} else if (!genFeature.isVolatile()) {

+				if (genFeature.isListType()) {

+					if (genModel.isVirtualDelegation()) {

+						stringBuffer.append(TEXT_18);

+						stringBuffer.append(genFeature.getImportedType(genClass));

+						stringBuffer.append(TEXT_20);

+						stringBuffer.append(genFeature.getSafeName());

+						stringBuffer.append(TEXT_21);

+						stringBuffer.append(genFeature.getImportedType(genClass));

+						stringBuffer.append(TEXT_22);

+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(positiveOffsetCorrection);

+						stringBuffer.append(TEXT_16);

+					}

+					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_18);

+						stringBuffer.append(genFeature.getImportedType(genClass));

+						stringBuffer.append(TEXT_20);

+						stringBuffer.append(genFeature.getSafeName());

+						stringBuffer.append(TEXT_21);

+						stringBuffer.append(genFeature.getImportedType(genClass));

+						stringBuffer.append(TEXT_22);

+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(positiveOffsetCorrection);

+						stringBuffer.append(TEXT_16);

+					}

+					stringBuffer.append(TEXT_23);

+					stringBuffer.append(genFeature.getSafeName());

+					stringBuffer.append(TEXT_28);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

+					stringBuffer.append(TEXT_29);

+					if (!genFeature.isBidirectional()) {

+						stringBuffer.append(TEXT_30);

+						stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), true));

+						stringBuffer.append(TEXT_31);

+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(negativeOffsetCorrection);

+						stringBuffer.append(TEXT_32);

+					} else {

+						GenFeature reverseFeature = genFeature.getReverse();

+						GenClass targetClass = reverseFeature.getGenClass();

+						String reverseOffsetCorrection = targetClass.hasOffsetCorrection()

+								? " + " + genClass.getOffsetCorrectionField(genFeature)

+								: "";

+						stringBuffer.append(TEXT_30);

+						stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), true));

+						stringBuffer.append(TEXT_33);

+						stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));

+						stringBuffer.append(reverseOffsetCorrection);

+						stringBuffer.append(TEXT_15);

+						stringBuffer.append(targetClass.getRawImportedInterfaceName());

+						stringBuffer.append(TEXT_34);

+					}

+					stringBuffer.append(TEXT_35);

+					stringBuffer.append(genFeature.getAccessorName());

+					stringBuffer.append(TEXT_36);

+					if (genModel.isVirtualDelegation()) {

+						stringBuffer.append(TEXT_37);

+						stringBuffer.append(genFeature.getCapName());

+						stringBuffer.append(TEXT_38);

+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(positiveOffsetCorrection);

+						stringBuffer.append(TEXT_16);

+					} else if (genClass.isESetFlag(genFeature)) {

+						if (!genModel.isSuppressNotification()) {

+							stringBuffer.append(TEXT_37);

+							stringBuffer.append(genFeature.getCapName());

+							stringBuffer.append(TEXT_39);

+							stringBuffer.append(genClass.getESetFlagsField(genFeature));

+							stringBuffer.append(TEXT_40);

+							stringBuffer.append(genFeature.getUpperName());

+							stringBuffer.append(TEXT_41);

+						}

+						stringBuffer.append(TEXT_42);

+						stringBuffer.append(genClass.getESetFlagsField(genFeature));

+						stringBuffer.append(TEXT_43);

+						stringBuffer.append(genFeature.getUpperName());

+						stringBuffer.append(TEXT_44);

+					} else {

+						if (!genModel.isSuppressNotification()) {

+							stringBuffer.append(TEXT_37);

+							stringBuffer.append(genFeature.getCapName());

+							stringBuffer.append(TEXT_45);

+							stringBuffer.append(genFeature.getUncapName());

+							stringBuffer.append(TEXT_46);

+						}

+						stringBuffer.append(TEXT_42);

+						stringBuffer.append(genFeature.getUncapName());

+						stringBuffer.append(TEXT_47);

+					}

+					if (!genModel.isSuppressNotification()) {

+						stringBuffer.append(TEXT_48);

+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

+						stringBuffer.append(TEXT_49);

+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

+						stringBuffer.append(TEXT_50);

+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(positiveOffsetCorrection);

+						stringBuffer.append(TEXT_51);

+						stringBuffer.append(genFeature.getCapName());

+						stringBuffer.append(TEXT_52);

+					}

+					stringBuffer.append(TEXT_53);

+				} else {

+					if (genClass.isFlag(genFeature)) {

+						if (!genModel.isSuppressNotification()) {

+							if (genFeature.isBooleanType()) {

+								stringBuffer.append(TEXT_18);

+								stringBuffer.append(genFeature.getImportedType(genClass));

+								stringBuffer.append(TEXT_54);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_21);

+								stringBuffer.append(genClass.getFlagsField(genFeature));

+								stringBuffer.append(TEXT_40);

+								stringBuffer.append(genFeature.getUpperName());

+								stringBuffer.append(TEXT_55);

+							} else {

+								stringBuffer.append(TEXT_18);

+								stringBuffer.append(genFeature.getImportedType(genClass));

+								stringBuffer.append(TEXT_54);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_56);

+								stringBuffer.append(genFeature.getUpperName());

+								stringBuffer.append(TEXT_57);

+								stringBuffer.append(genClass.getFlagsField(genFeature));

+								stringBuffer.append(TEXT_40);

+								stringBuffer.append(genFeature.getUpperName());

+								stringBuffer.append(TEXT_58);

+								stringBuffer.append(genFeature.getUpperName());

+								stringBuffer.append(TEXT_59);

+							}

+						}

+					} else if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

+						stringBuffer.append(TEXT_60);

+						stringBuffer.append(genFeature.getCapName());

+						stringBuffer.append(TEXT_61);

+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(positiveOffsetCorrection);

+						stringBuffer.append(TEXT_16);

+					} else {

+						if (!genModel.isSuppressNotification()) {

+							stringBuffer.append(TEXT_18);

+							stringBuffer.append(genFeature.getImportedType(genClass));

+							stringBuffer.append(TEXT_54);

+							stringBuffer.append(genFeature.getCapName());

+							stringBuffer.append(TEXT_56);

+							stringBuffer.append(genFeature.getSafeName());

+							stringBuffer.append(TEXT_62);

+						}

+					}

+					if (!genModel.isSuppressNotification()) {

+						if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

+							stringBuffer.append(TEXT_63);

+							stringBuffer.append(genFeature.getCapName());

+							stringBuffer.append(TEXT_64);

+						} else if (genClass.isESetFlag(genFeature)) {

+							stringBuffer.append(TEXT_65);

+							stringBuffer.append(genFeature.getCapName());

+							stringBuffer.append(TEXT_39);

+							stringBuffer.append(genClass.getESetFlagsField(genFeature));

+							stringBuffer.append(TEXT_40);

+							stringBuffer.append(genFeature.getUpperName());

+							stringBuffer.append(TEXT_41);

+						} else {

+							stringBuffer.append(TEXT_65);

+							stringBuffer.append(genFeature.getCapName());

+							stringBuffer.append(TEXT_45);

+							stringBuffer.append(genFeature.getUncapName());

+							stringBuffer.append(TEXT_46);

+						}

+					}

+					if (genFeature.isReferenceType()) {

+						stringBuffer.append(TEXT_18);

+						stringBuffer.append(genFeature.getSafeName());

+						stringBuffer.append(TEXT_66);

+						if (!genModel.isVirtualDelegation()) {

+							if (genClass.isESetFlag(genFeature)) {

+								stringBuffer.append(TEXT_18);

+								stringBuffer.append(genClass.getESetFlagsField(genFeature));

+								stringBuffer.append(TEXT_43);

+								stringBuffer.append(genFeature.getUpperName());

+								stringBuffer.append(TEXT_44);

+							} else {

+								stringBuffer.append(TEXT_18);

+								stringBuffer.append(genFeature.getUncapName());

+								stringBuffer.append(TEXT_47);

+							}

+						}

+						if (!genModel.isSuppressNotification()) {

+							stringBuffer.append(TEXT_67);

+							stringBuffer

+									.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

+							stringBuffer.append(TEXT_49);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

+							stringBuffer.append(TEXT_50);

+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+							stringBuffer.append(positiveOffsetCorrection);

+							stringBuffer.append(TEXT_15);

+							if (genModel.isVirtualDelegation()) {

+								stringBuffer.append(TEXT_68);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_69);

+							} else {

+								stringBuffer.append(TEXT_70);

+								stringBuffer.append(genFeature.getCapName());

+							}

+							stringBuffer.append(TEXT_71);

+							if (genModel.isVirtualDelegation()) {

+								stringBuffer.append(TEXT_72);

+							} else {

+								stringBuffer.append(TEXT_70);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_73);

+							}

+							stringBuffer.append(TEXT_74);

+						}

+					} else {

+						if (genClass.isFlag(genFeature)) {

+							if (genFeature.isBooleanType()) {

+								stringBuffer.append(TEXT_23);

+								stringBuffer.append(genFeature.getEDefault());

+								stringBuffer.append(TEXT_75);

+								stringBuffer.append(genClass.getFlagsField(genFeature));

+								stringBuffer.append(TEXT_76);

+								stringBuffer.append(genFeature.getUpperName());

+								stringBuffer.append(TEXT_77);

+								stringBuffer.append(genClass.getFlagsField(genFeature));

+								stringBuffer.append(TEXT_43);

+								stringBuffer.append(genFeature.getUpperName());

+								stringBuffer.append(TEXT_78);

+							} else {

+								stringBuffer.append(TEXT_18);

+								stringBuffer.append(genClass.getFlagsField(genFeature));

+								stringBuffer.append(TEXT_56);

+								stringBuffer.append(genClass.getFlagsField(genFeature));

+								stringBuffer.append(TEXT_79);

+								stringBuffer.append(genFeature.getUpperName());

+								stringBuffer.append(TEXT_80);

+								stringBuffer.append(genFeature.getUpperName());

+								stringBuffer.append(TEXT_81);

+							}

+						} else if (!genModel.isVirtualDelegation() || genFeature.isPrimitiveType()) {

+							stringBuffer.append(TEXT_18);

+							stringBuffer.append(genFeature.getSafeName());

+							stringBuffer.append(TEXT_56);

+							stringBuffer.append(genFeature.getEDefault());

+							stringBuffer.append(TEXT_62);

+						}

+						if (!genModel.isVirtualDelegation() || genFeature.isPrimitiveType()) {

+							if (genClass.isESetFlag(genFeature)) {

+								stringBuffer.append(TEXT_18);

+								stringBuffer.append(genClass.getESetFlagsField(genFeature));

+								stringBuffer.append(TEXT_43);

+								stringBuffer.append(genFeature.getUpperName());

+								stringBuffer.append(TEXT_44);

+							} else {

+								stringBuffer.append(TEXT_18);

+								stringBuffer.append(genFeature.getUncapName());

+								stringBuffer.append(TEXT_47);

+							}

+						}

+						if (!genModel.isSuppressNotification()) {

+							stringBuffer.append(TEXT_67);

+							stringBuffer

+									.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

+							stringBuffer.append(TEXT_49);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

+							stringBuffer.append(TEXT_50);

+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+							stringBuffer.append(positiveOffsetCorrection);

+							stringBuffer.append(TEXT_15);

+							if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

+								stringBuffer.append(TEXT_68);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_82);

+								stringBuffer.append(genFeature.getEDefault());

+							} else {

+								stringBuffer.append(TEXT_70);

+								stringBuffer.append(genFeature.getCapName());

+							}

+							stringBuffer.append(TEXT_15);

+							stringBuffer.append(genFeature.getEDefault());

+							stringBuffer.append(TEXT_15);

+							if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

+								stringBuffer.append(TEXT_72);

+							} else {

+								stringBuffer.append(TEXT_70);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_73);

+							}

+							stringBuffer.append(TEXT_74);

+						}

+					}

+				}

+			} else if (genFeature.hasDelegateFeature()) {

+				GenFeature delegateFeature = genFeature.getDelegateFeature();

+				if (delegateFeature.isWrappedFeatureMapType()) {

+					stringBuffer.append(TEXT_83);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+					stringBuffer.append(TEXT_84);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+					stringBuffer.append(TEXT_85);

+					stringBuffer.append(delegateFeature.getAccessorName());

+					stringBuffer.append(TEXT_86);

+					stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+					stringBuffer.append(TEXT_16);

+				} else {

+					stringBuffer.append(TEXT_83);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+					stringBuffer.append(TEXT_87);

+					stringBuffer.append(delegateFeature.getAccessorName());

+					stringBuffer.append(TEXT_88);

+					stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+					stringBuffer.append(TEXT_16);

+				}

+			} else if (genClass.getUnsetAccessorOperation(genFeature) != null) {

+				stringBuffer.append(TEXT_18);

+				stringBuffer.append(

+						genClass.getUnsetAccessorOperation(genFeature).getBody(genModel.getIndentation(stringBuffer)));

+			} else {

+				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.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+					callParameters.put("isGWT", isGWT);

+					callParameters.put("forceDefaultCase", forceDefaultCase);

+					callParameters.put("indentDefaultCase", indentDefaultCase);

+					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_89);

+		}

+		stringBuffer.append(TEXT_2);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeatureTODOoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeatureTODOoverride.java
new file mode 100644
index 0000000..97ca8a3
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeatureTODOoverride.java
@@ -0,0 +1,326 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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;

+

+	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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_4);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeatureannotationsinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeatureannotationsinsert.java
new file mode 100644
index 0000000..c71f3e8
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeatureannotationsinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeatureoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeatureoverride.java
new file mode 100644
index 0000000..1bd4096
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeatureoverride.java
@@ -0,0 +1,539 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 -->";

+	protected final String TEXT_2 = NL + "\t * ";

+	protected final String TEXT_3 = NL + "\t * @generated" + NL + "\t */";

+	protected final String TEXT_4 = NL;

+	protected final String TEXT_5 = NL + "\t@Deprecated";

+	protected final String TEXT_6 = NL + "\tpublic ";

+	protected final String TEXT_7 = " basicGet";

+	protected final String TEXT_8 = "()" + NL + "\t{";

+	protected final String TEXT_9 = NL + "\t\treturn (";

+	protected final String TEXT_10 = ")eDynamicGet(";

+	protected final String TEXT_11 = " - ESTATIC_FEATURE_COUNT";

+	protected final String TEXT_12 = ", ";

+	protected final String TEXT_13 = ", false, ";

+	protected final String TEXT_14 = ");";

+	protected final String TEXT_15 = NL + "\t\treturn ";

+	protected final String TEXT_16 = "(";

+	protected final String TEXT_17 = ")";

+	protected final String TEXT_18 = "__ESETTING_DELEGATE.dynamicGet(this, null, 0, false, false)";

+	protected final String TEXT_19 = ").";

+	protected final String TEXT_20 = "()";

+	protected final String TEXT_21 = ";";

+	protected final String TEXT_22 = NL + "\t\tif (eContainerFeatureID() != ";

+	protected final String TEXT_23 = ") return null;" + NL + "\t\treturn (";

+	protected final String TEXT_24 = ")eInternalContainer();";

+	protected final String TEXT_25 = ")eVirtualGet(";

+	protected final String TEXT_26 = ")((";

+	protected final String TEXT_27 = ".Internal.Wrapper)get";

+	protected final String TEXT_28 = "()).featureMap().get(";

+	protected final String TEXT_29 = ", false);";

+	protected final String TEXT_30 = ")get";

+	protected final String TEXT_31 = "().get(";

+	protected final String TEXT_32 = NL + "\t\t";

+	protected final String TEXT_33 = NL + "\t}" + NL + NL;

+	protected final String TEXT_34 = 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_34);

+		stringBuffer.append(TEXT_34);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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.hasAPITags()) {

+			stringBuffer.append(TEXT_2);

+			stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+		}

+		stringBuffer.append(TEXT_3);

+		if (isJDK50) { //Class/basicGetGenFeature.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.basicGetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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);

+			}

+

+		}

+		if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_5);

+		}

+		stringBuffer.append(TEXT_6);

+		stringBuffer.append(genFeature.getImportedType(genClass));

+		stringBuffer.append(TEXT_7);

+		stringBuffer.append(genFeature.getAccessorName());

+		stringBuffer.append(TEXT_8);

+		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.basicGetGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+			callParameters.put("isGWT", isGWT);

+			callParameters.put("forceDefaultCase", forceDefaultCase);

+			callParameters.put("indentDefaultCase", indentDefaultCase);

+			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() && !genFeature.isVolatile()) {

+			stringBuffer.append(TEXT_9);

+			stringBuffer.append(genFeature.getImportedType(genClass));

+			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);

+			stringBuffer.append(!genFeature.isEffectiveSuppressEMFTypes());

+			stringBuffer.append(TEXT_14);

+		} else if (genFeature.hasSettingDelegate()) {

+			stringBuffer.append(TEXT_15);

+			if (!isJDK50 && genFeature.isPrimitiveType()) {

+				stringBuffer.append(TEXT_16);

+			}

+			stringBuffer.append(TEXT_16);

+			stringBuffer.append(genFeature.getObjectType(genClass));

+			stringBuffer.append(TEXT_17);

+			stringBuffer.append(genFeature.getUpperName());

+			stringBuffer.append(TEXT_18);

+			if (!isJDK50 && genFeature.isPrimitiveType()) {

+				stringBuffer.append(TEXT_19);

+				stringBuffer.append(genFeature.getPrimitiveValueFunction());

+				stringBuffer.append(TEXT_20);

+			}

+			stringBuffer.append(TEXT_21);

+		} else if (genFeature.isContainer()) {

+			stringBuffer.append(TEXT_22);

+			stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+			stringBuffer.append(positiveOffsetCorrection);

+			stringBuffer.append(TEXT_23);

+			stringBuffer.append(genFeature.getImportedType(genClass));

+			stringBuffer.append(TEXT_24);

+		} else if (!genFeature.isVolatile()) {

+			if (genModel.isVirtualDelegation()) {

+				stringBuffer.append(TEXT_9);

+				stringBuffer.append(genFeature.getImportedType(genClass));

+				stringBuffer.append(TEXT_25);

+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+				stringBuffer.append(positiveOffsetCorrection);

+				stringBuffer.append(TEXT_14);

+			} else {

+				stringBuffer.append(TEXT_15);

+				stringBuffer.append(genFeature.getSafeName());

+				stringBuffer.append(TEXT_21);

+			}

+		} else if (genFeature.hasDelegateFeature()) {

+			GenFeature delegateFeature = genFeature.getDelegateFeature();

+			if (delegateFeature.isWrappedFeatureMapType()) {

+				stringBuffer.append(TEXT_9);

+				stringBuffer.append(genFeature.getImportedType(genClass));

+				stringBuffer.append(TEXT_26);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+				stringBuffer.append(TEXT_27);

+				stringBuffer.append(delegateFeature.getAccessorName());

+				stringBuffer.append(TEXT_28);

+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+				stringBuffer.append(TEXT_29);

+			} else {

+				stringBuffer.append(TEXT_9);

+				stringBuffer.append(genFeature.getImportedType(genClass));

+				stringBuffer.append(TEXT_30);

+				stringBuffer.append(delegateFeature.getAccessorName());

+				stringBuffer.append(TEXT_31);

+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+				stringBuffer.append(TEXT_29);

+			}

+		} else if (genFeature.hasGetterBody()) {

+			stringBuffer.append(TEXT_32);

+			stringBuffer.append(genFeature.getGetterBody(genModel.getIndentation(stringBuffer)));

+		} else {

+			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.basicGetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_33);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeaturepreinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeaturepreinsert.java
new file mode 100644
index 0000000..213caac
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeaturepreinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeatureTODOoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeatureTODOoverride.java
new file mode 100644
index 0000000..606b413
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeatureTODOoverride.java
@@ -0,0 +1,329 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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;

+

+	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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_4);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeatureannotationsinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeatureannotationsinsert.java
new file mode 100644
index 0000000..6af74b9
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeatureannotationsinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeatureoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeatureoverride.java
new file mode 100644
index 0000000..b12f526
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeatureoverride.java
@@ -0,0 +1,812 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 -->";

+	protected final String TEXT_2 = NL + "\t * ";

+	protected final String TEXT_3 = NL + "\t * @generated" + NL + "\t */";

+	protected final String TEXT_4 = NL;

+	protected final String TEXT_5 = NL + "\t@Deprecated";

+	protected final String TEXT_6 = NL + "\tpublic ";

+	protected final String TEXT_7 = " basicSet";

+	protected final String TEXT_8 = "(";

+	protected final String TEXT_9 = " new";

+	protected final String TEXT_10 = ", ";

+	protected final String TEXT_11 = " msgs)" + NL + "\t{";

+	protected final String TEXT_12 = NL + "\t\tmsgs = eBasicSetContainer(";

+	protected final String TEXT_13 = ", msgs);";

+	protected final String TEXT_14 = NL + "\t\treturn msgs;";

+	protected final String TEXT_15 = NL + "\t\tmsgs = eDynamicInverseAdd(";

+	protected final String TEXT_16 = NL + "\t\tObject old";

+	protected final String TEXT_17 = " = eVirtualSet(";

+	protected final String TEXT_18 = ", new";

+	protected final String TEXT_19 = ");";

+	protected final String TEXT_20 = NL + "\t\t";

+	protected final String TEXT_21 = " old";

+	protected final String TEXT_22 = " = ";

+	protected final String TEXT_23 = ";" + NL + "\t\t";

+	protected final String TEXT_24 = " = new";

+	protected final String TEXT_25 = ";";

+	protected final String TEXT_26 = NL + "\t\tboolean isSetChange = old";

+	protected final String TEXT_27 = " == EVIRTUAL_NO_VALUE;";

+	protected final String TEXT_28 = NL + "\t\tboolean old";

+	protected final String TEXT_29 = "ESet = (";

+	protected final String TEXT_30 = " & ";

+	protected final String TEXT_31 = "_ESETFLAG) != 0;";

+	protected final String TEXT_32 = " |= ";

+	protected final String TEXT_33 = "_ESETFLAG;";

+	protected final String TEXT_34 = "ESet = ";

+	protected final String TEXT_35 = "ESet;";

+	protected final String TEXT_36 = "ESet = true;";

+	protected final String TEXT_37 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t{";

+	protected final String TEXT_38 = NL + "\t\t\t";

+	protected final String TEXT_39 = " notification = new ";

+	protected final String TEXT_40 = "(this, ";

+	protected final String TEXT_41 = ".SET, ";

+	protected final String TEXT_42 = "isSetChange ? null : old";

+	protected final String TEXT_43 = "old";

+	protected final String TEXT_44 = "isSetChange";

+	protected final String TEXT_45 = "!old";

+	protected final String TEXT_46 = "ESet";

+	protected final String TEXT_47 = " == EVIRTUAL_NO_VALUE ? null : old";

+	protected final String TEXT_48 = NL + "\t\t\tif (msgs == null) msgs = notification; else msgs.add(notification);"

+			+ NL + "\t\t}";

+	protected final String TEXT_49 = NL + "\t\treturn ((";

+	protected final String TEXT_50 = ".Internal)((";

+	protected final String TEXT_51 = ".Internal.Wrapper)get";

+	protected final String TEXT_52 = "()).featureMap()).basicAdd(";

+	protected final String TEXT_53 = ".Internal)get";

+	protected final String TEXT_54 = "()).basicAdd(";

+	protected final String TEXT_55 = NL + "\t}" + NL + NL;

+	protected final String TEXT_56 = 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_56);

+		stringBuffer.append(TEXT_56);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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.hasAPITags()) {

+			stringBuffer.append(TEXT_2);

+			stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+		}

+		stringBuffer.append(TEXT_3);

+		if (isJDK50) { //Class/basicSetGenFeature.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.basicSetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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 (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_5);

+		}

+		stringBuffer.append(TEXT_6);

+		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

+		stringBuffer.append(TEXT_7);

+		stringBuffer.append(genFeature.getAccessorName());

+		stringBuffer.append(TEXT_8);

+		stringBuffer.append(genFeature.getImportedInternalType(genClass));

+		stringBuffer.append(TEXT_9);

+		stringBuffer.append(genFeature.getCapName());

+		stringBuffer.append(TEXT_10);

+		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

+		stringBuffer.append(TEXT_11);

+		if (genFeature.isContainer()) {

+			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.basicSetGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_12);

+			stringBuffer.append(genFeature.getAsInternalEObject("new" + genFeature.getCapName(), false));

+			stringBuffer.append(TEXT_10);

+			stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+			stringBuffer.append(positiveOffsetCorrection);

+			stringBuffer.append(TEXT_13);

+			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.basicSetGenFeature.post.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_14);

+		} else if (genModel.isDynamicDelegation()) {

+			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.basicSetGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_15);

+			stringBuffer.append(genFeature.getAsInternalEObject("new" + genFeature.getCapName(), false));

+			stringBuffer.append(TEXT_10);

+			stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+			stringBuffer.append(positiveOffsetCorrection);

+			stringBuffer.append(TEXT_13);

+			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.basicSetGenFeature.post.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_14);

+		} else if (!genFeature.isVolatile()) {

+			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.basicSetGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_16);

+				stringBuffer.append(genFeature.getCapName());

+				stringBuffer.append(TEXT_17);

+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+				stringBuffer.append(positiveOffsetCorrection);

+				stringBuffer.append(TEXT_18);

+				stringBuffer.append(genFeature.getCapName());

+				stringBuffer.append(TEXT_19);

+			} else {

+				stringBuffer.append(TEXT_20);

+				stringBuffer.append(genFeature.getImportedType(genClass));

+				stringBuffer.append(TEXT_21);

+				stringBuffer.append(genFeature.getCapName());

+				stringBuffer.append(TEXT_22);

+				stringBuffer.append(genFeature.getSafeName());

+				stringBuffer.append(TEXT_23);

+				stringBuffer.append(genFeature.getSafeName());

+				stringBuffer.append(TEXT_24);

+				stringBuffer.append(genFeature.getCapName());

+				stringBuffer.append(TEXT_25);

+			}

+			if (genFeature.isUnsettable()) {

+				if (genModel.isVirtualDelegation()) {

+					if (!genModel.isSuppressNotification()) {

+						stringBuffer.append(TEXT_26);

+						stringBuffer.append(genFeature.getCapName());

+						stringBuffer.append(TEXT_27);

+					}

+				} else if (genClass.isESetFlag(genFeature)) {

+					stringBuffer.append(TEXT_28);

+					stringBuffer.append(genFeature.getCapName());

+					stringBuffer.append(TEXT_29);

+					stringBuffer.append(genClass.getESetFlagsField(genFeature));

+					stringBuffer.append(TEXT_30);

+					stringBuffer.append(genFeature.getUpperName());

+					stringBuffer.append(TEXT_31);

+					if (!genModel.isSuppressNotification()) {

+						stringBuffer.append(TEXT_20);

+						stringBuffer.append(genClass.getESetFlagsField(genFeature));

+						stringBuffer.append(TEXT_32);

+						stringBuffer.append(genFeature.getUpperName());

+						stringBuffer.append(TEXT_33);

+					}

+				} else {

+					if (!genModel.isSuppressNotification()) {

+						stringBuffer.append(TEXT_28);

+						stringBuffer.append(genFeature.getCapName());

+						stringBuffer.append(TEXT_34);

+						stringBuffer.append(genFeature.getUncapName());

+						stringBuffer.append(TEXT_35);

+					}

+					stringBuffer.append(TEXT_20);

+					stringBuffer.append(genFeature.getUncapName());

+					stringBuffer.append(TEXT_36);

+				}

+			}

+			if (!genModel.isSuppressNotification()) {

+				stringBuffer.append(TEXT_37);

+				if (genFeature.isUnsettable()) {

+					stringBuffer.append(TEXT_38);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

+					stringBuffer.append(TEXT_39);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

+					stringBuffer.append(TEXT_40);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

+					stringBuffer.append(TEXT_41);

+					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+					stringBuffer.append(positiveOffsetCorrection);

+					stringBuffer.append(TEXT_10);

+					if (genModel.isVirtualDelegation()) {

+						stringBuffer.append(TEXT_42);

+						stringBuffer.append(genFeature.getCapName());

+					} else {

+						stringBuffer.append(TEXT_43);

+						stringBuffer.append(genFeature.getCapName());

+					}

+					stringBuffer.append(TEXT_18);

+					stringBuffer.append(genFeature.getCapName());

+					stringBuffer.append(TEXT_10);

+					if (genModel.isVirtualDelegation()) {

+						stringBuffer.append(TEXT_44);

+					} else {

+						stringBuffer.append(TEXT_45);

+						stringBuffer.append(genFeature.getCapName());

+						stringBuffer.append(TEXT_46);

+					}

+					stringBuffer.append(TEXT_19);

+				} else {

+					stringBuffer.append(TEXT_38);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

+					stringBuffer.append(TEXT_39);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

+					stringBuffer.append(TEXT_40);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

+					stringBuffer.append(TEXT_41);

+					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+					stringBuffer.append(positiveOffsetCorrection);

+					stringBuffer.append(TEXT_10);

+					if (genModel.isVirtualDelegation()) {

+						stringBuffer.append(TEXT_43);

+						stringBuffer.append(genFeature.getCapName());

+						stringBuffer.append(TEXT_47);

+						stringBuffer.append(genFeature.getCapName());

+					} else {

+						stringBuffer.append(TEXT_43);

+						stringBuffer.append(genFeature.getCapName());

+					}

+					stringBuffer.append(TEXT_18);

+					stringBuffer.append(genFeature.getCapName());

+					stringBuffer.append(TEXT_19);

+				}

+				stringBuffer.append(TEXT_48);

+			}

+			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.basicSetGenFeature.post.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_14);

+		} else if (genFeature.hasDelegateFeature()) {

+			GenFeature delegateFeature = genFeature.getDelegateFeature();

+			if (delegateFeature.isWrappedFeatureMapType()) {

+				stringBuffer.append(TEXT_49);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+				stringBuffer.append(TEXT_50);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+				stringBuffer.append(TEXT_51);

+				stringBuffer.append(delegateFeature.getAccessorName());

+				stringBuffer.append(TEXT_52);

+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+				stringBuffer.append(TEXT_18);

+				stringBuffer.append(genFeature.getCapName());

+				stringBuffer.append(TEXT_13);

+			} else {

+				stringBuffer.append(TEXT_49);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+				stringBuffer.append(TEXT_53);

+				stringBuffer.append(delegateFeature.getAccessorName());

+				stringBuffer.append(TEXT_54);

+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+				stringBuffer.append(TEXT_18);

+				stringBuffer.append(genFeature.getCapName());

+				stringBuffer.append(TEXT_13);

+			}

+		} else {

+			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.basicSetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_55);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeaturepostinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeaturepostinsert.java
new file mode 100644
index 0000000..f631b09
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeaturepostinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeaturepreinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeaturepreinsert.java
new file mode 100644
index 0000000..e4b26f2
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeaturepreinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicUnsetGenFeatureTODOoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicUnsetGenFeatureTODOoverride.java
new file mode 100644
index 0000000..f8dfe61
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicUnsetGenFeatureTODOoverride.java
@@ -0,0 +1,329 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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;

+

+	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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_4);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicUnsetGenFeatureannotationsinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicUnsetGenFeatureannotationsinsert.java
new file mode 100644
index 0000000..9dc37df
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicUnsetGenFeatureannotationsinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicUnsetGenFeatureoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicUnsetGenFeatureoverride.java
new file mode 100644
index 0000000..dd6023b
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicUnsetGenFeatureoverride.java
@@ -0,0 +1,550 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 -->";

+	protected final String TEXT_2 = NL + "\t * ";

+	protected final String TEXT_3 = NL + "\t * @generated" + NL + "\t */";

+	protected final String TEXT_4 = NL;

+	protected final String TEXT_5 = NL + "\t@Deprecated";

+	protected final String TEXT_6 = NL + "\tpublic ";

+	protected final String TEXT_7 = " basicUnset";

+	protected final String TEXT_8 = "(";

+	protected final String TEXT_9 = " msgs)" + NL + "\t{";

+	protected final String TEXT_10 = NL + "\t\treturn eDynamicInverseRemove(";

+	protected final String TEXT_11 = "basicGet";

+	protected final String TEXT_12 = "(), ";

+	protected final String TEXT_13 = ", msgs);";

+	protected final String TEXT_14 = "Object old";

+	protected final String TEXT_15 = " = ";

+	protected final String TEXT_16 = "eVirtualUnset(";

+	protected final String TEXT_17 = ");";

+	protected final String TEXT_18 = NL + "\t\t";

+	protected final String TEXT_19 = " old";

+	protected final String TEXT_20 = ";";

+	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 = " &= ~";

+	protected final String TEXT_29 = "_ESETFLAG;";

+	protected final String TEXT_30 = "ESet = ";

+	protected final String TEXT_31 = "ESet;";

+	protected final String TEXT_32 = "ESet = false;";

+	protected final String TEXT_33 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t{" + NL + "\t\t\t";

+	protected final String TEXT_34 = " notification = new ";

+	protected final String TEXT_35 = "(this, ";

+	protected final String TEXT_36 = ".UNSET, ";

+	protected final String TEXT_37 = ", ";

+	protected final String TEXT_38 = "isSetChange ? old";

+	protected final String TEXT_39 = " : null";

+	protected final String TEXT_40 = "old";

+	protected final String TEXT_41 = ", null, ";

+	protected final String TEXT_42 = "isSetChange";

+	protected final String TEXT_43 = "ESet";

+	protected final String TEXT_44 = ");" + NL

+			+ "\t\t\tif (msgs == null) msgs = notification; else msgs.add(notification);" + NL + "\t\t}" + NL

+			+ "\t\treturn msgs;";

+	protected final String TEXT_45 = NL + "\t}" + NL + NL;

+	protected final String TEXT_46 = 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_46);

+		stringBuffer.append(TEXT_46);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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.hasAPITags()) {

+			stringBuffer.append(TEXT_2);

+			stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+		}

+		stringBuffer.append(TEXT_3);

+		if (isJDK50) { //Class/basicUnsetGenFeature.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.basicUnsetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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);

+			}

+

+		}

+		if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_5);

+		}

+		stringBuffer.append(TEXT_6);

+		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

+		stringBuffer.append(TEXT_7);

+		stringBuffer.append(genFeature.getAccessorName());

+		stringBuffer.append(TEXT_8);

+		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

+		stringBuffer.append(TEXT_9);

+		if (genModel.isDynamicDelegation()) {

+			stringBuffer.append(TEXT_10);

+			stringBuffer.append(genFeature.getAsInternalEObject("", false));

+			if (genFeature.isResolveProxies()) {

+				stringBuffer.append(TEXT_11);

+				stringBuffer.append(genFeature.getAccessorName());

+			} else {

+				stringBuffer.append(genFeature.getGetAccessor());

+			}

+			stringBuffer.append(TEXT_12);

+			stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+			stringBuffer.append(positiveOffsetCorrection);

+			stringBuffer.append(TEXT_13);

+		} else if (!genFeature.isVolatile()) {

+			if (genModel.isVirtualDelegation()) {

+				if (!genModel.isSuppressNotification()) {

+					stringBuffer.append(TEXT_14);

+					stringBuffer.append(genFeature.getCapName());

+					stringBuffer.append(TEXT_15);

+				}

+				stringBuffer.append(TEXT_16);

+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+				stringBuffer.append(positiveOffsetCorrection);

+				stringBuffer.append(TEXT_17);

+			} else {

+				if (!genModel.isSuppressNotification()) {

+					stringBuffer.append(TEXT_18);

+					stringBuffer.append(genFeature.getImportedType(genClass));

+					stringBuffer.append(TEXT_19);

+					stringBuffer.append(genFeature.getCapName());

+					stringBuffer.append(TEXT_15);

+					stringBuffer.append(genFeature.getSafeName());

+					stringBuffer.append(TEXT_20);

+				}

+				stringBuffer.append(TEXT_18);

+				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_18);

+				stringBuffer.append(genClass.getESetFlagsField(genFeature));

+				stringBuffer.append(TEXT_28);

+				stringBuffer.append(genFeature.getUpperName());

+				stringBuffer.append(TEXT_29);

+			} else {

+				if (!genModel.isSuppressNotification()) {

+					stringBuffer.append(TEXT_24);

+					stringBuffer.append(genFeature.getCapName());

+					stringBuffer.append(TEXT_30);

+					stringBuffer.append(genFeature.getUncapName());

+					stringBuffer.append(TEXT_31);

+				}

+				stringBuffer.append(TEXT_18);

+				stringBuffer.append(genFeature.getUncapName());

+				stringBuffer.append(TEXT_32);

+			}

+			if (!genModel.isSuppressNotification()) {

+				stringBuffer.append(TEXT_33);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

+				stringBuffer.append(TEXT_34);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

+				stringBuffer.append(TEXT_35);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

+				stringBuffer.append(TEXT_36);

+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+				stringBuffer.append(positiveOffsetCorrection);

+				stringBuffer.append(TEXT_37);

+				if (genModel.isVirtualDelegation()) {

+					stringBuffer.append(TEXT_38);

+					stringBuffer.append(genFeature.getCapName());

+					stringBuffer.append(TEXT_39);

+				} else {

+					stringBuffer.append(TEXT_40);

+					stringBuffer.append(genFeature.getCapName());

+				}

+				stringBuffer.append(TEXT_41);

+				if (genModel.isVirtualDelegation()) {

+					stringBuffer.append(TEXT_42);

+				} else {

+					stringBuffer.append(TEXT_40);

+					stringBuffer.append(genFeature.getCapName());

+					stringBuffer.append(TEXT_43);

+				}

+				stringBuffer.append(TEXT_44);

+			}

+		} else {

+			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.basicUnsetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_45);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedeclaredFieldGenFeatureinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedeclaredFieldGenFeatureinsert.java
new file mode 100644
index 0000000..1e81c1e
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedeclaredFieldGenFeatureinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedeclaredFieldGenFeatureoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedeclaredFieldGenFeatureoverride.java
new file mode 100644
index 0000000..8da9b18
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedeclaredFieldGenFeatureoverride.java
@@ -0,0 +1,780 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 = "()";

+	protected final String TEXT_7 = NL + "\t * ";

+	protected final String TEXT_8 = NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";

+	protected final String TEXT_9 = NL + "\t@";

+	protected final String TEXT_10 = NL + "\t@Deprecated";

+	protected final String TEXT_11 = NL + "\tprotected ";

+	protected final String TEXT_12 = ".Internal.SettingDelegate ";

+	protected final String TEXT_13 = "__ESETTING_DELEGATE = ((";

+	protected final String TEXT_14 = ".Internal)";

+	protected final String TEXT_15 = ").getSettingDelegate();" + NL;

+	protected final String TEXT_16 = NL + "\t/**" + NL + "\t * The cached value of the '{@link #";

+	protected final String TEXT_17 = " ";

+	protected final String TEXT_18 = ";" + NL;

+	protected final String TEXT_19 = NL + "\t/**" + NL + "\t * The empty value for the '{@link #";

+	protected final String TEXT_20 = "</em>}' array accessor." + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see #";

+	protected final String TEXT_21 = NL + "\t@SuppressWarnings(\"rawtypes\")";

+	protected final String TEXT_22 = NL + "\tprotected static final ";

+	protected final String TEXT_23 = "[] ";

+	protected final String TEXT_24 = "_EEMPTY_ARRAY = new ";

+	protected final String TEXT_25 = " [0]";

+	protected final String TEXT_26 = NL + "\t/**" + NL + "\t * The default value of the '{@link #";

+	protected final String TEXT_27 = NL + "\t@SuppressWarnings(\"unchecked\")";

+	protected final String TEXT_28 = "; // TODO The default value literal \"";

+	protected final String TEXT_29 = "\" is not valid.";

+	protected final String TEXT_30 = " = ";

+	protected final String TEXT_31 = ";";

+	protected final String TEXT_32 = NL;

+	protected final String TEXT_33 = 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_34 = NL + "\tprotected int ";

+	protected final String TEXT_35 = " = 0;" + NL;

+	protected final String TEXT_36 = NL + "\t/**" + NL

+			+ "\t * The offset of the flags representing the value of the '{@link #";

+	protected final String TEXT_37 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->";

+	protected final String TEXT_38 = NL + "\tprotected static final int ";

+	protected final String TEXT_39 = "_EFLAG_OFFSET = ";

+	protected final String TEXT_40 = ";" + NL + "" + NL + "\t/**" + NL

+			+ "\t * The flags representing the default value of the '{@link #";

+	protected final String TEXT_41 = "_EFLAG_DEFAULT = ";

+	protected final String TEXT_42 = ".ordinal()";

+	protected final String TEXT_43 = ".VALUES.indexOf(";

+	protected final String TEXT_44 = ")";

+	protected final String TEXT_45 = " << ";

+	protected final String TEXT_46 = "_EFLAG_OFFSET;" + NL + "" + NL + "\t/**" + NL

+			+ "\t * The array of enumeration values for '{@link ";

+	protected final String TEXT_47 = "}'" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->";

+	protected final String TEXT_48 = NL + "\tprivate static final ";

+	protected final String TEXT_49 = "_EFLAG_VALUES = ";

+	protected final String TEXT_50 = ".values()";

+	protected final String TEXT_51 = "(";

+	protected final String TEXT_52 = "[])";

+	protected final String TEXT_53 = ".VALUES.toArray(new ";

+	protected final String TEXT_54 = "[";

+	protected final String TEXT_55 = ".VALUES.size()])";

+	protected final String TEXT_56 = NL + "\t/**" + NL + "\t * The flag";

+	protected final String TEXT_57 = " representing the value of the '{@link #";

+	protected final String TEXT_58 = "_EFLAG = ";

+	protected final String TEXT_59 = "_EFLAG_OFFSET";

+	protected final String TEXT_60 = NL + "\t/**" + NL + "\t * The flag representing whether the ";

+	protected final String TEXT_61 = " has been set." + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->";

+	protected final String TEXT_62 = "_ESETFLAG = 1 << ";

+	protected final String TEXT_63 = NL + "\t/**" + NL + "\t * This is true if the ";

+	protected final String TEXT_64 = NL + "\tprotected boolean ";

+	protected final String TEXT_65 = "ESet;" + NL;

+	protected final String TEXT_66 = 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_66);

+		stringBuffer.append(TEXT_66);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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 (genFeature.hasAPITags()) {

+				stringBuffer.append(TEXT_7);

+				stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_8);

+			if (isGWT) {

+				stringBuffer.append(TEXT_9);

+				stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));

+			}

+			if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+				stringBuffer.append(TEXT_10);

+			}

+			stringBuffer.append(TEXT_11);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));

+			stringBuffer.append(TEXT_12);

+			stringBuffer.append(genFeature.getUpperName());

+			stringBuffer.append(TEXT_13);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));

+			stringBuffer.append(TEXT_14);

+			stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+			stringBuffer.append(TEXT_15);

+		} else if (genFeature.isListType() || genFeature.isReferenceType()) {

+			if (genClass.isField(genFeature)) {

+				stringBuffer.append(TEXT_16);

+				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 (genFeature.hasAPITags()) {

+					stringBuffer.append(TEXT_7);

+					stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+				}

+				stringBuffer.append(TEXT_8);

+				if (isGWT) {

+					stringBuffer.append(TEXT_9);

+					stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));

+				}

+				if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+					stringBuffer.append(TEXT_10);

+				}

+				stringBuffer.append(TEXT_11);

+				stringBuffer.append(genFeature.getImportedInternalType(genClass));

+				stringBuffer.append(TEXT_17);

+				stringBuffer.append(genFeature.getSafeName());

+				stringBuffer.append(TEXT_18);

+			}

+			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_19);

+				stringBuffer.append(genFeature.getGetArrayAccessor());

+				stringBuffer.append(TEXT_3);

+				stringBuffer.append(genFeature.getFormattedName());

+				stringBuffer.append(TEXT_20);

+				stringBuffer.append(genFeature.getGetArrayAccessor());

+				stringBuffer.append(TEXT_6);

+				if (genFeature.hasAPITags()) {

+					stringBuffer.append(TEXT_7);

+					stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+				}

+				stringBuffer.append(TEXT_8);

+				if (genFeature.getQualifiedListItemType(genClass).contains("<")

+						|| genFeature.getArrayItemType(genClass).contains("<")) {

+					stringBuffer.append(TEXT_21);

+				}

+				if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+					stringBuffer.append(TEXT_10);

+				}

+				stringBuffer.append(TEXT_22);

+				stringBuffer.append(rawListItemType);

+				stringBuffer.append(TEXT_23);

+				stringBuffer.append(genFeature.getUpperName());

+				stringBuffer.append(TEXT_24);

+				stringBuffer.append(head);

+				stringBuffer.append(TEXT_25);

+				stringBuffer.append(tail);

+				stringBuffer.append(TEXT_18);

+			}

+		} else {

+			if (genFeature.hasEDefault() && (!genFeature.isVolatile() || !genModel.isReflectiveDelegation()

+					&& (!genFeature.hasDelegateFeature() || !genFeature.isUnsettable()))) {

+				String staticDefaultValue = genFeature.getStaticDefaultValue();

+				stringBuffer.append(TEXT_26);

+				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 (genFeature.hasAPITags()) {

+					stringBuffer.append(TEXT_7);

+					stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+				}

+				stringBuffer.append(TEXT_8);

+				if (genModel.useGenerics() && genFeature.isListDataType() && genFeature.isSetDefaultValue()) {

+					stringBuffer.append(TEXT_27);

+				}

+				if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+					stringBuffer.append(TEXT_10);

+				}

+				stringBuffer.append(TEXT_22);

+				stringBuffer.append(genFeature.getImportedType(genClass));

+				stringBuffer.append(TEXT_17);

+				stringBuffer.append(genFeature.getEDefault());

+				if ("".equals(staticDefaultValue)) {

+					stringBuffer.append(TEXT_28);

+					stringBuffer.append(genFeature.getEcoreFeature().getDefaultValueLiteral());

+					stringBuffer.append(TEXT_29);

+				} else {

+					stringBuffer.append(TEXT_30);

+					stringBuffer.append(staticDefaultValue);

+					stringBuffer.append(TEXT_31);

+					stringBuffer.append(genModel.getNonNLS(staticDefaultValue));

+				}

+				stringBuffer.append(TEXT_32);

+			}

+			if (genClass.isField(genFeature)) {

+				if (genClass.isFlag(genFeature)) {

+					int flagIndex = genClass.getFlagIndex(genFeature);

+					if (flagIndex > 31 && flagIndex % 32 == 0) {

+						stringBuffer.append(TEXT_33);

+						if (isGWT) {

+							stringBuffer.append(TEXT_9);

+							stringBuffer

+									.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));

+						}

+						stringBuffer.append(TEXT_34);

+						stringBuffer.append(genClass.getFlagsField(genFeature));

+						stringBuffer.append(TEXT_35);

+					}

+					if (genFeature.isEnumType()) {

+						stringBuffer.append(TEXT_36);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_3);

+						stringBuffer.append(genFeature.getFormattedName());

+						stringBuffer.append(TEXT_4);

+						stringBuffer.append(genFeature.getFeatureKind());

+						stringBuffer.append(TEXT_37);

+						if (genFeature.hasAPITags()) {

+							stringBuffer.append(TEXT_7);

+							stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+						}

+						stringBuffer.append(TEXT_8);

+						if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+							stringBuffer.append(TEXT_10);

+						}

+						stringBuffer.append(TEXT_38);

+						stringBuffer.append(genFeature.getUpperName());

+						stringBuffer.append(TEXT_39);

+						stringBuffer.append(flagIndex % 32);

+						stringBuffer.append(TEXT_40);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_3);

+						stringBuffer.append(genFeature.getFormattedName());

+						stringBuffer.append(TEXT_4);

+						stringBuffer.append(genFeature.getFeatureKind());

+						stringBuffer.append(TEXT_37);

+						if (genFeature.hasAPITags()) {

+							stringBuffer.append(TEXT_7);

+							stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+						}

+						stringBuffer.append(TEXT_8);

+						if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+							stringBuffer.append(TEXT_10);

+						}

+						stringBuffer.append(TEXT_38);

+						stringBuffer.append(genFeature.getUpperName());

+						stringBuffer.append(TEXT_41);

+						if (isJDK50) {

+							stringBuffer.append(genFeature.getEDefault());

+							stringBuffer.append(TEXT_42);

+						} else {

+							stringBuffer.append(genFeature.getImportedType(genClass));

+							stringBuffer.append(TEXT_43);

+							stringBuffer.append(genFeature.getEDefault());

+							stringBuffer.append(TEXT_44);

+						}

+						stringBuffer.append(TEXT_45);

+						stringBuffer.append(genFeature.getUpperName());

+						stringBuffer.append(TEXT_46);

+						stringBuffer.append(genFeature.getImportedType(genClass));

+						stringBuffer.append(TEXT_17);

+						stringBuffer.append(genFeature.getTypeGenClassifier().getFormattedName());

+						stringBuffer.append(TEXT_47);

+						if (genFeature.hasAPITags()) {

+							stringBuffer.append(TEXT_7);

+							stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+						}

+						stringBuffer.append(TEXT_8);

+						if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+							stringBuffer.append(TEXT_10);

+						}

+						stringBuffer.append(TEXT_48);

+						stringBuffer.append(genFeature.getImportedType(genClass));

+						stringBuffer.append(TEXT_23);

+						stringBuffer.append(genFeature.getUpperName());

+						stringBuffer.append(TEXT_49);

+						if (isJDK50) {

+							stringBuffer.append(genFeature.getImportedType(genClass));

+							stringBuffer.append(TEXT_50);

+						} else {

+							stringBuffer.append(TEXT_51);

+							stringBuffer.append(genFeature.getImportedType(genClass));

+							stringBuffer.append(TEXT_52);

+							stringBuffer.append(genFeature.getImportedType(genClass));

+							stringBuffer.append(TEXT_53);

+							stringBuffer.append(genFeature.getImportedType(genClass));

+							stringBuffer.append(TEXT_54);

+							stringBuffer.append(genFeature.getImportedType(genClass));

+							stringBuffer.append(TEXT_55);

+						}

+						stringBuffer.append(TEXT_18);

+					}

+					stringBuffer.append(TEXT_56);

+					stringBuffer.append(genClass.getFlagSize(genFeature) > 1 ? "s" : "");

+					stringBuffer.append(TEXT_57);

+					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 (genFeature.hasAPITags()) {

+						stringBuffer.append(TEXT_7);

+						stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+					}

+					stringBuffer.append(TEXT_8);

+					if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+						stringBuffer.append(TEXT_10);

+					}

+					stringBuffer.append(TEXT_38);

+					stringBuffer.append(genFeature.getUpperName());

+					stringBuffer.append(TEXT_58);

+					stringBuffer.append(genClass.getFlagMask(genFeature));

+					stringBuffer.append(TEXT_45);

+					if (genFeature.isEnumType()) {

+						stringBuffer.append(genFeature.getUpperName());

+						stringBuffer.append(TEXT_59);

+					} else {

+						stringBuffer.append(flagIndex % 32);

+					}

+					stringBuffer.append(TEXT_18);

+				} else {

+					stringBuffer.append(TEXT_16);

+					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 (genFeature.hasAPITags()) {

+						stringBuffer.append(TEXT_7);

+						stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+					}

+					stringBuffer.append(TEXT_8);

+					if (isGWT) {

+						stringBuffer.append(TEXT_9);

+						stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));

+					}

+					if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+						stringBuffer.append(TEXT_10);

+					}

+					stringBuffer.append(TEXT_11);

+					stringBuffer.append(genFeature.getImportedType(genClass));

+					stringBuffer.append(TEXT_17);

+					stringBuffer.append(genFeature.getSafeName());

+					if (genFeature.hasEDefault()) {

+						stringBuffer.append(TEXT_30);

+						stringBuffer.append(genFeature.getEDefault());

+					}

+					stringBuffer.append(TEXT_18);

+				}

+			}

+		}

+		if (genClass.isESetField(genFeature)) {

+			if (genClass.isESetFlag(genFeature)) {

+				int flagIndex = genClass.getESetFlagIndex(genFeature);

+				if (flagIndex > 31 && flagIndex % 32 == 0) {

+					stringBuffer.append(TEXT_33);

+					if (isGWT) {

+						stringBuffer.append(TEXT_9);

+						stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));

+					}

+					stringBuffer.append(TEXT_34);

+					stringBuffer.append(genClass.getESetFlagsField(genFeature));

+					stringBuffer.append(TEXT_35);

+				}

+				stringBuffer.append(TEXT_60);

+				stringBuffer.append(genFeature.getFormattedName());

+				stringBuffer.append(TEXT_17);

+				stringBuffer.append(genFeature.getFeatureKind());

+				stringBuffer.append(TEXT_61);

+				if (genFeature.hasAPITags()) {

+					stringBuffer.append(TEXT_7);

+					stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+				}

+				stringBuffer.append(TEXT_8);

+				if (genFeature.hasAPITags()) {

+					stringBuffer.append(TEXT_7);

+					stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+				}

+				stringBuffer.append(TEXT_38);

+				stringBuffer.append(genFeature.getUpperName());

+				stringBuffer.append(TEXT_62);

+				stringBuffer.append(flagIndex % 32);

+				stringBuffer.append(TEXT_18);

+			} else {

+				stringBuffer.append(TEXT_63);

+				stringBuffer.append(genFeature.getFormattedName());

+				stringBuffer.append(TEXT_17);

+				stringBuffer.append(genFeature.getFeatureKind());

+				stringBuffer.append(TEXT_61);

+				if (genFeature.hasAPITags()) {

+					stringBuffer.append(TEXT_7);

+					stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+				}

+				stringBuffer.append(TEXT_8);

+				if (isGWT) {

+					stringBuffer.append(TEXT_9);

+					stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));

+				}

+				if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+					stringBuffer.append(TEXT_10);

+				}

+				stringBuffer.append(TEXT_64);

+				stringBuffer.append(genFeature.getUncapName());

+				stringBuffer.append(TEXT_65);

+			}

+		}

+		stringBuffer.append(TEXT_32);

+		{

+			//<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+			callParameters.put("isGWT", isGWT);

+			callParameters.put("forceDefaultCase", forceDefaultCase);

+			callParameters.put("indentDefaultCase", indentDefaultCase);

+			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_32);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedynamicDelegation.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedynamicDelegation.java
new file mode 100644
index 0000000..b4736ce
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedynamicDelegation.java
@@ -0,0 +1,304 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import org.eclipse.emf.ecore.*;

+import org.eclipse.egf.model.pattern.*;

+import org.eclipse.egf.pattern.execution.*;

+import org.eclipse.egf.pattern.query.*;

+

+public class InterfacedynamicDelegation {

+	protected static String nl;

+

+	public static synchronized InterfacedynamicDelegation create(String lineSeparator) {

+		nl = lineSeparator;

+		InterfacedynamicDelegation result = new InterfacedynamicDelegation();

+		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 InterfacedynamicDelegation() {

+		//Here is the constructor

+		StringBuffer stringBuffer = new StringBuffer();

+

+		// add initialisation of the pattern variables (declaration has been already done).

+

+	}

+

+	public String generate(Object argument) throws Exception {

+		final 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+									for (Object isGWTParameter : isGWTList) {

+										for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+											for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+												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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																		this.isGWT = (java.lang.Boolean) isGWTParameter;

+																		this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																		this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																		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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedynamicSetGenFeaturepostinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedynamicSetGenFeaturepostinsert.java
new file mode 100644
index 0000000..615e7bb
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedynamicSetGenFeaturepostinsert.java
@@ -0,0 +1,330 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import org.eclipse.emf.ecore.*;

+import org.eclipse.egf.model.pattern.*;

+import org.eclipse.egf.pattern.execution.*;

+import org.eclipse.egf.pattern.query.*;

+

+public class InterfacedynamicSetGenFeaturepostinsert {

+	protected static String nl;

+

+	public static synchronized InterfacedynamicSetGenFeaturepostinsert create(String lineSeparator) {

+		nl = lineSeparator;

+		InterfacedynamicSetGenFeaturepostinsert result = new InterfacedynamicSetGenFeaturepostinsert();

+		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 InterfacedynamicSetGenFeaturepostinsert() {

+		//Here is the constructor

+		StringBuffer stringBuffer = new StringBuffer();

+

+		// add initialisation of the pattern variables (declaration has been already done).

+

+	}

+

+	public String generate(Object argument) throws Exception {

+		final 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+											for (Object isGWTParameter : isGWTList) {

+												for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+													for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+														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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																				this.isGWT = (java.lang.Boolean) isGWTParameter;

+																				this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																				this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																				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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedynamicSetGenFeaturepreinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedynamicSetGenFeaturepreinsert.java
new file mode 100644
index 0000000..314fc58
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedynamicSetGenFeaturepreinsert.java
@@ -0,0 +1,330 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import org.eclipse.emf.ecore.*;

+import org.eclipse.egf.model.pattern.*;

+import org.eclipse.egf.pattern.execution.*;

+import org.eclipse.egf.pattern.query.*;

+

+public class InterfacedynamicSetGenFeaturepreinsert {

+	protected static String nl;

+

+	public static synchronized InterfacedynamicSetGenFeaturepreinsert create(String lineSeparator) {

+		nl = lineSeparator;

+		InterfacedynamicSetGenFeaturepreinsert result = new InterfacedynamicSetGenFeaturepreinsert();

+		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 InterfacedynamicSetGenFeaturepreinsert() {

+		//Here is the constructor

+		StringBuffer stringBuffer = new StringBuffer();

+

+		// add initialisation of the pattern variables (declaration has been already done).

+

+	}

+

+	public String generate(Object argument) throws Exception {

+		final 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+											for (Object isGWTParameter : isGWTList) {

+												for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+													for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+														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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																				this.isGWT = (java.lang.Boolean) isGWTParameter;

+																				this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																				this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																				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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceeIsSetoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceeIsSetoverride.java
new file mode 100644
index 0000000..837b3c7
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceeIsSetoverride.java
@@ -0,0 +1,587 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 = " != null && !";

+	protected final String TEXT_16 = ".featureMap().isEmpty();";

+	protected final String TEXT_17 = ".isEmpty();";

+	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 = ")eVirtualGet(";

+	protected final String TEXT_22 = ");" + NL + "\t\t\t\treturn ";

+	protected final String TEXT_23 = NL + "\t\t\t\treturn !";

+	protected final String TEXT_24 = "().isEmpty();";

+	protected final String TEXT_25 = " != null;";

+	protected final String TEXT_26 = NL + "\t\t\t\treturn eVirtualGet(";

+	protected final String TEXT_27 = ") != null;";

+	protected final String TEXT_28 = NL + "\t\t\t\treturn basicGet";

+	protected final String TEXT_29 = "() != null;";

+	protected final String TEXT_30 = NL + "\t\t\t\treturn ((";

+	protected final String TEXT_31 = " & ";

+	protected final String TEXT_32 = "_EFLAG) != 0) != ";

+	protected final String TEXT_33 = ";";

+	protected final String TEXT_34 = NL + "\t\t\t\treturn (";

+	protected final String TEXT_35 = "_EFLAG) != ";

+	protected final String TEXT_36 = "_EFLAG_DEFAULT;";

+	protected final String TEXT_37 = " != ";

+	protected final String TEXT_38 = ", ";

+	protected final String TEXT_39 = ") != ";

+	protected final String TEXT_40 = "() != ";

+	protected final String TEXT_41 = " == null ? ";

+	protected final String TEXT_42 = " != null : !";

+	protected final String TEXT_43 = ".equals(";

+	protected final String TEXT_44 = ");";

+	protected final String TEXT_45 = "() != null : !";

+	protected final String TEXT_46 = "());";

+	protected final String TEXT_47 = NL + "\t\t\tdefault:";

+	protected final String TEXT_48 = NL + "\t\t}";

+	protected final String TEXT_49 = NL;

+	protected final String TEXT_50 = "\t\treturn super.eIsSet(featureID);";

+	protected final String TEXT_51 = "\t\treturn eDynamicIsSet(featureID);";

+	protected final String TEXT_52 = NL + "\t}" + NL + NL;

+	protected final String TEXT_53 = 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+									for (Object isGWTParameter : isGWTList) {

+										for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+											for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+												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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																		this.isGWT = (java.lang.Boolean) isGWTParameter;

+																		this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																		this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																		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_53);

+		stringBuffer.append(TEXT_53);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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_10);

+						stringBuffer.append(safeNameAccessor);

+						stringBuffer.append(TEXT_15);

+						stringBuffer.append(safeNameAccessor);

+						stringBuffer.append(TEXT_16);

+					}

+				} else {

+					if (genClass.isField(genFeature)) {

+						stringBuffer.append(TEXT_10);

+						stringBuffer.append(safeNameAccessor);

+						stringBuffer.append(TEXT_15);

+						stringBuffer.append(safeNameAccessor);

+						stringBuffer.append(TEXT_17);

+					} else {

+						if (genFeature.isField()

+								&& genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {

+							stringBuffer.append(TEXT_18);

+							stringBuffer.append(genFeature.getImportedType(genClass));

+							stringBuffer.append(TEXT_19);

+							stringBuffer.append(safeNameAccessor);

+							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(safeNameAccessor);

+							stringBuffer.append(TEXT_15);

+							stringBuffer.append(safeNameAccessor);

+							stringBuffer.append(TEXT_17);

+						} else {

+							stringBuffer.append(TEXT_23);

+							stringBuffer.append(genFeature.getGetAccessor());

+							stringBuffer.append(TEXT_24);

+						}

+					}

+				}

+			} else if (genFeature.isUnsettable()) {

+				stringBuffer.append(TEXT_8);

+				stringBuffer.append(genFeature.getAccessorName());

+				stringBuffer.append(TEXT_9);

+			} else if (genFeature.isResolveProxies()) {

+				if (genClass.isField(genFeature)) {

+					stringBuffer.append(TEXT_10);

+					stringBuffer.append(safeNameAccessor);

+					stringBuffer.append(TEXT_25);

+				} else {

+					if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {

+						stringBuffer.append(TEXT_26);

+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(positiveOffsetCorrection);

+						stringBuffer.append(TEXT_27);

+					} else {

+						stringBuffer.append(TEXT_28);

+						stringBuffer.append(genFeature.getAccessorName());

+						stringBuffer.append(TEXT_29);

+					}

+				}

+			} else if (!genFeature.hasEDefault()) {

+				if (genClass.isField(genFeature)) {

+					stringBuffer.append(TEXT_10);

+					stringBuffer.append(safeNameAccessor);

+					stringBuffer.append(TEXT_25);

+				} else {

+					if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {

+						stringBuffer.append(TEXT_26);

+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(positiveOffsetCorrection);

+						stringBuffer.append(TEXT_27);

+					} else {

+						stringBuffer.append(TEXT_10);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_29);

+					}

+				}

+			} else if (genFeature.isPrimitiveType() || genFeature.isEnumType()) {

+				if (genClass.isField(genFeature)) {

+					if (genClass.isFlag(genFeature)) {

+						if (genFeature.isBooleanType()) {

+							stringBuffer.append(TEXT_30);

+							stringBuffer.append(genClass.getFlagsField(genFeature));

+							stringBuffer.append(TEXT_31);

+							stringBuffer.append(genFeature.getUpperName());

+							stringBuffer.append(TEXT_32);

+							stringBuffer.append(genFeature.getEDefault());

+							stringBuffer.append(TEXT_33);

+						} else {

+							stringBuffer.append(TEXT_34);

+							stringBuffer.append(genClass.getFlagsField(genFeature));

+							stringBuffer.append(TEXT_31);

+							stringBuffer.append(genFeature.getUpperName());

+							stringBuffer.append(TEXT_35);

+							stringBuffer.append(genFeature.getUpperName());

+							stringBuffer.append(TEXT_36);

+						}

+					} else {

+						stringBuffer.append(TEXT_10);

+						stringBuffer.append(safeNameAccessor);

+						stringBuffer.append(TEXT_37);

+						stringBuffer.append(genFeature.getEDefault());

+						stringBuffer.append(TEXT_33);

+					}

+				} else {

+					if (genFeature.isEnumType() && genFeature.isField()

+							&& genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {

+						stringBuffer.append(TEXT_26);

+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(positiveOffsetCorrection);

+						stringBuffer.append(TEXT_38);

+						stringBuffer.append(genFeature.getEDefault());

+						stringBuffer.append(TEXT_39);

+						stringBuffer.append(genFeature.getEDefault());

+						stringBuffer.append(TEXT_33);

+					} else {

+						stringBuffer.append(TEXT_10);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_40);

+						stringBuffer.append(genFeature.getEDefault());

+						stringBuffer.append(TEXT_33);

+					}

+				}

+			} else {//datatype

+				if (genClass.isField(genFeature)) {

+					stringBuffer.append(TEXT_10);

+					stringBuffer.append(genFeature.getEDefault());

+					stringBuffer.append(TEXT_41);

+					stringBuffer.append(safeNameAccessor);

+					stringBuffer.append(TEXT_42);

+					stringBuffer.append(genFeature.getEDefault());

+					stringBuffer.append(TEXT_43);

+					stringBuffer.append(safeNameAccessor);

+					stringBuffer.append(TEXT_44);

+				} else {

+					if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {

+						stringBuffer.append(TEXT_18);

+						stringBuffer.append(genFeature.getImportedType(genClass));

+						stringBuffer.append(TEXT_19);

+						stringBuffer.append(safeNameAccessor);

+						stringBuffer.append(TEXT_20);

+						stringBuffer.append(genFeature.getImportedType(genClass));

+						stringBuffer.append(TEXT_21);

+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(positiveOffsetCorrection);

+						stringBuffer.append(TEXT_38);

+						stringBuffer.append(genFeature.getEDefault());

+						stringBuffer.append(TEXT_22);

+						stringBuffer.append(genFeature.getEDefault());

+						stringBuffer.append(TEXT_41);

+						stringBuffer.append(safeNameAccessor);

+						stringBuffer.append(TEXT_42);

+						stringBuffer.append(genFeature.getEDefault());

+						stringBuffer.append(TEXT_43);

+						stringBuffer.append(safeNameAccessor);

+						stringBuffer.append(TEXT_44);

+					} else {

+						stringBuffer.append(TEXT_10);

+						stringBuffer.append(genFeature.getEDefault());

+						stringBuffer.append(TEXT_41);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_45);

+						stringBuffer.append(genFeature.getEDefault());

+						stringBuffer.append(TEXT_43);

+						stringBuffer.append(genFeature.getGetAccessor());

+						stringBuffer.append(TEXT_46);

+					}

+				}

+			}

+		}

+		if (forceDefaultCase) {

+			stringBuffer.append(TEXT_47);

+		} else { // {

+			stringBuffer.append(TEXT_48);

+		}

+		if (genModel.isMinimalReflectiveMethods()) {

+			stringBuffer.append(TEXT_49);

+			stringBuffer.append(indentDefaultCase);

+			stringBuffer.append(TEXT_50);

+		} else {

+			stringBuffer.append(TEXT_49);

+			stringBuffer.append(indentDefaultCase);

+			stringBuffer.append(TEXT_51);

+		}

+		if (forceDefaultCase) { // {

+			stringBuffer.append(TEXT_48);

+		} // }

+		stringBuffer.append(TEXT_52);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceeUnsetoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceeUnsetoverride.java
new file mode 100644
index 0000000..8672fbb
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceeUnsetoverride.java
@@ -0,0 +1,401 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 = "__ESETTING_DELEGATE.dynamicUnset(this, null, 0);";

+	protected final String TEXT_18 = "(";

+	protected final String TEXT_19 = ");";

+	protected final String TEXT_20 = NL + "\t\t\t\treturn;";

+	protected final String TEXT_21 = NL + "\t\t\tdefault:";

+	protected final String TEXT_22 = NL + "\t\t}";

+	protected final String TEXT_23 = NL;

+	protected final String TEXT_24 = "\t\tsuper.eUnset(featureID);";

+	protected final String TEXT_25 = "\t\teDynamicUnset(featureID);";

+	protected final String TEXT_26 = NL + "\t}" + NL + NL;

+	protected final String TEXT_27 = 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+									for (Object isGWTParameter : isGWTList) {

+										for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+											for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+												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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																		this.isGWT = (java.lang.Boolean) isGWTParameter;

+																		this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																		this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																		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_27);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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_10);

+				stringBuffer.append(genFeature.getUpperName());

+				stringBuffer.append(TEXT_17);

+			} else {

+				stringBuffer.append(TEXT_14);

+				stringBuffer.append(genFeature.getAccessorName());

+				stringBuffer.append(TEXT_18);

+				stringBuffer.append(genFeature.getEDefault());

+				stringBuffer.append(TEXT_19);

+			}

+			stringBuffer.append(TEXT_20);

+		}

+		if (forceDefaultCase) {

+			stringBuffer.append(TEXT_21);

+		} else { // {

+			stringBuffer.append(TEXT_22);

+		}

+		if (genModel.isMinimalReflectiveMethods()) {

+			stringBuffer.append(TEXT_23);

+			stringBuffer.append(indentDefaultCase);

+			stringBuffer.append(TEXT_24);

+			if (forceDefaultCase) {

+				stringBuffer.append(TEXT_20);

+			}

+		} else {

+			stringBuffer.append(TEXT_23);

+			stringBuffer.append(indentDefaultCase);

+			stringBuffer.append(TEXT_25);

+			if (forceDefaultCase) {

+				stringBuffer.append(TEXT_20);

+			}

+		}

+		if (forceDefaultCase) { // {

+			stringBuffer.append(TEXT_22);

+		} // }

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceegfCustomconstructoroverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceegfCustomconstructoroverride.java
new file mode 100644
index 0000000..448b4bd
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceegfCustomconstructoroverride.java
@@ -0,0 +1,305 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import org.eclipse.emf.ecore.*;

+import org.eclipse.egf.model.pattern.*;

+import org.eclipse.egf.pattern.execution.*;

+import org.eclipse.egf.pattern.query.*;

+

+public class InterfaceegfCustomconstructoroverride {

+	protected static String nl;

+

+	public static synchronized InterfaceegfCustomconstructoroverride create(String lineSeparator) {

+		nl = lineSeparator;

+		InterfaceegfCustomconstructoroverride result = new InterfaceegfCustomconstructoroverride();

+		nl = null;

+		return result;

+	}

+

+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

+	protected final String TEXT_1 = NL + "\t\tsuper();" + NL;

+	protected final String TEXT_2 = NL;

+

+	public InterfaceegfCustomconstructoroverride() {

+		//Here is the constructor

+		StringBuffer stringBuffer = new StringBuffer();

+

+		// add initialisation of the pattern variables (declaration has been already done).

+

+	}

+

+	public String generate(Object argument) throws Exception {

+		final 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+									for (Object isGWTParameter : isGWTList) {

+										for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+											for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+												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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																		this.isGWT = (java.lang.Boolean) isGWTParameter;

+																		this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																		this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																		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_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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenFeatureReifiedoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenFeatureReifiedoverride.java
new file mode 100644
index 0000000..63a69ce
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenFeatureReifiedoverride.java
@@ -0,0 +1,715 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 * @see #";

+	protected final String TEXT_3 = "()";

+	protected final String TEXT_4 = NL + "\t * ";

+	protected final String TEXT_5 = NL + "\t * @generated" + NL + "\t */";

+	protected final String TEXT_6 = NL + "\t@SuppressWarnings(\"unchecked\")";

+	protected final String TEXT_7 = NL + "\t@Deprecated";

+	protected final String TEXT_8 = NL + "\t@Override";

+	protected final String TEXT_9 = NL + "\tpublic ";

+	protected final String TEXT_10 = "[] ";

+	protected final String TEXT_11 = "()" + NL + "\t{";

+	protected final String TEXT_12 = NL + "\t\t";

+	protected final String TEXT_13 = " list = (";

+	protected final String TEXT_14 = ")";

+	protected final String TEXT_15 = "();" + NL + "\t\tif (list.isEmpty()) return ";

+	protected final String TEXT_16 = "_EEMPTY_ARRAY;";

+	protected final String TEXT_17 = NL + "\t\tif (";

+	protected final String TEXT_18 = " == null || ";

+	protected final String TEXT_19 = ".isEmpty()) return ";

+	protected final String TEXT_20 = "_EEMPTY_ARRAY;" + NL + "\t\t";

+	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 * This is specialized for the more specific element type known in this context.";

+	protected final String TEXT_25 = NL;

+	protected final String TEXT_26 = " ";

+	protected final String TEXT_27 = "_";

+	protected final String TEXT_28 = " = (";

+	protected final String TEXT_29 = ")eVirtualGet(";

+	protected final String TEXT_30 = ");";

+	protected final String TEXT_31 = " == null)" + NL + "\t\t{";

+	protected final String TEXT_32 = NL + "\t\t\teVirtualSet(";

+	protected final String TEXT_33 = ", ";

+	protected final String TEXT_34 = " = new ";

+	protected final String TEXT_35 = NL + "\t\t\t";

+	protected final String TEXT_36 = NL + "\t\t}" + NL + "\t\treturn ";

+	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 * This is specialized for the more specific type known in this context.";

+	protected final String TEXT_39 = " basicSet";

+	protected final String TEXT_40 = "(";

+	protected final String TEXT_41 = " new";

+	protected final String TEXT_42 = " msgs)" + NL + "\t{" + NL + "\t\treturn super.basicSet";

+	protected final String TEXT_43 = "(new";

+	protected final String TEXT_44 = ", msgs);" + NL + "\t}" + NL;

+	protected final String TEXT_45 = NL + "\tpublic void set";

+	protected final String TEXT_46 = ")" + NL + "\t{" + NL + "\t\tsuper.set";

+	protected final String TEXT_47 = ");" + NL + "\t}" + NL;

+	protected final String TEXT_48 = 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+												for (Object isGWTParameter : isGWTList) {

+													for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+														for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+															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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																					this.isGWT = (java.lang.Boolean) isGWTParameter;

+																					this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																					this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																					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_48);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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);

+			stringBuffer.append(genFeature.getGetAccessor());

+			stringBuffer.append(TEXT_3);

+			if (genFeature.hasAPITags()) {

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_5);

+			if (genModel.useGenerics() && CodeGenUtil.isUncheckedCast(arrayElementType)) {

+				stringBuffer.append(TEXT_6);

+			}

+			if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+				stringBuffer.append(TEXT_7);

+			}

+			if (useInterfaceOverrideAnnotation || classExtendsAllGenFeatures.contains(genFeature)) {

+				stringBuffer.append(TEXT_8);

+			}

+			stringBuffer.append(TEXT_9);

+			stringBuffer.append(arrayElementType);

+			stringBuffer.append(TEXT_10);

+			stringBuffer.append(genFeature.getGetArrayAccessor());

+			stringBuffer.append(TEXT_11);

+			if (genFeature.isVolatile()) {

+				stringBuffer.append(TEXT_12);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

+				stringBuffer.append(genFeature.getListTemplateArguments(genClass));

+				stringBuffer.append(TEXT_13);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

+				stringBuffer.append(genFeature.getListTemplateArguments(genClass));

+				stringBuffer.append(TEXT_14);

+				stringBuffer.append(genFeature.getGetAccessor());

+				stringBuffer.append(TEXT_15);

+				stringBuffer.append(genFeature.getUpperName());

+				stringBuffer.append(TEXT_16);

+			} else {

+				stringBuffer.append(TEXT_17);

+				stringBuffer.append(genFeature.getSafeName());

+				stringBuffer.append(TEXT_18);

+				stringBuffer.append(genFeature.getSafeName());

+				stringBuffer.append(TEXT_19);

+				stringBuffer.append(genFeature.getUpperName());

+				stringBuffer.append(TEXT_20);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

+				stringBuffer.append(genFeature.getListTemplateArguments(genClass));

+				stringBuffer.append(TEXT_13);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

+				stringBuffer.append(genFeature.getListTemplateArguments(genClass));

+				stringBuffer.append(TEXT_14);

+				stringBuffer.append(genFeature.getSafeName());

+				stringBuffer.append(TEXT_21);

+			}

+			stringBuffer.append(TEXT_22);

+			stringBuffer.append(arrayElementType);

+			stringBuffer.append(TEXT_23);

+		}

+		if (genFeature.isGet() && genFeature.isListType()) {

+			stringBuffer.append(TEXT_24);

+			if (genFeature.hasAPITags()) {

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_5);

+			if (isJDK50) { //Class/getGenFeature.annotations.insert.javajetinc

+				stringBuffer.append(TEXT_25);

+				{

+					//<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+					callParameters.put("isGWT", isGWT);

+					callParameters.put("forceDefaultCase", forceDefaultCase);

+					callParameters.put("indentDefaultCase", indentDefaultCase);

+					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_6);

+			}

+			if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+				stringBuffer.append(TEXT_7);

+			}

+			if (useInterfaceOverrideAnnotation || classExtendsAllGenFeatures.contains(genFeature)) {

+				stringBuffer.append(TEXT_8);

+			}

+			stringBuffer.append(TEXT_9);

+			stringBuffer.append(genFeature.getImportedType(genClass));

+			stringBuffer.append(TEXT_26);

+			stringBuffer.append(genFeature.getGetAccessor());

+			if (genClass.hasCollidingGetAccessorOperation(genFeature)) {

+				stringBuffer.append(TEXT_27);

+			}

+			stringBuffer.append(TEXT_11);

+			stringBuffer.append(TEXT_25);

+			{

+				//<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_12);

+				stringBuffer.append(genFeature.getImportedType(genClass));

+				stringBuffer.append(TEXT_26);

+				stringBuffer.append(genFeature.getSafeName());

+				stringBuffer.append(TEXT_28);

+				stringBuffer.append(genFeature.getImportedType(genClass));

+				stringBuffer.append(TEXT_29);

+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+				stringBuffer.append(positiveOffsetCorrection);

+				stringBuffer.append(TEXT_30);

+			}

+			stringBuffer.append(TEXT_17);

+			stringBuffer.append(genFeature.getSafeName());

+			stringBuffer.append(TEXT_31);

+			if (genModel.isVirtualDelegation()) {

+				stringBuffer.append(TEXT_32);

+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+				stringBuffer.append(positiveOffsetCorrection);

+				stringBuffer.append(TEXT_33);

+				stringBuffer.append(genFeature.getSafeName());

+				stringBuffer.append(TEXT_34);

+				stringBuffer.append(genClass.getListConstructor(genFeature));

+				stringBuffer.append(TEXT_30);

+			} else {

+				stringBuffer.append(TEXT_35);

+				stringBuffer.append(genFeature.getSafeName());

+				stringBuffer.append(TEXT_34);

+				stringBuffer.append(genClass.getListConstructor(genFeature));

+				stringBuffer.append(TEXT_21);

+			}

+			stringBuffer.append(TEXT_36);

+			stringBuffer.append(genFeature.getSafeName());

+			stringBuffer.append(genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes() ? ".map()" : "");

+			stringBuffer.append(TEXT_37);

+		}

+		if (!genModel.isReflectiveDelegation() && genFeature.isBasicSet()) {

+			stringBuffer.append(TEXT_38);

+			if (genFeature.hasAPITags()) {

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_5);

+			if (isJDK50) { //Class/basicSetGenFeature.annotations.insert.javajetinc

+				stringBuffer.append(TEXT_25);

+				{

+					//<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+					callParameters.put("isGWT", isGWT);

+					callParameters.put("forceDefaultCase", forceDefaultCase);

+					callParameters.put("indentDefaultCase", indentDefaultCase);

+					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 (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+				stringBuffer.append(TEXT_7);

+			}

+			if (classExtendsAllGenFeatures.contains(genFeature)) {

+				stringBuffer.append(TEXT_8);

+			}

+			stringBuffer.append(TEXT_9);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

+			stringBuffer.append(TEXT_39);

+			stringBuffer.append(genFeature.getAccessorName());

+			stringBuffer.append(TEXT_40);

+			stringBuffer.append(genFeature.getImportedInternalType(genClass));

+			stringBuffer.append(TEXT_41);

+			stringBuffer.append(genFeature.getCapName());

+			stringBuffer.append(TEXT_33);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

+			stringBuffer.append(TEXT_42);

+			stringBuffer.append(genFeature.getAccessorName());

+			stringBuffer.append(TEXT_43);

+			stringBuffer.append(genFeature.getCapName());

+			stringBuffer.append(TEXT_44);

+		}

+		if (genFeature.isSet() && !(!genModel.isReflectiveDelegation() && genFeature.isBasicSet())) {

+			stringBuffer.append(TEXT_38);

+			if (genFeature.hasAPITags()) {

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_5);

+			if (isJDK50) { //Class/setGenFeature.annotations.insert.javajetinc

+				stringBuffer.append(TEXT_25);

+				{

+					//<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+					callParameters.put("isGWT", isGWT);

+					callParameters.put("forceDefaultCase", forceDefaultCase);

+					callParameters.put("indentDefaultCase", indentDefaultCase);

+					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 (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+					stringBuffer.append(TEXT_7);

+				}

+				if (classExtendsAllGenFeatures.contains(genFeature)) {

+					stringBuffer.append(TEXT_8);

+				}

+				stringBuffer.append(TEXT_45);

+				stringBuffer.append(genFeature.getAccessorName());

+				if (genClass.hasCollidingSetAccessorOperation(genFeature)) {

+					stringBuffer.append(TEXT_27);

+				}

+				stringBuffer.append(TEXT_40);

+				stringBuffer.append(genFeature.getImportedType(genClass));

+				stringBuffer.append(TEXT_26);

+				stringBuffer.append(setAccessorOperation == null ? "new" + genFeature.getCapName()

+						: setAccessorOperation.getGenParameters().get(0).getName());

+				stringBuffer.append(TEXT_46);

+				stringBuffer.append(genFeature.getAccessorName());

+				if (genClass.hasCollidingSetAccessorOperation(genFeature)) {

+					stringBuffer.append(TEXT_27);

+				}

+				stringBuffer.append(TEXT_40);

+				stringBuffer.append(setAccessorOperation == null ? "new" + genFeature.getCapName()

+						: setAccessorOperation.getGenParameters().get(0).getName());

+				stringBuffer.append(TEXT_47);

+			}

+		}

+		stringBuffer.append(TEXT_25);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenFeatureinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenFeatureinsert.java
new file mode 100644
index 0000000..4b39a8f
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenFeatureinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenFeatureoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenFeatureoverride.java
new file mode 100644
index 0000000..3a83020
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenFeatureoverride.java
@@ -0,0 +1,841 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 -->";

+	protected final String TEXT_3 = NL + "\t * ";

+	protected final String TEXT_4 = NL + "\t * @generated" + NL + "\t */";

+	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 + "\t@Deprecated";

+	protected final String TEXT_10 = NL + "\t@Override";

+	protected final String TEXT_11 = NL + "\tpublic ";

+	protected final String TEXT_12 = "()" + NL + "\t{";

+	protected final String TEXT_13 = NL + "\t\t";

+	protected final String TEXT_14 = " list = (";

+	protected final String TEXT_15 = ")";

+	protected final String TEXT_16 = "();" + NL + "\t\tif (list.isEmpty()) return ";

+	protected final String TEXT_17 = "_EEMPTY_ARRAY;";

+	protected final String TEXT_18 = NL + "\t\tif (";

+	protected final String TEXT_19 = " == null || ";

+	protected final String TEXT_20 = ".isEmpty()) return ";

+	protected final String TEXT_21 = "_EEMPTY_ARRAY;" + NL + "\t\t";

+	protected final String TEXT_22 = ";";

+	protected final String TEXT_23 = NL + "\t\tlist.shrink();" + NL + "\t\treturn (";

+	protected final String TEXT_24 = "[])list.data();" + NL + "\t}" + NL;

+	protected final String TEXT_25 = " get";

+	protected final String TEXT_26 = "(int index);" + NL;

+	protected final String TEXT_27 = "(int index)" + NL + "\t{" + NL + "\t\treturn ";

+	protected final String TEXT_28 = "(";

+	protected final String TEXT_29 = "().get(index);" + NL + "\t}" + NL;

+	protected final String TEXT_30 = NL + "\tint get";

+	protected final String TEXT_31 = "Length();" + NL;

+	protected final String TEXT_32 = NL + "\tpublic int get";

+	protected final String TEXT_33 = "Length()" + NL + "\t{";

+	protected final String TEXT_34 = NL + "\t\treturn ";

+	protected final String TEXT_35 = "().size();";

+	protected final String TEXT_36 = " == null ? 0 : ";

+	protected final String TEXT_37 = ".size();";

+	protected final String TEXT_38 = NL + "\t}" + NL;

+	protected final String TEXT_39 = NL + "\tvoid set";

+	protected final String TEXT_40 = "[] new";

+	protected final String TEXT_41 = ");" + NL;

+	protected final String TEXT_42 = NL + "\tpublic void set";

+	protected final String TEXT_43 = ")" + NL + "\t{" + NL + "\t\t((";

+	protected final String TEXT_44 = "()).setData(new";

+	protected final String TEXT_45 = ".length, new";

+	protected final String TEXT_46 = ");" + NL + "\t}" + NL;

+	protected final String TEXT_47 = "(int index, ";

+	protected final String TEXT_48 = " element);" + NL;

+	protected final String TEXT_49 = " element)" + NL + "\t{" + NL + "\t\t";

+	protected final String TEXT_50 = "().set(index, element);" + NL + "\t}" + NL;

+	protected final String TEXT_51 = NL;

+	protected final String TEXT_52 = 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_52);

+		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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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 (genFeature.hasAPITags()) {

+				stringBuffer.append(TEXT_3);

+				stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_4);

+			if (!isImplementation) {

+				stringBuffer.append(TEXT_5);

+				stringBuffer.append(arrayElementType);

+				stringBuffer.append(TEXT_6);

+				stringBuffer.append(genFeature.getGetArrayAccessor());

+				stringBuffer.append(TEXT_7);

+			} else {

+				if (genModel.useGenerics() && CodeGenUtil.isUncheckedCast(arrayElementType)) {

+					stringBuffer.append(TEXT_8);

+				}

+				if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+					stringBuffer.append(TEXT_9);

+				}

+				if (useInterfaceOverrideAnnotation) {

+					stringBuffer.append(TEXT_10);

+				}

+				stringBuffer.append(TEXT_11);

+				stringBuffer.append(arrayElementType);

+				stringBuffer.append(TEXT_6);

+				stringBuffer.append(genFeature.getGetArrayAccessor());

+				stringBuffer.append(TEXT_12);

+				if (genFeature.isVolatile()) {

+					stringBuffer.append(TEXT_13);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

+					stringBuffer.append(genFeature.getListTemplateArguments(genClass));

+					stringBuffer.append(TEXT_14);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

+					stringBuffer.append(genFeature.getListTemplateArguments(genClass));

+					stringBuffer.append(TEXT_15);

+					stringBuffer.append(genFeature.getGetAccessor());

+					stringBuffer.append(TEXT_16);

+					stringBuffer.append(genFeature.getUpperName());

+					stringBuffer.append(TEXT_17);

+				} else {

+					stringBuffer.append(TEXT_18);

+					stringBuffer.append(genFeature.getSafeName());

+					stringBuffer.append(TEXT_19);

+					stringBuffer.append(genFeature.getSafeName());

+					stringBuffer.append(TEXT_20);

+					stringBuffer.append(genFeature.getUpperName());

+					stringBuffer.append(TEXT_21);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

+					stringBuffer.append(genFeature.getListTemplateArguments(genClass));

+					stringBuffer.append(TEXT_14);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

+					stringBuffer.append(genFeature.getListTemplateArguments(genClass));

+					stringBuffer.append(TEXT_15);

+					stringBuffer.append(genFeature.getSafeName());

+					stringBuffer.append(TEXT_22);

+				}

+				stringBuffer.append(TEXT_23);

+				stringBuffer.append(arrayElementType);

+				stringBuffer.append(TEXT_24);

+			}

+			stringBuffer.append(TEXT_2);

+			if (genFeature.hasAPITags()) {

+				stringBuffer.append(TEXT_3);

+				stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_4);

+			if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+				stringBuffer.append(TEXT_9);

+			}

+			if (!isImplementation) {

+				stringBuffer.append(TEXT_5);

+				stringBuffer.append(genFeature.getListItemType(genClass));

+				stringBuffer.append(TEXT_25);

+				stringBuffer.append(genFeature.getAccessorName());

+				stringBuffer.append(TEXT_26);

+			} else {

+				if (useInterfaceOverrideAnnotation) {

+					stringBuffer.append(TEXT_10);

+				}

+				stringBuffer.append(TEXT_11);

+				stringBuffer.append(genFeature.getListItemType(genClass));

+				stringBuffer.append(TEXT_25);

+				stringBuffer.append(genFeature.getAccessorName());

+				stringBuffer.append(TEXT_27);

+				if (!genModel.useGenerics()) {

+					stringBuffer.append(TEXT_28);

+					stringBuffer.append(genFeature.getListItemType(genClass));

+					stringBuffer.append(TEXT_15);

+				}

+				stringBuffer.append(genFeature.getGetAccessor());

+				stringBuffer.append(TEXT_29);

+			}

+			stringBuffer.append(TEXT_2);

+			if (genFeature.hasAPITags()) {

+				stringBuffer.append(TEXT_3);

+				stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_4);

+			if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+				stringBuffer.append(TEXT_9);

+			}

+			if (!isImplementation) {

+				stringBuffer.append(TEXT_30);

+				stringBuffer.append(genFeature.getAccessorName());

+				stringBuffer.append(TEXT_31);

+			} else {

+				if (useInterfaceOverrideAnnotation) {

+					stringBuffer.append(TEXT_10);

+				}

+				stringBuffer.append(TEXT_32);

+				stringBuffer.append(genFeature.getAccessorName());

+				stringBuffer.append(TEXT_33);

+				if (genFeature.isVolatile()) {

+					stringBuffer.append(TEXT_34);

+					stringBuffer.append(genFeature.getGetAccessor());

+					stringBuffer.append(TEXT_35);

+				} else {

+					stringBuffer.append(TEXT_34);

+					stringBuffer.append(genFeature.getSafeName());

+					stringBuffer.append(TEXT_36);

+					stringBuffer.append(genFeature.getSafeName());

+					stringBuffer.append(TEXT_37);

+				}

+				stringBuffer.append(TEXT_38);

+			}

+			stringBuffer.append(TEXT_2);

+			if (genFeature.hasAPITags()) {

+				stringBuffer.append(TEXT_3);

+				stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_4);

+			if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+				stringBuffer.append(TEXT_9);

+			}

+			if (!isImplementation) {

+				stringBuffer.append(TEXT_39);

+				stringBuffer.append(genFeature.getAccessorName());

+				stringBuffer.append(TEXT_28);

+				stringBuffer.append(genFeature.getListItemType(genClass));

+				stringBuffer.append(TEXT_40);

+				stringBuffer.append(genFeature.getCapName());

+				stringBuffer.append(TEXT_41);

+			} else {

+				if (useInterfaceOverrideAnnotation) {

+					stringBuffer.append(TEXT_10);

+				}

+				stringBuffer.append(TEXT_42);

+				stringBuffer.append(genFeature.getAccessorName());

+				stringBuffer.append(TEXT_28);

+				stringBuffer.append(genFeature.getListItemType(genClass));

+				stringBuffer.append(TEXT_40);

+				stringBuffer.append(genFeature.getCapName());

+				stringBuffer.append(TEXT_43);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

+				stringBuffer.append(genFeature.getListTemplateArguments(genClass));

+				stringBuffer.append(TEXT_15);

+				stringBuffer.append(genFeature.getGetAccessor());

+				stringBuffer.append(TEXT_44);

+				stringBuffer.append(genFeature.getCapName());

+				stringBuffer.append(TEXT_45);

+				stringBuffer.append(genFeature.getCapName());

+				stringBuffer.append(TEXT_46);

+			}

+			stringBuffer.append(TEXT_2);

+			if (genFeature.hasAPITags()) {

+				stringBuffer.append(TEXT_3);

+				stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_4);

+			if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+				stringBuffer.append(TEXT_9);

+			}

+			if (!isImplementation) {

+				stringBuffer.append(TEXT_39);

+				stringBuffer.append(genFeature.getAccessorName());

+				stringBuffer.append(TEXT_47);

+				stringBuffer.append(genFeature.getListItemType(genClass));

+				stringBuffer.append(TEXT_48);

+			} else {

+				if (useInterfaceOverrideAnnotation) {

+					stringBuffer.append(TEXT_10);

+				}

+				stringBuffer.append(TEXT_42);

+				stringBuffer.append(genFeature.getAccessorName());

+				stringBuffer.append(TEXT_47);

+				stringBuffer.append(genFeature.getListItemType(genClass));

+				stringBuffer.append(TEXT_49);

+				stringBuffer.append(genFeature.getGetAccessor());

+				stringBuffer.append(TEXT_50);

+			}

+		}

+		if (genFeature.isGet() && (isImplementation || !genFeature.isSuppressedGetVisibility())) {

+			stringBuffer.append(TEXT_51);

+			{

+				//<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_51);

+			{

+				//<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_51);

+			{

+				//<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_51);

+			{

+				//<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_51);

+			{

+				//<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_51);

+			{

+				//<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_51);

+			{

+				//<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_51);

+		{

+			//<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+			callParameters.put("isGWT", isGWT);

+			callParameters.put("forceDefaultCase", forceDefaultCase);

+			callParameters.put("indentDefaultCase", indentDefaultCase);

+			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_51);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationannotationsinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationannotationsinsert.java
new file mode 100644
index 0000000..e5acf12
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationannotationsinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationinsert.java
new file mode 100644
index 0000000..d9c12bc
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationjavadocinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationjavadocinsert.java
new file mode 100644
index 0000000..0ef2e5b
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationjavadocinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationjavadocoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationjavadocoverride.java
new file mode 100644
index 0000000..91961f2
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationjavadocoverride.java
@@ -0,0 +1,406 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 = " ";

+	protected final String TEXT_9 = NL + "\t * <!-- end-model-doc -->";

+	protected final String TEXT_10 = NL + "\t * @model ";

+	protected final String TEXT_11 = NL + "\t *        ";

+	protected final String TEXT_12 = NL + "\t * @model";

+	protected final String TEXT_13 = NL + "\t * @generated" + NL + "\t */" + NL;

+	protected final String TEXT_14 = 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_14);

+		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("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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+			callParameters.put("isGWT", isGWT);

+			callParameters.put("forceDefaultCase", forceDefaultCase);

+			callParameters.put("indentDefaultCase", indentDefaultCase);

+			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_6);

+						stringBuffer.append(genParameter.getName());

+						stringBuffer.append(TEXT_8);

+						stringBuffer.append(genParameter.getDocumentation(genModel.getIndentation(stringBuffer)));

+					}

+				}

+			}

+			stringBuffer.append(TEXT_9);

+		}

+		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_10);

+					stringBuffer.append(modelInfo);

+				} else {

+					stringBuffer.append(TEXT_11);

+					stringBuffer.append(modelInfo);

+				}

+			}

+			if (first) {

+				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 {

+		return true;

+	}

+}
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationoverride.java
new file mode 100644
index 0000000..b262027
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationoverride.java
@@ -0,0 +1,751 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 * ";

+	protected final String TEXT_8 = NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";

+	protected final String TEXT_9 = NL + "\t@Deprecated";

+	protected final String TEXT_10 = NL + "\tprotected static final ";

+	protected final String TEXT_11 = " ";

+	protected final String TEXT_12 = "__EEXPRESSION = \"";

+	protected final String TEXT_13 = "\";";

+	protected final String TEXT_14 = NL;

+	protected final String TEXT_15 = NL + "\t/**" + NL + "\t * The cached invocation delegate for the '{@link #";

+	protected final String TEXT_16 = "</em>}' operation." + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see #";

+	protected final String TEXT_17 = ".Internal.InvocationDelegate ";

+	protected final String TEXT_18 = "__EINVOCATION_DELEGATE = ((";

+	protected final String TEXT_19 = ".Internal)";

+	protected final String TEXT_20 = ").getInvocationDelegate();" + NL;

+	protected final String TEXT_21 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->";

+	protected final String TEXT_22 = NL + "\t * @generated" + NL + "\t */";

+	protected final String TEXT_23 = NL + "\t";

+	protected final String TEXT_24 = ";" + NL;

+	protected final String TEXT_25 = NL + "\t@SuppressWarnings(\"unchecked\")";

+	protected final String TEXT_26 = NL + "\t@Override";

+	protected final String TEXT_27 = NL + "\tpublic ";

+	protected final String TEXT_28 = NL + "\t{";

+	protected final String TEXT_29 = NL + "\t\t";

+	protected final String TEXT_30 = NL + "\t\treturn" + NL + "\t\t\t";

+	protected final String TEXT_31 = ".validate" + NL + "\t\t\t\t(";

+	protected final String TEXT_32 = "," + NL + "\t\t\t\t this," + NL + "\t\t\t\t ";

+	protected final String TEXT_33 = "," + NL + "\t\t\t\t ";

+	protected final String TEXT_34 = "," + NL + "\t\t\t\t \"";

+	protected final String TEXT_35 = "\",";

+	protected final String TEXT_36 = NL + "\t\t\t\t ";

+	protected final String TEXT_37 = "__EEXPRESSION," + NL + "\t\t\t\t ";

+	protected final String TEXT_38 = ".ERROR," + NL + "\t\t\t\t ";

+	protected final String TEXT_39 = ".DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t ";

+	protected final String TEXT_40 = ".";

+	protected final String TEXT_41 = ");";

+	protected final String TEXT_42 = 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_43 = " != null)" + NL + "\t\t\t{" + NL + "\t\t\t\t";

+	protected final String TEXT_44 = ".add" + NL + "\t\t\t\t\t(new ";

+	protected final String TEXT_45 = NL + "\t\t\t\t\t\t(";

+	protected final String TEXT_46 = ".ERROR," + NL + "\t\t\t\t\t\t ";

+	protected final String TEXT_47 = ".DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t ";

+	protected final String TEXT_48 = "," + NL + "\t\t\t\t\t\t ";

+	protected final String TEXT_49 = ".INSTANCE.getString(\"_UI_GenericInvariant_diagnostic\", new Object[] { \"";

+	protected final String TEXT_50 = "\", ";

+	protected final String TEXT_51 = ".getObjectLabel(this, ";

+	protected final String TEXT_52 = ") }),";

+	protected final String TEXT_53 = 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_54 = NL + "\t\ttry" + NL + "\t\t{";

+	protected final String TEXT_55 = NL + "\t\t\t";

+	protected final String TEXT_56 = "__EINVOCATION_DELEGATE.dynamicInvoke(this, ";

+	protected final String TEXT_57 = "new ";

+	protected final String TEXT_58 = ".UnmodifiableEList<Object>(";

+	protected final String TEXT_59 = ", ";

+	protected final String TEXT_60 = "null";

+	protected final String TEXT_61 = NL + "\t\t\treturn ";

+	protected final String TEXT_62 = ").";

+	protected final String TEXT_63 = "()";

+	protected final String TEXT_64 = ";";

+	protected final String TEXT_65 = NL + "\t\t}" + NL + "\t\tcatch (";

+	protected final String TEXT_66 = " ite)" + NL + "\t\t{" + NL + "\t\t\tthrow new ";

+	protected final String TEXT_67 = "(ite);" + NL + "\t\t}";

+	protected final String TEXT_68 = NL + "\t}" + NL;

+	protected final String TEXT_69 = 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_69);

+		stringBuffer.append(TEXT_69);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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_3);

+				stringBuffer.append(genOperation.getParameterTypes(", "));

+				stringBuffer.append(TEXT_6);

+				if (genOperation.hasAPITags()) {

+					stringBuffer.append(TEXT_7);

+					stringBuffer.append(genOperation.getAPITags(genModel.getIndentation(stringBuffer)));

+				}

+				stringBuffer.append(TEXT_8);

+				if (isJDK50 && genOperation.hasAPIDeprecatedTag()) {

+					stringBuffer.append(TEXT_9);

+				}

+				stringBuffer.append(TEXT_10);

+				stringBuffer.append(genModel.getImportedName("java.lang.String"));

+				stringBuffer.append(TEXT_11);

+				stringBuffer.append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale()));

+				stringBuffer.append(TEXT_12);

+				stringBuffer.append(genOperation.getInvariantExpression("\t\t"));

+				stringBuffer.append(TEXT_13);

+				stringBuffer.append(genModel.getNonNLS());

+				stringBuffer.append(TEXT_14);

+			} else if (genOperation.hasInvocationDelegate()) {

+				stringBuffer.append(TEXT_15);

+				stringBuffer.append(genOperation.getName());

+				stringBuffer.append(TEXT_3);

+				stringBuffer.append(genOperation.getParameterTypes(", "));

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(genOperation.getFormattedName());

+				stringBuffer.append(TEXT_16);

+				stringBuffer.append(genOperation.getName());

+				stringBuffer.append(TEXT_3);

+				stringBuffer.append(genOperation.getParameterTypes(", "));

+				stringBuffer.append(TEXT_6);

+				if (genOperation.hasAPITags()) {

+					stringBuffer.append(TEXT_7);

+					stringBuffer.append(genOperation.getAPITags(genModel.getIndentation(stringBuffer)));

+				}

+				stringBuffer.append(TEXT_8);

+				if (isJDK50 && genOperation.hasAPIDeprecatedTag()) {

+					stringBuffer.append(TEXT_9);

+				}

+				stringBuffer.append(TEXT_10);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));

+				stringBuffer.append(TEXT_17);

+				stringBuffer.append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale()));

+				stringBuffer.append(TEXT_18);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));

+				stringBuffer.append(TEXT_19);

+				stringBuffer.append(genOperation.getQualifiedOperationAccessor());

+				stringBuffer.append(TEXT_20);

+			}

+		}

+		if (isInterface) {

+			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.genOperation.javadoc.override" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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_21);

+			if (genOperation.hasAPITags()) {

+				stringBuffer.append(TEXT_7);

+				stringBuffer.append(genOperation.getAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_22);

+			if (isJDK50) { //Class/genOperation.annotations.insert.javajetinc

+				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.genOperation.annotations.insert" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+					callParameters.put("isGWT", isGWT);

+					callParameters.put("forceDefaultCase", forceDefaultCase);

+					callParameters.put("indentDefaultCase", indentDefaultCase);

+					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 (isJDK50 && genOperation.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_9);

+		}

+		if (!isImplementation) {

+			stringBuffer.append(TEXT_23);

+			stringBuffer.append(genOperation.getTypeParameters(genClass));

+			stringBuffer.append(genOperation.getImportedType(genClass));

+			stringBuffer.append(TEXT_11);

+			stringBuffer.append(genOperation.getName());

+			stringBuffer.append(TEXT_3);

+			stringBuffer.append(genOperation.getParameters(genClass));

+			stringBuffer.append(TEXT_6);

+			stringBuffer.append(genOperation.getThrows(genClass));

+			stringBuffer.append(TEXT_24);

+		} else {

+			if (genModel.useGenerics() && !genOperation.hasBody() && !genOperation.isInvariant()

+					&& genOperation.hasInvocationDelegate() && genOperation.isUncheckedCast(genClass)) {

+				stringBuffer.append(TEXT_25);

+			}

+			if (useInterfaceOverrideAnnotation && !genClass.isMapEntry() && !genOperation.isSuppressedVisibility()) {

+				stringBuffer.append(TEXT_26);

+			}

+			stringBuffer.append(TEXT_27);

+			stringBuffer.append(genOperation.getTypeParameters(genClass));

+			stringBuffer.append(genOperation.getImportedType(genClass));

+			stringBuffer.append(TEXT_11);

+			stringBuffer.append(genOperation.getName());

+			stringBuffer.append(TEXT_3);

+			stringBuffer.append(genOperation.getParameters(isImplementation, genClass));

+			stringBuffer.append(TEXT_6);

+			stringBuffer.append(genOperation.getThrows(genClass));

+			stringBuffer.append(TEXT_28);

+			if (genOperation.hasBody()) {

+				stringBuffer.append(TEXT_29);

+				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_30);

+					stringBuffer.append(opClass.getGenPackage().getImportedValidatorClassName());

+					stringBuffer.append(TEXT_31);

+					stringBuffer.append(genClass.getQualifiedClassifierAccessor());

+					stringBuffer.append(TEXT_32);

+					stringBuffer.append(diagnostics);

+					stringBuffer.append(TEXT_33);

+					stringBuffer.append(context);

+					stringBuffer.append(TEXT_34);

+					stringBuffer.append(genOperation.getValidationDelegate());

+					stringBuffer.append(TEXT_35);

+					stringBuffer.append(genModel.getNonNLS());

+					stringBuffer.append(TEXT_36);

+					stringBuffer.append(genOperation.getQualifiedOperationAccessor());

+					stringBuffer.append(TEXT_33);

+					stringBuffer

+							.append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale()));

+					stringBuffer.append(TEXT_37);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));

+					stringBuffer.append(TEXT_38);

+					stringBuffer.append(opClass.getGenPackage().getImportedValidatorClassName());

+					stringBuffer.append(TEXT_39);

+					stringBuffer.append(opClass.getGenPackage().getImportedValidatorClassName());

+					stringBuffer.append(TEXT_40);

+					stringBuffer.append(opClass.getOperationID(genOperation));

+					stringBuffer.append(TEXT_41);

+				} else {

+					stringBuffer.append(TEXT_42);

+					stringBuffer.append(diagnostics);

+					stringBuffer.append(TEXT_43);

+					stringBuffer.append(diagnostics);

+					stringBuffer.append(TEXT_44);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic"));

+					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_40);

+					stringBuffer.append(opClass.getOperationID(genOperation));

+					stringBuffer.append(TEXT_48);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin"));

+					stringBuffer.append(TEXT_49);

+					stringBuffer.append(genOperation.getName());

+					stringBuffer.append(TEXT_50);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.EObjectValidator"));

+					stringBuffer.append(TEXT_51);

+					stringBuffer.append(context);

+					stringBuffer.append(TEXT_52);

+					stringBuffer.append(genModel.getNonNLS());

+					stringBuffer.append(genModel.getNonNLS(2));

+					stringBuffer.append(TEXT_53);

+				}

+			} else if (genOperation.hasInvocationDelegate()) {

+				int size = genOperation.getGenParameters().size();

+				stringBuffer.append(TEXT_54);

+				if (genOperation.isVoid()) {

+					stringBuffer.append(TEXT_55);

+					stringBuffer

+							.append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale()));

+					stringBuffer.append(TEXT_56);

+					if (size > 0) {

+						stringBuffer.append(TEXT_57);

+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

+						stringBuffer.append(TEXT_58);

+						stringBuffer.append(size);

+						stringBuffer.append(TEXT_59);

+						stringBuffer.append(genOperation.getParametersArray(genClass));

+						stringBuffer.append(TEXT_6);

+					} else {

+						stringBuffer.append(TEXT_60);

+					}

+					stringBuffer.append(TEXT_41);

+				} else {

+					stringBuffer.append(TEXT_61);

+					if (!isJDK50 && genOperation.isPrimitiveType()) {

+						stringBuffer.append(TEXT_3);

+					}

+					stringBuffer.append(TEXT_3);

+					stringBuffer.append(genOperation.getObjectType(genClass));

+					stringBuffer.append(TEXT_6);

+					stringBuffer

+							.append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale()));

+					stringBuffer.append(TEXT_56);

+					if (size > 0) {

+						stringBuffer.append(TEXT_57);

+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

+						stringBuffer.append(TEXT_58);

+						stringBuffer.append(size);

+						stringBuffer.append(TEXT_59);

+						stringBuffer.append(genOperation.getParametersArray(genClass));

+						stringBuffer.append(TEXT_6);

+					} else {

+						stringBuffer.append(TEXT_60);

+					}

+					stringBuffer.append(TEXT_6);

+					if (!isJDK50 && genOperation.isPrimitiveType()) {

+						stringBuffer.append(TEXT_62);

+						stringBuffer.append(genOperation.getPrimitiveValueFunction());

+						stringBuffer.append(TEXT_63);

+					}

+					stringBuffer.append(TEXT_64);

+				}

+				stringBuffer.append(TEXT_65);

+				stringBuffer

+						.append(genModel.getImportedName(isGWT ? "org.eclipse.emf.common.util.InvocationTargetException"

+								: "java.lang.reflect.InvocationTargetException"));

+				stringBuffer.append(TEXT_66);

+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.WrappedException"));

+				stringBuffer.append(TEXT_67);

+			} else {

+				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.implementedGenOperation.TODO.override" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+					callParameters.put("isGWT", isGWT);

+					callParameters.put("forceDefaultCase", forceDefaultCase);

+					callParameters.put("indentDefaultCase", indentDefaultCase);

+					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_68);

+		}

+		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.genOperation.insert" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+			callParameters.put("isGWT", isGWT);

+			callParameters.put("forceDefaultCase", forceDefaultCase);

+			callParameters.put("indentDefaultCase", indentDefaultCase);

+			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_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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeatureTODOoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeatureTODOoverride.java
new file mode 100644
index 0000000..f9d2674
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeatureTODOoverride.java
@@ -0,0 +1,344 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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;

+

+	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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_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("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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeatureannotationsinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeatureannotationsinsert.java
new file mode 100644
index 0000000..b5ae97a
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeatureannotationsinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeaturejavadocinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeaturejavadocinsert.java
new file mode 100644
index 0000000..c99929d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeaturejavadocinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeaturejavadocoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeaturejavadocoverride.java
new file mode 100644
index 0000000..f69eccd
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeaturejavadocoverride.java
@@ -0,0 +1,525 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 = "," + NL + "\t * and the value is of type ";

+	protected final String TEXT_9 = ",";

+	protected final String TEXT_10 = NL + "\t * The list contents are of type {@link ";

+	protected final String TEXT_11 = NL + "\t * The default value is <code>";

+	protected final String TEXT_12 = "</code>.";

+	protected final String TEXT_13 = NL + "\t * The literals are from the enumeration {@link ";

+	protected final String TEXT_14 = "}.";

+	protected final String TEXT_15 = NL + "\t * It is bidirectional and its opposite is '{@link ";

+	protected final String TEXT_16 = "#";

+	protected final String TEXT_17 = " <em>";

+	protected final String TEXT_18 = "</em>}'.";

+	protected final String TEXT_19 = NL;

+	protected final String TEXT_20 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->";

+	protected final String TEXT_21 = NL + "\t * <!-- begin-model-doc -->" + NL + "\t * ";

+	protected final String TEXT_22 = NL + "\t * <!-- end-model-doc -->";

+	protected final String TEXT_23 = NL + "\t * @return the value of the '<em>";

+	protected final String TEXT_24 = "</em>' ";

+	protected final String TEXT_25 = NL + "\t * @see ";

+	protected final String TEXT_26 = NL + "\t * @see #isSet";

+	protected final String TEXT_27 = "()";

+	protected final String TEXT_28 = NL + "\t * @see #unset";

+	protected final String TEXT_29 = NL + "\t * @see #set";

+	protected final String TEXT_30 = "(";

+	protected final String TEXT_31 = ")";

+	protected final String TEXT_32 = "#get";

+	protected final String TEXT_33 = NL + "\t * @model ";

+	protected final String TEXT_34 = NL + "\t *        ";

+	protected final String TEXT_35 = NL + "\t * @model";

+	protected final String TEXT_36 = NL + "\t * @generated" + NL + "\t */" + NL;

+	protected final String TEXT_37 = 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_37);

+		stringBuffer.append(TEXT_37);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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_6);

+				}

+				stringBuffer.append(TEXT_8);

+				if (valueFeature.isListType()) {

+					stringBuffer.append(TEXT_5);

+					stringBuffer.append(valueFeature.getQualifiedListItemType(genClass));

+					stringBuffer.append(TEXT_6);

+				} else {

+					stringBuffer.append(TEXT_7);

+					stringBuffer.append(valueFeature.getType(genClass));

+					stringBuffer.append(TEXT_6);

+				}

+				stringBuffer.append(TEXT_9);

+			} 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 = "<code>" + CodeGenUtil.xmlEscapeEncode(typeName.substring(index)) + "</code>";

+				}

+

+				stringBuffer.append(TEXT_10);

+				stringBuffer.append(head);

+				stringBuffer.append(TEXT_6);

+				stringBuffer.append(tail);

+				stringBuffer.append(TEXT_3);

+			}

+		} else if (genFeature.isSetDefaultValue()) {

+			stringBuffer.append(TEXT_11);

+			stringBuffer.append(genFeature.getDefaultValue());

+			stringBuffer.append(TEXT_12);

+		}

+		if (genFeature.getTypeGenEnum() != null) {

+			stringBuffer.append(TEXT_13);

+			stringBuffer.append(genFeature.getTypeGenEnum().getQualifiedName());

+			stringBuffer.append(TEXT_14);

+		}

+		if (genFeature.isBidirectional() && !genFeature.getReverse().getGenClass().isMapEntry()) {

+			GenFeature reverseGenFeature = genFeature.getReverse();

+			if (!reverseGenFeature.isSuppressedGetVisibility()) {

+				stringBuffer.append(TEXT_15);

+				stringBuffer.append(reverseGenFeature.getGenClass().getRawQualifiedInterfaceName());

+				stringBuffer.append(TEXT_16);

+				stringBuffer.append(reverseGenFeature.getGetAccessor());

+				stringBuffer.append(TEXT_17);

+				stringBuffer.append(reverseGenFeature.getFormattedName());

+				stringBuffer.append(TEXT_18);

+			}

+		}

+		stringBuffer.append(TEXT_19);

+		{

+			//<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+			callParameters.put("isGWT", isGWT);

+			callParameters.put("forceDefaultCase", forceDefaultCase);

+			callParameters.put("indentDefaultCase", indentDefaultCase);

+			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_20);

+		if (genFeature.hasDocumentation()) {

+			stringBuffer.append(TEXT_21);

+			stringBuffer.append(genFeature.getDocumentation(genModel.getIndentation(stringBuffer)));

+			stringBuffer.append(TEXT_22);

+		}

+		stringBuffer.append(TEXT_23);

+		stringBuffer.append(genFeature.getFormattedName());

+		stringBuffer.append(TEXT_24);

+		stringBuffer.append(genFeature.getFeatureKind());

+		stringBuffer.append(TEXT_3);

+		if (genFeature.getTypeGenEnum() != null) {

+			stringBuffer.append(TEXT_25);

+			stringBuffer.append(genFeature.getTypeGenEnum().getQualifiedName());

+		}

+		if (genFeature.isUnsettable()) {

+			if (!genFeature.isSuppressedIsSetVisibility()) {

+				stringBuffer.append(TEXT_26);

+				stringBuffer.append(genFeature.getAccessorName());

+				stringBuffer.append(TEXT_27);

+			}

+			if (genFeature.isChangeable() && !genFeature.isSuppressedUnsetVisibility()) {

+				stringBuffer.append(TEXT_28);

+				stringBuffer.append(genFeature.getAccessorName());

+				stringBuffer.append(TEXT_27);

+			}

+		}

+		if (genFeature.isChangeable() && !genFeature.isListType() && !genFeature.isSuppressedSetVisibility()) {

+			stringBuffer.append(TEXT_29);

+			stringBuffer.append(genFeature.getAccessorName());

+			stringBuffer.append(TEXT_30);

+			stringBuffer.append(genFeature.getRawImportedBoundType());

+			stringBuffer.append(TEXT_31);

+		}

+		if (!genModel.isSuppressEMFMetaData()) {

+			stringBuffer.append(TEXT_25);

+			stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());

+			stringBuffer.append(TEXT_32);

+			stringBuffer.append(genFeature.getFeatureAccessorName());

+			stringBuffer.append(TEXT_27);

+		}

+		if (genFeature.isBidirectional() && !genFeature.getReverse().getGenClass().isMapEntry()) {

+			GenFeature reverseGenFeature = genFeature.getReverse();

+			if (!reverseGenFeature.isSuppressedGetVisibility()) {

+				stringBuffer.append(TEXT_25);

+				stringBuffer.append(reverseGenFeature.getGenClass().getRawQualifiedInterfaceName());

+				stringBuffer.append(TEXT_16);

+				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_33);

+					stringBuffer.append(modelInfo);

+				} else {

+					stringBuffer.append(TEXT_34);

+					stringBuffer.append(modelInfo);

+				}

+			}

+			if (first) {

+				stringBuffer.append(TEXT_35);

+			}

+		}

+		stringBuffer.append(TEXT_36);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeatureoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeatureoverride.java
new file mode 100644
index 0000000..be68411
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeatureoverride.java
@@ -0,0 +1,994 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 -->";

+	protected final String TEXT_4 = NL + "\t * ";

+	protected final String TEXT_5 = NL + "\t * @generated" + NL + "\t */";

+	protected final String TEXT_6 = NL + "\t@Deprecated";

+	protected final String TEXT_7 = NL + "\t";

+	protected final String TEXT_8 = " ";

+	protected final String TEXT_9 = "();" + NL;

+	protected final String TEXT_10 = NL + "\t@SuppressWarnings(\"unchecked\")";

+	protected final String TEXT_11 = NL + "\t@Override";

+	protected final String TEXT_12 = NL + "\tpublic ";

+	protected final String TEXT_13 = "_";

+	protected final String TEXT_14 = "()" + NL + "\t{";

+	protected final String TEXT_15 = NL + "\t\treturn ";

+	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 = ")eGet(";

+	protected final String TEXT_27 = ", true)";

+	protected final String TEXT_28 = "__ESETTING_DELEGATE.dynamicGet(this, null, 0, true, false)";

+	protected final String TEXT_29 = " = (";

+	protected final String TEXT_30 = ")eVirtualGet(";

+	protected final String TEXT_31 = ");";

+	protected final String TEXT_32 = NL + "\t\tif (";

+	protected final String TEXT_33 = " == null)" + NL + "\t\t{";

+	protected final String TEXT_34 = NL + "\t\t\teVirtualSet(";

+	protected final String TEXT_35 = " = new ";

+	protected final String TEXT_36 = NL + "\t\t\t";

+	protected final String TEXT_37 = NL + "\t\t}" + NL + "\t\treturn ";

+	protected final String TEXT_38 = NL + "\t\tif (eContainerFeatureID() != ";

+	protected final String TEXT_39 = ") return null;" + NL + "\t\treturn (";

+	protected final String TEXT_40 = "eContainer";

+	protected final String TEXT_41 = "eInternalContainer";

+	protected final String TEXT_42 = "();";

+	protected final String TEXT_43 = " != null && ";

+	protected final String TEXT_44 = ".eIsProxy())" + NL + "\t\t{" + NL + "\t\t\t";

+	protected final String TEXT_45 = " old";

+	protected final String TEXT_46 = " = ";

+	protected final String TEXT_47 = ";" + NL + "\t\t\t";

+	protected final String TEXT_48 = "eResolveProxy(old";

+	protected final String TEXT_49 = ");" + NL + "\t\t\tif (";

+	protected final String TEXT_50 = " != old";

+	protected final String TEXT_51 = ")" + NL + "\t\t\t{";

+	protected final String TEXT_52 = NL + "\t\t\t\t";

+	protected final String TEXT_53 = " new";

+	protected final String TEXT_54 = " msgs = old";

+	protected final String TEXT_55 = ".eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ";

+	protected final String TEXT_56 = ", null, null);";

+	protected final String TEXT_57 = " msgs =  old";

+	protected final String TEXT_58 = ".eInverseRemove(this, ";

+	protected final String TEXT_59 = ".class, null);";

+	protected final String TEXT_60 = NL + "\t\t\t\tif (new";

+	protected final String TEXT_61 = ".eInternalContainer() == null)" + NL + "\t\t\t\t{";

+	protected final String TEXT_62 = NL + "\t\t\t\t\tmsgs = new";

+	protected final String TEXT_63 = ".eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ";

+	protected final String TEXT_64 = ", null, msgs);";

+	protected final String TEXT_65 = NL + "\t\t\t\t\tmsgs =  new";

+	protected final String TEXT_66 = ".eInverseAdd(this, ";

+	protected final String TEXT_67 = ".class, msgs);";

+	protected final String TEXT_68 = NL + "\t\t\t\t}" + NL + "\t\t\t\tif (msgs != null) msgs.dispatch();";

+	protected final String TEXT_69 = NL + "\t\t\t\teVirtualSet(";

+	protected final String TEXT_70 = NL + "\t\t\t\tif (eNotificationRequired())" + NL + "\t\t\t\t\teNotify(new ";

+	protected final String TEXT_71 = "(this, ";

+	protected final String TEXT_72 = ".RESOLVE, ";

+	protected final String TEXT_73 = ", old";

+	protected final String TEXT_74 = "));";

+	protected final String TEXT_75 = NL + "\t\t\t}" + NL + "\t\t}";

+	protected final String TEXT_76 = NL + "\t\treturn (";

+	protected final String TEXT_77 = " & ";

+	protected final String TEXT_78 = "_EFLAG) != 0;";

+	protected final String TEXT_79 = "_EFLAG_VALUES[(";

+	protected final String TEXT_80 = "_EFLAG) >>> ";

+	protected final String TEXT_81 = "_EFLAG_OFFSET];";

+	protected final String TEXT_82 = " = basicGet";

+	protected final String TEXT_83 = "();" + NL + "\t\treturn ";

+	protected final String TEXT_84 = ".eIsProxy() ? ";

+	protected final String TEXT_85 = "eResolveProxy(";

+	protected final String TEXT_86 = ") : ";

+	protected final String TEXT_87 = NL + "\t\treturn new ";

+	protected final String TEXT_88 = "((";

+	protected final String TEXT_89 = ".Internal)((";

+	protected final String TEXT_90 = ".Internal.Wrapper)get";

+	protected final String TEXT_91 = "()).featureMap().";

+	protected final String TEXT_92 = "list(";

+	protected final String TEXT_93 = ")get";

+	protected final String TEXT_94 = "().";

+	protected final String TEXT_95 = NL + "\t\treturn ((";

+	protected final String TEXT_96 = "()).featureMap().list(";

+	protected final String TEXT_97 = NL + "\t\treturn get";

+	protected final String TEXT_98 = "().list(";

+	protected final String TEXT_99 = "()).featureMap().get(";

+	protected final String TEXT_100 = "get";

+	protected final String TEXT_101 = "().get(";

+	protected final String TEXT_102 = NL + "\t}" + NL;

+	protected final String TEXT_103 = 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_103);

+		stringBuffer.append(TEXT_103);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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 (genFeature.hasAPITags()) {

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_5);

+			if (isJDK50) { //Class/getGenFeature.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.getGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+					callParameters.put("isGWT", isGWT);

+					callParameters.put("forceDefaultCase", forceDefaultCase);

+					callParameters.put("indentDefaultCase", indentDefaultCase);

+					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 (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_6);

+		}

+		if (!isImplementation) {

+			stringBuffer.append(TEXT_7);

+			stringBuffer.append(genFeature.getImportedType(genClass));

+			stringBuffer.append(TEXT_8);

+			stringBuffer.append(genFeature.getGetAccessor());

+			stringBuffer.append(TEXT_9);

+		} else {

+			if (genModel.useGenerics() && ((genFeature.isContainer() || genFeature.isResolveProxies())

+					&& !genFeature.isListType() && genFeature.isUncheckedCast(genClass)

+					|| genFeature.isListType() && !genFeature.isFeatureMapType()

+							&& (genModel.isReflectiveDelegation() || genModel.isVirtualDelegation()

+									|| (genModel.isDynamicDelegation() && !genFeature.isVolatile()))

+					|| genFeature.isListDataType() && genFeature.hasDelegateFeature()

+					|| genFeature.isListType() && genFeature.hasSettingDelegate())) {

+				stringBuffer.append(TEXT_10);

+			}

+			if (useInterfaceOverrideAnnotation && !genClass.isMapEntry()

+					&& !genClass.hasCollidingGetAccessorOperation(genFeature)

+					&& !genFeature.isSuppressedGetVisibility()) {

+				stringBuffer.append(TEXT_11);

+			}

+			stringBuffer.append(TEXT_12);

+			stringBuffer.append(genFeature.getImportedType(genClass));

+			stringBuffer.append(TEXT_8);

+			stringBuffer.append(genFeature.getGetAccessor());

+			if (genClass.hasCollidingGetAccessorOperation(genFeature)) {

+				stringBuffer.append(TEXT_13);

+			}

+			stringBuffer.append(TEXT_14);

+			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.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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() && !genFeature.isVolatile()) {

+				stringBuffer.append(TEXT_15);

+				if (!isJDK50 && genFeature.isPrimitiveType()) {

+					stringBuffer.append(TEXT_16);

+				}

+				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_15);

+					if (!isJDK50 && genFeature.isPrimitiveType()) {

+						stringBuffer.append(TEXT_16);

+					}

+					stringBuffer.append(TEXT_16);

+					stringBuffer.append(genFeature.getObjectType(genClass));

+					stringBuffer.append(TEXT_26);

+					stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+					stringBuffer.append(TEXT_27);

+					if (!isJDK50 && genFeature.isPrimitiveType()) {

+						stringBuffer.append(TEXT_22);

+						stringBuffer.append(genFeature.getPrimitiveValueFunction());

+						stringBuffer.append(TEXT_23);

+					}

+					stringBuffer.append(TEXT_24);

+				}

+			} else if (genFeature.hasSettingDelegate()) {

+				stringBuffer.append(TEXT_15);

+				if (!isJDK50 && genFeature.isPrimitiveType()) {

+					stringBuffer.append(TEXT_16);

+				}

+				stringBuffer.append(TEXT_16);

+				stringBuffer.append(genFeature.getObjectType(genClass));

+				stringBuffer.append(TEXT_21);

+				stringBuffer.append(genFeature.getUpperName());

+				stringBuffer.append(TEXT_28);

+				if (!isJDK50 && genFeature.isPrimitiveType()) {

+					stringBuffer.append(TEXT_22);

+					stringBuffer.append(genFeature.getPrimitiveValueFunction());

+					stringBuffer.append(TEXT_23);

+				}

+				stringBuffer.append(TEXT_24);

+			} else if (!genFeature.isVolatile()) {

+				if (genFeature.isListType()) {

+					if (genModel.isVirtualDelegation()) {

+						stringBuffer.append(TEXT_25);

+						stringBuffer.append(genFeature.getImportedType(genClass));

+						stringBuffer.append(TEXT_8);

+						stringBuffer.append(genFeature.getSafeName());

+						stringBuffer.append(TEXT_29);

+						stringBuffer.append(genFeature.getImportedType(genClass));

+						stringBuffer.append(TEXT_30);

+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(positiveOffsetCorrection);

+						stringBuffer.append(TEXT_31);

+					}

+					stringBuffer.append(TEXT_32);

+					stringBuffer.append(genFeature.getSafeName());

+					stringBuffer.append(TEXT_33);

+					if (genModel.isVirtualDelegation()) {

+						stringBuffer.append(TEXT_34);

+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(positiveOffsetCorrection);

+						stringBuffer.append(TEXT_19);

+						stringBuffer.append(genFeature.getSafeName());

+						stringBuffer.append(TEXT_35);

+						stringBuffer.append(genClass.getListConstructor(genFeature));

+						stringBuffer.append(TEXT_31);

+					} else {

+						stringBuffer.append(TEXT_36);

+						stringBuffer.append(genFeature.getSafeName());

+						stringBuffer.append(TEXT_35);

+						stringBuffer.append(genClass.getListConstructor(genFeature));

+						stringBuffer.append(TEXT_24);

+					}

+					stringBuffer.append(TEXT_37);

+					stringBuffer.append(genFeature.getSafeName());

+					stringBuffer

+							.append(genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes() ? ".map()" : "");

+					stringBuffer.append(TEXT_24);

+				} else if (genFeature.isContainer()) {

+					stringBuffer.append(TEXT_38);

+					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+					stringBuffer.append(positiveOffsetCorrection);

+					stringBuffer.append(TEXT_39);

+					stringBuffer.append(genFeature.getImportedType(genClass));

+					stringBuffer.append(TEXT_21);

+					if (genFeature.isResolveProxies()) {

+						stringBuffer.append(TEXT_40);

+					} else {

+						stringBuffer.append(TEXT_41);

+					}

+					stringBuffer.append(TEXT_42);

+				} else {

+					if (genFeature.isResolveProxies()) {

+						if (genModel.isVirtualDelegation()) {

+							stringBuffer.append(TEXT_25);

+							stringBuffer.append(genFeature.getImportedType(genClass));

+							stringBuffer.append(TEXT_8);

+							stringBuffer.append(genFeature.getSafeName());

+							stringBuffer.append(TEXT_29);

+							stringBuffer.append(genFeature.getImportedType(genClass));

+							stringBuffer.append(TEXT_30);

+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+							stringBuffer.append(positiveOffsetCorrection);

+							if (genFeature.hasEDefault()) {

+								stringBuffer.append(TEXT_19);

+								stringBuffer.append(genFeature.getEDefault());

+							}

+							stringBuffer.append(TEXT_31);

+						}

+						stringBuffer.append(TEXT_32);

+						stringBuffer.append(genFeature.getSafeName());

+						stringBuffer.append(TEXT_43);

+						stringBuffer.append(genFeature.getSafeNameAsEObject());

+						stringBuffer.append(TEXT_44);

+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

+						stringBuffer.append(TEXT_45);

+						stringBuffer.append(genFeature.getCapName());

+						stringBuffer.append(TEXT_46);

+						stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), false));

+						stringBuffer.append(TEXT_47);

+						stringBuffer.append(genFeature.getSafeName());

+						stringBuffer.append(TEXT_46);

+						stringBuffer.append(genFeature.getNonEObjectInternalTypeCast(genClass));

+						stringBuffer.append(TEXT_48);

+						stringBuffer.append(genFeature.getCapName());

+						stringBuffer.append(TEXT_49);

+						stringBuffer.append(genFeature.getSafeName());

+						stringBuffer.append(TEXT_50);

+						stringBuffer.append(genFeature.getCapName());

+						stringBuffer.append(TEXT_51);

+						if (genFeature.isEffectiveContains()) {

+							stringBuffer.append(TEXT_52);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

+							stringBuffer.append(TEXT_53);

+							stringBuffer.append(genFeature.getCapName());

+							stringBuffer.append(TEXT_46);

+							stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), false));

+							stringBuffer.append(TEXT_24);

+							if (!genFeature.isBidirectional()) {

+								stringBuffer.append(TEXT_52);

+								stringBuffer.append(

+										genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

+								stringBuffer.append(TEXT_54);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_55);

+								stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+								stringBuffer.append(negativeOffsetCorrection);

+								stringBuffer.append(TEXT_56);

+							} else {

+								GenFeature reverseFeature = genFeature.getReverse();

+								GenClass targetClass = reverseFeature.getGenClass();

+								String reverseOffsetCorrection = targetClass.hasOffsetCorrection()

+										? " + " + genClass.getOffsetCorrectionField(genFeature)

+										: "";

+								stringBuffer.append(TEXT_52);

+								stringBuffer.append(

+										genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

+								stringBuffer.append(TEXT_57);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_58);

+								stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));

+								stringBuffer.append(reverseOffsetCorrection);

+								stringBuffer.append(TEXT_19);

+								stringBuffer.append(targetClass.getRawImportedInterfaceName());

+								stringBuffer.append(TEXT_59);

+							}

+							stringBuffer.append(TEXT_60);

+							stringBuffer.append(genFeature.getCapName());

+							stringBuffer.append(TEXT_61);

+							if (!genFeature.isBidirectional()) {

+								stringBuffer.append(TEXT_62);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_63);

+								stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+								stringBuffer.append(negativeOffsetCorrection);

+								stringBuffer.append(TEXT_64);

+							} else {

+								GenFeature reverseFeature = genFeature.getReverse();

+								GenClass targetClass = reverseFeature.getGenClass();

+								String reverseOffsetCorrection = targetClass.hasOffsetCorrection()

+										? " + " + genClass.getOffsetCorrectionField(genFeature)

+										: "";

+								stringBuffer.append(TEXT_65);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_66);

+								stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));

+								stringBuffer.append(reverseOffsetCorrection);

+								stringBuffer.append(TEXT_19);

+								stringBuffer.append(targetClass.getRawImportedInterfaceName());

+								stringBuffer.append(TEXT_67);

+							}

+							stringBuffer.append(TEXT_68);

+						} else if (genModel.isVirtualDelegation()) {

+							stringBuffer.append(TEXT_69);

+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+							stringBuffer.append(positiveOffsetCorrection);

+							stringBuffer.append(TEXT_19);

+							stringBuffer.append(genFeature.getSafeName());

+							stringBuffer.append(TEXT_31);

+						}

+						if (!genModel.isSuppressNotification()) {

+							stringBuffer.append(TEXT_70);

+							stringBuffer

+									.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

+							stringBuffer.append(TEXT_71);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

+							stringBuffer.append(TEXT_72);

+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+							stringBuffer.append(positiveOffsetCorrection);

+							stringBuffer.append(TEXT_73);

+							stringBuffer.append(genFeature.getCapName());

+							stringBuffer.append(TEXT_19);

+							stringBuffer.append(genFeature.getSafeName());

+							stringBuffer.append(TEXT_74);

+						}

+						stringBuffer.append(TEXT_75);

+					}

+					if (!genFeature.isResolveProxies() && genModel.isVirtualDelegation()

+							&& !genFeature.isPrimitiveType()) {

+						stringBuffer.append(TEXT_76);

+						stringBuffer.append(genFeature.getImportedType(genClass));

+						stringBuffer.append(TEXT_30);

+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(positiveOffsetCorrection);

+						if (genFeature.hasEDefault()) {

+							stringBuffer.append(TEXT_19);

+							stringBuffer.append(genFeature.getEDefault());

+						}

+						stringBuffer.append(TEXT_31);

+					} else if (genClass.isFlag(genFeature)) {

+						if (genFeature.isBooleanType()) {

+							stringBuffer.append(TEXT_76);

+							stringBuffer.append(genClass.getFlagsField(genFeature));

+							stringBuffer.append(TEXT_77);

+							stringBuffer.append(genFeature.getUpperName());

+							stringBuffer.append(TEXT_78);

+						} else {

+							stringBuffer.append(TEXT_15);

+							stringBuffer.append(genFeature.getUpperName());

+							stringBuffer.append(TEXT_79);

+							stringBuffer.append(genClass.getFlagsField(genFeature));

+							stringBuffer.append(TEXT_77);

+							stringBuffer.append(genFeature.getUpperName());

+							stringBuffer.append(TEXT_80);

+							stringBuffer.append(genFeature.getUpperName());

+							stringBuffer.append(TEXT_81);

+						}

+					} else {

+						stringBuffer.append(TEXT_15);

+						stringBuffer.append(genFeature.getSafeName());

+						stringBuffer.append(TEXT_24);

+					}

+				}

+			} else {//volatile

+				if (genFeature.isResolveProxies() && !genFeature.isListType()) {

+					stringBuffer.append(TEXT_25);

+					stringBuffer.append(genFeature.getImportedType(genClass));

+					stringBuffer.append(TEXT_8);

+					stringBuffer.append(genFeature.getSafeName());

+					stringBuffer.append(TEXT_82);

+					stringBuffer.append(genFeature.getAccessorName());

+					stringBuffer.append(TEXT_83);

+					stringBuffer.append(genFeature.getSafeName());

+					stringBuffer.append(TEXT_43);

+					stringBuffer.append(genFeature.getSafeNameAsEObject());

+					stringBuffer.append(TEXT_84);

+					stringBuffer.append(genFeature.getNonEObjectInternalTypeCast(genClass));

+					stringBuffer.append(TEXT_85);

+					stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), false));

+					stringBuffer.append(TEXT_86);

+					stringBuffer.append(genFeature.getSafeName());

+					stringBuffer.append(TEXT_24);

+				} 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_87);

+							stringBuffer.append(genFeature.getImportedEffectiveFeatureMapWrapperClass());

+							stringBuffer.append(TEXT_88);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+							stringBuffer.append(TEXT_89);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+							stringBuffer.append(TEXT_90);

+							stringBuffer.append(delegateFeature.getAccessorName());

+							stringBuffer.append(TEXT_91);

+							stringBuffer.append(featureMapEntryTemplateArgument);

+							stringBuffer.append(TEXT_92);

+							stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+							stringBuffer.append(TEXT_74);

+						} else {

+							stringBuffer.append(TEXT_76);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+							stringBuffer.append(TEXT_93);

+							stringBuffer.append(delegateFeature.getAccessorName());

+							stringBuffer.append(TEXT_94);

+							stringBuffer.append(featureMapEntryTemplateArgument);

+							stringBuffer.append(TEXT_92);

+							stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+							stringBuffer.append(TEXT_31);

+						}

+					} else if (genFeature.isListType()) {

+						if (delegateFeature.isWrappedFeatureMapType()) {

+							stringBuffer.append(TEXT_95);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+							stringBuffer.append(TEXT_90);

+							stringBuffer.append(delegateFeature.getAccessorName());

+							stringBuffer.append(TEXT_96);

+							stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+							stringBuffer.append(TEXT_31);

+						} else {

+							stringBuffer.append(TEXT_97);

+							stringBuffer.append(delegateFeature.getAccessorName());

+							stringBuffer.append(TEXT_98);

+							stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+							stringBuffer.append(TEXT_31);

+						}

+					} else {

+						if (delegateFeature.isWrappedFeatureMapType()) {

+							stringBuffer.append(TEXT_15);

+							if (!isJDK50 && genFeature.isPrimitiveType()) {

+								stringBuffer.append(TEXT_16);

+							}

+							if (genFeature.getTypeGenDataType() == null

+									|| !genFeature.getTypeGenDataType().isObjectType()) {

+								stringBuffer.append(TEXT_16);

+								stringBuffer.append(genFeature.getObjectType(genClass));

+								stringBuffer.append(TEXT_21);

+							}

+							stringBuffer.append(TEXT_88);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+							stringBuffer.append(TEXT_90);

+							stringBuffer.append(delegateFeature.getAccessorName());

+							stringBuffer.append(TEXT_99);

+							stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+							stringBuffer.append(TEXT_27);

+							if (!isJDK50 && genFeature.isPrimitiveType()) {

+								stringBuffer.append(TEXT_22);

+								stringBuffer.append(genFeature.getPrimitiveValueFunction());

+								stringBuffer.append(TEXT_23);

+							}

+							stringBuffer.append(TEXT_24);

+						} else {

+							stringBuffer.append(TEXT_15);

+							if (!isJDK50 && genFeature.isPrimitiveType()) {

+								stringBuffer.append(TEXT_16);

+							}

+							if (genFeature.getTypeGenDataType() == null

+									|| !genFeature.getTypeGenDataType().isObjectType()) {

+								stringBuffer.append(TEXT_16);

+								stringBuffer.append(genFeature.getObjectType(genClass));

+								stringBuffer.append(TEXT_21);

+							}

+							stringBuffer.append(TEXT_100);

+							stringBuffer.append(delegateFeature.getAccessorName());

+							stringBuffer.append(TEXT_101);

+							stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+							stringBuffer.append(TEXT_27);

+							if (!isJDK50 && genFeature.isPrimitiveType()) {

+								stringBuffer.append(TEXT_22);

+								stringBuffer.append(genFeature.getPrimitiveValueFunction());

+								stringBuffer.append(TEXT_23);

+							}

+							stringBuffer.append(TEXT_24);

+						}

+					}

+				} else if (genClass.getGetAccessorOperation(genFeature) != null) {

+					stringBuffer.append(TEXT_25);

+					stringBuffer.append(genClass.getGetAccessorOperation(genFeature)

+							.getBody(genModel.getIndentation(stringBuffer)));

+				} else if (genFeature.hasGetterBody()) {

+					stringBuffer.append(TEXT_25);

+					stringBuffer.append(genFeature.getGetterBody(genModel.getIndentation(stringBuffer)));

+				} else {

+					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.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+						callParameters.put("isGWT", isGWT);

+						callParameters.put("forceDefaultCase", forceDefaultCase);

+						callParameters.put("indentDefaultCase", indentDefaultCase);

+						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_102);

+		}

+		stringBuffer.append(TEXT_2);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeaturepreinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeaturepreinsert.java
new file mode 100644
index 0000000..cb8217d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeaturepreinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceimplementedGenOperationTODOoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceimplementedGenOperationTODOoverride.java
new file mode 100644
index 0000000..dc362f0
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceimplementedGenOperationTODOoverride.java
@@ -0,0 +1,320 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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;

+

+	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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/Interfaceinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/Interfaceinsert.java
new file mode 100644
index 0000000..1442576
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/Interfaceinsert.java
@@ -0,0 +1,304 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+									for (Object isGWTParameter : isGWTList) {

+										for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+											for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+												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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																		this.isGWT = (java.lang.Boolean) isGWTParameter;

+																		this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																		this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																		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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/Interfaceinterfacejavadocoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/Interfaceinterfacejavadocoverride.java
new file mode 100644
index 0000000..5d84f11
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/Interfaceinterfacejavadocoverride.java
@@ -0,0 +1,384 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 + " * @see ";

+	protected final String TEXT_13 = "#get";

+	protected final String TEXT_14 = "()";

+	protected final String TEXT_15 = NL + " * @model ";

+	protected final String TEXT_16 = NL + " *        ";

+	protected final String TEXT_17 = NL + " * @model";

+	protected final String TEXT_18 = NL + " * @extends ";

+	protected final String TEXT_19 = NL + " * ";

+	protected final String TEXT_20 = NL + " * @generated" + NL + " */" + NL;

+	protected final String TEXT_21 = 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+									for (Object isGWTParameter : isGWTList) {

+										for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+											for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+												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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																		this.isGWT = (java.lang.Boolean) isGWTParameter;

+																		this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																		this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																		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_21);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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.getRawQualifiedInterfaceName());

+					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_5);

+		if (!genModel.isSuppressEMFMetaData()) {

+			stringBuffer.append(TEXT_12);

+			stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());

+			stringBuffer.append(TEXT_13);

+			stringBuffer.append(genClass.getClassifierAccessorName());

+			stringBuffer.append(TEXT_14);

+		}

+		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_15);

+					stringBuffer.append(modelInfo);

+				} else {

+					stringBuffer.append(TEXT_16);

+					stringBuffer.append(modelInfo);

+				}

+			}

+			if (first) {

+				stringBuffer.append(TEXT_17);

+			}

+		}

+		if (genClass.needsRootExtendsInterfaceExtendsTag()) {

+			stringBuffer.append(TEXT_18);

+			stringBuffer.append(genModel.getImportedName(genModel.getRootExtendsInterface()));

+		}

+		if (genClass.hasImplicitAPITags(true)) {

+			stringBuffer.append(TEXT_19);

+			stringBuffer.append(genClass.getImplicitAPITags(genModel.getIndentation(stringBuffer), true));

+		}

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeatureTODOoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeatureTODOoverride.java
new file mode 100644
index 0000000..351110e
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeatureTODOoverride.java
@@ -0,0 +1,326 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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;

+

+	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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_4);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeatureannotationsinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeatureannotationsinsert.java
new file mode 100644
index 0000000..9f304f4
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeatureannotationsinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeaturejavadocinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeaturejavadocinsert.java
new file mode 100644
index 0000000..426d4b9
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeaturejavadocinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeaturejavadocoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeaturejavadocoverride.java
new file mode 100644
index 0000000..3093bb1
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeaturejavadocoverride.java
@@ -0,0 +1,399 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 = NL + "\t * @see #unset";

+	protected final String TEXT_10 = "()";

+	protected final String TEXT_11 = NL + "\t * @see #";

+	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 * ";

+	protected final String TEXT_16 = NL + "\t * @generated" + NL + "\t */" + NL;

+	protected final String TEXT_17 = 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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.getRawQualifiedInterfaceName());

+		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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+			callParameters.put("isGWT", isGWT);

+			callParameters.put("forceDefaultCase", forceDefaultCase);

+			callParameters.put("indentDefaultCase", indentDefaultCase);

+			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_5);

+		if (genFeature.isChangeable() && !genFeature.isSuppressedUnsetVisibility()) {

+			stringBuffer.append(TEXT_9);

+			stringBuffer.append(genFeature.getAccessorName());

+			stringBuffer.append(TEXT_10);

+		}

+		stringBuffer.append(TEXT_11);

+		stringBuffer.append(genFeature.getGetAccessor());

+		stringBuffer.append(TEXT_10);

+		if (!genFeature.isListType() && genFeature.isChangeable() && !genFeature.isSuppressedSetVisibility()) {

+			stringBuffer.append(TEXT_12);

+			stringBuffer.append(genFeature.getAccessorName());

+			stringBuffer.append(TEXT_13);

+			stringBuffer.append(genFeature.getRawImportedBoundType());

+			stringBuffer.append(TEXT_14);

+		}

+		if (genFeature.hasAPITags()) {

+			stringBuffer.append(TEXT_15);

+			stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+		}

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeatureoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeatureoverride.java
new file mode 100644
index 0000000..9ddd3ec
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeatureoverride.java
@@ -0,0 +1,573 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 -->";

+	protected final String TEXT_4 = NL + "\t * ";

+	protected final String TEXT_5 = NL + "\t * @generated" + NL + "\t */";

+	protected final String TEXT_6 = NL + "\t@Deprecated";

+	protected final String TEXT_7 = NL + "\tboolean isSet";

+	protected final String TEXT_8 = "();" + NL;

+	protected final String TEXT_9 = NL + "\t@Override";

+	protected final String TEXT_10 = NL + "\tpublic boolean isSet";

+	protected final String TEXT_11 = "_";

+	protected final String TEXT_12 = "()" + NL + "\t{";

+	protected final String TEXT_13 = NL + "\t\treturn eDynamicIsSet(";

+	protected final String TEXT_14 = " - ESTATIC_FEATURE_COUNT";

+	protected final String TEXT_15 = ", ";

+	protected final String TEXT_16 = ");";

+	protected final String TEXT_17 = NL + "\t\treturn eIsSet(";

+	protected final String TEXT_18 = NL + "\t\treturn ";

+	protected final String TEXT_19 = "__ESETTING_DELEGATE.dynamicIsSet(this, null, 0);";

+	protected final String TEXT_20 = NL + "\t\t";

+	protected final String TEXT_21 = " ";

+	protected final String TEXT_22 = " = (";

+	protected final String TEXT_23 = ")eVirtualGet(";

+	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 = NL + "\t\treturn (";

+	protected final String TEXT_30 = " & ";

+	protected final String TEXT_31 = "_ESETFLAG) != 0;";

+	protected final String TEXT_32 = "ESet;";

+	protected final String TEXT_33 = NL + "\t\treturn !((";

+	protected final String TEXT_34 = ".Internal)((";

+	protected final String TEXT_35 = ".Internal.Wrapper)get";

+	protected final String TEXT_36 = "()).featureMap()).isEmpty(";

+	protected final String TEXT_37 = ".Internal)get";

+	protected final String TEXT_38 = "()).isEmpty(";

+	protected final String TEXT_39 = NL + "\t}" + NL;

+	protected final String TEXT_40 = 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_40);

+		stringBuffer.append(TEXT_40);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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 (genFeature.hasAPITags()) {

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_5);

+			if (isJDK50) { //Class/isSetGenFeature.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.isSetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+					callParameters.put("isGWT", isGWT);

+					callParameters.put("forceDefaultCase", forceDefaultCase);

+					callParameters.put("indentDefaultCase", indentDefaultCase);

+					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 (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_6);

+		}

+		if (!isImplementation) {

+			stringBuffer.append(TEXT_7);

+			stringBuffer.append(genFeature.getAccessorName());

+			stringBuffer.append(TEXT_8);

+		} else {

+			if (useInterfaceOverrideAnnotation && !genClass.isMapEntry()

+					&& !genClass.hasCollidingIsSetAccessorOperation(genFeature)

+					&& !genFeature.isSuppressedIsSetVisibility()) {

+				stringBuffer.append(TEXT_9);

+			}

+			stringBuffer.append(TEXT_10);

+			stringBuffer.append(genFeature.getAccessorName());

+			if (genClass.hasCollidingIsSetAccessorOperation(genFeature)) {

+				stringBuffer.append(TEXT_11);

+			}

+			stringBuffer.append(TEXT_12);

+			if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) {

+				stringBuffer.append(TEXT_13);

+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+				if (genClass.hasStaticFeatures()) {

+					stringBuffer.append(TEXT_14);

+				}

+				stringBuffer.append(TEXT_15);

+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+				stringBuffer.append(TEXT_16);

+			} else if (genModel.isReflectiveDelegation()) {

+				stringBuffer.append(TEXT_17);

+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+				stringBuffer.append(TEXT_16);

+			} else if (genFeature.hasSettingDelegate()) {

+				stringBuffer.append(TEXT_18);

+				stringBuffer.append(genFeature.getUpperName());

+				stringBuffer.append(TEXT_19);

+			} else if (!genFeature.isVolatile()) {

+				if (genFeature.isListType()) {

+					if (genModel.isVirtualDelegation()) {

+						stringBuffer.append(TEXT_20);

+						stringBuffer.append(genFeature.getImportedType(genClass));

+						stringBuffer.append(TEXT_21);

+						stringBuffer.append(genFeature.getSafeName());

+						stringBuffer.append(TEXT_22);

+						stringBuffer.append(genFeature.getImportedType(genClass));

+						stringBuffer.append(TEXT_23);

+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(positiveOffsetCorrection);

+						stringBuffer.append(TEXT_16);

+					}

+					stringBuffer.append(TEXT_18);

+					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_16);

+					} else if (genClass.isESetFlag(genFeature)) {

+						stringBuffer.append(TEXT_29);

+						stringBuffer.append(genClass.getESetFlagsField(genFeature));

+						stringBuffer.append(TEXT_30);

+						stringBuffer.append(genFeature.getUpperName());

+						stringBuffer.append(TEXT_31);

+					} else {

+						stringBuffer.append(TEXT_18);

+						stringBuffer.append(genFeature.getUncapName());

+						stringBuffer.append(TEXT_32);

+					}

+				}

+			} else if (genFeature.hasDelegateFeature()) {

+				GenFeature delegateFeature = genFeature.getDelegateFeature();

+				if (delegateFeature.isWrappedFeatureMapType()) {

+					stringBuffer.append(TEXT_33);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+					stringBuffer.append(TEXT_34);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+					stringBuffer.append(TEXT_35);

+					stringBuffer.append(delegateFeature.getAccessorName());

+					stringBuffer.append(TEXT_36);

+					stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+					stringBuffer.append(TEXT_16);

+				} else {

+					stringBuffer.append(TEXT_33);

+					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_16);

+				}

+			} else if (genClass.getIsSetAccessorOperation(genFeature) != null) {

+				stringBuffer.append(TEXT_20);

+				stringBuffer.append(

+						genClass.getIsSetAccessorOperation(genFeature).getBody(genModel.getIndentation(stringBuffer)));

+			} else {

+				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.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+					callParameters.put("isGWT", isGWT);

+					callParameters.put("forceDefaultCase", forceDefaultCase);

+					callParameters.put("indentDefaultCase", indentDefaultCase);

+					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_39);

+		}

+		stringBuffer.append(TEXT_2);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacereflectiveDelegationoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacereflectiveDelegationoverride.java
new file mode 100644
index 0000000..4c0be33
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacereflectiveDelegationoverride.java
@@ -0,0 +1,338 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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;

+

+	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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+									for (Object isGWTParameter : isGWTList) {

+										for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+											for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+												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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																		this.isGWT = (java.lang.Boolean) isGWTParameter;

+																		this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																		this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																		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_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("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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeatureTODOoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeatureTODOoverride.java
new file mode 100644
index 0000000..9ad2007
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeatureTODOoverride.java
@@ -0,0 +1,338 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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;

+

+	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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+											for (Object isGWTParameter : isGWTList) {

+												for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+													for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+														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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																				this.isGWT = (java.lang.Boolean) isGWTParameter;

+																				this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																				this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																				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_4);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeatureannotationsinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeatureannotationsinsert.java
new file mode 100644
index 0000000..d38198e
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeatureannotationsinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturejavadocinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturejavadocinsert.java
new file mode 100644
index 0000000..c5b45b8
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturejavadocinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturejavadocoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturejavadocoverride.java
new file mode 100644
index 0000000..0458515
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturejavadocoverride.java
@@ -0,0 +1,402 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 = NL + "\t * @see ";

+	protected final String TEXT_10 = NL + "\t * @see #isSet";

+	protected final String TEXT_11 = "()";

+	protected final String TEXT_12 = NL + "\t * @see #unset";

+	protected final String TEXT_13 = NL + "\t * @see #";

+	protected final String TEXT_14 = NL + "\t * ";

+	protected final String TEXT_15 = NL + "\t * @generated" + NL + "\t */" + NL;

+	protected final String TEXT_16 = 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_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("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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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.getRawQualifiedInterfaceName());

+		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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+			callParameters.put("isGWT", isGWT);

+			callParameters.put("forceDefaultCase", forceDefaultCase);

+			callParameters.put("indentDefaultCase", indentDefaultCase);

+			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_5);

+		if (genFeature.isEnumType()) {

+			stringBuffer.append(TEXT_9);

+			stringBuffer.append(genFeature.getTypeGenEnum().getQualifiedName());

+		}

+		if (genFeature.isUnsettable()) {

+			if (!genFeature.isSuppressedIsSetVisibility()) {

+				stringBuffer.append(TEXT_10);

+				stringBuffer.append(genFeature.getAccessorName());

+				stringBuffer.append(TEXT_11);

+			}

+			if (!genFeature.isSuppressedUnsetVisibility()) {

+				stringBuffer.append(TEXT_12);

+				stringBuffer.append(genFeature.getAccessorName());

+				stringBuffer.append(TEXT_11);

+			}

+		}

+		stringBuffer.append(TEXT_13);

+		stringBuffer.append(genFeature.getGetAccessor());

+		stringBuffer.append(TEXT_11);

+		if (genFeature.hasAPITags()) {

+			stringBuffer.append(TEXT_14);

+			stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+		}

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeatureoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeatureoverride.java
new file mode 100644
index 0000000..fd23c00
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeatureoverride.java
@@ -0,0 +1,1235 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 -->";

+	protected final String TEXT_4 = NL + "\t * ";

+	protected final String TEXT_5 = NL + "\t * @generated" + NL + "\t */";

+	protected final String TEXT_6 = NL + "\t@Deprecated";

+	protected final String TEXT_7 = NL + "\tvoid set";

+	protected final String TEXT_8 = "(";

+	protected final String TEXT_9 = " value);" + NL;

+	protected final String TEXT_10 = NL + "\t@Override";

+	protected final String TEXT_11 = NL + "\tpublic void set";

+	protected final String TEXT_12 = "_";

+	protected final String TEXT_13 = " ";

+	protected final String TEXT_14 = ")" + NL + "\t{";

+	protected final String TEXT_15 = NL + "\t\teDynamicSet(";

+	protected final String TEXT_16 = " - ESTATIC_FEATURE_COUNT";

+	protected final String TEXT_17 = ", ";

+	protected final String TEXT_18 = "new ";

+	protected final String TEXT_19 = "new";

+	protected final String TEXT_20 = ")";

+	protected final String TEXT_21 = ");";

+	protected final String TEXT_22 = NL + "\t\teSet(";

+	protected final String TEXT_23 = NL + "\t\t";

+	protected final String TEXT_24 = "__ESETTING_DELEGATE.dynamicSet(this, null, 0, ";

+	protected final String TEXT_25 = NL + "\t\tif (new";

+	protected final String TEXT_26 = " != eInternalContainer() || (eContainerFeatureID() != ";

+	protected final String TEXT_27 = " && new";

+	protected final String TEXT_28 = " != null))" + NL + "\t\t{" + NL + "\t\t\tif (";

+	protected final String TEXT_29 = ".isAncestor(this, ";

+	protected final String TEXT_30 = "))" + NL + "\t\t\t\tthrow new ";

+	protected final String TEXT_31 = "(\"Recursive containment not allowed for \" + toString());";

+	protected final String TEXT_32 = NL + "\t\t\t";

+	protected final String TEXT_33 = " msgs = null;" + NL + "\t\t\tif (eInternalContainer() != null)" + NL

+			+ "\t\t\t\tmsgs = eBasicRemoveFromContainer(msgs);" + NL + "\t\t\tif (new";

+	protected final String TEXT_34 = " != null)" + NL + "\t\t\t\tmsgs = ";

+	protected final String TEXT_35 = ".eInverseAdd(this, ";

+	protected final String TEXT_36 = ".class, msgs);" + NL + "\t\t\tmsgs = basicSet";

+	protected final String TEXT_37 = ", msgs);" + NL + "\t\t\tif (msgs != null) msgs.dispatch();" + NL + "\t\t}";

+	protected final String TEXT_38 = NL + "\t\telse if (eNotificationRequired())" + NL + "\t\t\teNotify(new ";

+	protected final String TEXT_39 = "(this, ";

+	protected final String TEXT_40 = ".SET, ";

+	protected final String TEXT_41 = ", new";

+	protected final String TEXT_42 = "));";

+	protected final String TEXT_43 = " = (";

+	protected final String TEXT_44 = ")eVirtualGet(";

+	protected final String TEXT_45 = " != ";

+	protected final String TEXT_46 = ")" + NL + "\t\t{" + NL + "\t\t\t";

+	protected final String TEXT_47 = " msgs = null;" + NL + "\t\t\tif (";

+	protected final String TEXT_48 = " != null)";

+	protected final String TEXT_49 = NL + "\t\t\t\tmsgs = ";

+	protected final String TEXT_50 = ".eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ";

+	protected final String TEXT_51 = ", null, msgs);" + NL + "\t\t\tif (new";

+	protected final String TEXT_52 = ".eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ";

+	protected final String TEXT_53 = ", null, msgs);";

+	protected final String TEXT_54 = ".eInverseRemove(this, ";

+	protected final String TEXT_55 = ".class, msgs);" + NL + "\t\t\tif (new";

+	protected final String TEXT_56 = ".class, msgs);";

+	protected final String TEXT_57 = NL + "\t\t\tmsgs = basicSet";

+	protected final String TEXT_58 = NL + "\t\telse" + NL + "\t\t{";

+	protected final String TEXT_59 = NL + "\t\t\tboolean old";

+	protected final String TEXT_60 = "ESet = eVirtualIsSet(";

+	protected final String TEXT_61 = "ESet = (";

+	protected final String TEXT_62 = " & ";

+	protected final String TEXT_63 = "_ESETFLAG) != 0;";

+	protected final String TEXT_64 = " |= ";

+	protected final String TEXT_65 = "_ESETFLAG;";

+	protected final String TEXT_66 = "ESet = ";

+	protected final String TEXT_67 = "ESet;";

+	protected final String TEXT_68 = "ESet = true;";

+	protected final String TEXT_69 = NL + "\t\t\tif (eNotificationRequired())" + NL + "\t\t\t\teNotify(new ";

+	protected final String TEXT_70 = ", !old";

+	protected final String TEXT_71 = "ESet));";

+	protected final String TEXT_72 = NL + "\t\t}";

+	protected final String TEXT_73 = " old";

+	protected final String TEXT_74 = "_EFLAG) != 0;";

+	protected final String TEXT_75 = " = ";

+	protected final String TEXT_76 = "_EFLAG_VALUES[(";

+	protected final String TEXT_77 = "_EFLAG) >>> ";

+	protected final String TEXT_78 = "_EFLAG_OFFSET];";

+	protected final String TEXT_79 = ") ";

+	protected final String TEXT_80 = "_EFLAG; else ";

+	protected final String TEXT_81 = " &= ~";

+	protected final String TEXT_82 = "_EFLAG;";

+	protected final String TEXT_83 = " == null) new";

+	protected final String TEXT_84 = "_EDEFAULT;" + NL + "\t\t";

+	protected final String TEXT_85 = " & ~";

+	protected final String TEXT_86 = "_EFLAG | ";

+	protected final String TEXT_87 = ".ordinal()";

+	protected final String TEXT_88 = ".VALUES.indexOf(new";

+	protected final String TEXT_89 = " << ";

+	protected final String TEXT_90 = "_EFLAG_OFFSET;";

+	protected final String TEXT_91 = ";";

+	protected final String TEXT_92 = " = new";

+	protected final String TEXT_93 = " == null ? ";

+	protected final String TEXT_94 = " : new";

+	protected final String TEXT_95 = NL + "\t\tObject old";

+	protected final String TEXT_96 = " = eVirtualSet(";

+	protected final String TEXT_97 = NL + "\t\tboolean isSetChange = old";

+	protected final String TEXT_98 = " == EVIRTUAL_NO_VALUE;";

+	protected final String TEXT_99 = NL + "\t\tboolean old";

+	protected final String TEXT_100 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t\teNotify(new ";

+	protected final String TEXT_101 = "isSetChange ? ";

+	protected final String TEXT_102 = " : old";

+	protected final String TEXT_103 = "old";

+	protected final String TEXT_104 = "isSetChange";

+	protected final String TEXT_105 = "!old";

+	protected final String TEXT_106 = "ESet";

+	protected final String TEXT_107 = " == EVIRTUAL_NO_VALUE ? ";

+	protected final String TEXT_108 = NL + "\t\t((";

+	protected final String TEXT_109 = ".Internal)((";

+	protected final String TEXT_110 = ".Internal.Wrapper)get";

+	protected final String TEXT_111 = "()).featureMap()).set(";

+	protected final String TEXT_112 = ".Internal)get";

+	protected final String TEXT_113 = "()).set(";

+	protected final String TEXT_114 = NL + "\t}" + NL;

+	protected final String TEXT_115 = 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_115);

+		stringBuffer.append(TEXT_115);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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 (genFeature.hasAPITags()) {

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_5);

+			if (isJDK50) { //Class/setGenFeature.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.setGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+					callParameters.put("isGWT", isGWT);

+					callParameters.put("forceDefaultCase", forceDefaultCase);

+					callParameters.put("indentDefaultCase", indentDefaultCase);

+					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 (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_6);

+		}

+		if (!isImplementation) {

+			stringBuffer.append(TEXT_7);

+			stringBuffer.append(genFeature.getAccessorName());

+			stringBuffer.append(TEXT_8);

+			stringBuffer.append(genFeature.getImportedType(genClass));

+			stringBuffer.append(TEXT_9);

+		} else {

+			GenOperation setAccessorOperation = genClass.getSetAccessorOperation(genFeature);

+			if (useInterfaceOverrideAnnotation && !genClass.isMapEntry()

+					&& !genClass.hasCollidingSetAccessorOperation(genFeature)

+					&& !genFeature.isSuppressedSetVisibility()) {

+				stringBuffer.append(TEXT_10);

+			}

+			stringBuffer.append(TEXT_11);

+			stringBuffer.append(genFeature.getAccessorName());

+			if (genClass.hasCollidingSetAccessorOperation(genFeature)) {

+				stringBuffer.append(TEXT_12);

+			}

+			stringBuffer.append(TEXT_8);

+			stringBuffer.append(genFeature.getImportedType(genClass));

+			stringBuffer.append(TEXT_13);

+			stringBuffer.append(setAccessorOperation == null ? "new" + genFeature.getCapName()

+					: setAccessorOperation.getGenParameters().get(0).getName());

+			stringBuffer.append(TEXT_14);

+			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.pre.insert" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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() && !genFeature.isVolatile()) {

+				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.dynamicSetGenFeature.pre.insert" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+					callParameters.put("isGWT", isGWT);

+					callParameters.put("forceDefaultCase", forceDefaultCase);

+					callParameters.put("indentDefaultCase", indentDefaultCase);

+					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#_eTdDcCSWEemxeP6B0lLOpA",

+							new ExecutionContext((InternalPatternContext) ctx), callParameters);

+					stringBuffer.setLength(0);

+				}

+

+				stringBuffer.append(TEXT_15);

+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+				if (genClass.hasStaticFeatures()) {

+					stringBuffer.append(TEXT_16);

+				}

+				stringBuffer.append(TEXT_17);

+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+				stringBuffer.append(TEXT_17);

+				if (!isJDK50 && genFeature.isPrimitiveType()) {

+					stringBuffer.append(TEXT_18);

+					stringBuffer.append(genFeature.getObjectType(genClass));

+					stringBuffer.append(TEXT_8);

+				}

+				stringBuffer.append(TEXT_19);

+				stringBuffer.append(genFeature.getCapName());

+				if (!isJDK50 && genFeature.isPrimitiveType()) {

+					stringBuffer.append(TEXT_20);

+				}

+				stringBuffer.append(TEXT_21);

+				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.dynamicSetGenFeature.post.insert" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+					callParameters.put("isGWT", isGWT);

+					callParameters.put("forceDefaultCase", forceDefaultCase);

+					callParameters.put("indentDefaultCase", indentDefaultCase);

+					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#_eZahgCSWEemxeP6B0lLOpA",

+							new ExecutionContext((InternalPatternContext) ctx), callParameters);

+					stringBuffer.setLength(0);

+				}

+

+			} else if (genModel.isReflectiveDelegation()) {

+				stringBuffer.append(TEXT_22);

+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+				stringBuffer.append(TEXT_17);

+				if (!isJDK50 && genFeature.isPrimitiveType()) {

+					stringBuffer.append(TEXT_18);

+					stringBuffer.append(genFeature.getObjectType(genClass));

+					stringBuffer.append(TEXT_8);

+				}

+				stringBuffer.append(TEXT_19);

+				stringBuffer.append(genFeature.getCapName());

+				if (!isJDK50 && genFeature.isPrimitiveType()) {

+					stringBuffer.append(TEXT_20);

+				}

+				stringBuffer.append(TEXT_21);

+			} else if (genFeature.hasSettingDelegate()) {

+				stringBuffer.append(TEXT_23);

+				stringBuffer.append(genFeature.getUpperName());

+				stringBuffer.append(TEXT_24);

+				if (!isJDK50 && genFeature.isPrimitiveType()) {

+					stringBuffer.append(TEXT_18);

+					stringBuffer.append(genFeature.getObjectType(genClass));

+					stringBuffer.append(TEXT_8);

+				}

+				stringBuffer.append(TEXT_19);

+				stringBuffer.append(genFeature.getCapName());

+				if (!isJDK50 && genFeature.isPrimitiveType()) {

+					stringBuffer.append(TEXT_20);

+				}

+				stringBuffer.append(TEXT_21);

+			} 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_25);

+					stringBuffer.append(genFeature.getCapName());

+					stringBuffer.append(TEXT_26);

+					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+					stringBuffer.append(positiveOffsetCorrection);

+					stringBuffer.append(TEXT_27);

+					stringBuffer.append(genFeature.getCapName());

+					stringBuffer.append(TEXT_28);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.EcoreUtil"));

+					stringBuffer.append(TEXT_29);

+					stringBuffer.append(genFeature.getEObjectCast());

+					stringBuffer.append(TEXT_19);

+					stringBuffer.append(genFeature.getCapName());

+					stringBuffer.append(TEXT_30);

+					stringBuffer.append(genModel.getImportedName("java.lang.IllegalArgumentException"));

+					stringBuffer.append(TEXT_31);

+					stringBuffer.append(genModel.getNonNLS());

+					stringBuffer.append(TEXT_32);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

+					stringBuffer.append(TEXT_33);

+					stringBuffer.append(genFeature.getCapName());

+					stringBuffer.append(TEXT_34);

+					stringBuffer.append(genFeature.getAsInternalEObject("new" + genFeature.getCapName(), true));

+					stringBuffer.append(TEXT_35);

+					stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));

+					stringBuffer.append(reverseOffsetCorrection);

+					stringBuffer.append(TEXT_17);

+					stringBuffer.append(targetClass.getRawImportedInterfaceName());

+					stringBuffer.append(TEXT_36);

+					stringBuffer.append(genFeature.getAccessorName());

+					stringBuffer.append(TEXT_8);

+					stringBuffer.append(genFeature.getInternalTypeCast());

+					stringBuffer.append(TEXT_19);

+					stringBuffer.append(genFeature.getCapName());

+					stringBuffer.append(TEXT_37);

+					if (!genModel.isSuppressNotification()) {

+						stringBuffer.append(TEXT_38);

+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

+						stringBuffer.append(TEXT_39);

+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

+						stringBuffer.append(TEXT_40);

+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(positiveOffsetCorrection);

+						stringBuffer.append(TEXT_41);

+						stringBuffer.append(genFeature.getCapName());

+						stringBuffer.append(TEXT_41);

+						stringBuffer.append(genFeature.getCapName());

+						stringBuffer.append(TEXT_42);

+					}

+				} else if (genFeature.isBidirectional() || genFeature.isEffectiveContains()) {

+					if (genModel.isVirtualDelegation()) {

+						stringBuffer.append(TEXT_23);

+						stringBuffer.append(genFeature.getImportedType(genClass));

+						stringBuffer.append(TEXT_13);

+						stringBuffer.append(genFeature.getSafeName());

+						stringBuffer.append(TEXT_43);

+						stringBuffer.append(genFeature.getImportedType(genClass));

+						stringBuffer.append(TEXT_44);

+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(positiveOffsetCorrection);

+						stringBuffer.append(TEXT_21);

+					}

+					stringBuffer.append(TEXT_25);

+					stringBuffer.append(genFeature.getCapName());

+					stringBuffer.append(TEXT_45);

+					stringBuffer.append(genFeature.getSafeName());

+					stringBuffer.append(TEXT_46);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

+					stringBuffer.append(TEXT_47);

+					stringBuffer.append(genFeature.getSafeName());

+					stringBuffer.append(TEXT_48);

+					if (!genFeature.isBidirectional()) {

+						stringBuffer.append(TEXT_49);

+						stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), true));

+						stringBuffer.append(TEXT_50);

+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(negativeOffsetCorrection);

+						stringBuffer.append(TEXT_51);

+						stringBuffer.append(genFeature.getCapName());

+						stringBuffer.append(TEXT_34);

+						stringBuffer.append(genFeature.getAsInternalEObject("new" + genFeature.getCapName(), true));

+						stringBuffer.append(TEXT_52);

+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(negativeOffsetCorrection);

+						stringBuffer.append(TEXT_53);

+					} else {

+						GenFeature reverseFeature = genFeature.getReverse();

+						GenClass targetClass = reverseFeature.getGenClass();

+						String reverseOffsetCorrection = targetClass.hasOffsetCorrection()

+								? " + " + genClass.getOffsetCorrectionField(genFeature)

+								: "";

+						stringBuffer.append(TEXT_49);

+						stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), true));

+						stringBuffer.append(TEXT_54);

+						stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));

+						stringBuffer.append(reverseOffsetCorrection);

+						stringBuffer.append(TEXT_17);

+						stringBuffer.append(targetClass.getRawImportedInterfaceName());

+						stringBuffer.append(TEXT_55);

+						stringBuffer.append(genFeature.getCapName());

+						stringBuffer.append(TEXT_34);

+						stringBuffer.append(genFeature.getAsInternalEObject("new" + genFeature.getCapName(), true));

+						stringBuffer.append(TEXT_35);

+						stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));

+						stringBuffer.append(reverseOffsetCorrection);

+						stringBuffer.append(TEXT_17);

+						stringBuffer.append(targetClass.getRawImportedInterfaceName());

+						stringBuffer.append(TEXT_56);

+					}

+					stringBuffer.append(TEXT_57);

+					stringBuffer.append(genFeature.getAccessorName());

+					stringBuffer.append(TEXT_8);

+					stringBuffer.append(genFeature.getInternalTypeCast());

+					stringBuffer.append(TEXT_19);

+					stringBuffer.append(genFeature.getCapName());

+					stringBuffer.append(TEXT_37);

+					if (genFeature.isUnsettable()) {

+						stringBuffer.append(TEXT_58);

+						if (genModel.isVirtualDelegation()) {

+							stringBuffer.append(TEXT_59);

+							stringBuffer.append(genFeature.getCapName());

+							stringBuffer.append(TEXT_60);

+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+							stringBuffer.append(positiveOffsetCorrection);

+							stringBuffer.append(TEXT_21);

+						} else if (genClass.isESetFlag(genFeature)) {

+							if (!genModel.isSuppressNotification()) {

+								stringBuffer.append(TEXT_59);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_61);

+								stringBuffer.append(genClass.getESetFlagsField(genFeature));

+								stringBuffer.append(TEXT_62);

+								stringBuffer.append(genFeature.getUpperName());

+								stringBuffer.append(TEXT_63);

+							}

+							stringBuffer.append(TEXT_32);

+							stringBuffer.append(genClass.getESetFlagsField(genFeature));

+							stringBuffer.append(TEXT_64);

+							stringBuffer.append(genFeature.getUpperName());

+							stringBuffer.append(TEXT_65);

+						} else {

+							if (!genModel.isSuppressNotification()) {

+								stringBuffer.append(TEXT_59);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_66);

+								stringBuffer.append(genFeature.getUncapName());

+								stringBuffer.append(TEXT_67);

+							}

+							stringBuffer.append(TEXT_32);

+							stringBuffer.append(genFeature.getUncapName());

+							stringBuffer.append(TEXT_68);

+						}

+						if (!genModel.isSuppressNotification()) {

+							stringBuffer.append(TEXT_69);

+							stringBuffer

+									.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

+							stringBuffer.append(TEXT_39);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

+							stringBuffer.append(TEXT_40);

+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+							stringBuffer.append(positiveOffsetCorrection);

+							stringBuffer.append(TEXT_41);

+							stringBuffer.append(genFeature.getCapName());

+							stringBuffer.append(TEXT_41);

+							stringBuffer.append(genFeature.getCapName());

+							stringBuffer.append(TEXT_70);

+							stringBuffer.append(genFeature.getCapName());

+							stringBuffer.append(TEXT_71);

+						}

+						stringBuffer.append(TEXT_72);

+					} else {

+						if (!genModel.isSuppressNotification()) {

+							stringBuffer.append(TEXT_38);

+							stringBuffer

+									.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

+							stringBuffer.append(TEXT_39);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

+							stringBuffer.append(TEXT_40);

+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+							stringBuffer.append(positiveOffsetCorrection);

+							stringBuffer.append(TEXT_41);

+							stringBuffer.append(genFeature.getCapName());

+							stringBuffer.append(TEXT_41);

+							stringBuffer.append(genFeature.getCapName());

+							stringBuffer.append(TEXT_42);

+						}

+					}

+				} else {

+					if (genClass.isFlag(genFeature)) {

+						if (!genModel.isSuppressNotification()) {

+							if (genFeature.isBooleanType()) {

+								stringBuffer.append(TEXT_23);

+								stringBuffer.append(genFeature.getImportedType(genClass));

+								stringBuffer.append(TEXT_73);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_43);

+								stringBuffer.append(genClass.getFlagsField(genFeature));

+								stringBuffer.append(TEXT_62);

+								stringBuffer.append(genFeature.getUpperName());

+								stringBuffer.append(TEXT_74);

+							} else {

+								stringBuffer.append(TEXT_23);

+								stringBuffer.append(genFeature.getImportedType(genClass));

+								stringBuffer.append(TEXT_73);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_75);

+								stringBuffer.append(genFeature.getUpperName());

+								stringBuffer.append(TEXT_76);

+								stringBuffer.append(genClass.getFlagsField(genFeature));

+								stringBuffer.append(TEXT_62);

+								stringBuffer.append(genFeature.getUpperName());

+								stringBuffer.append(TEXT_77);

+								stringBuffer.append(genFeature.getUpperName());

+								stringBuffer.append(TEXT_78);

+							}

+						}

+						if (genFeature.isBooleanType()) {

+							stringBuffer.append(TEXT_25);

+							stringBuffer.append(genFeature.getCapName());

+							stringBuffer.append(TEXT_79);

+							stringBuffer.append(genClass.getFlagsField(genFeature));

+							stringBuffer.append(TEXT_64);

+							stringBuffer.append(genFeature.getUpperName());

+							stringBuffer.append(TEXT_80);

+							stringBuffer.append(genClass.getFlagsField(genFeature));

+							stringBuffer.append(TEXT_81);

+							stringBuffer.append(genFeature.getUpperName());

+							stringBuffer.append(TEXT_82);

+						} else {

+							stringBuffer.append(TEXT_25);

+							stringBuffer.append(genFeature.getCapName());

+							stringBuffer.append(TEXT_83);

+							stringBuffer.append(genFeature.getCapName());

+							stringBuffer.append(TEXT_75);

+							stringBuffer.append(genFeature.getUpperName());

+							stringBuffer.append(TEXT_84);

+							stringBuffer.append(genClass.getFlagsField(genFeature));

+							stringBuffer.append(TEXT_75);

+							stringBuffer.append(genClass.getFlagsField(genFeature));

+							stringBuffer.append(TEXT_85);

+							stringBuffer.append(genFeature.getUpperName());

+							stringBuffer.append(TEXT_86);

+							if (isJDK50) {

+								stringBuffer.append(TEXT_19);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_87);

+							} else {

+								stringBuffer.append(genFeature.getImportedType(genClass));

+								stringBuffer.append(TEXT_88);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_20);

+							}

+							stringBuffer.append(TEXT_89);

+							stringBuffer.append(genFeature.getUpperName());

+							stringBuffer.append(TEXT_90);

+						}

+					} else {

+						if (!genModel.isVirtualDelegation() || genFeature.isPrimitiveType()) {

+							if (!genModel.isSuppressNotification()) {

+								stringBuffer.append(TEXT_23);

+								stringBuffer.append(genFeature.getImportedType(genClass));

+								stringBuffer.append(TEXT_73);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_75);

+								stringBuffer.append(genFeature.getSafeName());

+								stringBuffer.append(TEXT_91);

+							}

+						}

+						if (genFeature.isEnumType()) {

+							if (genModel.isVirtualDelegation()) {

+								stringBuffer.append(TEXT_23);

+								stringBuffer.append(genFeature.getImportedType(genClass));

+								stringBuffer.append(TEXT_13);

+								stringBuffer.append(genFeature.getSafeName());

+								stringBuffer.append(TEXT_92);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_93);

+								stringBuffer.append(genFeature.getEDefault());

+								stringBuffer.append(TEXT_94);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_91);

+							} else {

+								stringBuffer.append(TEXT_23);

+								stringBuffer.append(genFeature.getSafeName());

+								stringBuffer.append(TEXT_92);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_93);

+								stringBuffer.append(genFeature.getEDefault());

+								stringBuffer.append(TEXT_94);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_91);

+							}

+						} else {

+							if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

+								stringBuffer.append(TEXT_23);

+								stringBuffer.append(genFeature.getImportedType(genClass));

+								stringBuffer.append(TEXT_13);

+								stringBuffer.append(genFeature.getSafeName());

+								stringBuffer.append(TEXT_75);

+								stringBuffer.append(genFeature.getInternalTypeCast());

+								stringBuffer.append(TEXT_19);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_91);

+							} else {

+								stringBuffer.append(TEXT_23);

+								stringBuffer.append(genFeature.getSafeName());

+								stringBuffer.append(TEXT_75);

+								stringBuffer.append(genFeature.getInternalTypeCast());

+								stringBuffer.append(TEXT_19);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_91);

+							}

+						}

+						if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

+							stringBuffer.append(TEXT_95);

+							stringBuffer.append(genFeature.getCapName());

+							stringBuffer.append(TEXT_96);

+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+							stringBuffer.append(positiveOffsetCorrection);

+							stringBuffer.append(TEXT_17);

+							stringBuffer.append(genFeature.getSafeName());

+							stringBuffer.append(TEXT_21);

+						}

+					}

+					if (genFeature.isUnsettable()) {

+						if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

+							stringBuffer.append(TEXT_97);

+							stringBuffer.append(genFeature.getCapName());

+							stringBuffer.append(TEXT_98);

+						} else if (genClass.isESetFlag(genFeature)) {

+							if (!genModel.isSuppressNotification()) {

+								stringBuffer.append(TEXT_99);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_61);

+								stringBuffer.append(genClass.getESetFlagsField(genFeature));

+								stringBuffer.append(TEXT_62);

+								stringBuffer.append(genFeature.getUpperName());

+								stringBuffer.append(TEXT_63);

+							}

+							stringBuffer.append(TEXT_23);

+							stringBuffer.append(genClass.getESetFlagsField(genFeature));

+							stringBuffer.append(TEXT_64);

+							stringBuffer.append(genFeature.getUpperName());

+							stringBuffer.append(TEXT_65);

+						} else {

+							if (!genModel.isSuppressNotification()) {

+								stringBuffer.append(TEXT_99);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_66);

+								stringBuffer.append(genFeature.getUncapName());

+								stringBuffer.append(TEXT_67);

+							}

+							stringBuffer.append(TEXT_23);

+							stringBuffer.append(genFeature.getUncapName());

+							stringBuffer.append(TEXT_68);

+						}

+						if (!genModel.isSuppressNotification()) {

+							stringBuffer.append(TEXT_100);

+							stringBuffer

+									.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

+							stringBuffer.append(TEXT_39);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

+							stringBuffer.append(TEXT_40);

+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+							stringBuffer.append(positiveOffsetCorrection);

+							stringBuffer.append(TEXT_17);

+							if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

+								stringBuffer.append(TEXT_101);

+								stringBuffer.append(genFeature.getEDefault());

+								stringBuffer.append(TEXT_102);

+								stringBuffer.append(genFeature.getCapName());

+							} else {

+								stringBuffer.append(TEXT_103);

+								stringBuffer.append(genFeature.getCapName());

+							}

+							stringBuffer.append(TEXT_17);

+							if (genClass.isFlag(genFeature)) {

+								stringBuffer.append(TEXT_19);

+								stringBuffer.append(genFeature.getCapName());

+							} else {

+								stringBuffer.append(genFeature.getSafeName());

+							}

+							stringBuffer.append(TEXT_17);

+							if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

+								stringBuffer.append(TEXT_104);

+							} else {

+								stringBuffer.append(TEXT_105);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_106);

+							}

+							stringBuffer.append(TEXT_42);

+						}

+					} else {

+						if (!genModel.isSuppressNotification()) {

+							stringBuffer.append(TEXT_100);

+							stringBuffer

+									.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

+							stringBuffer.append(TEXT_39);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

+							stringBuffer.append(TEXT_40);

+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+							stringBuffer.append(positiveOffsetCorrection);

+							stringBuffer.append(TEXT_17);

+							if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

+								stringBuffer.append(TEXT_103);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_107);

+								stringBuffer.append(genFeature.getEDefault());

+								stringBuffer.append(TEXT_102);

+								stringBuffer.append(genFeature.getCapName());

+							} else {

+								stringBuffer.append(TEXT_103);

+								stringBuffer.append(genFeature.getCapName());

+							}

+							stringBuffer.append(TEXT_17);

+							if (genClass.isFlag(genFeature)) {

+								stringBuffer.append(TEXT_19);

+								stringBuffer.append(genFeature.getCapName());

+							} else {

+								stringBuffer.append(genFeature.getSafeName());

+							}

+							stringBuffer.append(TEXT_42);

+						}

+					}

+				}

+				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.post.insert" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+					callParameters.put("isGWT", isGWT);

+					callParameters.put("forceDefaultCase", forceDefaultCase);

+					callParameters.put("indentDefaultCase", indentDefaultCase);

+					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_108);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+					stringBuffer.append(TEXT_109);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+					stringBuffer.append(TEXT_110);

+					stringBuffer.append(delegateFeature.getAccessorName());

+					stringBuffer.append(TEXT_111);

+					stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+					stringBuffer.append(TEXT_17);

+					if (!isJDK50 && genFeature.isPrimitiveType()) {

+						stringBuffer.append(TEXT_18);

+						stringBuffer.append(genFeature.getObjectType(genClass));

+						stringBuffer.append(TEXT_8);

+					}

+					stringBuffer.append(TEXT_19);

+					stringBuffer.append(genFeature.getCapName());

+					if (!isJDK50 && genFeature.isPrimitiveType()) {

+						stringBuffer.append(TEXT_20);

+					}

+					stringBuffer.append(TEXT_21);

+				} else {

+					stringBuffer.append(TEXT_108);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+					stringBuffer.append(TEXT_112);

+					stringBuffer.append(delegateFeature.getAccessorName());

+					stringBuffer.append(TEXT_113);

+					stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+					stringBuffer.append(TEXT_17);

+					if (!isJDK50 && genFeature.isPrimitiveType()) {

+						stringBuffer.append(TEXT_18);

+						stringBuffer.append(genFeature.getObjectType(genClass));

+						stringBuffer.append(TEXT_8);

+					}

+					stringBuffer.append(TEXT_19);

+					stringBuffer.append(genFeature.getCapName());

+					if (!isJDK50 && genFeature.isPrimitiveType()) {

+						stringBuffer.append(TEXT_20);

+					}

+					stringBuffer.append(TEXT_21);

+				}

+			} else if (setAccessorOperation != null) {

+				stringBuffer.append(TEXT_23);

+				stringBuffer.append(setAccessorOperation.getBody(genModel.getIndentation(stringBuffer)));

+			} else {

+				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.TODO.override" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+					callParameters.put("isGWT", isGWT);

+					callParameters.put("forceDefaultCase", forceDefaultCase);

+					callParameters.put("indentDefaultCase", indentDefaultCase);

+					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_114);

+		}

+		stringBuffer.append(TEXT_2);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturepostinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturepostinsert.java
new file mode 100644
index 0000000..90bd053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturepostinsert.java
@@ -0,0 +1,330 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+											for (Object isGWTParameter : isGWTList) {

+												for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+													for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+														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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																				this.isGWT = (java.lang.Boolean) isGWTParameter;

+																				this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																				this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																				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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturepreinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturepreinsert.java
new file mode 100644
index 0000000..a35b5df
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturepreinsert.java
@@ -0,0 +1,330 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+											for (Object isGWTParameter : isGWTList) {

+												for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+													for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+														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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																				this.isGWT = (java.lang.Boolean) isGWTParameter;

+																				this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																				this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																				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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeatureTODOoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeatureTODOoverride.java
new file mode 100644
index 0000000..99fb894
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeatureTODOoverride.java
@@ -0,0 +1,325 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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;

+

+	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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_4);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeatureannotationsinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeatureannotationsinsert.java
new file mode 100644
index 0000000..172072a
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeatureannotationsinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeaturejavadocinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeaturejavadocinsert.java
new file mode 100644
index 0000000..0fa17fd
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeaturejavadocinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeaturejavadocoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeaturejavadocoverride.java
new file mode 100644
index 0000000..79ebe96
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeaturejavadocoverride.java
@@ -0,0 +1,393 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 = NL + "\t * @see #set";

+	protected final String TEXT_12 = "(";

+	protected final String TEXT_13 = ")";

+	protected final String TEXT_14 = NL + "\t * ";

+	protected final String TEXT_15 = NL + "\t * @generated" + NL + "\t */" + NL;

+	protected final String TEXT_16 = 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_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("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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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.getRawQualifiedInterfaceName());

+		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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+			callParameters.put("isGWT", isGWT);

+			callParameters.put("forceDefaultCase", forceDefaultCase);

+			callParameters.put("indentDefaultCase", indentDefaultCase);

+			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_9);

+		if (!genFeature.isListType() && !genFeature.isSuppressedSetVisibility()) {

+			stringBuffer.append(TEXT_11);

+			stringBuffer.append(genFeature.getAccessorName());

+			stringBuffer.append(TEXT_12);

+			stringBuffer.append(genFeature.getRawImportedBoundType());

+			stringBuffer.append(TEXT_13);

+		}

+		if (genFeature.hasAPITags()) {

+			stringBuffer.append(TEXT_14);

+			stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+		}

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeatureoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeatureoverride.java
new file mode 100644
index 0000000..c063832
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeatureoverride.java
@@ -0,0 +1,887 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.Interface;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 -->";

+	protected final String TEXT_4 = NL + "\t * ";

+	protected final String TEXT_5 = NL + "\t * @generated" + NL + "\t */";

+	protected final String TEXT_6 = NL + "\t@Deprecated";

+	protected final String TEXT_7 = NL + "\tvoid unset";

+	protected final String TEXT_8 = "();" + NL;

+	protected final String TEXT_9 = NL + "\t@Override";

+	protected final String TEXT_10 = NL + "\tpublic void unset";

+	protected final String TEXT_11 = "_";

+	protected final String TEXT_12 = "()" + NL + "\t{";

+	protected final String TEXT_13 = NL + "\t\teDynamicUnset(";

+	protected final String TEXT_14 = " - ESTATIC_FEATURE_COUNT";

+	protected final String TEXT_15 = ", ";

+	protected final String TEXT_16 = ");";

+	protected final String TEXT_17 = NL + "\t\teUnset(";

+	protected final String TEXT_18 = NL + "\t\t";

+	protected final String TEXT_19 = "__ESETTING_DELEGATE.dynamicUnset(this, null, 0);";

+	protected final String TEXT_20 = " ";

+	protected final String TEXT_21 = " = (";

+	protected final String TEXT_22 = ")eVirtualGet(";

+	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 = " != null)" + NL + "\t\t{" + NL + "\t\t\t";

+	protected final String TEXT_29 = " msgs = null;";

+	protected final String TEXT_30 = NL + "\t\t\tmsgs = ";

+	protected final String TEXT_31 = ".eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ";

+	protected final String TEXT_32 = ", null, msgs);";

+	protected final String TEXT_33 = ".eInverseRemove(this, ";

+	protected final String TEXT_34 = ".class, msgs);";

+	protected final String TEXT_35 = NL + "\t\t\tmsgs = basicUnset";

+	protected final String TEXT_36 = "(msgs);" + NL + "\t\t\tif (msgs != null) msgs.dispatch();" + NL + "\t\t}" + NL

+			+ "\t\telse" + NL + "\t\t{";

+	protected final String TEXT_37 = NL + "\t\t\tboolean old";

+	protected final String TEXT_38 = "ESet = eVirtualIsSet(";

+	protected final String TEXT_39 = "ESet = (";

+	protected final String TEXT_40 = " & ";

+	protected final String TEXT_41 = "_ESETFLAG) != 0;";

+	protected final String TEXT_42 = NL + "\t\t\t";

+	protected final String TEXT_43 = " &= ~";

+	protected final String TEXT_44 = "_ESETFLAG;";

+	protected final String TEXT_45 = "ESet = ";

+	protected final String TEXT_46 = "ESet;";

+	protected final String TEXT_47 = "ESet = false;";

+	protected final String TEXT_48 = NL + "\t\t\tif (eNotificationRequired())" + NL + "\t\t\t\teNotify(new ";

+	protected final String TEXT_49 = "(this, ";

+	protected final String TEXT_50 = ".UNSET, ";

+	protected final String TEXT_51 = ", null, null, old";

+	protected final String TEXT_52 = "ESet));";

+	protected final String TEXT_53 = NL + "\t\t}";

+	protected final String TEXT_54 = " old";

+	protected final String TEXT_55 = "_EFLAG) != 0;";

+	protected final String TEXT_56 = " = ";

+	protected final String TEXT_57 = "_EFLAG_VALUES[(";

+	protected final String TEXT_58 = "_EFLAG) >>> ";

+	protected final String TEXT_59 = "_EFLAG_OFFSET];";

+	protected final String TEXT_60 = NL + "\t\tObject old";

+	protected final String TEXT_61 = " = eVirtualUnset(";

+	protected final String TEXT_62 = ";";

+	protected final String TEXT_63 = NL + "\t\tboolean isSetChange = old";

+	protected final String TEXT_64 = " != EVIRTUAL_NO_VALUE;";

+	protected final String TEXT_65 = NL + "\t\tboolean old";

+	protected final String TEXT_66 = " = null;";

+	protected final String TEXT_67 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t\teNotify(new ";

+	protected final String TEXT_68 = "isSetChange ? old";

+	protected final String TEXT_69 = " : null";

+	protected final String TEXT_70 = "old";

+	protected final String TEXT_71 = ", null, ";

+	protected final String TEXT_72 = "isSetChange";

+	protected final String TEXT_73 = "ESet";

+	protected final String TEXT_74 = "));";

+	protected final String TEXT_75 = ") ";

+	protected final String TEXT_76 = " |= ";

+	protected final String TEXT_77 = "_EFLAG; else ";

+	protected final String TEXT_78 = "_EFLAG;";

+	protected final String TEXT_79 = " & ~";

+	protected final String TEXT_80 = "_EFLAG | ";

+	protected final String TEXT_81 = "_EFLAG_DEFAULT;";

+	protected final String TEXT_82 = " : ";

+	protected final String TEXT_83 = NL + "\t\t((";

+	protected final String TEXT_84 = ".Internal)((";

+	protected final String TEXT_85 = ".Internal.Wrapper)get";

+	protected final String TEXT_86 = "()).featureMap()).clear(";

+	protected final String TEXT_87 = ".Internal)get";

+	protected final String TEXT_88 = "()).clear(";

+	protected final String TEXT_89 = NL + "\t}" + NL;

+	protected final String TEXT_90 = 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> useInterfaceOverrideAnnotationList = 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> forceDefaultCaseList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+		List<Object> indentDefaultCaseList = 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 useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {

+										for (Object isGWTParameter : isGWTList) {

+											for (Object forceDefaultCaseParameter : forceDefaultCaseList) {

+												for (Object indentDefaultCaseParameter : indentDefaultCaseList) {

+													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.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;

+																			this.isGWT = (java.lang.Boolean) isGWTParameter;

+																			this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;

+																			this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;

+																			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_90);

+		stringBuffer.append(TEXT_90);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+			parameterValues.put("isGWT", this.isGWT);

+			parameterValues.put("forceDefaultCase", this.forceDefaultCase);

+			parameterValues.put("indentDefaultCase", this.indentDefaultCase);

+			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 useInterfaceOverrideAnnotation = null;

+

+	public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {

+		this.useInterfaceOverrideAnnotation = object;

+	}

+

+	protected java.lang.Boolean isGWT = null;

+

+	public void set_isGWT(java.lang.Boolean object) {

+		this.isGWT = object;

+	}

+

+	protected java.lang.Boolean forceDefaultCase = null;

+

+	public void set_forceDefaultCase(java.lang.Boolean object) {

+		this.forceDefaultCase = object;

+	}

+

+	protected java.lang.String indentDefaultCase = null;

+

+	public void set_indentDefaultCase(java.lang.String object) {

+		this.indentDefaultCase = 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("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);

+		parameters.put("isGWT", this.isGWT);

+		parameters.put("forceDefaultCase", this.forceDefaultCase);

+		parameters.put("indentDefaultCase", this.indentDefaultCase);

+		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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+				callParameters.put("isGWT", isGWT);

+				callParameters.put("forceDefaultCase", forceDefaultCase);

+				callParameters.put("indentDefaultCase", indentDefaultCase);

+				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 (genFeature.hasAPITags()) {

+				stringBuffer.append(TEXT_4);

+				stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+			}

+			stringBuffer.append(TEXT_5);

+			if (isJDK50) { //Class/unsetGenFeature.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.unsetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+					callParameters.put("isGWT", isGWT);

+					callParameters.put("forceDefaultCase", forceDefaultCase);

+					callParameters.put("indentDefaultCase", indentDefaultCase);

+					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 (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_6);

+		}

+		if (!isImplementation) {

+			stringBuffer.append(TEXT_7);

+			stringBuffer.append(genFeature.getAccessorName());

+			stringBuffer.append(TEXT_8);

+		} else {

+			if (useInterfaceOverrideAnnotation && !genClass.isMapEntry()

+					&& !genClass.hasCollidingUnsetAccessorOperation(genFeature)

+					&& !genFeature.isSuppressedUnsetVisibility()) {

+				stringBuffer.append(TEXT_9);

+			}

+			stringBuffer.append(TEXT_10);

+			stringBuffer.append(genFeature.getAccessorName());

+			if (genClass.hasCollidingUnsetAccessorOperation(genFeature)) {

+				stringBuffer.append(TEXT_11);

+			}

+			stringBuffer.append(TEXT_12);

+			if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) {

+				stringBuffer.append(TEXT_13);

+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+				if (genClass.hasStaticFeatures()) {

+					stringBuffer.append(TEXT_14);

+				}

+				stringBuffer.append(TEXT_15);

+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+				stringBuffer.append(TEXT_16);

+			} else if (genModel.isReflectiveDelegation()) {

+				stringBuffer.append(TEXT_17);

+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+				stringBuffer.append(TEXT_16);

+			} else if (genFeature.hasSettingDelegate()) {

+				stringBuffer.append(TEXT_18);

+				stringBuffer.append(genFeature.getUpperName());

+				stringBuffer.append(TEXT_19);

+			} else if (!genFeature.isVolatile()) {

+				if (genFeature.isListType()) {

+					if (genModel.isVirtualDelegation()) {

+						stringBuffer.append(TEXT_18);

+						stringBuffer.append(genFeature.getImportedType(genClass));

+						stringBuffer.append(TEXT_20);

+						stringBuffer.append(genFeature.getSafeName());

+						stringBuffer.append(TEXT_21);

+						stringBuffer.append(genFeature.getImportedType(genClass));

+						stringBuffer.append(TEXT_22);

+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(positiveOffsetCorrection);

+						stringBuffer.append(TEXT_16);

+					}

+					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_18);

+						stringBuffer.append(genFeature.getImportedType(genClass));

+						stringBuffer.append(TEXT_20);

+						stringBuffer.append(genFeature.getSafeName());

+						stringBuffer.append(TEXT_21);

+						stringBuffer.append(genFeature.getImportedType(genClass));

+						stringBuffer.append(TEXT_22);

+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(positiveOffsetCorrection);

+						stringBuffer.append(TEXT_16);

+					}

+					stringBuffer.append(TEXT_23);

+					stringBuffer.append(genFeature.getSafeName());

+					stringBuffer.append(TEXT_28);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

+					stringBuffer.append(TEXT_29);

+					if (!genFeature.isBidirectional()) {

+						stringBuffer.append(TEXT_30);

+						stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), true));

+						stringBuffer.append(TEXT_31);

+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(negativeOffsetCorrection);

+						stringBuffer.append(TEXT_32);

+					} else {

+						GenFeature reverseFeature = genFeature.getReverse();

+						GenClass targetClass = reverseFeature.getGenClass();

+						String reverseOffsetCorrection = targetClass.hasOffsetCorrection()

+								? " + " + genClass.getOffsetCorrectionField(genFeature)

+								: "";

+						stringBuffer.append(TEXT_30);

+						stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), true));

+						stringBuffer.append(TEXT_33);

+						stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));

+						stringBuffer.append(reverseOffsetCorrection);

+						stringBuffer.append(TEXT_15);

+						stringBuffer.append(targetClass.getRawImportedInterfaceName());

+						stringBuffer.append(TEXT_34);

+					}

+					stringBuffer.append(TEXT_35);

+					stringBuffer.append(genFeature.getAccessorName());

+					stringBuffer.append(TEXT_36);

+					if (genModel.isVirtualDelegation()) {

+						stringBuffer.append(TEXT_37);

+						stringBuffer.append(genFeature.getCapName());

+						stringBuffer.append(TEXT_38);

+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(positiveOffsetCorrection);

+						stringBuffer.append(TEXT_16);

+					} else if (genClass.isESetFlag(genFeature)) {

+						if (!genModel.isSuppressNotification()) {

+							stringBuffer.append(TEXT_37);

+							stringBuffer.append(genFeature.getCapName());

+							stringBuffer.append(TEXT_39);

+							stringBuffer.append(genClass.getESetFlagsField(genFeature));

+							stringBuffer.append(TEXT_40);

+							stringBuffer.append(genFeature.getUpperName());

+							stringBuffer.append(TEXT_41);

+						}

+						stringBuffer.append(TEXT_42);

+						stringBuffer.append(genClass.getESetFlagsField(genFeature));

+						stringBuffer.append(TEXT_43);

+						stringBuffer.append(genFeature.getUpperName());

+						stringBuffer.append(TEXT_44);

+					} else {

+						if (!genModel.isSuppressNotification()) {

+							stringBuffer.append(TEXT_37);

+							stringBuffer.append(genFeature.getCapName());

+							stringBuffer.append(TEXT_45);

+							stringBuffer.append(genFeature.getUncapName());

+							stringBuffer.append(TEXT_46);

+						}

+						stringBuffer.append(TEXT_42);

+						stringBuffer.append(genFeature.getUncapName());

+						stringBuffer.append(TEXT_47);

+					}

+					if (!genModel.isSuppressNotification()) {

+						stringBuffer.append(TEXT_48);

+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

+						stringBuffer.append(TEXT_49);

+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

+						stringBuffer.append(TEXT_50);

+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(positiveOffsetCorrection);

+						stringBuffer.append(TEXT_51);

+						stringBuffer.append(genFeature.getCapName());

+						stringBuffer.append(TEXT_52);

+					}

+					stringBuffer.append(TEXT_53);

+				} else {

+					if (genClass.isFlag(genFeature)) {

+						if (!genModel.isSuppressNotification()) {

+							if (genFeature.isBooleanType()) {

+								stringBuffer.append(TEXT_18);

+								stringBuffer.append(genFeature.getImportedType(genClass));

+								stringBuffer.append(TEXT_54);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_21);

+								stringBuffer.append(genClass.getFlagsField(genFeature));

+								stringBuffer.append(TEXT_40);

+								stringBuffer.append(genFeature.getUpperName());

+								stringBuffer.append(TEXT_55);

+							} else {

+								stringBuffer.append(TEXT_18);

+								stringBuffer.append(genFeature.getImportedType(genClass));

+								stringBuffer.append(TEXT_54);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_56);

+								stringBuffer.append(genFeature.getUpperName());

+								stringBuffer.append(TEXT_57);

+								stringBuffer.append(genClass.getFlagsField(genFeature));

+								stringBuffer.append(TEXT_40);

+								stringBuffer.append(genFeature.getUpperName());

+								stringBuffer.append(TEXT_58);

+								stringBuffer.append(genFeature.getUpperName());

+								stringBuffer.append(TEXT_59);

+							}

+						}

+					} else if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

+						stringBuffer.append(TEXT_60);

+						stringBuffer.append(genFeature.getCapName());

+						stringBuffer.append(TEXT_61);

+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+						stringBuffer.append(positiveOffsetCorrection);

+						stringBuffer.append(TEXT_16);

+					} else {

+						if (!genModel.isSuppressNotification()) {

+							stringBuffer.append(TEXT_18);

+							stringBuffer.append(genFeature.getImportedType(genClass));

+							stringBuffer.append(TEXT_54);

+							stringBuffer.append(genFeature.getCapName());

+							stringBuffer.append(TEXT_56);

+							stringBuffer.append(genFeature.getSafeName());

+							stringBuffer.append(TEXT_62);

+						}

+					}

+					if (!genModel.isSuppressNotification()) {

+						if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

+							stringBuffer.append(TEXT_63);

+							stringBuffer.append(genFeature.getCapName());

+							stringBuffer.append(TEXT_64);

+						} else if (genClass.isESetFlag(genFeature)) {

+							stringBuffer.append(TEXT_65);

+							stringBuffer.append(genFeature.getCapName());

+							stringBuffer.append(TEXT_39);

+							stringBuffer.append(genClass.getESetFlagsField(genFeature));

+							stringBuffer.append(TEXT_40);

+							stringBuffer.append(genFeature.getUpperName());

+							stringBuffer.append(TEXT_41);

+						} else {

+							stringBuffer.append(TEXT_65);

+							stringBuffer.append(genFeature.getCapName());

+							stringBuffer.append(TEXT_45);

+							stringBuffer.append(genFeature.getUncapName());

+							stringBuffer.append(TEXT_46);

+						}

+					}

+					if (genFeature.isReferenceType()) {

+						stringBuffer.append(TEXT_18);

+						stringBuffer.append(genFeature.getSafeName());

+						stringBuffer.append(TEXT_66);

+						if (!genModel.isVirtualDelegation()) {

+							if (genClass.isESetFlag(genFeature)) {

+								stringBuffer.append(TEXT_18);

+								stringBuffer.append(genClass.getESetFlagsField(genFeature));

+								stringBuffer.append(TEXT_43);

+								stringBuffer.append(genFeature.getUpperName());

+								stringBuffer.append(TEXT_44);

+							} else {

+								stringBuffer.append(TEXT_18);

+								stringBuffer.append(genFeature.getUncapName());

+								stringBuffer.append(TEXT_47);

+							}

+						}

+						if (!genModel.isSuppressNotification()) {

+							stringBuffer.append(TEXT_67);

+							stringBuffer

+									.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

+							stringBuffer.append(TEXT_49);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

+							stringBuffer.append(TEXT_50);

+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+							stringBuffer.append(positiveOffsetCorrection);

+							stringBuffer.append(TEXT_15);

+							if (genModel.isVirtualDelegation()) {

+								stringBuffer.append(TEXT_68);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_69);

+							} else {

+								stringBuffer.append(TEXT_70);

+								stringBuffer.append(genFeature.getCapName());

+							}

+							stringBuffer.append(TEXT_71);

+							if (genModel.isVirtualDelegation()) {

+								stringBuffer.append(TEXT_72);

+							} else {

+								stringBuffer.append(TEXT_70);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_73);

+							}

+							stringBuffer.append(TEXT_74);

+						}

+					} else {

+						if (genClass.isFlag(genFeature)) {

+							if (genFeature.isBooleanType()) {

+								stringBuffer.append(TEXT_23);

+								stringBuffer.append(genFeature.getEDefault());

+								stringBuffer.append(TEXT_75);

+								stringBuffer.append(genClass.getFlagsField(genFeature));

+								stringBuffer.append(TEXT_76);

+								stringBuffer.append(genFeature.getUpperName());

+								stringBuffer.append(TEXT_77);

+								stringBuffer.append(genClass.getFlagsField(genFeature));

+								stringBuffer.append(TEXT_43);

+								stringBuffer.append(genFeature.getUpperName());

+								stringBuffer.append(TEXT_78);

+							} else {

+								stringBuffer.append(TEXT_18);

+								stringBuffer.append(genClass.getFlagsField(genFeature));

+								stringBuffer.append(TEXT_56);

+								stringBuffer.append(genClass.getFlagsField(genFeature));

+								stringBuffer.append(TEXT_79);

+								stringBuffer.append(genFeature.getUpperName());

+								stringBuffer.append(TEXT_80);

+								stringBuffer.append(genFeature.getUpperName());

+								stringBuffer.append(TEXT_81);

+							}

+						} else if (!genModel.isVirtualDelegation() || genFeature.isPrimitiveType()) {

+							stringBuffer.append(TEXT_18);

+							stringBuffer.append(genFeature.getSafeName());

+							stringBuffer.append(TEXT_56);

+							stringBuffer.append(genFeature.getEDefault());

+							stringBuffer.append(TEXT_62);

+						}

+						if (!genModel.isVirtualDelegation() || genFeature.isPrimitiveType()) {

+							if (genClass.isESetFlag(genFeature)) {

+								stringBuffer.append(TEXT_18);

+								stringBuffer.append(genClass.getESetFlagsField(genFeature));

+								stringBuffer.append(TEXT_43);

+								stringBuffer.append(genFeature.getUpperName());

+								stringBuffer.append(TEXT_44);

+							} else {

+								stringBuffer.append(TEXT_18);

+								stringBuffer.append(genFeature.getUncapName());

+								stringBuffer.append(TEXT_47);

+							}

+						}

+						if (!genModel.isSuppressNotification()) {

+							stringBuffer.append(TEXT_67);

+							stringBuffer

+									.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

+							stringBuffer.append(TEXT_49);

+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

+							stringBuffer.append(TEXT_50);

+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

+							stringBuffer.append(positiveOffsetCorrection);

+							stringBuffer.append(TEXT_15);

+							if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

+								stringBuffer.append(TEXT_68);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_82);

+								stringBuffer.append(genFeature.getEDefault());

+							} else {

+								stringBuffer.append(TEXT_70);

+								stringBuffer.append(genFeature.getCapName());

+							}

+							stringBuffer.append(TEXT_15);

+							stringBuffer.append(genFeature.getEDefault());

+							stringBuffer.append(TEXT_15);

+							if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

+								stringBuffer.append(TEXT_72);

+							} else {

+								stringBuffer.append(TEXT_70);

+								stringBuffer.append(genFeature.getCapName());

+								stringBuffer.append(TEXT_73);

+							}

+							stringBuffer.append(TEXT_74);

+						}

+					}

+				}

+			} else if (genFeature.hasDelegateFeature()) {

+				GenFeature delegateFeature = genFeature.getDelegateFeature();

+				if (delegateFeature.isWrappedFeatureMapType()) {

+					stringBuffer.append(TEXT_83);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+					stringBuffer.append(TEXT_84);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+					stringBuffer.append(TEXT_85);

+					stringBuffer.append(delegateFeature.getAccessorName());

+					stringBuffer.append(TEXT_86);

+					stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+					stringBuffer.append(TEXT_16);

+				} else {

+					stringBuffer.append(TEXT_83);

+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

+					stringBuffer.append(TEXT_87);

+					stringBuffer.append(delegateFeature.getAccessorName());

+					stringBuffer.append(TEXT_88);

+					stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

+					stringBuffer.append(TEXT_16);

+				}

+			} else if (genClass.getUnsetAccessorOperation(genFeature) != null) {

+				stringBuffer.append(TEXT_18);

+				stringBuffer.append(

+						genClass.getUnsetAccessorOperation(genFeature).getBody(genModel.getIndentation(stringBuffer)));

+			} else {

+				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.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,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("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);

+					callParameters.put("isGWT", isGWT);

+					callParameters.put("forceDefaultCase", forceDefaultCase);

+					callParameters.put("indentDefaultCase", indentDefaultCase);

+					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_89);

+		}

+		stringBuffer.append(TEXT_2);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/ResourceFactoryClass/ResourceFactoryClasscreateResourceoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/ResourceFactoryClass/ResourceFactoryClasscreateResourceoverride.java
new file mode 100644
index 0000000..ae9553f
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/ResourceFactoryClass/ResourceFactoryClasscreateResourceoverride.java
@@ -0,0 +1,208 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.ResourceFactoryClass;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 = ");" + NL + "" + NL + "\t\tresult.getDefaultSaveOptions().put(";

+	protected final String TEXT_10 = ".OPTION_SCHEMA_LOCATION, Boolean.TRUE);" + NL + "" + NL

+			+ "\t\tresult.getDefaultLoadOptions().put(";

+	protected final String TEXT_11 = ".OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);" + NL

+			+ "\t\tresult.getDefaultSaveOptions().put(";

+	protected final String TEXT_12 = ".OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);" + NL + "" + NL

+			+ "\t\tresult.getDefaultLoadOptions().put(";

+	protected final String TEXT_13 = ".OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);";

+	protected final String TEXT_14 = NL + "\t\tresult.getDefaultLoadOptions().put(";

+	protected final String TEXT_15 = ".OPTION_USE_DATA_CONVERTER, Boolean.TRUE);";

+	protected final String TEXT_16 = ".OPTION_XML_MAP, xmlMap);" + NL + "\t\tresult.getDefaultLoadOptions().put(";

+	protected final String TEXT_17 = ".OPTION_XML_MAP, xmlMap);";

+	protected final String TEXT_18 = NL + "\t\tResource result = new ";

+	protected final String TEXT_19 = "(uri);";

+	protected final String TEXT_20 = NL + "\t\treturn result;" + NL;

+	protected final String TEXT_21 = 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)

+		List<Object> isJDK50List = 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 isJDK50Parameter : isJDK50List) {

+

+					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;

+

+					if (preCondition(ctx)) {

+						ctx.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_21);

+		return stringBuffer.toString();

+	}

+

+	public String orchestration(PatternContext ctx) 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("isJDK50", this.isJDK50);

+			String outputWithCallBack = 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.Boolean isJDK50 = null;

+

+	public void set_isJDK50(java.lang.Boolean object) {

+		this.isJDK50 = 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("isJDK50", this.isJDK50);

+		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_5);

+			if (genPackage.hasTargetNamespace()) {

+				stringBuffer.append(TEXT_6);

+			} else {

+				stringBuffer.append(TEXT_7);

+			}

+			stringBuffer.append(TEXT_9);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource"));

+			stringBuffer.append(TEXT_10);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource"));

+			stringBuffer.append(TEXT_11);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource"));

+			stringBuffer.append(TEXT_12);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource"));

+			stringBuffer.append(TEXT_13);

+			if (genPackage.isDataTypeConverters() && genPackage.hasDocumentRoot()) {

+				stringBuffer.append(TEXT_14);

+				stringBuffer.append(genPackage.getResourceClassName());

+				stringBuffer.append(TEXT_15);

+			}

+		} else if (genPackage.hasXMLMap()) {

+			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_16);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource"));

+			stringBuffer.append(TEXT_17);

+		} else {

+			stringBuffer.append(TEXT_18);

+			stringBuffer.append(genPackage.getResourceClassName());

+			stringBuffer.append(TEXT_19);

+		}

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/ValidatorClass/ValidatorClassinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/ValidatorClass/ValidatorClassinsert.java
new file mode 100644
index 0000000..c4cb50c
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/ValidatorClass/ValidatorClassinsert.java
@@ -0,0 +1,186 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.model.call.ValidatorClass;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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> isJDK50List = 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 isJDK50Parameter : isJDK50List) {

+					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.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

+									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("isJDK50", this.isJDK50);

+			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.Boolean isJDK50 = null;

+

+	public void set_isJDK50(java.lang.Boolean object) {

+		this.isJDK50 = 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("isJDK50", this.isJDK50);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/BuildProperties.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/BuildProperties.java
new file mode 100644
index 0000000..3f925e9
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/BuildProperties.java
@@ -0,0 +1,229 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.tests;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 + "               ";

+	protected final String TEXT_7 = ".properties";

+	protected final String TEXT_8 = NL + "jars.compile.order = ";

+	protected final String TEXT_9 = NL + "source.";

+	protected final String TEXT_10 = " = ";

+	protected final String TEXT_11 = NL + "output.";

+	protected final String TEXT_12 = " = bin/" + 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_13);

+		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.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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.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);

+		}

+		String testsBundleLocalization = genModel.getTestsBundleLocalization();

+		int index = testsBundleLocalization.indexOf("/");

+		if (index == -1) {

+			stringBuffer.append(TEXT_6);

+			stringBuffer.append(testsBundleLocalization);

+			stringBuffer.append(TEXT_7);

+		} else {

+			stringBuffer.append(TEXT_6);

+			stringBuffer.append(testsBundleLocalization.substring(0, index + 1));

+		}

+		stringBuffer.append(TEXT_8);

+		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_9);

+				stringBuffer.append(pluginClassesLocation);

+				stringBuffer.append(TEXT_10);

+				stringBuffer.append(sourceFolder);

+				first = false;

+			} else {

+				stringBuffer.append(sourceFolder);

+			}

+		}

+		stringBuffer.append(TEXT_11);

+		stringBuffer.append(pluginClassesLocation);

+		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.TestsProject");

+		canGenerate = canGenerate && (!genModel.sameModelTestsProject());

+		return canGenerate;

+	}

+}
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/ManifestMF.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/ManifestMF.java
new file mode 100644
index 0000000..90cf50d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/ManifestMF.java
@@ -0,0 +1,247 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.tests;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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: ";

+	protected final String TEXT_2 = NL + "Bundle-SymbolicName: ";

+	protected final String TEXT_3 = ";singleton:=true" + NL + "Automatic-Module-Name: ";

+	protected final String TEXT_4 = NL + "Bundle-Version: 1.0.0.qualifier" + NL + "Bundle-ClassPath: ";

+	protected final String TEXT_5 = ".jar";

+	protected final String TEXT_6 = ".";

+	protected final String TEXT_7 = NL + "Bundle-Vendor: ";

+	protected final String TEXT_8 = NL + "Bundle-Localization: ";

+	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 + "Bundle-RequiredExecutionEnvironment: JavaSE-9";

+	protected final String TEXT_14 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-10";

+	protected final String TEXT_15 = NL + "Export-Package: ";

+	protected final String TEXT_16 = ",";

+	protected final String TEXT_17 = NL + " ";

+	protected final String TEXT_18 = NL + "Require-Bundle: ";

+	protected final String TEXT_19 = ";visibility:=reexport";

+	protected final String TEXT_20 = NL + "Eclipse-LazyStart: true";

+	protected final String TEXT_21 = NL + "Bundle-ActivationPolicy: lazy" + NL;

+	protected final String TEXT_22 = 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_22);

+		stringBuffer.append(TEXT_22);

+		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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.html

+		 * 

+		 * Contributors: 

+		 *   IBM - Initial API and implementation

+		 */

+

+		GenModel genModel = (GenModel) argument;

+		stringBuffer.append(TEXT_1);

+		stringBuffer.append(genModel.getTestsBundleNameKey());

+		stringBuffer.append(TEXT_2);

+		stringBuffer.append(genModel.getTestsPluginID());

+		stringBuffer.append(TEXT_3);

+		stringBuffer.append(genModel.getTestsPluginID());

+		stringBuffer.append(TEXT_4);

+		if (genModel.isRuntimeJar()) {

+			stringBuffer.append(genModel.getTestsPluginID());

+			stringBuffer.append(TEXT_5);

+		} else {

+			stringBuffer.append(TEXT_6);

+		}

+		stringBuffer.append(TEXT_7);

+		stringBuffer.append(genModel.getTestsBundleVendorKey());

+		stringBuffer.append(TEXT_8);

+		stringBuffer.append(genModel.getTestsBundleLocalization());

+		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);

+		} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK90_LITERAL) {

+			stringBuffer.append(TEXT_13);

+		} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK100_LITERAL) {

+			stringBuffer.append(TEXT_14);

+		}

+		Iterator<String> packagesIterator = genModel.getTestsQualifiedPackageNames().iterator();

+		if (packagesIterator.hasNext()) {

+			String pack = packagesIterator.next();

+			stringBuffer.append(TEXT_15);

+			stringBuffer.append(pack);

+			while (packagesIterator.hasNext()) {

+				pack = packagesIterator.next();

+				stringBuffer.append(TEXT_16);

+				stringBuffer.append(TEXT_17);

+				stringBuffer.append(pack);

+			}

+		}

+		Iterator<String> requiredPluginIterator = genModel.getTestsRequiredPlugins().iterator();

+		if (requiredPluginIterator.hasNext()) {

+			String pluginID = requiredPluginIterator.next();

+			stringBuffer.append(TEXT_18);

+			stringBuffer.append(pluginID);

+			if (!pluginID.startsWith("org.eclipse.core.runtime")) {

+				stringBuffer.append(TEXT_19);

+			}

+			while (requiredPluginIterator.hasNext()) {

+				pluginID = requiredPluginIterator.next();

+				stringBuffer.append(TEXT_16);

+				stringBuffer.append(TEXT_17);

+				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.getRuntimeVersion() == GenRuntimeVersion.EMF22

+				|| genModel.getRuntimeVersion() == GenRuntimeVersion.EMF23) {

+			stringBuffer.append(TEXT_20);

+		}

+		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.isBundleManifest()) && (!genModel.sameModelTestsProject());

+		return canGenerate;

+	}

+}
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/ModelTestSuite.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/ModelTestSuite.java
new file mode 100644
index 0000000..e063b4d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/ModelTestSuite.java
@@ -0,0 +1,282 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.tests;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 -->";

+	protected final String TEXT_6 = NL + " * ";

+	protected final String TEXT_7 = NL + " * @generated" + NL + " */";

+	protected final String TEXT_8 = NL + "@Deprecated";

+	protected final String TEXT_9 = NL + "@SuppressWarnings(\"deprecation\")";

+	protected final String TEXT_10 = NL + "public class ";

+	protected final String TEXT_11 = " extends ";

+	protected final String TEXT_12 = NL + "{";

+	protected final String TEXT_13 = 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_14 = " copyright = ";

+	protected final String TEXT_15 = ";";

+	protected final String TEXT_16 = 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_17 = ".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_18 = " suite()" + NL + "\t{" + NL + "\t\t";

+	protected final String TEXT_19 = " suite = new ";

+	protected final String TEXT_20 = "(\"";

+	protected final String TEXT_21 = " Tests\");";

+	protected final String TEXT_22 = NL + "\t\tsuite.addTest(";

+	protected final String TEXT_23 = ".suite());";

+	protected final String TEXT_24 = 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_25 = "(String name)" + NL + "\t{" + NL + "\t\tsuper(name);" + NL + "\t}" + NL + "" + NL

+			+ "} //";

+	protected final String TEXT_26 = NL;

+	protected final String TEXT_27 = 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_27);

+		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;

+		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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.html

+		 *

+		 * Contributors:

+		 *   IBM - Initial API and implementation

+		 */

+

+		GenModel genModel = (GenModel) argument;

+		/* Trick to import java.util.* without warnings */Iterator.class.getName();

+		final boolean isJDK50 = 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(genModel.getTestSuitePackageName());

+		stringBuffer.append(TEXT_3);

+		genModel.markImportLocation(stringBuffer);

+		stringBuffer.append(TEXT_4);

+		stringBuffer.append(genModel.getModelName());

+		stringBuffer.append(TEXT_5);

+		if (genModel.hasAPITags()) {

+			stringBuffer.append(TEXT_6);

+			stringBuffer.append(genModel.getAPITags(genModel.getIndentation(stringBuffer)));

+		}

+		stringBuffer.append(TEXT_7);

+		if (isJDK50 && genModel.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_8);

+		} else if (isJDK50) {

+			boolean needsSuppressDeprecation = false;

+			LOOP: for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {

+				if (genPackage.hasTests()) {

+					for (GenClass genClass : genPackage.getGenClasses()) {

+						if (!genClass.isExternalInterface() && !genClass.isAbstract() && genClass.hasTests()

+								&& genClass.hasImplicitAPIDeprecatedTag()) {

+							needsSuppressDeprecation = true;

+							break LOOP;

+						}

+					}

+				}

+			}

+			if (needsSuppressDeprecation) {

+				stringBuffer.append(TEXT_9);

+			}

+		}

+		stringBuffer.append(TEXT_10);

+		stringBuffer.append(genModel.getTestSuiteClassName());

+		stringBuffer.append(TEXT_11);

+		stringBuffer.append(genModel.getImportedName("junit.framework.TestSuite"));

+		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(genModel.getImportedName("junit.textui.TestRunner"));

+		stringBuffer.append(TEXT_17);

+		stringBuffer.append(genModel.getImportedName("junit.framework.Test"));

+		stringBuffer.append(TEXT_18);

+		stringBuffer.append(genModel.getImportedName("junit.framework.TestSuite"));

+		stringBuffer.append(TEXT_19);

+		stringBuffer.append(genModel.getTestSuiteClassName());

+		stringBuffer.append(TEXT_20);

+		stringBuffer.append(genModel.getModelName());

+		stringBuffer.append(TEXT_21);

+		stringBuffer.append(genModel.getNonNLS());

+		for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {

+			if (genPackage.hasTests()) {

+				stringBuffer.append(TEXT_22);

+				stringBuffer.append(genModel.getImportedName(genPackage.getImportedTestSuiteClassName()));

+				stringBuffer.append(TEXT_23);

+			}

+		}

+		stringBuffer.append(TEXT_24);

+		stringBuffer.append(genModel.getTestSuiteClassName());

+		stringBuffer.append(TEXT_25);

+		stringBuffer.append(genModel.getTestSuiteClassName());

+		genModel.emitSortedImports();

+		stringBuffer.append(TEXT_26);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PackageExample.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PackageExample.java
new file mode 100644
index 0000000..b96350f
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PackageExample.java
@@ -0,0 +1,514 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.tests;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 -->";

+	protected final String TEXT_6 = NL + " * ";

+	protected final String TEXT_7 = NL + " * @generated" + NL + " */";

+	protected final String TEXT_8 = NL + "@Deprecated";

+	protected final String TEXT_9 = NL + "@SuppressWarnings(\"deprecation\")";

+	protected final String TEXT_10 = NL + "public class ";

+	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 + "\tpublic static final ";

+	protected final String TEXT_13 = " copyright = ";

+	protected final String TEXT_14 = ";";

+	protected final String TEXT_15 = NL + "\t";

+	protected final String TEXT_16 = 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_17 = " resourceSet = new ";

+	protected final String TEXT_18 = "();" + NL + "\t\t";

+	protected final String TEXT_19 = 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_20 = ".eCONTENT_TYPE," + NL + "\t\t\t new ";

+	protected final String TEXT_21 = "());" + 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_22 = "(";

+	protected final String TEXT_23 = ".eCONTENT_TYPE, null, null, ";

+	protected final String TEXT_24 = ".eNS_URI";

+	protected final String TEXT_25 = ")null";

+	protected final String TEXT_26 = ", null));";

+	protected final String TEXT_27 = 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_28 = "());";

+	protected final String TEXT_29 = 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_30 = ".eNS_URI, " + NL + "\t\t\t ";

+	protected final String TEXT_31 = ".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_32 = NL

+			+ "\t\t\tSystem.out.println(\"Enter a list of file paths or URIs that have content like this:\");";

+	protected final String TEXT_33 = NL + "\t\t\ttry" + NL + "\t\t\t{";

+	protected final String TEXT_34 = NL + "\t\t\t\t";

+	protected final String TEXT_35 = " resource = resourceSet.createResource(";

+	protected final String TEXT_36 = ".createURI(\"http:///My.";

+	protected final String TEXT_37 = "\"), ";

+	protected final String TEXT_38 = ".eCONTENT_TYPE);";

+	protected final String TEXT_39 = "\"));";

+	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 = "();";

+	protected final String TEXT_45 = NL + "\t\t\t\tdocumentRoot.eSet(";

+	protected final String TEXT_46 = ", root);";

+	protected final String TEXT_47 = NL + "\t\t\t\tdocumentRoot.set";

+	protected final String TEXT_48 = "(root);";

+	protected final String TEXT_49 = NL + "\t\t\t\tresource.getContents().add(";

+	protected final String TEXT_50 = ")";

+	protected final String TEXT_51 = "documentRoot);";

+	protected final String TEXT_52 = "();" + NL + "\t\t\t\tresource.getContents().add(";

+	protected final String TEXT_53 = "root);";

+	protected final String TEXT_54 = NL + "\t\t\t\tresource.save(";

+	protected final String TEXT_55 = ".out, null);" + NL + "\t\t\t}" + NL + "\t\t\tcatch (";

+	protected final String TEXT_56 = " exception) " + NL + "\t\t\t{" + NL + "\t\t\t\texception.printStackTrace();" + NL

+			+ "\t\t\t}";

+	protected final String TEXT_57 = NL + "\t\t\tSystem.out.println(\"Enter a list of file paths or URIs\");";

+	protected final String TEXT_58 = 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_59 = " file = new ";

+	protected final String TEXT_60 = "(args[i]);" + NL + "\t\t\t\t";

+	protected final String TEXT_61 = " uri = file.isFile() ? ";

+	protected final String TEXT_62 = ".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_63 = " resource = resourceSet.getResource(uri, true);" + NL

+			+ "\t\t\t\t\tSystem.out.println(\"Loaded \" + uri);";

+	protected final String TEXT_64 = NL + NL + "\t\t\t\t\t// Validate the contents of the loaded resource." + NL

+			+ "\t\t\t\t\t//";

+	protected final String TEXT_65 = NL + "\t\t\t\t\tfor (";

+	protected final String TEXT_66 = " eObject : resource.getContents())";

+	protected final String TEXT_67 = " j = resource.getContents().iterator(); j.hasNext(); )";

+	protected final String TEXT_68 = NL + "\t\t\t\t\t{";

+	protected final String TEXT_69 = NL + "\t\t\t\t\t\t";

+	protected final String TEXT_70 = " eObject = (";

+	protected final String TEXT_71 = ")j.next();";

+	protected final String TEXT_72 = " diagnostic = ";

+	protected final String TEXT_73 = ".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_74 = 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_75 = " exception) " + NL + "\t\t\t\t{" + NL

+			+ "\t\t\t\t\tSystem.out.println(\"Problem loading \" + uri);";

+	protected final String TEXT_76 = 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_77 = NL + "\t\tfor (Diagnostic child : diagnostic.getChildren())" + NL + "\t\t{" + NL

+			+ "\t\t\tprintDiagnostic(child, indent + \"  \");";

+	protected final String TEXT_78 = NL + "\t\t}";

+	protected final String TEXT_79 = 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_80 = NL + "\t}" + NL + "" + NL + "} //";

+	protected final String TEXT_81 = NL;

+	protected final String TEXT_82 = 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_82);

+		stringBuffer.append(TEXT_82);

+		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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.html

+		 *

+		 * Contributors:

+		 *   IBM - Initial API and implementation

+		 */

+

+		GenPackage genPackage = (GenPackage) argument;

+		GenModel genModel = genPackage.getGenModel();

+		final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;

+

+		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);

+		if (genPackage.hasAPITags()) {

+			stringBuffer.append(TEXT_6);

+			stringBuffer.append(genPackage.getAPITags(genModel.getIndentation(stringBuffer)));

+		}

+		stringBuffer.append(TEXT_7);

+		if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_8);

+		} else if (isJDK50 && genPackage.getRootClass() != null && genPackage.getRootClass().hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_9);

+		}

+		stringBuffer.append(TEXT_10);

+		stringBuffer.append(genPackage.getExampleClassName());

+		stringBuffer.append(TEXT_11);

+		if (genModel.hasCopyrightField()) {

+			stringBuffer.append(TEXT_12);

+			stringBuffer.append(_String);

+			stringBuffer.append(TEXT_13);

+			stringBuffer.append(genModel.getCopyrightFieldLiteral());

+			stringBuffer.append(TEXT_14);

+			stringBuffer.append(genModel.getNonNLS());

+			stringBuffer.append(TEXT_15);

+		}

+		stringBuffer.append(TEXT_16);

+		stringBuffer.append(_ResourceSet);

+		stringBuffer.append(TEXT_17);

+		stringBuffer.append(_ResourceSetImpl);

+		stringBuffer.append(TEXT_18);

+		if (genPackage.isContentType()) {

+			stringBuffer.append(TEXT_19);

+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+			stringBuffer.append(TEXT_20);

+			stringBuffer.append(genModel.getImportedName(genPackage.getQualifiedEffectiveResourceFactoryClassName()));

+			stringBuffer.append(TEXT_21);

+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl"));

+			stringBuffer.append(TEXT_22);

+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+			stringBuffer.append(TEXT_23);

+			if (genPackage.hasTargetNamespace()) {

+				stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+				stringBuffer.append(TEXT_24);

+			} else {

+				stringBuffer.append(TEXT_22);

+				stringBuffer.append(_String);

+				stringBuffer.append(TEXT_25);

+			}

+			stringBuffer.append(TEXT_26);

+		} else {

+			stringBuffer.append(TEXT_27);

+			stringBuffer.append(genModel.getImportedName(genPackage.getQualifiedEffectiveResourceFactoryClassName()));

+			stringBuffer.append(TEXT_28);

+		}

+		stringBuffer.append(TEXT_29);

+		stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+		stringBuffer.append(TEXT_30);

+		stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+		stringBuffer.append(TEXT_31);

+		if (genPackage.getRootClass() != null) {

+			GenClass rootClass = genPackage.getRootClass();

+			stringBuffer.append(TEXT_32);

+			stringBuffer.append(genModel.getNonNLS());

+			stringBuffer.append(TEXT_33);

+			if (genPackage.isContentType()) {

+				stringBuffer.append(TEXT_34);

+				stringBuffer.append(_Resource);

+				stringBuffer.append(TEXT_35);

+				stringBuffer.append(_URI);

+				stringBuffer.append(TEXT_36);

+				stringBuffer.append(genPackage.getFileExtension());

+				stringBuffer.append(TEXT_37);

+				stringBuffer.append(genPackage.getImportedPackageInterfaceName());

+				stringBuffer.append(TEXT_38);

+				stringBuffer.append(genModel.getNonNLS());

+			} else {

+				stringBuffer.append(TEXT_34);

+				stringBuffer.append(_Resource);

+				stringBuffer.append(TEXT_35);

+				stringBuffer.append(_URI);

+				stringBuffer.append(TEXT_36);

+				stringBuffer.append(genPackage.getFileExtension());

+				stringBuffer.append(TEXT_39);

+				stringBuffer.append(genModel.getNonNLS());

+			}

+			if (genPackage.getRootFeature() != null) {

+				GenFeature rootFeature = genPackage.getRootFeature();

+				GenClass documentRoot = rootFeature.getGenClass();

+				stringBuffer.append(TEXT_34);

+				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_41);

+				stringBuffer.append(rootClass.getName());

+				stringBuffer.append(TEXT_44);

+				if (documentRoot.isDynamic()) {

+					stringBuffer.append(TEXT_45);

+					stringBuffer.append(rootFeature.getQualifiedFeatureAccessor());

+					stringBuffer.append(TEXT_46);

+				} else {

+					stringBuffer.append(TEXT_47);

+					stringBuffer.append(rootFeature.getCapName());

+					stringBuffer.append(TEXT_48);

+				}

+				stringBuffer.append(TEXT_49);

+				if (!documentRoot.isEObjectExtension()) {

+					stringBuffer.append(TEXT_22);

+					stringBuffer.append(_EObject);

+					stringBuffer.append(TEXT_50);

+				}

+				stringBuffer.append(TEXT_51);

+			} else {

+				stringBuffer.append(TEXT_34);

+				stringBuffer.append(rootClass.getImportedInterfaceName());

+				stringBuffer.append(rootClass.getInterfaceWildTypeArguments());

+				stringBuffer.append(TEXT_43);

+				stringBuffer.append(rootClass.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());

+				stringBuffer.append(TEXT_41);

+				stringBuffer.append(rootClass.getName());

+				stringBuffer.append(TEXT_52);

+				if (!rootClass.isEObjectExtension()) {

+					stringBuffer.append(TEXT_22);

+					stringBuffer.append(_EObject);

+					stringBuffer.append(TEXT_50);

+				}

+				stringBuffer.append(TEXT_53);

+			}

+			stringBuffer.append(TEXT_54);

+			stringBuffer.append(_System);

+			stringBuffer.append(TEXT_55);

+			stringBuffer.append(genModel.getImportedName("java.io.IOException"));

+			stringBuffer.append(TEXT_56);

+		} else {

+			stringBuffer.append(TEXT_57);

+		}

+		stringBuffer.append(TEXT_58);

+		stringBuffer.append(_File);

+		stringBuffer.append(TEXT_59);

+		stringBuffer.append(_File);

+		stringBuffer.append(TEXT_60);

+		stringBuffer.append(_URI);

+		stringBuffer.append(TEXT_61);

+		stringBuffer.append(_URI);

+		stringBuffer.append(TEXT_62);

+		stringBuffer.append(_Resource);

+		stringBuffer.append(TEXT_63);

+		stringBuffer.append(genModel.getNonNLS());

+		stringBuffer.append(TEXT_64);

+		if (genModel.useGenerics()) {

+			stringBuffer.append(TEXT_65);

+			stringBuffer.append(_EObject);

+			stringBuffer.append(TEXT_66);

+		} else {

+			stringBuffer.append(TEXT_65);

+			stringBuffer.append(_Iterator);

+			stringBuffer.append(TEXT_67);

+		}

+		stringBuffer.append(TEXT_68);

+		if (!genModel.useGenerics()) {

+			stringBuffer.append(TEXT_69);

+			stringBuffer.append(_EObject);

+			stringBuffer.append(TEXT_70);

+			stringBuffer.append(_EObject);

+			stringBuffer.append(TEXT_71);

+		}

+		stringBuffer.append(TEXT_69);

+		stringBuffer.append(_Diagnostic);

+		stringBuffer.append(TEXT_72);

+		stringBuffer.append(_Diagnostician);

+		stringBuffer.append(TEXT_73);

+		stringBuffer.append(genModel.getNonNLS());

+		stringBuffer.append(TEXT_74);

+		stringBuffer.append(_RuntimeException);

+		stringBuffer.append(TEXT_75);

+		stringBuffer.append(genModel.getNonNLS());

+		stringBuffer.append(TEXT_76);

+		if (genModel.useGenerics()) {

+			stringBuffer.append(TEXT_77);

+			stringBuffer.append(genModel.getNonNLS());

+			stringBuffer.append(TEXT_78);

+		} else {

+			stringBuffer.append(TEXT_79);

+			stringBuffer.append(genModel.getNonNLS());

+			stringBuffer.append(TEXT_78);

+		}

+		stringBuffer.append(TEXT_80);

+		stringBuffer.append(genPackage.getExampleClassName());

+		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 {

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PackageTestSuite.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PackageTestSuite.java
new file mode 100644
index 0000000..37d969c
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PackageTestSuite.java
@@ -0,0 +1,279 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.tests;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 -->";

+	protected final String TEXT_6 = NL + " * ";

+	protected final String TEXT_7 = NL + " * @generated" + NL + " */";

+	protected final String TEXT_8 = NL + "@Deprecated";

+	protected final String TEXT_9 = NL + "@SuppressWarnings(\"deprecation\")";

+	protected final String TEXT_10 = NL + "public class ";

+	protected final String TEXT_11 = " extends ";

+	protected final String TEXT_12 = NL + "{";

+	protected final String TEXT_13 = 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_14 = " copyright = ";

+	protected final String TEXT_15 = ";";

+	protected final String TEXT_16 = 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_17 = ".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_18 = " suite()" + NL + "\t{" + NL + "\t\t";

+	protected final String TEXT_19 = " suite = new ";

+	protected final String TEXT_20 = "(\"";

+	protected final String TEXT_21 = " Tests\");";

+	protected final String TEXT_22 = NL + "\t\tsuite.addTestSuite(";

+	protected final String TEXT_23 = ".class);";

+	protected final String TEXT_24 = 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_25 = "(String name)" + NL + "\t{" + NL + "\t\tsuper(name);" + NL + "\t}" + NL + "" + NL

+			+ "} //";

+	protected final String TEXT_26 = NL;

+	protected final String TEXT_27 = 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_27);

+		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 {

+

+		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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.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();

+		final boolean isJDK50 = 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.getTestsPackageName());

+		stringBuffer.append(TEXT_3);

+		genModel.markImportLocation(stringBuffer);

+		stringBuffer.append(TEXT_4);

+		stringBuffer.append(genPackage.getPackageName());

+		stringBuffer.append(TEXT_5);

+		if (genPackage.hasAPITags()) {

+			stringBuffer.append(TEXT_6);

+			stringBuffer.append(genPackage.getAPITags(genModel.getIndentation(stringBuffer)));

+		}

+		stringBuffer.append(TEXT_7);

+		if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_8);

+		} else if (isJDK50) {

+			boolean needsSuppressDeprecation = false;

+			for (GenClass genClass : genPackage.getGenClasses()) {

+				if (!genClass.isExternalInterface() && !genClass.isAbstract() && genClass.hasTests()

+						&& genClass.hasImplicitAPIDeprecatedTag()) {

+					needsSuppressDeprecation = true;

+					break;

+				}

+			}

+			if (needsSuppressDeprecation) {

+				stringBuffer.append(TEXT_9);

+			}

+		}

+		stringBuffer.append(TEXT_10);

+		stringBuffer.append(genPackage.getTestSuiteClassName());

+		stringBuffer.append(TEXT_11);

+		stringBuffer.append(genModel.getImportedName("junit.framework.TestSuite"));

+		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(genModel.getImportedName("junit.textui.TestRunner"));

+		stringBuffer.append(TEXT_17);

+		stringBuffer.append(genModel.getImportedName("junit.framework.Test"));

+		stringBuffer.append(TEXT_18);

+		stringBuffer.append(genModel.getImportedName("junit.framework.TestSuite"));

+		stringBuffer.append(TEXT_19);

+		stringBuffer.append(genPackage.getTestSuiteClassName());

+		stringBuffer.append(TEXT_20);

+		stringBuffer.append(genPackage.getPackageName());

+		stringBuffer.append(TEXT_21);

+		stringBuffer.append(genModel.getNonNLS());

+		for (GenClass genClass : genPackage.getGenClasses()) {

+			if (!genClass.isExternalInterface() && !genClass.isAbstract() && genClass.hasTests()) {

+				stringBuffer.append(TEXT_22);

+				stringBuffer.append(genClass.getImportedTestCaseClassName());

+				stringBuffer.append(TEXT_23);

+			}

+		}

+		stringBuffer.append(TEXT_24);

+		stringBuffer.append(genPackage.getTestSuiteClassName());

+		stringBuffer.append(TEXT_25);

+		stringBuffer.append(genPackage.getTestSuiteClassName());

+		genModel.emitSortedImports();

+		stringBuffer.append(TEXT_26);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PluginProperties.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PluginProperties.java
new file mode 100644
index 0000000..37b8b13
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PluginProperties.java
@@ -0,0 +1,184 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.tests;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 = NL + "providerName = ";

+	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_5);

+		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() + "/" + genModel.getTestsBundleLocalization()

+				+ ".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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.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.getTestsBundleName());

+		stringBuffer.append(TEXT_3);

+		stringBuffer.append(genModel.getTestsBundleVendorName());

+		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.TestsProject");

+		canGenerate = canGenerate && (!genModel.sameModelTestsProject());

+		return canGenerate;

+	}

+}
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PluginXML.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PluginXML.java
new file mode 100644
index 0000000..ebc4854
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PluginXML.java
@@ -0,0 +1,224 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.tests;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 + "<plugin>";

+	protected final String TEXT_4 = NL + "<plugin" + NL + "      name=\"%pluginName\"" + NL + "      id=\"";

+	protected final String TEXT_5 = "\"" + NL + "      version=\"1.0.0\"" + NL

+			+ "      provider-name=\"%providerName\">" + NL + "" + NL + "   <requires>";

+	protected final String TEXT_6 = NL + "      <import plugin=\"";

+	protected final String TEXT_7 = "\"";

+	protected final String TEXT_8 = " export=\"true\"";

+	protected final String TEXT_9 = "/>";

+	protected final String TEXT_10 = NL + "   </requires>" + NL + "" + NL + "   <runtime>";

+	protected final String TEXT_11 = NL + "      <library name=\"";

+	protected final String TEXT_12 = ".jar\">";

+	protected final String TEXT_13 = NL + "      <library name=\".\">";

+	protected final String TEXT_14 = NL + "         <export name=\"*\"/>" + NL + "      </library>" + NL

+			+ "   </runtime>" + NL;

+	protected final String TEXT_15 = NL + "</plugin>" + NL;

+	protected final String TEXT_16 = 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_16);

+		stringBuffer.append(TEXT_16);

+		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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.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_2);

+		if (genModel.isBundleManifest()) {

+			stringBuffer.append(TEXT_3);

+		} else {

+			stringBuffer.append(TEXT_4);

+			stringBuffer.append(genModel.getTestsPluginID());

+			stringBuffer.append(TEXT_5);

+			for (String pluginID : genModel.getTestsRequiredPlugins()) {

+				stringBuffer.append(TEXT_6);

+				stringBuffer.append(pluginID);

+				stringBuffer.append(TEXT_7);

+				if (!pluginID.startsWith("org.eclipse.core.runtime")) {

+					stringBuffer.append(TEXT_8);

+				}

+				stringBuffer.append(TEXT_9);

+			}

+			stringBuffer.append(TEXT_10);

+			if (genModel.isRuntimeJar()) {

+				stringBuffer.append(TEXT_11);

+				stringBuffer.append(genModel.getTestsPluginID());

+				stringBuffer.append(TEXT_12);

+			} else {

+				stringBuffer.append(TEXT_13);

+			}

+			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 {

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/TestCase.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/TestCase.java
new file mode 100644
index 0000000..78aedc0
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/TestCase.java
@@ -0,0 +1,496 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.tests;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 = "(";

+	protected final String TEXT_14 = ") <em>";

+	protected final String TEXT_15 = NL + " * ";

+	protected final String TEXT_16 = NL + " * @generated" + NL + " */";

+	protected final String TEXT_17 = NL + "@Deprecated";

+	protected final String TEXT_18 = NL + "public";

+	protected final String TEXT_19 = " abstract";

+	protected final String TEXT_20 = " class ";

+	protected final String TEXT_21 = " extends ";

+	protected final String TEXT_22 = NL + "{";

+	protected final String TEXT_23 = 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_24 = " copyright = ";

+	protected final String TEXT_25 = ";";

+	protected final String TEXT_26 = " mofDriverNumber = \"";

+	protected final String TEXT_27 = "\";";

+	protected final String TEXT_28 = NL + NL + "\t/**" + NL + "\t * The fixture for this ";

+	protected final String TEXT_29 = " test case." + NL + "\t * <!-- begin-user-doc -->" + NL

+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";

+	protected final String TEXT_30 = " fixture = null;";

+	protected final String TEXT_31 = 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_32 = ".run(";

+	protected final String TEXT_33 = ".class);" + NL + "\t}";

+	protected final String TEXT_34 = NL + NL + "\t/**" + NL + "\t * Constructs a new ";

+	protected final String TEXT_35 = " 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_36 = "(String name)" + NL + "\t{" + NL + "\t\tsuper(name);" + NL + "\t}";

+	protected final String TEXT_37 = NL + NL + "\t/**" + NL + "\t * Sets the fixture for this ";

+	protected final String TEXT_38 = " 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_39 = " fixture)" + NL + "\t{" + NL + "\t\tthis.fixture = fixture;" + NL + "\t}";

+	protected final String TEXT_40 = NL + NL + "\t/**" + NL + "\t * Returns the fixture for this ";

+	protected final String TEXT_41 = " test case." + 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 + "\t";

+	protected final String TEXT_44 = "protected";

+	protected final String TEXT_45 = "private";

+	protected final String TEXT_46 = " ";

+	protected final String TEXT_47 = " getFixture()" + NL + "\t{";

+	protected final String TEXT_48 = NL + "\t\treturn fixture;";

+	protected final String TEXT_49 = NL + "\t\treturn (";

+	protected final String TEXT_50 = ")fixture;";

+	protected final String TEXT_51 = NL + "\t}";

+	protected final String TEXT_52 = 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_53 = NL + "\t@SuppressWarnings(\"unchecked\")";

+	protected final String TEXT_54 = NL + "\tprotected void setUp() throws Exception" + NL + "\t{";

+	protected final String TEXT_55 = NL + "\t\tsetFixture((";

+	protected final String TEXT_56 = ")";

+	protected final String TEXT_57 = ".create(";

+	protected final String TEXT_58 = "));";

+	protected final String TEXT_59 = NL + "\t\tsetFixture(";

+	protected final String TEXT_60 = ".create";

+	protected final String TEXT_61 = "());";

+	protected final String TEXT_62 = 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_63 = NL + "\tprotected void tearDown() throws Exception" + NL + "\t{" + NL

+			+ "\t\tsetFixture(null);" + NL + "\t}";

+	protected final String TEXT_64 = NL;

+	protected final String TEXT_65 = NL + "} //";

+	protected final String TEXT_66 = 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_66);

+		stringBuffer.append(TEXT_66);

+		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 v2.0

+		 * which accompanies this distribution, and is available at

+		 * http://www.eclipse.org/legal/epl-v20.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();

+		final boolean isJDK50 = 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.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().getRawQualifiedInterfaceName());

+					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_7);

+				stringBuffer.append(genOperation.getGenClass().getRawQualifiedInterfaceName());

+				stringBuffer.append(TEXT_8);

+				stringBuffer.append(genOperation.getName());

+				stringBuffer.append(TEXT_13);

+				stringBuffer.append(genOperation.getParameterTypes(", "));

+				stringBuffer.append(TEXT_14);

+				stringBuffer.append(genOperation.getFormattedName());

+				stringBuffer.append(TEXT_10);

+			}

+			if (!first) {

+				stringBuffer.append(TEXT_11);

+			}

+		}

+		if (genClass.hasImplicitAPITags()) {

+			stringBuffer.append(TEXT_15);

+			stringBuffer.append(genClass.getImplicitAPITags(genModel.getIndentation(stringBuffer)));

+		}

+		stringBuffer.append(TEXT_16);

+		if (isJDK50 && genClass.hasImplicitAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_17);

+		}

+		stringBuffer.append(TEXT_18);

+		if (genClass.isAbstract()) {

+			stringBuffer.append(TEXT_19);

+		}

+		stringBuffer.append(TEXT_20);

+		stringBuffer.append(genClass.getTestCaseClassName());

+		stringBuffer.append(TEXT_21);

+		stringBuffer.append(genClass.isModelRoot() ? genModel.getImportedName("junit.framework.TestCase")

+				: genClass.getClassExtendsGenClass().getImportedTestCaseClassName());

+		stringBuffer.append(TEXT_22);

+		if (genModel.hasCopyrightField()) {

+			stringBuffer.append(TEXT_23);

+			stringBuffer.append(genModel.getImportedName("java.lang.String"));

+			stringBuffer.append(TEXT_24);

+			stringBuffer.append(genModel.getCopyrightFieldLiteral());

+			stringBuffer.append(TEXT_25);

+			stringBuffer.append(genModel.getNonNLS());

+		}

+		if (genModel.getDriverNumber() != null) {

+			stringBuffer.append(TEXT_23);

+			stringBuffer.append(genModel.getImportedName("java.lang.String"));

+			stringBuffer.append(TEXT_26);

+			stringBuffer.append(genModel.getDriverNumber());

+			stringBuffer.append(TEXT_27);

+			stringBuffer.append(genModel.getNonNLS());

+		}

+		if (genClass.isModelRoot()) {

+			stringBuffer.append(TEXT_28);

+			stringBuffer.append(genClass.getFormattedName());

+			stringBuffer.append(TEXT_29);

+			stringBuffer.append(genClass.getImportedInterfaceName());

+			stringBuffer.append(genClass.getInterfaceWildTypeArguments());

+			stringBuffer.append(TEXT_30);

+		}

+		if (!genClass.isAbstract()) {

+			stringBuffer.append(TEXT_31);

+			stringBuffer.append(genModel.getImportedName("junit.textui.TestRunner"));

+			stringBuffer.append(TEXT_32);

+			stringBuffer.append(genClass.getTestCaseClassName());

+			stringBuffer.append(TEXT_33);

+		}

+		stringBuffer.append(TEXT_34);

+		stringBuffer.append(genClass.getFormattedName());

+		stringBuffer.append(TEXT_35);

+		stringBuffer.append(genClass.getTestCaseClassName());

+		stringBuffer.append(TEXT_36);

+		if (genClass.isModelRoot()) {

+			stringBuffer.append(TEXT_37);

+			stringBuffer.append(genClass.getFormattedName());

+			stringBuffer.append(TEXT_38);

+			stringBuffer.append(genClass.getImportedInterfaceName());

+			stringBuffer.append(genClass.getInterfaceWildTypeArguments());

+			stringBuffer.append(TEXT_39);

+		}

+		stringBuffer.append(TEXT_40);

+		stringBuffer.append(genClass.getFormattedName());

+		stringBuffer.append(TEXT_41);

+		if (!genClass.isModelRoot() && genModel.useClassOverrideAnnotation()) {

+			stringBuffer.append(TEXT_42);

+		}

+		stringBuffer.append(TEXT_43);

+		if (genModel.useGenerics()) {

+			stringBuffer.append(TEXT_44);

+		} else {

+			stringBuffer.append(TEXT_45);

+		}

+		stringBuffer.append(TEXT_46);

+		stringBuffer.append(genClass.getImportedInterfaceName());

+		stringBuffer.append(genClass.getInterfaceWildTypeArguments());

+		stringBuffer.append(TEXT_47);

+		if (genClass.isModelRoot()) {

+			stringBuffer.append(TEXT_48);

+		} else {

+			stringBuffer.append(TEXT_49);

+			stringBuffer.append(genClass.getImportedInterfaceName());

+			stringBuffer.append(genClass.getInterfaceWildTypeArguments());

+			stringBuffer.append(TEXT_50);

+		}

+		stringBuffer.append(TEXT_51);

+		if (!genClass.isAbstract()) {

+			stringBuffer.append(TEXT_52);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_42);

+			}

+			if (genModel.useGenerics() && genClass.isMapEntry()) {

+				stringBuffer.append(TEXT_53);

+			}

+			stringBuffer.append(TEXT_54);

+			if (genClass.isMapEntry()) {

+				stringBuffer.append(TEXT_55);

+				stringBuffer.append(genClass.getImportedInterfaceName());

+				stringBuffer.append(genClass.getInterfaceWildTypeArguments());

+				stringBuffer.append(TEXT_56);

+				stringBuffer.append(genPackage.getQualifiedEFactoryInternalInstanceAccessor());

+				stringBuffer.append(TEXT_57);

+				stringBuffer.append(genClass.getQualifiedClassifierAccessor());

+				stringBuffer.append(TEXT_58);

+			} else {

+				stringBuffer.append(TEXT_59);

+				stringBuffer.append(genPackage.getQualifiedEFactoryInternalInstanceAccessor());

+				stringBuffer.append(TEXT_60);

+				stringBuffer.append(genClass.getName());

+				stringBuffer.append(TEXT_61);

+			}

+			stringBuffer.append(TEXT_62);

+			if (genModel.useClassOverrideAnnotation()) {

+				stringBuffer.append(TEXT_42);

+			}

+			stringBuffer.append(TEXT_63);

+		}

+		for (GenFeature genFeature : genClass.getImplementedGenFeatures()) {

+			stringBuffer.append(TEXT_64);

+			{

+				//<%@ 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,isJDK50:isJDK50"%>

+

+				InternalPatternContext ictx = (InternalPatternContext) 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);

+				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_64);

+			{

+				//<%@ 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,isJDK50:isJDK50"%>

+

+				InternalPatternContext ictx = (InternalPatternContext) 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);

+				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_64);

+		stringBuffer.append(TEXT_64);

+		{

+			//<%@ 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,isJDK50:isJDK50"%>

+

+			InternalPatternContext ictx = (InternalPatternContext) 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);

+			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_65);

+		stringBuffer.append(genClass.getTestCaseClassName());

+		genModel.emitSortedImports();

+		stringBuffer.append(TEXT_64);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegenOperationannotationsinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegenOperationannotationsinsert.java
new file mode 100644
index 0000000..9ee5957
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegenOperationannotationsinsert.java
@@ -0,0 +1,160 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.tests.call.TestCase;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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)

+		List<Object> isJDK50List = 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) {

+

+							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;

+

+							if (preCondition(ctx)) {

+								ctx.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);

+			String outputWithCallBack = 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;

+	}

+

+	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);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegetGenFeatureTODOoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegetGenFeatureTODOoverride.java
new file mode 100644
index 0000000..e7d34ec
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegetGenFeatureTODOoverride.java
@@ -0,0 +1,162 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.tests.call.TestCase;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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;

+

+	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)

+		List<Object> isJDK50List = 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) {

+

+							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;

+

+							if (preCondition(ctx)) {

+								ctx.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_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);

+			String outputWithCallBack = 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;

+	}

+

+	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);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegetGenFeatureannotationsinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegetGenFeatureannotationsinsert.java
new file mode 100644
index 0000000..babfd17
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegetGenFeatureannotationsinsert.java
@@ -0,0 +1,160 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.tests.call.TestCase;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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)

+		List<Object> isJDK50List = 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) {

+

+							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;

+

+							if (preCondition(ctx)) {

+								ctx.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);

+			String outputWithCallBack = 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;

+	}

+

+	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);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegetGenFeatureoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegetGenFeatureoverride.java
new file mode 100644
index 0000000..a240f34
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegetGenFeatureoverride.java
@@ -0,0 +1,238 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.tests.call.TestCase;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 * ";

+	protected final String TEXT_7 = NL + "\t * @generated" + NL + "\t */";

+	protected final String TEXT_8 = NL;

+	protected final String TEXT_9 = NL + "\t@Deprecated";

+	protected final String TEXT_10 = NL + "\tpublic void test";

+	protected final String TEXT_11 = "()" + NL + "\t{";

+	protected final String TEXT_12 = NL + "\t}" + 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)

+		List<Object> isJDK50List = 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) {

+

+							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;

+

+							if (preCondition(ctx)) {

+								ctx.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_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);

+			parameterValues.put("isJDK50", this.isJDK50);

+			String outputWithCallBack = 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;

+	}

+

+	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);

+		return parameters;

+	}

+

+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

+

+		stringBuffer.append(TEXT_1);

+		stringBuffer.append(genFeature.getGenClass().getRawQualifiedInterfaceName());

+		stringBuffer.append(TEXT_2);

+		stringBuffer.append(genFeature.getGetAccessor());

+		stringBuffer.append(TEXT_3);

+		stringBuffer.append(genFeature.getFormattedName());

+		stringBuffer.append(TEXT_4);

+		stringBuffer.append(genFeature.getGenClass().getRawQualifiedInterfaceName());

+		stringBuffer.append(TEXT_2);

+		stringBuffer.append(genFeature.getGetAccessor());

+		stringBuffer.append(TEXT_5);

+		if (genFeature.hasAPITags()) {

+			stringBuffer.append(TEXT_6);

+			stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+		}

+		stringBuffer.append(TEXT_7);

+		if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) { //TestCase/getGenFeature.annotations.insert.javajetinc

+			stringBuffer.append(TEXT_8);

+			{

+				//<%@ 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,isJDK50:isJDK50"%>

+

+				InternalPatternContext ictx = (InternalPatternContext) 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);

+				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);

+			}

+

+		}

+		if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_9);

+		}

+		stringBuffer.append(TEXT_10);

+		stringBuffer.append(genModel.capName(genFeature.getGetAccessor()));

+		stringBuffer.append(TEXT_11);

+		stringBuffer.append(TEXT_8);

+		{

+			//<%@ 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,isJDK50:isJDK50"%>

+

+			InternalPatternContext ictx = (InternalPatternContext) 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);

+			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_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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenFeatureinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenFeatureinsert.java
new file mode 100644
index 0000000..96926db
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenFeatureinsert.java
@@ -0,0 +1,160 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.tests.call.TestCase;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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)

+		List<Object> isJDK50List = 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) {

+

+							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;

+

+							if (preCondition(ctx)) {

+								ctx.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);

+			String outputWithCallBack = 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;

+	}

+

+	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);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenFeatureoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenFeatureoverride.java
new file mode 100644
index 0000000..c4038c9
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenFeatureoverride.java
@@ -0,0 +1,277 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.tests.call.TestCase;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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;

+

+	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)

+		List<Object> isJDK50List = 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) {

+

+							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;

+

+							if (preCondition(ctx)) {

+								ctx.setNode(new Node.Container(currentNode, getClass()));

+								orchestration(ctx);

+							}

+

+						}

+					}

+				}

+			}

+		}

+		ctx.setNode(currentNode);

+		if (ctx.useReporter()) {

+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

+		}

+

+		stringBuffer.append(TEXT_3);

+		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);

+			parameterValues.put("isJDK50", this.isJDK50);

+			String outputWithCallBack = 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;

+	}

+

+	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);

+		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,isJDK50:isJDK50"%>

+

+					InternalPatternContext ictx = (InternalPatternContext) 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);

+					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_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.setGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>

+

+					InternalPatternContext ictx = (InternalPatternContext) 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);

+					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_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.unsetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>

+

+					InternalPatternContext ictx = (InternalPatternContext) 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);

+					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_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.isSetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>

+

+					InternalPatternContext ictx = (InternalPatternContext) 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);

+					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_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.implementedGenFeature.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>

+

+			InternalPatternContext ictx = (InternalPatternContext) 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);

+			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_2);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenOperationTODOoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenOperationTODOoverride.java
new file mode 100644
index 0000000..4c2fb8a
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenOperationTODOoverride.java
@@ -0,0 +1,162 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.tests.call.TestCase;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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;

+

+	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)

+		List<Object> isJDK50List = 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) {

+

+							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;

+

+							if (preCondition(ctx)) {

+								ctx.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_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);

+			String outputWithCallBack = 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;

+	}

+

+	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);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenOperationinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenOperationinsert.java
new file mode 100644
index 0000000..4a8e7f1
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenOperationinsert.java
@@ -0,0 +1,160 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.tests.call.TestCase;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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)

+		List<Object> isJDK50List = 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) {

+

+							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;

+

+							if (preCondition(ctx)) {

+								ctx.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);

+			String outputWithCallBack = 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;

+	}

+

+	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);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenOperationoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenOperationoverride.java
new file mode 100644
index 0000000..d93a4f9
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenOperationoverride.java
@@ -0,0 +1,264 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.tests.call.TestCase;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 = NL + "\t * ";

+	protected final String TEXT_8 = NL + "\t * @generated" + NL + "\t */";

+	protected final String TEXT_9 = NL;

+	protected final String TEXT_10 = NL + "\t@Deprecated";

+	protected final String TEXT_11 = NL + "\tpublic void test";

+	protected final String TEXT_12 = "()" + NL + "\t{";

+	protected final String TEXT_13 = NL + "\t}";

+	protected final String TEXT_14 = 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)

+		List<Object> isJDK50List = 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) {

+

+							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;

+

+							if (preCondition(ctx)) {

+								ctx.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_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("genOperation", this.genOperation);

+			parameterValues.put("genClass", this.genClass);

+			parameterValues.put("genPackage", this.genPackage);

+			parameterValues.put("genModel", this.genModel);

+			parameterValues.put("isJDK50", this.isJDK50);

+			String outputWithCallBack = 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;

+	}

+

+	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);

+		return parameters;

+	}

+

+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

+

+		stringBuffer.append(TEXT_1);

+		stringBuffer.append(genOperation.getGenClass().getRawQualifiedInterfaceName());

+		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().getRawQualifiedInterfaceName());

+		stringBuffer.append(TEXT_2);

+		stringBuffer.append(genOperation.getName());

+		stringBuffer.append(TEXT_3);

+		stringBuffer.append(genOperation.getParameterTypes(", "));

+		stringBuffer.append(TEXT_6);

+		if (genOperation.hasAPITags()) {

+			stringBuffer.append(TEXT_7);

+			stringBuffer.append(genOperation.getAPITags(genModel.getIndentation(stringBuffer)));

+		}

+		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,isJDK50:isJDK50"%>

+

+				InternalPatternContext ictx = (InternalPatternContext) 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);

+				CallHelper.executeWithParameterInjection(

+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_1C7qUGJ-Ed-FqczH3ESmRw",

+						new ExecutionContext((InternalPatternContext) ctx), callParameters);

+				stringBuffer.setLength(0);

+			}

+

+		}

+		if (isJDK50 && genOperation.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_10);

+		}

+		stringBuffer.append(TEXT_11);

+		stringBuffer.append(genClass.getUniqueName(genOperation));

+		stringBuffer.append(TEXT_12);

+		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.implementedGenOperation.TODO.override" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>

+

+			InternalPatternContext ictx = (InternalPatternContext) 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);

+			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_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.implementedGenOperation.insert" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>

+

+			InternalPatternContext ictx = (InternalPatternContext) 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);

+			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_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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseinsert.java
new file mode 100644
index 0000000..082f9f0
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseinsert.java
@@ -0,0 +1,147 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.tests.call.TestCase;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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)

+		List<Object> isJDK50List = 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) {

+

+						this.genClass = (org.eclipse.emf.codegen.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;

+

+						if (preCondition(ctx)) {

+							ctx.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);

+			String outputWithCallBack = 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;

+	}

+

+	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);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseisSetGenFeatureTODOoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseisSetGenFeatureTODOoverride.java
new file mode 100644
index 0000000..6c90250
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseisSetGenFeatureTODOoverride.java
@@ -0,0 +1,162 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.tests.call.TestCase;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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;

+

+	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)

+		List<Object> isJDK50List = 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) {

+

+							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;

+

+							if (preCondition(ctx)) {

+								ctx.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_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);

+			String outputWithCallBack = 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;

+	}

+

+	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);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseisSetGenFeatureannotationsinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseisSetGenFeatureannotationsinsert.java
new file mode 100644
index 0000000..b5f47ca
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseisSetGenFeatureannotationsinsert.java
@@ -0,0 +1,160 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.tests.call.TestCase;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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)

+		List<Object> isJDK50List = 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) {

+

+							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;

+

+							if (preCondition(ctx)) {

+								ctx.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);

+			String outputWithCallBack = 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;

+	}

+

+	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);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseisSetGenFeatureoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseisSetGenFeatureoverride.java
new file mode 100644
index 0000000..93ac296
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseisSetGenFeatureoverride.java
@@ -0,0 +1,238 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.tests.call.TestCase;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 = "()";

+	protected final String TEXT_6 = NL + "\t * ";

+	protected final String TEXT_7 = NL + "\t * @generated" + NL + "\t */";

+	protected final String TEXT_8 = NL;

+	protected final String TEXT_9 = NL + "\t@Deprecated";

+	protected final String TEXT_10 = NL + "\tpublic void testIsSet";

+	protected final String TEXT_11 = "()" + NL + "\t{";

+	protected final String TEXT_12 = NL + "\t}" + 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)

+		List<Object> isJDK50List = 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) {

+

+							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;

+

+							if (preCondition(ctx)) {

+								ctx.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_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);

+			parameterValues.put("isJDK50", this.isJDK50);

+			String outputWithCallBack = 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;

+	}

+

+	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);

+		return parameters;

+	}

+

+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

+

+		stringBuffer.append(TEXT_1);

+		stringBuffer.append(genFeature.getGenClass().getRawQualifiedInterfaceName());

+		stringBuffer.append(TEXT_2);

+		stringBuffer.append(genFeature.getAccessorName());

+		stringBuffer.append(TEXT_3);

+		stringBuffer.append(genFeature.getAccessorName());

+		stringBuffer.append(TEXT_4);

+		stringBuffer.append(genFeature.getGenClass().getRawQualifiedInterfaceName());

+		stringBuffer.append(TEXT_2);

+		stringBuffer.append(genFeature.getAccessorName());

+		stringBuffer.append(TEXT_5);

+		if (genFeature.hasAPITags()) {

+			stringBuffer.append(TEXT_6);

+			stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+		}

+		stringBuffer.append(TEXT_7);

+		if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) { //TestCase/isSetGenFeature.annotations.insert.javajetinc

+			stringBuffer.append(TEXT_8);

+			{

+				//<%@ 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,isJDK50:isJDK50"%>

+

+				InternalPatternContext ictx = (InternalPatternContext) 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);

+				CallHelper.executeWithParameterInjection(

+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_1CMDcGJ-Ed-FqczH3ESmRw",

+						new ExecutionContext((InternalPatternContext) ctx), callParameters);

+				stringBuffer.setLength(0);

+			}

+

+		}

+		if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_9);

+		}

+		stringBuffer.append(TEXT_10);

+		stringBuffer.append(genFeature.getAccessorName());

+		stringBuffer.append(TEXT_11);

+		stringBuffer.append(TEXT_8);

+		{

+			//<%@ 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,isJDK50:isJDK50"%>

+

+			InternalPatternContext ictx = (InternalPatternContext) 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);

+			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_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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasesetGenFeatureTODOoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasesetGenFeatureTODOoverride.java
new file mode 100644
index 0000000..3570fea
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasesetGenFeatureTODOoverride.java
@@ -0,0 +1,162 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.tests.call.TestCase;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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;

+

+	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)

+		List<Object> isJDK50List = 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) {

+

+							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;

+

+							if (preCondition(ctx)) {

+								ctx.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_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);

+			String outputWithCallBack = 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;

+	}

+

+	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);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasesetGenFeatureannotationsinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasesetGenFeatureannotationsinsert.java
new file mode 100644
index 0000000..9be5094
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasesetGenFeatureannotationsinsert.java
@@ -0,0 +1,160 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.tests.call.TestCase;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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)

+		List<Object> isJDK50List = 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) {

+

+							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;

+

+							if (preCondition(ctx)) {

+								ctx.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);

+			String outputWithCallBack = 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;

+	}

+

+	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);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasesetGenFeatureoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasesetGenFeatureoverride.java
new file mode 100644
index 0000000..9750bc2
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasesetGenFeatureoverride.java
@@ -0,0 +1,243 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.tests.call.TestCase;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 = ")";

+	protected final String TEXT_7 = NL + "\t * ";

+	protected final String TEXT_8 = NL + "\t * @generated" + NL + "\t */";

+	protected final String TEXT_9 = NL;

+	protected final String TEXT_10 = NL + "\t@Deprecated";

+	protected final String TEXT_11 = NL + "\tpublic void testSet";

+	protected final String TEXT_12 = "()" + NL + "\t{";

+	protected final String TEXT_13 = NL + "\t}" + NL;

+	protected final String TEXT_14 = 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)

+		List<Object> isJDK50List = 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) {

+

+							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;

+

+							if (preCondition(ctx)) {

+								ctx.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_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("genFeature", this.genFeature);

+			parameterValues.put("genClass", this.genClass);

+			parameterValues.put("genPackage", this.genPackage);

+			parameterValues.put("genModel", this.genModel);

+			parameterValues.put("isJDK50", this.isJDK50);

+			String outputWithCallBack = 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;

+	}

+

+	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);

+		return parameters;

+	}

+

+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

+

+		stringBuffer.append(TEXT_1);

+		stringBuffer.append(genFeature.getGenClass().getRawQualifiedInterfaceName());

+		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().getRawQualifiedInterfaceName());

+		stringBuffer.append(TEXT_2);

+		stringBuffer.append(genFeature.getAccessorName());

+		stringBuffer.append(TEXT_3);

+		stringBuffer.append(genFeature.getRawBoundType());

+		stringBuffer.append(TEXT_6);

+		if (genFeature.hasAPITags()) {

+			stringBuffer.append(TEXT_7);

+			stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+		}

+		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,isJDK50:isJDK50"%>

+

+				InternalPatternContext ictx = (InternalPatternContext) 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);

+				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);

+			}

+

+		}

+		if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_10);

+		}

+		stringBuffer.append(TEXT_11);

+		stringBuffer.append(genFeature.getAccessorName());

+		stringBuffer.append(TEXT_12);

+		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.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>

+

+			InternalPatternContext ictx = (InternalPatternContext) 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);

+			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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseunsetGenFeatureTODOoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseunsetGenFeatureTODOoverride.java
new file mode 100644
index 0000000..9e4d1da
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseunsetGenFeatureTODOoverride.java
@@ -0,0 +1,162 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.tests.call.TestCase;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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;

+

+	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)

+		List<Object> isJDK50List = 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) {

+

+							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;

+

+							if (preCondition(ctx)) {

+								ctx.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_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);

+			String outputWithCallBack = 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;

+	}

+

+	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);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseunsetGenFeatureannotationsinsert.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseunsetGenFeatureannotationsinsert.java
new file mode 100644
index 0000000..68d7aa5
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseunsetGenFeatureannotationsinsert.java
@@ -0,0 +1,160 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.tests.call.TestCase;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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)

+		List<Object> isJDK50List = 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) {

+

+							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;

+

+							if (preCondition(ctx)) {

+								ctx.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);

+			String outputWithCallBack = 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;

+	}

+

+	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);

+		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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseunsetGenFeatureoverride.java b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseunsetGenFeatureoverride.java
new file mode 100644
index 0000000..76fc8e6
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseunsetGenFeatureoverride.java
@@ -0,0 +1,238 @@
+//Generated with EGF 1.6.1.201902111324

+package org.eclipse.egf.emf.pattern.tests.call.TestCase;

+

+import org.eclipse.egf.emf.pattern.base.*;

+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;

+import org.eclipse.emf.codegen.ecore.genmodel.*;

+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

+import org.eclipse.emf.codegen.util.*;

+import org.eclipse.emf.ecore.util.*;

+import org.eclipse.emf.common.util.*;

+import org.eclipse.egf.common.helper.*;

+import java.util.*;

+import 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 = "()";

+	protected final String TEXT_6 = NL + "\t * ";

+	protected final String TEXT_7 = NL + "\t * @generated" + NL + "\t */";

+	protected final String TEXT_8 = NL;

+	protected final String TEXT_9 = NL + "\t@Deprecated";

+	protected final String TEXT_10 = NL + "\tpublic void testUnset";

+	protected final String TEXT_11 = "()" + NL + "\t{";

+	protected final String TEXT_12 = NL + "\t}" + 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)

+		List<Object> isJDK50List = 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) {

+

+							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;

+

+							if (preCondition(ctx)) {

+								ctx.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_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);

+			parameterValues.put("isJDK50", this.isJDK50);

+			String outputWithCallBack = 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;

+	}

+

+	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);

+		return parameters;

+	}

+

+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

+

+		stringBuffer.append(TEXT_1);

+		stringBuffer.append(genFeature.getGenClass().getRawQualifiedInterfaceName());

+		stringBuffer.append(TEXT_2);

+		stringBuffer.append(genFeature.getAccessorName());

+		stringBuffer.append(TEXT_3);

+		stringBuffer.append(genFeature.getAccessorName());

+		stringBuffer.append(TEXT_4);

+		stringBuffer.append(genFeature.getGenClass().getRawQualifiedInterfaceName());

+		stringBuffer.append(TEXT_2);

+		stringBuffer.append(genFeature.getAccessorName());

+		stringBuffer.append(TEXT_5);

+		if (genFeature.hasAPITags()) {

+			stringBuffer.append(TEXT_6);

+			stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));

+		}

+		stringBuffer.append(TEXT_7);

+		if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) { //TestCase/unsetGenFeature.annotations.insert.javajetinc

+			stringBuffer.append(TEXT_8);

+			{

+				//<%@ 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,isJDK50:isJDK50"%>

+

+				InternalPatternContext ictx = (InternalPatternContext) 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);

+				CallHelper.executeWithParameterInjection(

+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_1BcckGJ-Ed-FqczH3ESmRw",

+						new ExecutionContext((InternalPatternContext) ctx), callParameters);

+				stringBuffer.setLength(0);

+			}

+

+		}

+		if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {

+			stringBuffer.append(TEXT_9);

+		}

+		stringBuffer.append(TEXT_10);

+		stringBuffer.append(genFeature.getAccessorName());

+		stringBuffer.append(TEXT_11);

+		stringBuffer.append(TEXT_8);

+		{

+			//<%@ 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,isJDK50:isJDK50"%>

+

+			InternalPatternContext ictx = (InternalPatternContext) 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);

+			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_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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/org.eclipse.emf.codegen.ecore.patch b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/org.eclipse.emf.codegen.ecore.patch
new file mode 100644
index 0000000..90fe9ba
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/org.eclipse.emf.codegen.ecore.patch
@@ -0,0 +1,24 @@
+diff --git a/plugins/org.eclipse.emf.codegen.ecore/templates/model/Class.javajet b/plugins/org.eclipse.emf.codegen.ecore/templates/model/Class.javajet
+index 48d03c8..b578b58 100644
+--- a/plugins/org.eclipse.emf.codegen.ecore/templates/model/Class.javajet
++++ b/plugins/org.eclipse.emf.codegen.ecore/templates/model/Class.javajet
+@@ -16,7 +16,7 @@
+ <%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 useInterfaceOverrideAnnotation = genModel.useInterfaceOverrideAnnotation() && !(isInterface && isImplementation);%>
+ <%final boolean isGWT = genModel.getRuntimePlatform() == GenRuntimePlatform.GWT;%>
+-<%final boolean forceDefaultCase = genModel.isSwitchMissingDefaultCase();String indentDefaultCase = forceDefaultCase ? "\t\t" : "";%>
++<%final boolean forceDefaultCase = genModel.isSwitchMissingDefaultCase();final String indentDefaultCase = forceDefaultCase ? "\t\t" : "";%>
+ <%final String publicStaticFinalFlag = isImplementation ? "public static final " : "";%>
+ <%final String singleWildcard = isJDK50 ? "<?>" : "";%>
+ <%final String negativeOffsetCorrection = genClass.hasOffsetCorrection() ? " - " + genClass.getOffsetCorrectionField(null) : "";%>
+@@ -502,7 +502,10 @@
+ 	 */
+ 	<%if (genModel.isPublicConstructors()) {%>public<%} else {%>protected<%}%> <%=genClass.getClassName()%>()
+ 	{
++<%@ include file="Class/egfCustom.constructor.override.javajetinc" fail="alternative" %>
++<%@ start %>
+ 		super();
++<%@ end %>
+   <%for (GenFeature genFeature : genClass.getFlagGenFeaturesWithDefault()) {%>
+ 		<%=genClass.getFlagsField(genFeature)%> |= <%=genFeature.getUpperName()%>_EFLAG<%if (!genFeature.isBooleanType()) {%>_DEFAULT<%}%>;
+   <%}%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/plugin.properties b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/plugin.properties
new file mode 100644
index 0000000..3747c7c
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/plugin.properties
@@ -0,0 +1,13 @@
+##

+#  Copyright (c) 2009-2010 Thales Corporate Services S.A.S.

+#  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:

+#      Thales Corporate Services S.A.S - initial API and implementation

+##

+

+pluginName=EGF EMF Pattern

+providerName=Eclipse Modeling Project
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/plugin.xml b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/plugin.xml
new file mode 100644
index 0000000..e7336fa
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/plugin.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<?eclipse version="3.2"?>

+<!--

+     Copyright (c) 2009-2010 Thales Corporate Services S.A.S.

+     This program and the accompanying materials

+     are made available under the terms of the Eclipse Public License 2.0

+     which accompanies this distribution, and is available at

+     https://www.eclipse.org/legal/epl-2.0/

+

+     SPDX-License-Identifier: EPL-2.0

+    

+     Contributors:

+         Thales Corporate Services S.A.S - initial API and implementation

+ -->

+ 

+<plugin>

+   <extension

+         point="org.eclipse.egf.core.fcore">

+      <fcore

+            id="egf/EMF_Pattern.fcore">

+      </fcore>

+   </extension>

+

+  

+</plugin>

diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._0-6F-2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._0-6F-2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..de5a4ae
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._0-6F-2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,5 @@
+
+
+		// TODO: implement this feature setter test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._0-6F82J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._0-6F82J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._0-6F82J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._0-6F8mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._0-6F8mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._0-6F8mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._0-6F9WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._0-6F9WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._0-6F9WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._CStaNHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._CStaNHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._CStaNHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._0-KfE2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._0-KfE2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._0-KfE2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._0-KfEmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._0-KfEmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._0-KfEmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._0-KfFWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._0-KfFWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._0-KfFWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._0-KfG2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._0-KfG2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._0-KfG2J-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._CLQuZHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._CLQuZHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._CLQuZHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._0-UQE2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._0-UQE2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._0-UQE2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._0-UQEmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._0-UQEmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._0-UQEmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._0-UQFWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._0-UQFWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._0-UQFWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._0-UQG2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._0-UQG2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..42821b4
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._0-UQG2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,5 @@
+
+
+		// TODO: implement this feature getter test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._CMmyNHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._CMmyNHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._CMmyNHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._0-daA2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._0-daA2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._0-daA2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._0-daAmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._0-daAmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._0-daAmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._0-daBWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._0-daBWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._0-daBWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._0-daC2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._0-daC2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..f6550dc
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._0-daC2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,23 @@
+
+
+
+	/**
+	 * Tests the '{@link <%=genFeature.getGenClass().getRawQualifiedInterfaceName()%>#set<%=genFeature.getAccessorName()%>(<%=genFeature.getRawBoundType()%>) <em><%=genFeature.getFormattedName()%></em>}' feature setter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see <%=genFeature.getGenClass().getRawQualifiedInterfaceName()%>#set<%=genFeature.getAccessorName()%>(<%=genFeature.getRawBoundType()%>)
+      <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+      <%}%>
+	 * @generated
+	 */
+      <%if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) { //TestCase/setGenFeature.annotations.insert.javajetinc%>
+<%@ 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,isJDK50:isJDK50"%>
+      <%}%>
+      <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+      <%}%>
+	public void testSet<%=genFeature.getAccessorName()%>()
+	{
+<%@ 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,isJDK50:isJDK50"%><%//TestCase/setGenFeature.todo.override.javajetinc%>
+	}
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._CPu-tHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._CPu-tHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._CPu-tHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._0-wU-2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._0-wU-2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._0-wU-2J-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._0-wU82J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._0-wU82J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._0-wU82J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._0-wU8mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._0-wU8mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._0-wU8mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._0-wU9WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._0-wU9WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._0-wU9WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._CRq4ZHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._CRq4ZHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._CRq4ZHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._00Bro2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._00Bro2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._00Bro2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._00BromJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._00BromJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._00BromJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._00BrpWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._00BrpWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._00BrpWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._00BrsmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._00BrsmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..592e957
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._00BrsmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,19 @@
+
+
+	/**
+	 * Unsets the value of the '{@link <%=genClass.getRawQualifiedInterfaceName()%>#<%=genFeature.getGetAccessor()%> <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%>.
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+  <%if (!genFeature.isSuppressedIsSetVisibility()) {%>
+	 * @see #isSet<%=genFeature.getAccessorName()%>()
+  <%}%>
+	 * @see #<%=genFeature.getGetAccessor()%>()
+  <%if (!genFeature.isListType() && !genFeature.isSuppressedSetVisibility()) {%>
+	 * @see #set<%=genFeature.getAccessorName()%>(<%=genFeature.getRawImportedBoundType()%>)
+  <%}%>
+  <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+  <%}%>
+	 * @generated
+	 */
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._BW9jpHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._BW9jpHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._BW9jpHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._00Lco2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._00Lco2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._00Lco2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._00LcomJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._00LcomJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._00LcomJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._00LcpWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._00LcpWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._00LcpWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._00LcsmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._00LcsmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._00LcsmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._BX27hHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._BX27hHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._BX27hHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._00VNo2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._00VNo2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._00VNo2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._00VNomJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._00VNomJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._00VNomJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._00VNpWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._00VNpWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._00VNpWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._00VNsmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._00VNsmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._00VNsmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._BY5dVHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._BY5dVHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._BY5dVHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._00eXk2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._00eXk2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._00eXk2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._00eXkmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._00eXkmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._00eXkmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._00eXlWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._00eXlWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._00eXlWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._00eXomJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._00eXomJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..bebddb5
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._00eXomJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,5 @@
+
+
+		// TODO: implement this method to unset the '<%=genFeature.getFormattedName()%>' <%=genFeature.getFeatureKind()%>
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._BZy1NHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._BZy1NHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._BZy1NHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._00oIk2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._00oIk2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._00oIk2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._00oIkmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._00oIkmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._00oIkmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._00oIlWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._00oIlWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._00oIlWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._00oIomJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._00oIomJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..beb0420
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._00oIomJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,64 @@
+
+
+<%if (isInterface) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/isSetGenFeature.javadoc.override.javajetinc%>
+<%} else {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+    <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
+<%if (isJDK50) { //Class/isSetGenFeature.annotations.insert.javajetinc%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+<%}%>
+<%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+<%}%>
+<%if (!isImplementation) {%>
+	boolean isSet<%=genFeature.getAccessorName()%>();
+
+<%} else {%>
+  <%if (useInterfaceOverrideAnnotation  && !genClass.isMapEntry() && !genClass.hasCollidingIsSetAccessorOperation(genFeature) && !genFeature.isSuppressedIsSetVisibility()) {%>
+	@Override
+  <%}%>
+	public boolean isSet<%=genFeature.getAccessorName()%><%if (genClass.hasCollidingIsSetAccessorOperation(genFeature)) {%>_<%}%>()
+	{
+    <%if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) {%>
+		return eDynamicIsSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%if (genClass.hasStaticFeatures()){%> - ESTATIC_FEATURE_COUNT<%}%>, <%=genFeature.getQualifiedFeatureAccessor()%>);
+    <%} else if (genModel.isReflectiveDelegation()) {%>
+		return eIsSet(<%=genFeature.getQualifiedFeatureAccessor()%>);
+    <%} else if (genFeature.hasSettingDelegate()) {%>
+		return <%=genFeature.getUpperName()%>__ESETTING_DELEGATE.dynamicIsSet(this, null, 0);
+    <%} else if (!genFeature.isVolatile()) {%>
+      <%if (genFeature.isListType()) {%>
+        <%if (genModel.isVirtualDelegation()) {%>
+		<%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+        <%}%>
+		return <%=genFeature.getSafeName()%> != null && ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList")%>.Unsettable<%=singleWildcard%>)<%=genFeature.getSafeName()%>).isSet();
+      <%} else {%>
+        <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>
+		return eVirtualIsSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+        <%} else if (genClass.isESetFlag(genFeature)) {%>
+		return (<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0;
+        <%} else {%>
+		return <%=genFeature.getUncapName()%>ESet;
+        <%}%>
+      <%}%>
+    <%} else if (genFeature.hasDelegateFeature()) { GenFeature delegateFeature = genFeature.getDelegateFeature();%>
+      <%if (delegateFeature.isWrappedFeatureMapType()) {%>
+		return !((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)get<%=delegateFeature.getAccessorName()%>()).featureMap()).isEmpty(<%=genFeature.getQualifiedFeatureAccessor()%>);
+      <%} else {%>
+		return !((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)get<%=delegateFeature.getAccessorName()%>()).isEmpty(<%=genFeature.getQualifiedFeatureAccessor()%>);
+      <%}%>
+    <%} else if (genClass.getIsSetAccessorOperation(genFeature) != null) {%>
+		<%=genClass.getIsSetAccessorOperation(genFeature).getBody(genModel.getIndentation(stringBuffer))%>
+    <%} else {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/isSetGenFeature.todo.override.javajetinc%>
+    <%}%>
+	}
+
+<%}%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._BaPhJHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._BaPhJHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._BaPhJHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._00x5k2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._00x5k2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._00x5k2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._00x5kmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._00x5kmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._00x5kmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._00x5lWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._00x5lWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._00x5lWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._00x5omJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._00x5omJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..cb31135
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._00x5omJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,20 @@
+
+
+	/**
+	 * Returns whether the value of the '{@link <%=genClass.getRawQualifiedInterfaceName()%>#<%=genFeature.getGetAccessor()%> <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%> is set.
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return whether the value of the '<em><%=genFeature.getFormattedName()%></em>' <%=genFeature.getFeatureKind()%> is set.
+    <%if (genFeature.isChangeable() && !genFeature.isSuppressedUnsetVisibility()) {%>
+	 * @see #unset<%=genFeature.getAccessorName()%>()
+    <%}%>
+	 * @see #<%=genFeature.getGetAccessor()%>()
+    <%if (!genFeature.isListType() && genFeature.isChangeable() && !genFeature.isSuppressedSetVisibility()) {%>
+	 * @see #set<%=genFeature.getAccessorName()%>(<%=genFeature.getRawImportedBoundType()%>)
+    <%}%>
+    <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._BbSC9HLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._BbSC9HLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._BbSC9HLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._01-MY2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._01-MY2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._01-MY2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._01-MYmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._01-MYmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._01-MYmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._01-MZWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._01-MZWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._01-MZWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._01-McmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._01-McmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e508431
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._01-McmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,126 @@
+
+
+  <%if (isImplementation) {%>
+    <%if (genOperation.isInvariant() && genOperation.hasInvariantExpression()) {%>
+	/**
+	 * The cached validation expression for the '{@link #<%=genOperation.getName()%>(<%=genOperation.getParameterTypes(", ")%>) <em><%=genOperation.getFormattedName()%></em>}' invariant operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #<%=genOperation.getName()%>(<%=genOperation.getParameterTypes(", ")%>)
+      <%if (genOperation.hasAPITags()) {%>
+	 * <%=genOperation.getAPITags(genModel.getIndentation(stringBuffer))%>
+      <%}%>
+	 * @generated
+	 * @ordered
+	 */
+      <%if (isJDK50 && genOperation.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+      <%}%>
+	protected static final <%=genModel.getImportedName("java.lang.String")%> <%=CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale())%>__EEXPRESSION = "<%=genOperation.getInvariantExpression("\t\t")%>";<%=genModel.getNonNLS()%>
+
+    <%} else if (genOperation.hasInvocationDelegate()) {%>
+	/**
+	 * The cached invocation delegate for the '{@link #<%=genOperation.getName()%>(<%=genOperation.getParameterTypes(", ")%>) <em><%=genOperation.getFormattedName()%></em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #<%=genOperation.getName()%>(<%=genOperation.getParameterTypes(", ")%>)
+      <%if (genOperation.hasAPITags()) {%>
+	 * <%=genOperation.getAPITags(genModel.getIndentation(stringBuffer))%>
+      <%}%>
+	 * @generated
+	 * @ordered
+	 */
+      <%if (isJDK50 && genOperation.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+      <%}%>
+	protected static final <%=genModel.getImportedName("org.eclipse.emf.ecore.EOperation")%>.Internal.InvocationDelegate <%=CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale())%>__EINVOCATION_DELEGATE = ((<%=genModel.getImportedName("org.eclipse.emf.ecore.EOperation")%>.Internal)<%=genOperation.getQualifiedOperationAccessor()%>).getInvocationDelegate();
+
+    <%}%>
+  <%}%>
+<%if (isInterface) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/genOperation.javadoc.override.javajetinc%>
+<%} else {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+      <%if (genOperation.hasAPITags()) {%>
+	 * <%=genOperation.getAPITags(genModel.getIndentation(stringBuffer))%>
+      <%}%>
+	 * @generated
+	 */
+<%if (isJDK50) { //Class/genOperation.annotations.insert.javajetinc%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+<%}%>
+<%if (isJDK50 && genOperation.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+<%}%>
+<%if (!isImplementation) {%>
+	<%=genOperation.getTypeParameters(genClass)%><%=genOperation.getImportedType(genClass)%> <%=genOperation.getName()%>(<%=genOperation.getParameters(genClass)%>)<%=genOperation.getThrows(genClass)%>;
+
+<%} else {%>
+  <%if (genModel.useGenerics() && !genOperation.hasBody() && !genOperation.isInvariant() && genOperation.hasInvocationDelegate() && genOperation.isUncheckedCast(genClass)) {%>
+	@SuppressWarnings("unchecked")
+  <%}%>
+  <%if (useInterfaceOverrideAnnotation && !genClass.isMapEntry() && !genOperation.isSuppressedVisibility()) {%>
+	@Override
+  <%}%>
+	public <%=genOperation.getTypeParameters(genClass)%><%=genOperation.getImportedType(genClass)%> <%=genOperation.getName()%>(<%=genOperation.getParameters(isImplementation, genClass)%>)<%=genOperation.getThrows(genClass)%>
+	{
+  <%if (genOperation.hasBody()) {%>
+		<%=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()) {%>
+		return
+			<%=opClass.getGenPackage().getImportedValidatorClassName()%>.validate
+				(<%=genClass.getQualifiedClassifierAccessor()%>,
+				 this,
+				 <%=diagnostics%>,
+				 <%=context%>,
+				 "<%=genOperation.getValidationDelegate()%>",<%=genModel.getNonNLS()%>
+				 <%=genOperation.getQualifiedOperationAccessor()%>,
+				 <%=CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale())%>__EEXPRESSION,
+				 <%=genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")%>.ERROR,
+				 <%=opClass.getGenPackage().getImportedValidatorClassName()%>.DIAGNOSTIC_SOURCE,
+				 <%=opClass.getGenPackage().getImportedValidatorClassName()%>.<%=opClass.getOperationID(genOperation)%>);
+    <%} else {%>
+		// TODO: implement this method
+		// -> specify the condition that violates the invariant
+		// -> verify the details of the diagnostic, including severity and message
+		// Ensure that you remove @generated or mark it @generated NOT
+		if (false)
+		{
+			if (<%=diagnostics%> != null)
+			{
+				<%=diagnostics%>.add
+					(new <%=genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic")%>
+						(<%=genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")%>.ERROR,
+						 <%=opClass.getGenPackage().getImportedValidatorClassName()%>.DIAGNOSTIC_SOURCE,
+						 <%=opClass.getGenPackage().getImportedValidatorClassName()%>.<%=opClass.getOperationID(genOperation)%>,
+						 <%=genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin")%>.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "<%=genOperation.getName()%>", <%=genModel.getImportedName("org.eclipse.emf.ecore.util.EObjectValidator")%>.getObjectLabel(this, <%=context%>) }),<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+						 new Object [] { this }));
+			}
+			return false;
+		}
+		return true;
+    <%}%>
+  <%} else if (genOperation.hasInvocationDelegate()) { int size = genOperation.getGenParameters().size();%>
+		try
+		{
+    <%if (genOperation.isVoid()) {%>
+			<%=CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale())%>__EINVOCATION_DELEGATE.dynamicInvoke(this, <%if (size > 0) {%>new <%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%>.UnmodifiableEList<Object>(<%=size%>, <%=genOperation.getParametersArray(genClass)%>)<%} else {%>null<%}%>);
+    <%} else {%>
+			return <%if (!isJDK50 && genOperation.isPrimitiveType()) {%>(<%}%>(<%=genOperation.getObjectType(genClass)%>)<%=CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale())%>__EINVOCATION_DELEGATE.dynamicInvoke(this, <%if (size > 0) {%>new <%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%>.UnmodifiableEList<Object>(<%=size%>, <%=genOperation.getParametersArray(genClass)%>)<%} else {%>null<%}%>)<%if (!isJDK50 && genOperation.isPrimitiveType()) {%>).<%=genOperation.getPrimitiveValueFunction()%>()<%}%>;
+    <%}%>
+		}
+		catch (<%=genModel.getImportedName(isGWT ? "org.eclipse.emf.common.util.InvocationTargetException" : "java.lang.reflect.InvocationTargetException")%> ite)
+		{
+			throw new <%=genModel.getImportedName("org.eclipse.emf.common.util.WrappedException")%>(ite);
+		}
+  <%} else {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/implementedGenOperation.todo.override.javajetinc%>
+  <%}%>
+	}
+
+<%}%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._BiI45HLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._BiI45HLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._BiI45HLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._010bY2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._010bY2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._010bY2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._010bYmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._010bYmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._010bYmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._010bZWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._010bZWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._010bZWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._010bcmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._010bcmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._010bcmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._BgWJJHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._BgWJJHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._BgWJJHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._01N-c2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._01N-c2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._01N-c2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._01N-cmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._01N-cmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._01N-cmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._01N-dWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._01N-dWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._01N-dWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._01N-gmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._01N-gmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._01N-gmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._BcoGxHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._BcoGxHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._BcoGxHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._01hgc2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._01hgc2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._01hgc2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._01hgcmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._01hgcmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._01hgcmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._01hgdWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._01hgdWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._01hgdWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._01hggmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._01hggmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._01hggmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._Bd9jhHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._Bd9jhHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._Bd9jhHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._01qqY2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._01qqY2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._01qqY2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._01qqYmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._01qqYmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._01qqYmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._01qqZWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._01qqZWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._01qqZWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._01qqcmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._01qqcmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..b837f39
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._01qqcmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,5 @@
+
+
+		// TODO: implement this method to return whether the '<%=genFeature.getFormattedName()%>' <%=genFeature.getFeatureKind()%> is set
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._BfAsZHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._BfAsZHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._BfAsZHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._0229M2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._0229M2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._0229M2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._0229MmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._0229MmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._0229MmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._0229NWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._0229NWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._0229NWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._0229QmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._0229QmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..fc18b0e
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._0229QmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,5 @@
+
+
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._Bn8l9HLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._Bn8l9HLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._Bn8l9HLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._02HWU2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._02HWU2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._02HWU2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._02HWUmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._02HWUmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._02HWUmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._02HWVWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._02HWVWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._02HWVWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._02HWYmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._02HWYmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..79b2cdc
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._02HWYmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,32 @@
+
+
+	/**
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+  <%if (genOperation.hasDocumentation() || genOperation.hasParameterDocumentation()) {%>
+	 * <!-- begin-model-doc -->
+    <%if (genOperation.hasDocumentation()) {%>
+	 * <%=genOperation.getDocumentation(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+    <%for (GenParameter genParameter : genOperation.getGenParameters()) {%>
+      <%if (genParameter.hasDocumentation()) { String documentation = genParameter.getDocumentation("");%>
+        <%if (documentation.contains("\n") || documentation.contains("\r")) {%>
+	 * @param <%=genParameter.getName()%>
+	 *   <%=genParameter.getDocumentation(genModel.getIndentation(stringBuffer))%>
+        <%} else {%>
+	 * @param <%=genParameter.getName()%> <%=genParameter.getDocumentation(genModel.getIndentation(stringBuffer))%>
+        <%}%>
+      <%}%>
+    <%}%>
+	 * <!-- end-model-doc -->
+  <%}%>
+  <%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;%>
+	 * @model <%=modelInfo%>
+  <%} else {%>
+	 *        <%=modelInfo%>
+  <%}} if (first) {%>
+	 * @model
+  <%}}%>
+	 * @generated
+	 */
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._Bjx3pHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._Bjx3pHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._Bjx3pHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._02kCQ2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._02kCQ2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._02kCQ2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._02kCQmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._02kCQmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._02kCQmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._02kCRWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._02kCRWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._02kCRWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._02kCUmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._02kCUmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._02kCUmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._BlkAVHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._BlkAVHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._BlkAVHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._02tzQ2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._02tzQ2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._02tzQ2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._02tzQmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._02tzQmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._02tzQmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._02tzRWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._02tzRWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._02tzRWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._02tzUmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._02tzUmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._02tzUmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._BnDOFHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._BnDOFHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._BnDOFHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._036GE2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._036GE2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._036GE2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._036GEmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._036GEmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._036GEmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._036GFWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._036GFWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._036GFWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._036GIGJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._036GIGJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7f68806
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._036GIGJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,13 @@
+
+
+				newChildDescriptors.add
+					(createChildParameter
+						(<%=createFeature.getQualifiedFeatureAccessor()%>,
+						 <%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMapUtil")%>.createEntry
+							(<%=delegatedFeature.getQualifiedFeatureAccessor()%>,
+          <%if (createClass.isMapEntry()) { %>
+							 <%=createClass.getGenPackage().getQualifiedEFactoryInstanceAccessor()%>.create(<%=createClass.getQualifiedClassifierAccessor()%>))));
+          <%} else {%>
+							 <%=createClass.getGenPackage().getQualifiedFactoryInstanceAccessor()%>.create<%=createClass.getName()%>())));
+          <%}%>
+<%@ 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,isJDK50:isJDK50"%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._Bx7oZHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._Bx7oZHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._Bx7oZHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._03AuM2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._03AuM2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._03AuM2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._03AuMmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._03AuMmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._03AuMmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._03AuNWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._03AuNWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._03AuNWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._03AuQmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._03AuQmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._03AuQmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._BpSpxHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._BpSpxHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._BpSpxHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._03KfM2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._03KfM2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._03KfM2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._03KfMmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._03KfMmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._03KfMmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._03KfNWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._03KfNWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._03KfNWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._03KfQWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._03KfQWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..703dd2c
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._03KfQWJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,54 @@
+
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	public void eUnset(int featureID)
+	{
+		switch (featureID<%=negativeOffsetCorrection%>)
+		{
+  <%for (GenFeature genFeature : genClass.getEUnsetGenFeatures()) {%>
+			case <%=genClass.getQualifiedFeatureID(genFeature)%>:
+    <%if (genFeature.isListType() && !genFeature.isUnsettable()) {%>
+      <%if (genFeature.isWrappedFeatureMapType()) {%>
+				((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)<%=genFeature.getGetAccessor()%>()).featureMap().clear();
+      <%} else {%>
+				<%=genFeature.getGetAccessor()%>().clear();
+      <%}%>
+    <%} else if (genFeature.isUnsettable()) {%>
+				unset<%=genFeature.getAccessorName()%>();
+    <%} else if (!genFeature.hasEDefault()) {%>
+				set<%=genFeature.getAccessorName()%>((<%=genFeature.getImportedType(genClass)%>)null);
+    <%} else if (genFeature.hasSettingDelegate()) {%>
+				<%=genFeature.getUpperName()%>__ESETTING_DELEGATE.dynamicUnset(this, null, 0);
+    <%} else {%>
+				set<%=genFeature.getAccessorName()%>(<%=genFeature.getEDefault()%>);
+    <%}%>
+				return;
+  <%}%>
+<%if (forceDefaultCase) {%>
+			default:
+<%} else { // {%>
+		}
+<%}%>
+  <%if (genModel.isMinimalReflectiveMethods()) {%>
+<%=indentDefaultCase%>		super.eUnset(featureID);
+<%if (forceDefaultCase) {%>
+				return;
+<%}%>
+  <%} else {%>
+<%=indentDefaultCase%>		eDynamicUnset(featureID);
+<%if (forceDefaultCase) {%>
+				return;
+<%}%>
+  <%}%>
+<%if (forceDefaultCase) { // {%>
+		}
+<%} // }%>
+	}
+
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._BqoGhHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._BqoGhHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._BqoGhHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._03TpI2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._03TpI2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._03TpI2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._03TpImJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._03TpImJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._03TpImJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._03TpJWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._03TpJWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._03TpJWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._03TpMWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._03TpMWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..4b6981b
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._03TpMWJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,116 @@
+
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useGenerics()) {%>
+    <%for (GenFeature genFeature : genClass.getEIsSetGenFeatures()) {%>
+      <%if (genFeature.isListType() && !genFeature.isUnsettable() && !genFeature.isWrappedFeatureMapType() && !genClass.isField(genFeature) && genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {%>
+	@SuppressWarnings("unchecked")
+      <%break; }%>
+    <%}%>
+  <%}%>
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	public boolean eIsSet(int featureID)
+	{
+		switch (featureID<%=negativeOffsetCorrection%>)
+		{
+<%for (GenFeature genFeature : genClass.getEIsSetGenFeatures()) { String safeNameAccessor = genFeature.getSafeName(); if ("featureID".equals(safeNameAccessor)) { safeNameAccessor = "this." + safeNameAccessor; }%>
+			case <%=genClass.getQualifiedFeatureID(genFeature)%>:
+  <%if (genFeature.hasSettingDelegate()) {%>
+    <%if (genFeature.isUnsettable()) {%>
+				return isSet<%=genFeature.getAccessorName()%>();
+    <%} else {%>
+				return <%=genFeature.getUpperName()%>__ESETTING_DELEGATE.dynamicIsSet(this, null, 0);
+    <%}%>
+  <%} else if (genFeature.isListType() && !genFeature.isUnsettable()) {%>
+    <%if (genFeature.isWrappedFeatureMapType()) {%>
+      <%if (genFeature.isVolatile()) {%>
+				return !((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)<%=genFeature.getGetAccessor()%>()).featureMap().isEmpty();
+      <%} else {%>
+				return <%=safeNameAccessor%> != null && !<%=safeNameAccessor%>.featureMap().isEmpty();
+      <%}%>
+    <%} else {%>
+      <%if (genClass.isField(genFeature)) {%>
+				return <%=safeNameAccessor%> != null && !<%=safeNameAccessor%>.isEmpty();
+      <%} else {%>
+        <%if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {%>
+				<%=genFeature.getImportedType(genClass)%> <%=safeNameAccessor%> = (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+				return <%=safeNameAccessor%> != null && !<%=safeNameAccessor%>.isEmpty();
+        <%} else {%>
+				return !<%=genFeature.getGetAccessor()%>().isEmpty();
+        <%}%>
+      <%}%>
+    <%}%>
+  <%} else if (genFeature.isUnsettable()) {%>
+				return isSet<%=genFeature.getAccessorName()%>();
+  <%} else if (genFeature.isResolveProxies()) {%>
+    <%if (genClass.isField(genFeature)) {%>
+				return <%=safeNameAccessor%> != null;
+    <%} else {%>
+      <%if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {%>
+				return eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>) != null;
+      <%} else {%>
+				return basicGet<%=genFeature.getAccessorName()%>() != null;
+      <%}%>
+    <%}%>
+  <%} else if (!genFeature.hasEDefault()) {%>
+    <%if (genClass.isField(genFeature)) {%>
+				return <%=safeNameAccessor%> != null;
+    <%} else {%>
+      <%if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {%>
+				return eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>) != null;
+      <%} else {%>
+				return <%=genFeature.getGetAccessor()%>() != null;
+      <%}%>
+    <%}%>
+  <%} else if (genFeature.isPrimitiveType() || genFeature.isEnumType()) {%>
+    <%if (genClass.isField(genFeature)) {%>
+      <%if (genClass.isFlag(genFeature)) {%>
+        <%if (genFeature.isBooleanType()) {%>
+				return ((<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) != 0) != <%=genFeature.getEDefault()%>;
+        <%} else {%>
+				return (<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) != <%=genFeature.getUpperName()%>_EFLAG_DEFAULT;
+        <%}%>
+      <%} else {%>
+				return <%=safeNameAccessor%> != <%=genFeature.getEDefault()%>;
+      <%}%>
+    <%} else {%>
+      <%if (genFeature.isEnumType() && genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {%>
+				return eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%=genFeature.getEDefault()%>) != <%=genFeature.getEDefault()%>;
+      <%} else {%>
+				return <%=genFeature.getGetAccessor()%>() != <%=genFeature.getEDefault()%>;
+      <%}%>
+    <%}%>
+  <%} else {//datatype%>
+    <%if (genClass.isField(genFeature)) {%>
+				return <%=genFeature.getEDefault()%> == null ? <%=safeNameAccessor%> != null : !<%=genFeature.getEDefault()%>.equals(<%=safeNameAccessor%>);
+    <%} else {%>
+      <%if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {%>
+				<%=genFeature.getImportedType(genClass)%> <%=safeNameAccessor%> = (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%=genFeature.getEDefault()%>);
+				return <%=genFeature.getEDefault()%> == null ? <%=safeNameAccessor%> != null : !<%=genFeature.getEDefault()%>.equals(<%=safeNameAccessor%>);
+      <%} else {%>
+				return <%=genFeature.getEDefault()%> == null ? <%=genFeature.getGetAccessor()%>() != null : !<%=genFeature.getEDefault()%>.equals(<%=genFeature.getGetAccessor()%>());
+      <%}%>
+    <%}%>
+  <%}%>
+<%}%>
+<%if (forceDefaultCase) {%>
+			default:
+<%} else { // {%>
+		}
+<%}%>
+<%if (genModel.isMinimalReflectiveMethods()) {%>
+<%=indentDefaultCase%>		return super.eIsSet(featureID);
+<%} else {%>
+<%=indentDefaultCase%>		return eDynamicIsSet(featureID);
+<%}%>
+<%if (forceDefaultCase) { // {%>
+		}
+<%} // }%>
+	}
+
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._BsH7VHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._BsH7VHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._BsH7VHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._03daI2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._03daI2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._03daI2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._03daImJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._03daImJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._03daImJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._03daJWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._03daJWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._03daJWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._03daMWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._03daMWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._03daMWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._BtAsJHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._BtAsJHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._BtAsJHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._03mkE2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._03mkE2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._03mkE2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._03mkFGJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._03mkFGJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._03mkFGJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._03mkFmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._03mkFmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._03mkFmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._03mkHWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._03mkHWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..4985f19
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._03mkHWJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,47 @@
+
+
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((<%=genModel.getImportedName("org.eclipse.emf.edit.provider.ComposeableAdapterFactory")%>)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_<%=genFeature.getGenClass().getName()%>_<%=genFeature.getName()%>_feature"),<%=genModel.getNonNLS()%>
+  <%if (genFeature.getPropertyDescription() == null || genFeature.getPropertyDescription().length() == 0) {%>
+				 getString("_UI_PropertyDescriptor_description", "_UI_<%=genFeature.getGenClass().getName()%>_<%=genFeature.getName()%>_feature", "_UI_<%=genFeature.getGenClass().getName()%>_type"),<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%><%=genModel.getNonNLS(3)%>
+  <%} else {%>
+				 getString("_UI_<%=genFeature.getGenClass().getName()%>_<%=genFeature.getName()%>_description"),<%=genModel.getNonNLS()%>
+  <%}%>
+				 <%=genFeature.getQualifiedFeatureAccessor()%>,
+				 <%=genFeature.getProperty() == GenPropertyKind.EDITABLE_LITERAL ? "true" : "false"%>,
+				 <%=genFeature.isPropertyMultiLine() ? "true" : "false"%>,
+				 <%=genFeature.isPropertySortChoices() ? "true" : "false"%>,
+  <%if (genFeature.isReferenceType()) {%>
+				 null,
+  <%} else {%>
+				 <%=genModel.getImportedName("org.eclipse.emf.edit.provider.ItemPropertyDescriptor")%>.<%=genFeature.getPropertyImageName()%>,
+  <%}%>
+  <%if (genFeature.getPropertyCategory() == null || genFeature.getPropertyCategory().length() == 0) {%>
+				 null,
+  <%} else {%>
+				 getString("<%=genModel.getPropertyCategoryKey(genFeature.getPropertyCategory())%>"),<%=genModel.getNonNLS()%>
+  <%}%>
+  <%if (genFeature.getPropertyFilterFlags().isEmpty()) {%>
+    <%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF214_VALUE && genFeature.getPropertyEditorFactory() != null && genFeature.getPropertyEditorFactory().trim().length() != 0) {%>
+				 null,
+				 <%=genModel.getImportedName("org.eclipse.emf.common.util.URI")%>.createURI(<%=org.eclipse.emf.codegen.ecore.genmodel.impl.Literals.toStringLiteral(genFeature.getPropertyEditorFactory().trim(), genModel)%>)));<%=genModel.getNonNLS()%>
+    <%} else {%>
+				 null));
+    <%}%>
+  <%} else {%>
+				 new String[] {
+    <%/*}*/for (Iterator<String> j = genFeature.getPropertyFilterFlags().iterator(); j.hasNext();) { String filterFlag = j.next();%>
+      <%if (filterFlag != null && filterFlag.length() > 0) {%>
+					"<%=filterFlag%>"<%if (j.hasNext()) {%>,<%}%><%=genModel.getNonNLS()%>
+      <%}%>
+    <%}%>
+    <%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF214_VALUE && genFeature.getPropertyEditorFactory() != null && genFeature.getPropertyEditorFactory().trim().length() != 0) { // {%>
+				 },
+				 <%=genModel.getImportedName("org.eclipse.emf.common.util.URI")%>.createURI(<%=org.eclipse.emf.codegen.ecore.genmodel.impl.Literals.toStringLiteral(genFeature.getPropertyEditorFactory().trim(), genModel)%>)));
+    <%} else { // {%>
+				 }));
+    <%}%>
+  <%}%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._BuWv9XLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._BuWv9XLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._BuWv9XLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._03wVE2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._03wVE2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._03wVE2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._03wVEmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._03wVEmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._03wVEmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._03wVFWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._03wVFWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._03wVFWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._03wVG2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._03wVG2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..1b4a935
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._03wVG2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,49 @@
+
+
+<%if (genModel.isStyleProviders()) {%>
+		return ((<%=genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString")%>)getStyledText(object)).getString();
+<%} else {%>
+<%if (genClass.isMapEntry()) {%>
+		<%=genClass.getImportedInterfaceName()%><%if (genModel.useGenerics()) {%><?, ?><%}%> <%=genClass.getSafeUncapName()%> = (<%=genClass.getImportedInterfaceName()%><%if (genModel.useGenerics()) {%><?, ?><%}%>)object;
+  <%if (!genClass.getMapEntryKeyFeature().isPropertyMultiLine() && !genClass.getMapEntryValueFeature().isPropertyMultiLine()) {%>
+		return "" + <%=genClass.getSafeUncapName()%>.getKey() + " -> " + <%=genClass.getSafeUncapName()%>.getValue();<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+  <%} else {%>
+    <%if (genClass.getMapEntryKeyFeature().isPropertyMultiLine()) {%>
+		String key = crop("" + <%=genClass.getSafeUncapName()%>.getKey());<%=genModel.getNonNLS()%>
+    <%} else {%>
+		String key = "" + <%=genClass.getSafeUncapName()%>.getKey();<%=genModel.getNonNLS()%>
+    <%}%>
+    <%if (genClass.getMapEntryValueFeature().isPropertyMultiLine()) {%>
+		String value = crop("" + <%=genClass.getSafeUncapName()%>.getValue());<%=genModel.getNonNLS()%>
+    <%} else {%>
+		String value = "" + <%=genClass.getSafeUncapName()%>.getValue();<%=genModel.getNonNLS()%>
+    <%}%>
+		return key + " -> " + value;<%=genModel.getNonNLS()%>
+  <%}%>
+<%} else if (genClass.getLabelFeature() != null) { GenFeature labelFeature = genClass.getLabelFeature();%>
+  <%if (labelFeature.isPrimitiveType() && !labelFeature.getGenClass().isDynamic() && !labelFeature.isSuppressedGetVisibility()) {%>
+		<%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceWildTypeArguments()%> <%=genClass.getSafeUncapName()%> = (<%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceWildTypeArguments()%>)object;
+		return getString("_UI_<%=genClass.getName()%>_type") + " " + <%=genClass.getSafeUncapName()%>.<%=genClass.getLabelFeature().getGetAccessor()%>();<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+  <%} else {%>
+    <%if (labelFeature.isStringType() && !labelFeature.getGenClass().isDynamic() && !labelFeature.isSuppressedGetVisibility()) {%>
+      <%if (labelFeature.isPropertyMultiLine()) {%>
+		String label = crop(((<%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceWildTypeArguments()%>)object).<%=labelFeature.getGetAccessor()%>());
+      <%} else {%>
+		String label = ((<%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceWildTypeArguments()%>)object).<%=labelFeature.getGetAccessor()%>();
+      <%}%>
+    <%} else {%>
+      <%if (labelFeature.isSuppressedGetVisibility() || labelFeature.getGenClass().isDynamic()) {%>
+		<%=genModel.getImportedName("java.lang.Object")%> labelValue = ((<%=genModel.getImportedName("org.eclipse.emf.ecore.EObject")%>)object).eGet(<%=labelFeature.getQualifiedFeatureAccessor()%>);
+      <%} else {%>
+		<%=labelFeature.getRawImportedType()%> labelValue = ((<%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceWildTypeArguments()%>)object).<%=labelFeature.getGetAccessor()%>();
+      <%}%>
+		String label = labelValue == null ? null : labelValue.toString();
+    <%}%>
+		return label == null || label.length() == 0 ?
+			getString("_UI_<%=genClass.getName()%>_type") :<%=genModel.getNonNLS()%>
+			getString("_UI_<%=genClass.getName()%>_type") + " " + label;<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+  <%}%>
+<%} else {%>
+		return getString("_UI_<%=genClass.getName()%>_type");<%=genModel.getNonNLS()%>
+<%}%>
+<%}%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._BvZRxHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._BvZRxHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._BvZRxHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._048n42J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._048n42J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._048n42J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._048n4mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._048n4mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._048n4mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._048n5WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._048n5WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._048n5WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._048n8GJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._048n8GJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..f2a29e1
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._048n8GJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,13 @@
+
+
+				newChildDescriptors.add
+					(createChildParameter
+						(<%=createFeature.getQualifiedFeatureAccessor()%>,
+        <%if (createFeature.isEnumBasedType()) {%>
+						 <%=createFeature.getTypeGenEnum().getStaticValue(createFeature.getEcoreFeature().getDefaultValueLiteral())%>));
+        <%} else if (createFeature.isStringBasedType()) {%>
+						 <%=createFeature.getCreateChildValueLiteral()%>));<%=genModel.getNonNLS()%>
+        <%} else { String literal = createFeature.getCreateChildValueLiteral();%>
+						 <%=createDataType.getGenPackage().getQualifiedEFactoryInstanceAccessor()%>.createFromString(<%=createDataType.getQualifiedClassifierAccessor()%>, <%=literal%>)));<%if (literal != null) {%><%=genModel.getNonNLS()%><%} else {%> // TODO: ensure this is a valid literal value<%}%>
+        <%}%>
+<%@ 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,isJDK50:isJDK50"%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._B_otNHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._B_otNHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._B_otNHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._04NBA2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._04NBA2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._04NBA2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._04NBAmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._04NBAmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._04NBAmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._04NBBWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._04NBBWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._04NBBWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._04NBEGJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._04NBEGJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._04NBEGJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._B2Z4tHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._B2Z4tHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._B2Z4tHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._04WyA2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._04WyA2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._04WyA2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._04WyAmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._04WyAmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._04WyAmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._04WyBWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._04WyBWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._04WyBWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._04WyEGJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._04WyEGJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e60fe31
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._04WyEGJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,15 @@
+
+
+				newChildDescriptors.add
+					(createChildParameter
+						(<%=createFeature.getQualifiedFeatureAccessor()%>,
+						 <%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMapUtil")%>.createEntry
+							(<%=delegatedFeature.getQualifiedFeatureAccessor()%>,
+          <%if (delegatedFeature.isEnumBasedType()) {%>
+							 <%=delegatedFeature.getTypeGenEnum().getStaticValue(delegatedFeature.getEcoreFeature().getDefaultValueLiteral())%>)));
+          <%} else if (delegatedFeature.isStringBasedType()) {%>
+							 <%=delegatedFeature.getCreateChildValueLiteral()%>)));<%=genModel.getNonNLS()%>
+          <%} else { String literal = delegatedFeature.getCreateChildValueLiteral();%>
+							 <%=createDataType.getGenPackage().getQualifiedEFactoryInstanceAccessor()%>.createFromString(<%=createDataType.getQualifiedClassifierAccessor()%>, <%=literal%>))));<%if (literal != null) {%><%=genModel.getNonNLS()%><%} else {%> // TODO: ensure this is a valid literal value<%}%>
+          <%}%>
+<%@ 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,isJDK50:isJDK50"%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._B3vVdHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._B3vVdHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._B3vVdHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._04f782J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._04f782J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._04f782J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._04f78mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._04f78mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._04f78mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._04f79WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._04f79WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._04f79WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._04f8AGJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._04f8AGJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._04f8AGJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._B4yeVHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._B4yeVHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._B4yeVHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._04ps82J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._04ps82J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._04ps82J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._04ps8mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._04ps8mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._04ps8mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._04ps9WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._04ps9WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._04ps9WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._04ptAGJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._04ptAGJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..da8f180
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._04ptAGJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,11 @@
+
+
+				newChildDescriptors.add
+					(createChildParameter
+						(<%=createFeature.getQualifiedFeatureAccessor()%>,
+        <%if (createClass.isMapEntry()) { %>
+						 <%=createClass.getGenPackage().getQualifiedEFactoryInstanceAccessor()%>.create(<%=createClass.getQualifiedClassifierAccessor()%>)));
+        <%} else {%>
+						 <%=createClass.getGenPackage().getQualifiedFactoryInstanceAccessor()%>.create<%=createClass.getName()%>()));
+        <%}%>
+<%@ 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,isJDK50:isJDK50"%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._B63h9HLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._B63h9HLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._B63h9HLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._04y242J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._04y242J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._04y242J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._04y24mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._04y24mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._04y24mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._04y25WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._04y25WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._04y25WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._04y28GJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._04y28GJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._04y28GJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._B-caZHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._B-caZHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._B-caZHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._051_w2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._051_w2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._051_w2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._051_wmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._051_wmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._051_wmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._051_xWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._051_xWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._051_xWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._051_y2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._051_y2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._051_y2J-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._CCU01HLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._CCU01HLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._CCU01HLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._05ZT02J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._05ZT02J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._05ZT02J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._05ZT0mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._05ZT0mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._05ZT0mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._05ZT1WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._05ZT1WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._05ZT1WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._05ZT4GJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._05ZT4GJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._05ZT4GJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._CBIiBHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._CBIiBHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._CBIiBHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._08-MQ2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._08-MQ2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._08-MQ2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._08-MRGJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._08-MRGJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._08-MRGJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._08-MRmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._08-MRmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._08-MRmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._08-MXGJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._08-MXGJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..1800b0a
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._08-MXGJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,13 @@
+
+
+<%for (GenPackage aGenPackage : genModel.getAllGenPackagesWithClassifiers()) {%>
+  <%if (!aGenPackage.getGenClasses().isEmpty() && aGenPackage.getGenModel().hasEditSupport()) {%>
+		adapterFactory.addAdapterFactory(new <%=aGenPackage.getImportedItemProviderAdapterFactoryClassName()%>());
+  <%}%>
+<%}%>
+<%for (GenPackage aGenPackage : genModel.getAllUsedGenPackagesWithClassifiers()) {%>
+  <%if (!aGenPackage.getGenClasses().isEmpty() && aGenPackage.getGenModel().hasEditSupport()) {%>
+		adapterFactory.addAdapterFactory(new <%=aGenPackage.getImportedItemProviderAdapterFactoryClassName()%>());
+  <%}%>
+<%}%>
+<%@ 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,isJDK50:isJDK50,forceDefaultCase:forceDefaultCase,importedOperationClassName:importedOperationClassName,operationMethodName:operationMethodName,_ArrayListOfObject:_ArrayListOfObject,_ArrayListOfSelectionChangedListener:_ArrayListOfSelectionChangedListener,_CollectionOfSelectionChangedListener:_CollectionOfSelectionChangedListener,_ListOfResource:_ListOfResource,_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"%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._CC6qtXLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._CC6qtXLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._CC6qtXLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._093kI2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._093kI2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._093kI2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._093kImJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._093kImJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._093kImJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._093kJWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._093kJWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._093kJWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._093kK2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._093kK2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..8d82bd4
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._093kK2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,23 @@
+
+
+
+	/**
+	 * Tests the '{@link <%=genFeature.getGenClass().getRawQualifiedInterfaceName()%>#<%=genFeature.getGetAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}' feature getter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see <%=genFeature.getGenClass().getRawQualifiedInterfaceName()%>#<%=genFeature.getGetAccessor()%>()
+      <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+      <%}%>
+	 * @generated
+	 */
+      <%if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) { //TestCase/getGenFeature.annotations.insert.javajetinc%>
+<%@ 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,isJDK50:isJDK50"%>
+      <%}%>
+      <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+      <%}%>
+	public void test<%=genModel.capName(genFeature.getGetAccessor())%>()
+	{
+<%@ 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,isJDK50:isJDK50"%><%//TestCase/getGenFeature.todo.override.javajetinc%>
+	}
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._CKEblHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._CKEblHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._CKEblHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._09RHM2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._09RHM2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._09RHM2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._09RHMmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._09RHMmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._09RHMmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._09RHNWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._09RHNWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._09RHNWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._09RHS2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._09RHS2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._09RHS2J-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._CHY7BHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._CHY7BHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._CHY7BHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._09kCI2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._09kCI2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._09kCI2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._09kCJGJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._09kCJGJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._09kCJGJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._09kCJmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._09kCJmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._09kCJmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._09kCLGJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._09kCLGJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..df68dc1
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._09kCLGJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,17 @@
+
+
+  <%if (genFeature.isTested()) {%>
+    <%if (genFeature.isGet() && !genFeature.isSuppressedGetVisibility()) {%>
+<%@ 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,isJDK50:isJDK50"%><%//TestCase/getGenFeature.override.javajetinc%>
+    <%}%>
+    <%if (genFeature.isSet() && !genFeature.isSuppressedSetVisibility()) {%>
+<%@ 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,isJDK50:isJDK50"%><%//TestCase/setGenFeature.override.javajetinc%>
+    <%}%>
+    <%if (genFeature.isUnset() && !genFeature.isSuppressedUnsetVisibility()) {%>
+<%@ 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,isJDK50:isJDK50"%><%//TestCase/unsetGenFeature.override.javajetinc%>
+    <%}%>
+    <%if (genFeature.isIsSet() && !genFeature.isSuppressedIsSetVisibility()) {%>
+<%@ 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,isJDK50:isJDK50"%><%//TestCase/isSetGenFeature.override.javajetinc%>
+    <%}%>
+  <%}%>
+<%@ 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,isJDK50:isJDK50"%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._CIbc1XLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._CIbc1XLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._CIbc1XLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._0_NA42J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._0_NA42J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._0_NA42J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._0_NA4mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._0_NA4mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._0_NA4mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._0_NA5WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._0_NA5WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._0_NA5WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._0_NA62J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._0_NA62J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..482db9e
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._0_NA62J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,23 @@
+
+
+
+	/**
+	 * Tests the '{@link <%=genFeature.getGenClass().getRawQualifiedInterfaceName()%>#unset<%=genFeature.getAccessorName()%>() <em>unset<%=genFeature.getAccessorName()%>()</em>}' method.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see <%=genFeature.getGenClass().getRawQualifiedInterfaceName()%>#unset<%=genFeature.getAccessorName()%>()
+      <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+      <%}%>
+	 * @generated
+	 */
+      <%if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) { //TestCase/unsetGenFeature.annotations.insert.javajetinc%>
+<%@ 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,isJDK50:isJDK50"%>
+      <%}%>
+      <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+      <%}%>
+	public void testUnset<%=genFeature.getAccessorName()%>()
+	{
+<%@ 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,isJDK50:isJDK50"%><%//TestCase/unsetGenFeature.todo.override.javajetinc%>
+	}
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._CUDeBHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._CUDeBHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._CUDeBHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method._0jpGU2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method._0jpGU2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method._0jpGU2J-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method._0jpGUGJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method._0jpGUGJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method._0jpGUGJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method._0jpGUWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method._0jpGUWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method._0jpGUWJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method._0jpGYGJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method._0jpGYGJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..9800070
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method._0jpGYGJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,242 @@
+
+
+    <%if (genFeature.hasSettingDelegate()) {%>
+	/**
+	 * The cached setting delegate for the '{@link #<%=genFeature.getGetAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #<%=genFeature.getGetAccessor()%>()
+       <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+       <%}%>
+	 * @generated
+	 * @ordered
+	 */
+      <%if (isGWT) {%>
+	@<%=genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient")%>
+      <%}%>
+        <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+        <%}%>
+	protected <%=genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature")%>.Internal.SettingDelegate <%=genFeature.getUpperName()%>__ESETTING_DELEGATE = ((<%=genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature")%>.Internal)<%=genFeature.getQualifiedFeatureAccessor()%>).getSettingDelegate();
+
+    <%} else if (genFeature.isListType() || genFeature.isReferenceType()) {%>
+      <%if (genClass.isField(genFeature)) {%>
+	/**
+	 * The cached value of the '{@link #<%=genFeature.getGetAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #<%=genFeature.getGetAccessor()%>()
+       <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+       <%}%>
+	 * @generated
+	 * @ordered
+	 */
+      <%if (isGWT) {%>
+	@<%=genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient")%>
+      <%}%>
+        <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+        <%}%>
+	protected <%=genFeature.getImportedInternalType(genClass)%> <%=genFeature.getSafeName()%>;
+
+      <%}%>
+      <%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); } %>
+	/**
+	 * The empty value for the '{@link #<%=genFeature.getGetArrayAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}' array accessor.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #<%=genFeature.getGetArrayAccessor()%>()
+       <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+       <%}%>
+	 * @generated
+	 * @ordered
+	 */
+        <%if (genFeature.getQualifiedListItemType(genClass).contains("<") || genFeature.getArrayItemType(genClass).contains("<")) {%>
+	@SuppressWarnings("rawtypes")
+        <%}%>
+        <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+        <%}%>
+	protected static final <%=rawListItemType%>[] <%=genFeature.getUpperName()%>_EEMPTY_ARRAY = new <%=head%> [0]<%=tail%>;
+
+      <%}%>
+    <%} else {%>
+      <%if (genFeature.hasEDefault() && (!genFeature.isVolatile() || !genModel.isReflectiveDelegation() && (!genFeature.hasDelegateFeature() || !genFeature.isUnsettable()))) { String staticDefaultValue = genFeature.getStaticDefaultValue();%>
+	/**
+	 * The default value of the '{@link #<%=genFeature.getGetAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #<%=genFeature.getGetAccessor()%>()
+       <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+       <%}%>
+	 * @generated
+	 * @ordered
+	 */
+        <%if (genModel.useGenerics() && genFeature.isListDataType() && genFeature.isSetDefaultValue()) {%>
+	@SuppressWarnings("unchecked")
+        <%}%>
+        <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+        <%}%>
+	protected static final <%=genFeature.getImportedType(genClass)%> <%=genFeature.getEDefault()%><%if ("".equals(staticDefaultValue)) {%>; // TODO The default value literal "<%=genFeature.getEcoreFeature().getDefaultValueLiteral()%>" is not valid.<%} else {%> = <%=staticDefaultValue%>;<%=genModel.getNonNLS(staticDefaultValue)%><%}%>
+
+      <%}%>
+      <%if (genClass.isField(genFeature)) {%>
+        <%if (genClass.isFlag(genFeature)) { int flagIndex = genClass.getFlagIndex(genFeature);%>
+          <%if (flagIndex > 31 && flagIndex % 32 == 0) {%>
+	/**
+	 * An additional set of bit flags representing the values of boolean attributes and whether unsettable features have been set.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+      <%if (isGWT) {%>
+	@<%=genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient")%>
+      <%}%>
+	protected int <%=genClass.getFlagsField(genFeature)%> = 0;
+
+          <%}%>
+          <%if (genFeature.isEnumType()) {%>
+	/**
+	 * The offset of the flags representing the value of the '{@link #<%=genFeature.getGetAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+       <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+       <%}%>
+	 * @generated
+	 * @ordered
+	 */
+        <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+        <%}%>
+	protected static final int <%=genFeature.getUpperName()%>_EFLAG_OFFSET = <%=flagIndex % 32%>;
+
+	/**
+	 * The flags representing the default value of the '{@link #<%=genFeature.getGetAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+       <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+       <%}%>
+	 * @generated
+	 * @ordered
+	 */
+        <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+        <%}%>
+	protected static final int <%=genFeature.getUpperName()%>_EFLAG_DEFAULT = <%if (isJDK50) {%><%=genFeature.getEDefault()%>.ordinal()<%} else {%><%=genFeature.getImportedType(genClass)%>.VALUES.indexOf(<%=genFeature.getEDefault()%>)<%}%> << <%=genFeature.getUpperName()%>_EFLAG_OFFSET;
+
+	/**
+	 * The array of enumeration values for '{@link <%=genFeature.getImportedType(genClass)%> <%=genFeature.getTypeGenClassifier().getFormattedName()%>}'
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+       <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+       <%}%>
+	 * @generated
+	 * @ordered
+	 */
+        <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+        <%}%>
+	private static final <%=genFeature.getImportedType(genClass)%>[] <%=genFeature.getUpperName()%>_EFLAG_VALUES = <%if (isJDK50) {%><%=genFeature.getImportedType(genClass)%>.values()<%} else {%>(<%=genFeature.getImportedType(genClass)%>[])<%=genFeature.getImportedType(genClass)%>.VALUES.toArray(new <%=genFeature.getImportedType(genClass)%>[<%=genFeature.getImportedType(genClass)%>.VALUES.size()])<%}%>;
+
+          <%}%>
+	/**
+	 * The flag<%=genClass.getFlagSize(genFeature) > 1 ? "s" : ""%> representing the value of the '{@link #<%=genFeature.getGetAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #<%=genFeature.getGetAccessor()%>()
+       <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+       <%}%>
+	 * @generated
+	 * @ordered
+	 */
+        <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+        <%}%>
+	protected static final int <%=genFeature.getUpperName()%>_EFLAG = <%=genClass.getFlagMask(genFeature)%> << <%if (genFeature.isEnumType()) {%><%=genFeature.getUpperName()%>_EFLAG_OFFSET<%} else {%><%=flagIndex % 32%><%}%>;
+
+        <%} else {%>
+	/**
+	 * The cached value of the '{@link #<%=genFeature.getGetAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #<%=genFeature.getGetAccessor()%>()
+       <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+       <%}%>
+	 * @generated
+	 * @ordered
+	 */
+      <%if (isGWT) {%>
+	@<%=genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient")%>
+      <%}%>
+        <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+        <%}%>
+	protected <%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%><%if (genFeature.hasEDefault()) {%> = <%=genFeature.getEDefault()%><%}%>;
+
+        <%}%>
+      <%}%>
+    <%}%>
+    <%if (genClass.isESetField(genFeature)) {%>
+      <%if (genClass.isESetFlag(genFeature)) { int flagIndex = genClass.getESetFlagIndex(genFeature);%>
+        <%if (flagIndex > 31 && flagIndex % 32 == 0) {%>
+	/**
+	 * An additional set of bit flags representing the values of boolean attributes and whether unsettable features have been set.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+      <%if (isGWT) {%>
+	@<%=genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient")%>
+      <%}%>
+	protected int <%=genClass.getESetFlagsField(genFeature)%> = 0;
+
+        <%}%>
+	/**
+	 * The flag representing whether the <%=genFeature.getFormattedName()%> <%=genFeature.getFeatureKind()%> has been set.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+       <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+       <%}%>
+	 * @generated
+	 * @ordered
+	 */
+       <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+       <%}%>
+	protected static final int <%=genFeature.getUpperName()%>_ESETFLAG = 1 << <%=flagIndex % 32 %>;
+
+      <%} else {%>
+	/**
+	 * This is true if the <%=genFeature.getFormattedName()%> <%=genFeature.getFeatureKind()%> has been set.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+       <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+       <%}%>
+	 * @generated
+	 * @ordered
+	 */
+      <%if (isGWT) {%>
+	@<%=genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient")%>
+      <%}%>
+        <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+        <%}%>
+	protected boolean <%=genFeature.getUncapName()%>ESet;
+
+      <%}%>
+    <%}%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method.__Dly1XLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method.__Dly1XLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method.__Dly1XLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method._0jyQM2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method._0jyQM2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method._0jyQM2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method._0jyQMmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method._0jyQMmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method._0jyQMmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method._0jyQNWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method._0jyQNWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method._0jyQNWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method._0jyQQmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method._0jyQQmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method._0jyQQmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method.__Fq2dHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method.__Fq2dHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method.__Fq2dHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method._0kFyM2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method._0kFyM2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method._0kFyM2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method._0kFyMmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method._0kFyMmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method._0kFyMmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method._0kFyNWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method._0kFyNWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method._0kFyNWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method._0kFyQWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method._0kFyQWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d5092be
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method._0kFyQWJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,26 @@
+
+
+<%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()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static final int ESTATIC_FEATURE_COUNT = <%=genClass.getClassExtendsGenClass() == null ? 0 : genClass.getClassExtendsGenClass().getAllGenFeatures().size()%>;
+
+  <%}%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	protected int eStaticFeatureCount()
+	{
+		return <%=genClass.getClassExtendsGenClass() == null ? "0" : genClass.hasStaticFeatures() ? "ESTATIC_FEATURE_COUNT" : Integer.toString(genClass.getClassExtendsGenClass().getAllGenFeatures().size())%>;
+	}
+
+<%}%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method.__IDcFHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method.__IDcFHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method.__IDcFHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method._0kO8I2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method._0kO8I2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method._0kO8I2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method._0kO8ImJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method._0kO8ImJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method._0kO8ImJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method._0kO8JWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method._0kO8JWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method._0kO8JWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method._0kO8MmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method._0kO8MmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..2a8838e
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method._0kO8MmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,161 @@
+
+
+  <%if (genModel.isArrayAccessors() && genFeature.isListType() && !genFeature.isFeatureMapType() && !genFeature.isMapType()) { String arrayElementType = genFeature.getArrayItemType(genClass);%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+    <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
+    <%if (!isImplementation) {%>
+	<%=arrayElementType%>[] <%=genFeature.getGetArrayAccessor()%>();
+
+    <%} else {%>
+    <%if (genModel.useGenerics() && CodeGenUtil.isUncheckedCast(arrayElementType)) {%>
+	@SuppressWarnings("unchecked")
+    <%}%>
+    <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+    <%}%>
+    <%if (useInterfaceOverrideAnnotation) {%>
+	@Override
+    <%}%>
+	public <%=arrayElementType%>[] <%=genFeature.getGetArrayAccessor()%>()
+	{
+      <%if (genFeature.isVolatile()) {%>
+		<%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%><%=genFeature.getListTemplateArguments(genClass)%> list = (<%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%><%=genFeature.getListTemplateArguments(genClass)%>)<%=genFeature.getGetAccessor()%>();
+		if (list.isEmpty()) return <%=genFeature.getUpperName()%>_EEMPTY_ARRAY;
+      <%} else {%>
+		if (<%=genFeature.getSafeName()%> == null || <%=genFeature.getSafeName()%>.isEmpty()) return <%=genFeature.getUpperName()%>_EEMPTY_ARRAY;
+		<%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%><%=genFeature.getListTemplateArguments(genClass)%> list = (<%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%><%=genFeature.getListTemplateArguments(genClass)%>)<%=genFeature.getSafeName()%>;
+      <%}%>
+		list.shrink();
+		return (<%=arrayElementType%>[])list.data();
+	}
+
+    <%}%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+    <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
+    <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+    <%}%>
+    <%if (!isImplementation) {%>
+	<%=genFeature.getListItemType(genClass)%> get<%=genFeature.getAccessorName()%>(int index);
+
+    <%} else {%>
+    <%if (useInterfaceOverrideAnnotation) {%>
+	@Override
+    <%}%>
+	public <%=genFeature.getListItemType(genClass)%> get<%=genFeature.getAccessorName()%>(int index)
+	{
+		return <%if (!genModel.useGenerics()) {%>(<%=genFeature.getListItemType(genClass)%>)<%}%><%=genFeature.getGetAccessor()%>().get(index);
+	}
+
+    <%}%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+    <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
+    <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+    <%}%>
+    <%if (!isImplementation) {%>
+	int get<%=genFeature.getAccessorName()%>Length();
+
+    <%} else {%>
+    <%if (useInterfaceOverrideAnnotation) {%>
+	@Override
+    <%}%>
+	public int get<%=genFeature.getAccessorName()%>Length()
+	{
+      <%if (genFeature.isVolatile()) {%>
+		return <%=genFeature.getGetAccessor()%>().size();
+      <%} else {%>
+		return <%=genFeature.getSafeName()%> == null ? 0 : <%=genFeature.getSafeName()%>.size();
+      <%}%>
+	}
+
+    <%}%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+    <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
+    <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+    <%}%>
+    <%if (!isImplementation) {%>
+	void set<%=genFeature.getAccessorName()%>(<%=genFeature.getListItemType(genClass)%>[] new<%=genFeature.getCapName()%>);
+
+    <%} else {%>
+    <%if (useInterfaceOverrideAnnotation) {%>
+	@Override
+    <%}%>
+	public void set<%=genFeature.getAccessorName()%>(<%=genFeature.getListItemType(genClass)%>[] new<%=genFeature.getCapName()%>)
+	{
+		((<%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%><%=genFeature.getListTemplateArguments(genClass)%>)<%=genFeature.getGetAccessor()%>()).setData(new<%=genFeature.getCapName()%>.length, new<%=genFeature.getCapName()%>);
+	}
+
+    <%}%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+    <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
+    <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+    <%}%>
+    <%if (!isImplementation) {%>
+	void set<%=genFeature.getAccessorName()%>(int index, <%=genFeature.getListItemType(genClass)%> element);
+
+    <%} else {%>
+    <%if (useInterfaceOverrideAnnotation) {%>
+	@Override
+    <%}%>
+	public void set<%=genFeature.getAccessorName()%>(int index, <%=genFeature.getListItemType(genClass)%> element)
+	{
+		<%=genFeature.getGetAccessor()%>().set(index, element);
+	}
+
+    <%}%>
+  <%}%>
+  <%if (genFeature.isGet() && (isImplementation || !genFeature.isSuppressedGetVisibility())) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/getGenFeature.override.javajetinc%>
+  <%}%>
+  <%if (isImplementation && !genModel.isReflectiveDelegation() && genFeature.isBasicGet()) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/basicGetGenFeature.override.javajetinc%>
+  <%}%>
+  <%if (isImplementation && !genModel.isReflectiveDelegation() && genFeature.isBasicSet()) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/basicSetGenFeature.override.javajetinc%>
+  <%}%>
+  <%if (genFeature.isSet() && (isImplementation || !genFeature.isSuppressedSetVisibility())) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/setGenFeature.override.javajetinc%>
+  <%}%>
+  <%if (isImplementation && !genModel.isReflectiveDelegation() && genFeature.isBasicUnset()) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class.basicUnsetGenFeature.override.javajetinc%>
+  <%}%>
+  <%if (genFeature.isUnset() && (isImplementation || !genFeature.isSuppressedUnsetVisibility())) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/unsetGenFeature.override.javajetinc%>
+  <%}%>
+  <%if (genFeature.isIsSet() && (isImplementation || !genFeature.isSuppressedIsSetVisibility())) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/isSetGenFeature.override.javajetinc%>
+  <%}%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method.__LCepHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method.__LCepHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method.__LCepHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method._0kh3E2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method._0kh3E2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method._0kh3E2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method._0kh3EmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method._0kh3EmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method._0kh3EmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method._0kh3FWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method._0kh3FWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method._0kh3FWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method._0kh3ImJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method._0kh3ImJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..01cd65f
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method._0kh3ImJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,145 @@
+
+
+<%if (isInterface) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/getGenFeature.javadoc.override.javajetinc%>
+<%} else {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+    <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
+<%if (isJDK50) { //Class/getGenFeature.annotations.insert.javajetinc%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+<%}%>
+        <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+        <%}%>
+<%if (!isImplementation) {%>
+	<%=genFeature.getImportedType(genClass)%> <%=genFeature.getGetAccessor()%>();
+
+<%} else {%>
+  <%if (genModel.useGenerics() && ((genFeature.isContainer() || genFeature.isResolveProxies()) && !genFeature.isListType() && genFeature.isUncheckedCast(genClass) || genFeature.isListType() && !genFeature.isFeatureMapType() && (genModel.isReflectiveDelegation() || genModel.isVirtualDelegation() || (genModel.isDynamicDelegation() && !genFeature.isVolatile())) || genFeature.isListDataType() && genFeature.hasDelegateFeature() || genFeature.isListType() && genFeature.hasSettingDelegate())) {%>
+	@SuppressWarnings("unchecked")
+  <%}%>
+  <%if (useInterfaceOverrideAnnotation && !genClass.isMapEntry() && !genClass.hasCollidingGetAccessorOperation(genFeature) && !genFeature.isSuppressedGetVisibility()) {%>
+	@Override
+  <%}%>
+	public <%=genFeature.getImportedType(genClass)%> <%=genFeature.getGetAccessor()%><%if (genClass.hasCollidingGetAccessorOperation(genFeature)) {%>_<%}%>()
+	{
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+    <%if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) {%>
+		return <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>(<%}%>(<%=genFeature.getObjectType(genClass)%>)eDynamicGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%if (genClass.hasStaticFeatures()){%> - ESTATIC_FEATURE_COUNT<%}%>, <%=genFeature.getQualifiedFeatureAccessor()%>, true, <%=!genFeature.isEffectiveSuppressEMFTypes()%>)<%if (!isJDK50 && genFeature.isPrimitiveType()) {%>).<%=genFeature.getPrimitiveValueFunction()%>()<%}%>;
+    <%} else if (genModel.isReflectiveDelegation()) {%>
+      <%if (genFeature.hasGetterBody()) {%>
+		<%=genFeature.getGetterBody(genModel.getIndentation(stringBuffer))%>
+      <%} else {%>
+		return <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>(<%}%>(<%=genFeature.getObjectType(genClass)%>)eGet(<%=genFeature.getQualifiedFeatureAccessor()%>, true)<%if (!isJDK50 && genFeature.isPrimitiveType()) {%>).<%=genFeature.getPrimitiveValueFunction()%>()<%}%>;
+      <%}%>
+    <%} else if (genFeature.hasSettingDelegate()) {%>
+		return <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>(<%}%>(<%=genFeature.getObjectType(genClass)%>)<%=genFeature.getUpperName()%>__ESETTING_DELEGATE.dynamicGet(this, null, 0, true, false)<%if (!isJDK50 && genFeature.isPrimitiveType()) {%>).<%=genFeature.getPrimitiveValueFunction()%>()<%}%>;
+    <%} else if (!genFeature.isVolatile()) {%>
+      <%if (genFeature.isListType()) {%>
+        <%if (genModel.isVirtualDelegation()) {%>
+		<%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+        <%}%>
+		if (<%=genFeature.getSafeName()%> == null)
+		{
+        <%if (genModel.isVirtualDelegation()) {%>
+			eVirtualSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%=genFeature.getSafeName()%> = new <%=genClass.getListConstructor(genFeature)%>);
+        <%} else {%>
+			<%=genFeature.getSafeName()%> = new <%=genClass.getListConstructor(genFeature)%>;
+        <%}%>
+		}
+		return <%=genFeature.getSafeName()%><%=genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes() ? ".map()" : ""%>;
+      <%} else if (genFeature.isContainer()) {%>
+		if (eContainerFeatureID() != <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>) return null;
+		return (<%=genFeature.getImportedType(genClass)%>)<%if (genFeature.isResolveProxies()) {%>eContainer<%} else {%>eInternalContainer<%}%>();
+      <%} else {%>
+        <%if (genFeature.isResolveProxies()) {%>
+          <%if (genModel.isVirtualDelegation()) {%>
+		<%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%><%if (genFeature.hasEDefault()) {%>, <%=genFeature.getEDefault()%><%}%>);
+          <%}%>
+		if (<%=genFeature.getSafeName()%> != null && <%=genFeature.getSafeNameAsEObject()%>.eIsProxy())
+		{
+			<%=genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject")%> old<%=genFeature.getCapName()%> = <%=genFeature.getAsInternalEObject(genFeature.getSafeName(), false)%>;
+			<%=genFeature.getSafeName()%> = <%=genFeature.getNonEObjectInternalTypeCast(genClass)%>eResolveProxy(old<%=genFeature.getCapName()%>);
+			if (<%=genFeature.getSafeName()%> != old<%=genFeature.getCapName()%>)
+			{
+          <%if (genFeature.isEffectiveContains()) {%>
+				<%=genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject")%> new<%=genFeature.getCapName()%> = <%=genFeature.getAsInternalEObject(genFeature.getSafeName(), false)%>;
+          <%if (!genFeature.isBidirectional()) {%>
+				<%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs = old<%=genFeature.getCapName()%>.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - <%=genClass.getQualifiedFeatureID(genFeature)%><%=negativeOffsetCorrection%>, null, null);
+          <%} else { GenFeature reverseFeature = genFeature.getReverse(); GenClass targetClass = reverseFeature.getGenClass(); String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(genFeature) : "";%>
+				<%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs =  old<%=genFeature.getCapName()%>.eInverseRemove(this, <%=targetClass.getQualifiedFeatureID(reverseFeature)%><%=reverseOffsetCorrection%>, <%=targetClass.getRawImportedInterfaceName()%>.class, null);
+          <%}%>
+				if (new<%=genFeature.getCapName()%>.eInternalContainer() == null)
+				{
+          <%if (!genFeature.isBidirectional()) {%>
+					msgs = new<%=genFeature.getCapName()%>.eInverseAdd(this, EOPPOSITE_FEATURE_BASE - <%=genClass.getQualifiedFeatureID(genFeature)%><%=negativeOffsetCorrection%>, null, msgs);
+          <%} else { GenFeature reverseFeature = genFeature.getReverse(); GenClass targetClass = reverseFeature.getGenClass(); String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(genFeature) : "";%>
+					msgs =  new<%=genFeature.getCapName()%>.eInverseAdd(this, <%=targetClass.getQualifiedFeatureID(reverseFeature)%><%=reverseOffsetCorrection%>, <%=targetClass.getRawImportedInterfaceName()%>.class, msgs);
+          <%}%>
+				}
+				if (msgs != null) msgs.dispatch();
+          <%} else if (genModel.isVirtualDelegation()) {%>
+				eVirtualSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%=genFeature.getSafeName()%>);
+          <%}%>
+          <%if (!genModel.isSuppressNotification()) {%>
+				if (eNotificationRequired())
+					eNotify(new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.RESOLVE, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, old<%=genFeature.getCapName()%>, <%=genFeature.getSafeName()%>));
+          <%}%>
+			}
+		}
+        <%}%>
+        <%if (!genFeature.isResolveProxies() && genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>
+		return (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%><%if (genFeature.hasEDefault()) {%>, <%=genFeature.getEDefault()%><%}%>);
+        <%} else if (genClass.isFlag(genFeature)) {%>
+          <%if (genFeature.isBooleanType()) {%>
+		return (<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) != 0;
+          <%} else {%>
+		return <%=genFeature.getUpperName()%>_EFLAG_VALUES[(<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) >>> <%=genFeature.getUpperName()%>_EFLAG_OFFSET];
+          <%}%>
+        <%} else {%>
+		return <%=genFeature.getSafeName()%>;
+        <%}%>
+      <%}%>
+    <%} else {//volatile%>
+      <%if (genFeature.isResolveProxies() && !genFeature.isListType()) {%>
+		<%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = basicGet<%=genFeature.getAccessorName()%>();
+		return <%=genFeature.getSafeName()%> != null && <%=genFeature.getSafeNameAsEObject()%>.eIsProxy() ? <%=genFeature.getNonEObjectInternalTypeCast(genClass)%>eResolveProxy(<%=genFeature.getAsInternalEObject(genFeature.getSafeName(), false)%>) : <%=genFeature.getSafeName()%>;
+      <%} 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()) {%>
+		return new <%=genFeature.getImportedEffectiveFeatureMapWrapperClass()%>((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)get<%=delegateFeature.getAccessorName()%>()).featureMap().<%=featureMapEntryTemplateArgument%>list(<%=genFeature.getQualifiedFeatureAccessor()%>));
+          <%} else {%>
+		return (<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>)get<%=delegateFeature.getAccessorName()%>().<%=featureMapEntryTemplateArgument%>list(<%=genFeature.getQualifiedFeatureAccessor()%>);
+          <%}%>
+        <%} else if (genFeature.isListType()) {%>
+          <%if (delegateFeature.isWrappedFeatureMapType()) {%>
+		return ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)get<%=delegateFeature.getAccessorName()%>()).featureMap().list(<%=genFeature.getQualifiedFeatureAccessor()%>);
+          <%} else {%>
+		return get<%=delegateFeature.getAccessorName()%>().list(<%=genFeature.getQualifiedFeatureAccessor()%>);
+          <%}%>
+        <%} else {%>
+          <%if (delegateFeature.isWrappedFeatureMapType()) {%>
+		return <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>(<%}%><%if (genFeature.getTypeGenDataType() == null || !genFeature.getTypeGenDataType().isObjectType()) {%>(<%=genFeature.getObjectType(genClass)%>)<%}%>((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)get<%=delegateFeature.getAccessorName()%>()).featureMap().get(<%=genFeature.getQualifiedFeatureAccessor()%>, true)<%if (!isJDK50 && genFeature.isPrimitiveType()) {%>).<%=genFeature.getPrimitiveValueFunction()%>()<%}%>;
+          <%} else {%>
+		return <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>(<%}%><%if (genFeature.getTypeGenDataType() == null || !genFeature.getTypeGenDataType().isObjectType()) {%>(<%=genFeature.getObjectType(genClass)%>)<%}%>get<%=delegateFeature.getAccessorName()%>().get(<%=genFeature.getQualifiedFeatureAccessor()%>, true)<%if (!isJDK50 && genFeature.isPrimitiveType()) {%>).<%=genFeature.getPrimitiveValueFunction()%>()<%}%>;
+          <%}%>
+        <%}%>
+      <%} else if (genClass.getGetAccessorOperation(genFeature) != null) {%>
+		<%=genClass.getGetAccessorOperation(genFeature).getBody(genModel.getIndentation(stringBuffer))%>
+      <%} else if (genFeature.hasGetterBody()) {%>
+		<%=genFeature.getGetterBody(genModel.getIndentation(stringBuffer))%>
+      <%} else {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/getGenFeature.todo.override.javajetinc%>
+      <%}%>
+    <%}%>
+	}
+
+<%}%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method.__MrdZHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method.__MrdZHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method.__MrdZHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method._0kroE2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method._0kroE2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method._0kroE2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method._0kroEmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method._0kroEmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method._0kroEmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method._0kroFWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method._0kroFWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method._0kroFWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method._0kroImJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method._0kroImJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..408d299
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method._0kroImJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,65 @@
+
+
+	/**
+	 * Returns the value of the '<em><b><%=genFeature.getFormattedName()%></b></em>' <%=genFeature.getFeatureKind()%>.
+    <%if (genFeature.isListType() && genFeature.getEcoreFeature().getEGenericType().getETypeParameter() == null) {%>
+      <%if (genFeature.isMapType()) { GenFeature keyFeature = genFeature.getMapEntryTypeGenClass().getMapEntryKeyFeature(); GenFeature valueFeature = genFeature.getMapEntryTypeGenClass().getMapEntryValueFeature(); %>
+	 * The key is of type <%if (keyFeature.isListType()) {%>list of {@link <%=keyFeature.getQualifiedListItemType(genClass)%>}<%} else {%>{@link <%=keyFeature.getType(genClass)%>}<%}%>,
+	 * and the value is of type <%if (valueFeature.isListType()) {%>list of {@link <%=valueFeature.getQualifiedListItemType(genClass)%>}<%} else {%>{@link <%=valueFeature.getType(genClass)%>}<%}%>,
+      <%} 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 = "<code>" + CodeGenUtil.xmlEscapeEncode(typeName.substring(index)) + "</code>"; }
+%>
+	 * The list contents are of type {@link <%=head%>}<%=tail%>.
+      <%}%>
+    <%} else if (genFeature.isSetDefaultValue()) {%>
+	 * The default value is <code><%=genFeature.getDefaultValue()%></code>.
+    <%}%>
+    <%if (genFeature.getTypeGenEnum() != null) {%>
+	 * The literals are from the enumeration {@link <%=genFeature.getTypeGenEnum().getQualifiedName()%>}.
+    <%}%>
+    <%if (genFeature.isBidirectional() && !genFeature.getReverse().getGenClass().isMapEntry()) { GenFeature reverseGenFeature = genFeature.getReverse(); %>
+      <%if (!reverseGenFeature.isSuppressedGetVisibility()) {%>
+	 * It is bidirectional and its opposite is '{@link <%=reverseGenFeature.getGenClass().getRawQualifiedInterfaceName()%>#<%=reverseGenFeature.getGetAccessor()%> <em><%=reverseGenFeature.getFormattedName()%></em>}'.
+      <%}%>
+    <%}%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+    <%if (genFeature.hasDocumentation()) {%>
+	 * <!-- begin-model-doc -->
+	 * <%=genFeature.getDocumentation(genModel.getIndentation(stringBuffer))%>
+	 * <!-- end-model-doc -->
+    <%}%>
+	 * @return the value of the '<em><%=genFeature.getFormattedName()%></em>' <%=genFeature.getFeatureKind()%>.
+    <%if (genFeature.getTypeGenEnum() != null) {%>
+	 * @see <%=genFeature.getTypeGenEnum().getQualifiedName()%>
+    <%}%>
+    <%if (genFeature.isUnsettable()) {%>
+      <%if (!genFeature.isSuppressedIsSetVisibility()) {%>
+	 * @see #isSet<%=genFeature.getAccessorName()%>()
+      <%}%>
+      <%if (genFeature.isChangeable() && !genFeature.isSuppressedUnsetVisibility()) {%>
+	 * @see #unset<%=genFeature.getAccessorName()%>()
+      <%}%>
+    <%}%>
+    <%if (genFeature.isChangeable() && !genFeature.isListType() && !genFeature.isSuppressedSetVisibility()) {%>
+	 * @see #set<%=genFeature.getAccessorName()%>(<%=genFeature.getRawImportedBoundType()%>)
+    <%}%>
+    <%if (!genModel.isSuppressEMFMetaData()) {%>
+	 * @see <%=genPackage.getQualifiedPackageInterfaceName()%>#get<%=genFeature.getFeatureAccessorName()%>()
+    <%}%>
+    <%if (genFeature.isBidirectional() && !genFeature.getReverse().getGenClass().isMapEntry()) { GenFeature reverseGenFeature = genFeature.getReverse(); %>
+      <%if (!reverseGenFeature.isSuppressedGetVisibility()) {%>
+	 * @see <%=reverseGenFeature.getGenClass().getRawQualifiedInterfaceName()%>#<%=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;%>
+	 * @model <%=modelInfo%>
+    <%} else {%>
+	 *        <%=modelInfo%>
+    <%}} if (first) {%>
+	 * @model
+    <%}}%>
+	 * @generated
+	 */
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method.__Nt_NHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method.__Nt_NHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method.__Nt_NHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method._0l3642J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method._0l3642J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method._0l3642J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method._0l364mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method._0l364mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method._0l364mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method._0l365WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method._0l365WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method._0l365WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method._0l368mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method._0l368mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method._0l368mJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method.__XjQpHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method.__XjQpHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method.__XjQpHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method._0lIUA2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method._0lIUA2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method._0lIUA2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method._0lIUAmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method._0lIUAmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method._0lIUAmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method._0lIUBWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method._0lIUBWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method._0lIUBWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method._0lIUEmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method._0lIUEmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method._0lIUEmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method.__O6SBHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method.__O6SBHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method.__O6SBHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method._0lIUF2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method._0lIUF2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method._0lIUF2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method._0lIUFmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method._0lIUFmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method._0lIUFmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method._0lIUGWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method._0lIUGWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method._0lIUGWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method._0lSFCmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method._0lSFCmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method._0lSFCmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method.__P9a5HLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method.__P9a5HLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method.__P9a5HLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method._0lSFDmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method._0lSFDmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method._0lSFDmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method._0lbO8GJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method._0lbO8GJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method._0lbO8GJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method._0lbO8mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method._0lbO8mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method._0lbO8mJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method._0lbO_2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method._0lbO_2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method._0lbO_2J-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method.__RvjlHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method.__RvjlHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method.__RvjlHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method._0lbPA2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method._0lbPA2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method._0lbPA2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method._0lbPBGJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method._0lbPBGJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method._0lbPBGJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method._0lbPBmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method._0lbPBmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method._0lbPBmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method._0lbPE2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method._0lbPE2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..fa0522b
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method._0lbPE2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,9 @@
+
+
+		// TODO: implement this method to return the '<%=genFeature.getFormattedName()%>' <%=genFeature.getFeatureKind()%>
+		// Ensure that you remove @generated or mark it @generated NOT
+        <%if (genFeature.isListType()) {%>
+		// The list is expected to implement org.eclipse.emf.ecore.util.InternalEList and org.eclipse.emf.ecore.EStructuralFeature.Setting
+		// so it's likely that an appropriate subclass of org.eclipse.emf.ecore.util.<%if (genFeature.isMapType()) {%>EcoreEMap<%} else if (genFeature.isFeatureMapType()) {%>BasicFeatureMap<%} else {%>EcoreEList<%}%> should be used.
+        <%}%>
+		throw new UnsupportedOperationException();
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method.__TiTVHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method.__TiTVHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method.__TiTVHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method._0lk_82J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method._0lk_82J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method._0lk_82J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method._0lk_8mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method._0lk_8mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method._0lk_8mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method._0lk_9WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method._0lk_9WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method._0lk_9WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method._0llAAmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method._0llAAmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..121aab7
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method._0llAAmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,45 @@
+
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+    <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
+<%if (isJDK50) { //Class/basicGetGenFeature.annotations.insert.javajetinc%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+    <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+    <%}%>
+	public <%=genFeature.getImportedType(genClass)%> basicGet<%=genFeature.getAccessorName()%>()
+	{
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+    <%if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) {%>
+		return (<%=genFeature.getImportedType(genClass)%>)eDynamicGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%if (genClass.hasStaticFeatures()){%> - ESTATIC_FEATURE_COUNT<%}%>, <%=genFeature.getQualifiedFeatureAccessor()%>, false, <%=!genFeature.isEffectiveSuppressEMFTypes()%>);
+    <%} else if (genFeature.hasSettingDelegate()) {%>
+		return <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>(<%}%>(<%=genFeature.getObjectType(genClass)%>)<%=genFeature.getUpperName()%>__ESETTING_DELEGATE.dynamicGet(this, null, 0, false, false)<%if (!isJDK50 && genFeature.isPrimitiveType()) {%>).<%=genFeature.getPrimitiveValueFunction()%>()<%}%>;
+    <%} else if (genFeature.isContainer()) {%>
+		if (eContainerFeatureID() != <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>) return null;
+		return (<%=genFeature.getImportedType(genClass)%>)eInternalContainer();
+    <%} else if (!genFeature.isVolatile()) {%>
+      <%if (genModel.isVirtualDelegation()) {%>
+		return (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+      <%} else {%>
+		return <%=genFeature.getSafeName()%>;
+      <%}%>
+    <%} else if (genFeature.hasDelegateFeature()) { GenFeature delegateFeature = genFeature.getDelegateFeature();%>
+      <%if (delegateFeature.isWrappedFeatureMapType()) {%>
+		return (<%=genFeature.getImportedType(genClass)%>)((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)get<%=delegateFeature.getAccessorName()%>()).featureMap().get(<%=genFeature.getQualifiedFeatureAccessor()%>, false);
+      <%} else {%>
+		return (<%=genFeature.getImportedType(genClass)%>)get<%=delegateFeature.getAccessorName()%>().get(<%=genFeature.getQualifiedFeatureAccessor()%>, false);
+      <%}%>
+    <%} else if (genFeature.hasGetterBody()) {%>
+		<%=genFeature.getGetterBody(genModel.getIndentation(stringBuffer))%>
+    <%} else {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/basicGetGenFeature.todo.override.javajetinc%>
+    <%}%>
+	}
+
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method.__VBhFHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method.__VBhFHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method.__VBhFHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method._0m6c0mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method._0m6c0mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..96f1ac1
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method._0m6c0mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,8 @@
+
+
+		// TODO: implement this method to set the contained '<%=genFeature.getFormattedName()%>' <%=genFeature.getFeatureKind()%>
+		// -> this method is automatically invoked to keep the containment relationship in synch
+		// -> do not modify other features
+		// -> return msgs, after adding any generated Notification to it (if it is null, a NotificationChain object must be created first)
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method._0m6cw2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method._0m6cw2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method._0m6cw2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method._0m6cwmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method._0m6cwmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method._0m6cwmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method._0m6cxWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method._0m6cxWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method._0m6cxWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method.__hsEFHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method.__hsEFHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method.__hsEFHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method._0mBr42J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method._0mBr42J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method._0mBr42J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method._0mBr4mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method._0mBr4mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method._0mBr4mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method._0mBr5WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method._0mBr5WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method._0mBr5WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method._0mBr8mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method._0mBr8mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method._0mBr8mJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method.__ZDFdHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method.__ZDFdHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method.__ZDFdHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method._0mK102J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method._0mK102J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method._0mK102J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method._0mK10mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method._0mK10mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method._0mK10mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method._0mK11WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method._0mK11WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method._0mK11WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method._0mK14mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method._0mK14mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..b72a863
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method._0mK14mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,6 @@
+
+
+		// TODO: implement this method to return the '<%=genFeature.getFormattedName()%>' <%=genFeature.getFeatureKind()%>
+		// -> do not perform proxy resolution
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method.__a1OJHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method.__a1OJHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method.__a1OJHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method._0mUm02J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method._0mUm02J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method._0mUm02J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method._0mUm0mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method._0mUm0mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method._0mUm0mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method._0mUm1WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method._0mUm1WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method._0mUm1WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method._0mUm4mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method._0mUm4mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..9a89e4d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method._0mUm4mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,77 @@
+
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+    <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
+<%if (isJDK50) { //Class/basicSetGenFeature.annotations.insert.javajetinc%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+    <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+    <%}%>
+	public <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> basicSet<%=genFeature.getAccessorName()%>(<%=genFeature.getImportedInternalType(genClass)%> new<%=genFeature.getCapName()%>, <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs)
+	{
+    <%if (genFeature.isContainer()) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+		msgs = eBasicSetContainer(<%=genFeature.getAsInternalEObject("new" + genFeature.getCapName(), false)%>, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, msgs);
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+		return msgs;
+    <%} else if (genModel.isDynamicDelegation()) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+		msgs = eDynamicInverseAdd(<%=genFeature.getAsInternalEObject("new" + genFeature.getCapName(), false)%>, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, msgs);
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+		return msgs;
+    <%} else if (!genFeature.isVolatile()) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+      <%if (genModel.isVirtualDelegation()) {%>
+		Object old<%=genFeature.getCapName()%> = eVirtualSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, new<%=genFeature.getCapName()%>);
+      <%} else {%>
+		<%=genFeature.getImportedType(genClass)%> old<%=genFeature.getCapName()%> = <%=genFeature.getSafeName()%>;
+		<%=genFeature.getSafeName()%> = new<%=genFeature.getCapName()%>;
+      <%}%>
+      <%if (genFeature.isUnsettable()) {%>
+        <%if (genModel.isVirtualDelegation()) {%>
+          <%if (!genModel.isSuppressNotification()) {%>
+		boolean isSetChange = old<%=genFeature.getCapName()%> == EVIRTUAL_NO_VALUE;
+          <%}%>
+        <%} else if (genClass.isESetFlag(genFeature)) {%>
+		boolean old<%=genFeature.getCapName()%>ESet = (<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0;
+          <%if (!genModel.isSuppressNotification()) {%>
+		<%=genClass.getESetFlagsField(genFeature)%> |= <%=genFeature.getUpperName()%>_ESETFLAG;
+          <%}%>
+        <%} else {%>
+          <%if (!genModel.isSuppressNotification()) {%>
+		boolean old<%=genFeature.getCapName()%>ESet = <%=genFeature.getUncapName()%>ESet;
+          <%}%>
+		<%=genFeature.getUncapName()%>ESet = true;
+        <%}%>
+      <%}%>
+      <%if (!genModel.isSuppressNotification()) {%>
+		if (eNotificationRequired())
+		{
+        <%if (genFeature.isUnsettable()) {%>
+			<%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%> notification = new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.SET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%if (genModel.isVirtualDelegation()) {%>isSetChange ? null : old<%=genFeature.getCapName()%><%} else {%>old<%=genFeature.getCapName()%><%}%>, new<%=genFeature.getCapName()%>, <%if (genModel.isVirtualDelegation()) {%>isSetChange<%} else {%>!old<%=genFeature.getCapName()%>ESet<%}%>);
+        <%} else {%>
+			<%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%> notification = new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.SET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%if (genModel.isVirtualDelegation()) {%>old<%=genFeature.getCapName()%> == EVIRTUAL_NO_VALUE ? null : old<%=genFeature.getCapName()%><%} else {%>old<%=genFeature.getCapName()%><%}%>, new<%=genFeature.getCapName()%>);
+        <%}%>
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+      <%}%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+		return msgs;
+    <%} else if (genFeature.hasDelegateFeature()) { GenFeature delegateFeature = genFeature.getDelegateFeature();%>
+      <%if (delegateFeature.isWrappedFeatureMapType()) {%>
+		return ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)get<%=delegateFeature.getAccessorName()%>()).featureMap()).basicAdd(<%=genFeature.getQualifiedFeatureAccessor()%>, new<%=genFeature.getCapName()%>, msgs);
+      <%} else {%>
+		return ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)get<%=delegateFeature.getAccessorName()%>()).basicAdd(<%=genFeature.getQualifiedFeatureAccessor()%>, new<%=genFeature.getCapName()%>, msgs);
+      <%}%>
+    <%} else {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/basicSetGenFeature.todo.override.javajetinc%>
+    <%}%>
+	}
+
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method.__d9apHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method.__d9apHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method.__d9apHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method._0mnh0mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method._0mnh0mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method._0mnh0mJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method._0mnhw2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method._0mnhw2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method._0mnhw2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method._0mnhwmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method._0mnhwmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method._0mnhwmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method._0mnhxWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method._0mnhxWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method._0mnhxWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method.__fJtdHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method.__fJtdHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method.__fJtdHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method._0m6csWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method._0m6csWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method._0m6csWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method._0m6cvmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method._0m6cvmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method._0m6cvmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method._0mxS12J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method._0mxS12J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method._0mxS12J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method._0mxS1mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method._0mxS1mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method._0mxS1mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method.__gysNHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method.__gysNHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method.__gysNHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method._0mxS0mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method._0mxS0mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method._0mxS0mJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method._0mxSw2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method._0mxSw2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method._0mxSw2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method._0mxSwmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method._0mxSwmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method._0mxSwmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method._0mxSxWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method._0mxSxWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method._0mxSxWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method.__gDFVHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method.__gDFVHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method.__gDFVHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method._0nN-s2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method._0nN-s2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method._0nN-s2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method._0nN-smJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method._0nN-smJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method._0nN-smJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method._0nN-tWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method._0nN-tWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method._0nN-tWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method._0nN-wmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method._0nN-wmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..72f32cd
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method._0nN-wmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,181 @@
+
+
+<%if (isInterface) { %>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/setGenFeature.javadoc.override.javajetinc%>
+<%} else {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+    <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
+<%if (isJDK50) { //Class/setGenFeature.annotations.insert.javajetinc%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+<%}%>
+<%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+<%}%>
+<%if (!isImplementation) { %>
+	void set<%=genFeature.getAccessorName()%>(<%=genFeature.getImportedType(genClass)%> value);
+
+<%} else { GenOperation setAccessorOperation = genClass.getSetAccessorOperation(genFeature);%>
+  <%if (useInterfaceOverrideAnnotation && !genClass.isMapEntry() && !genClass.hasCollidingSetAccessorOperation(genFeature) && !genFeature.isSuppressedSetVisibility()) {%>
+	@Override
+  <%}%>
+	public void set<%=genFeature.getAccessorName()%><%if (genClass.hasCollidingSetAccessorOperation(genFeature)) {%>_<%}%>(<%=genFeature.getImportedType(genClass)%> <%=setAccessorOperation == null ? "new" + genFeature.getCapName() : setAccessorOperation.getGenParameters().get(0).getName()%>)
+	{
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+    <%if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.dynamicSetGenFeature.pre.insert" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+		eDynamicSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%if (genClass.hasStaticFeatures()){%> - ESTATIC_FEATURE_COUNT<%}%>, <%=genFeature.getQualifiedFeatureAccessor()%>, <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>new <%=genFeature.getObjectType(genClass)%>(<%}%>new<%=genFeature.getCapName()%><%if (!isJDK50 && genFeature.isPrimitiveType()) {%>)<%}%>);
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.dynamicSetGenFeature.post.insert" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+    <%} else if (genModel.isReflectiveDelegation()) {%>
+		eSet(<%=genFeature.getQualifiedFeatureAccessor()%>, <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>new <%=genFeature.getObjectType(genClass)%>(<%}%>new<%=genFeature.getCapName()%><%if (!isJDK50 && genFeature.isPrimitiveType()) {%>)<%}%>);
+    <%} else if (genFeature.hasSettingDelegate()) {%>
+		<%=genFeature.getUpperName()%>__ESETTING_DELEGATE.dynamicSet(this, null, 0, <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>new <%=genFeature.getObjectType(genClass)%>(<%}%>new<%=genFeature.getCapName()%><%if (!isJDK50 && genFeature.isPrimitiveType()) {%>)<%}%>);
+    <%} else if (!genFeature.isVolatile()) {%>
+      <%if (genFeature.isContainer()) { GenFeature reverseFeature = genFeature.getReverse(); GenClass targetClass = reverseFeature.getGenClass(); String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(genFeature) : "";%>
+		if (new<%=genFeature.getCapName()%> != eInternalContainer() || (eContainerFeatureID() != <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%> && new<%=genFeature.getCapName()%> != null))
+		{
+			if (<%=genModel.getImportedName("org.eclipse.emf.ecore.util.EcoreUtil")%>.isAncestor(this, <%=genFeature.getEObjectCast()%>new<%=genFeature.getCapName()%>))
+				throw new <%=genModel.getImportedName("java.lang.IllegalArgumentException")%>("Recursive containment not allowed for " + toString());<%=genModel.getNonNLS()%>
+			<%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs = null;
+			if (eInternalContainer() != null)
+				msgs = eBasicRemoveFromContainer(msgs);
+			if (new<%=genFeature.getCapName()%> != null)
+				msgs = <%=genFeature.getAsInternalEObject("new" + genFeature.getCapName(), true)%>.eInverseAdd(this, <%=targetClass.getQualifiedFeatureID(reverseFeature)%><%=reverseOffsetCorrection%>, <%=targetClass.getRawImportedInterfaceName()%>.class, msgs);
+			msgs = basicSet<%=genFeature.getAccessorName()%>(<%=genFeature.getInternalTypeCast()%>new<%=genFeature.getCapName()%>, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+        <%if (!genModel.isSuppressNotification()) {%>
+		else if (eNotificationRequired())
+			eNotify(new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.SET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, new<%=genFeature.getCapName()%>, new<%=genFeature.getCapName()%>));
+        <%}%>
+      <%} else if (genFeature.isBidirectional() || genFeature.isEffectiveContains()) {%>
+        <%if (genModel.isVirtualDelegation()) {%>
+		<%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+        <%}%>
+		if (new<%=genFeature.getCapName()%> != <%=genFeature.getSafeName()%>)
+		{
+			<%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs = null;
+			if (<%=genFeature.getSafeName()%> != null)
+        <%if (!genFeature.isBidirectional()) {%>
+				msgs = <%=genFeature.getAsInternalEObject(genFeature.getSafeName(), true)%>.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - <%=genClass.getQualifiedFeatureID(genFeature)%><%=negativeOffsetCorrection%>, null, msgs);
+			if (new<%=genFeature.getCapName()%> != null)
+				msgs = <%=genFeature.getAsInternalEObject("new" + genFeature.getCapName(), true)%>.eInverseAdd(this, EOPPOSITE_FEATURE_BASE - <%=genClass.getQualifiedFeatureID(genFeature)%><%=negativeOffsetCorrection%>, null, msgs);
+        <%} else { GenFeature reverseFeature = genFeature.getReverse(); GenClass targetClass = reverseFeature.getGenClass(); String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(genFeature) : "";%>
+				msgs = <%=genFeature.getAsInternalEObject(genFeature.getSafeName(), true)%>.eInverseRemove(this, <%=targetClass.getQualifiedFeatureID(reverseFeature)%><%=reverseOffsetCorrection%>, <%=targetClass.getRawImportedInterfaceName()%>.class, msgs);
+			if (new<%=genFeature.getCapName()%> != null)
+				msgs = <%=genFeature.getAsInternalEObject("new" + genFeature.getCapName(), true)%>.eInverseAdd(this, <%=targetClass.getQualifiedFeatureID(reverseFeature)%><%=reverseOffsetCorrection%>, <%=targetClass.getRawImportedInterfaceName()%>.class, msgs);
+        <%}%>
+			msgs = basicSet<%=genFeature.getAccessorName()%>(<%=genFeature.getInternalTypeCast()%>new<%=genFeature.getCapName()%>, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+        <%if (genFeature.isUnsettable()) {%>
+		else
+		{
+          <%if (genModel.isVirtualDelegation()) {%>
+			boolean old<%=genFeature.getCapName()%>ESet = eVirtualIsSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+          <%} else if (genClass.isESetFlag(genFeature)) {%>
+            <%if (!genModel.isSuppressNotification()) {%>
+			boolean old<%=genFeature.getCapName()%>ESet = (<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0;
+            <%}%>
+			<%=genClass.getESetFlagsField(genFeature)%> |= <%=genFeature.getUpperName()%>_ESETFLAG;
+          <%} else {%>
+            <%if (!genModel.isSuppressNotification()) {%>
+			boolean old<%=genFeature.getCapName()%>ESet = <%=genFeature.getUncapName()%>ESet;
+            <%}%>
+			<%=genFeature.getUncapName()%>ESet = true;
+          <%}%>
+          <%if (!genModel.isSuppressNotification()) {%>
+			if (eNotificationRequired())
+				eNotify(new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.SET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, new<%=genFeature.getCapName()%>, new<%=genFeature.getCapName()%>, !old<%=genFeature.getCapName()%>ESet));
+          <%}%>
+		}
+        <%} else {%>
+          <%if (!genModel.isSuppressNotification()) {%>
+		else if (eNotificationRequired())
+			eNotify(new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.SET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, new<%=genFeature.getCapName()%>, new<%=genFeature.getCapName()%>));
+          <%}%>
+        <%}%>
+      <%} else {%>
+        <%if (genClass.isFlag(genFeature)) {%>
+          <%if (!genModel.isSuppressNotification()) {%>
+            <%if (genFeature.isBooleanType()) {%>
+		<%=genFeature.getImportedType(genClass)%> old<%=genFeature.getCapName()%> = (<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) != 0;
+            <%} else {%>
+		<%=genFeature.getImportedType(genClass)%> old<%=genFeature.getCapName()%> = <%=genFeature.getUpperName()%>_EFLAG_VALUES[(<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) >>> <%=genFeature.getUpperName()%>_EFLAG_OFFSET];
+            <%}%>
+          <%}%>
+          <%if (genFeature.isBooleanType()) {%>
+		if (new<%=genFeature.getCapName()%>) <%=genClass.getFlagsField(genFeature)%> |= <%=genFeature.getUpperName()%>_EFLAG; else <%=genClass.getFlagsField(genFeature)%> &= ~<%=genFeature.getUpperName()%>_EFLAG;
+          <%} else {%>
+		if (new<%=genFeature.getCapName()%> == null) new<%=genFeature.getCapName()%> = <%=genFeature.getUpperName()%>_EDEFAULT;
+		<%=genClass.getFlagsField(genFeature)%> = <%=genClass.getFlagsField(genFeature)%> & ~<%=genFeature.getUpperName()%>_EFLAG | <%if (isJDK50) {%>new<%=genFeature.getCapName()%>.ordinal()<%} else {%><%=genFeature.getImportedType(genClass)%>.VALUES.indexOf(new<%=genFeature.getCapName()%>)<%}%> << <%=genFeature.getUpperName()%>_EFLAG_OFFSET;
+          <%}%>
+        <%} else {%>
+          <%if (!genModel.isVirtualDelegation() || genFeature.isPrimitiveType()) {%>
+            <%if (!genModel.isSuppressNotification()) {%>
+		<%=genFeature.getImportedType(genClass)%> old<%=genFeature.getCapName()%> = <%=genFeature.getSafeName()%>;
+            <%}%>
+          <%}%>
+          <%if (genFeature.isEnumType()) {%>
+            <%if (genModel.isVirtualDelegation()) {%>
+		<%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = new<%=genFeature.getCapName()%> == null ? <%=genFeature.getEDefault()%> : new<%=genFeature.getCapName()%>;
+            <%} else {%>
+		<%=genFeature.getSafeName()%> = new<%=genFeature.getCapName()%> == null ? <%=genFeature.getEDefault()%> : new<%=genFeature.getCapName()%>;
+            <%}%>
+          <%} else {%>
+            <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>
+		<%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = <%=genFeature.getInternalTypeCast()%>new<%=genFeature.getCapName()%>;
+            <%} else {%>
+		<%=genFeature.getSafeName()%> = <%=genFeature.getInternalTypeCast()%>new<%=genFeature.getCapName()%>;
+            <%}%>
+          <%}%>
+          <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>
+		Object old<%=genFeature.getCapName()%> = eVirtualSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%=genFeature.getSafeName()%>);
+          <%}%>
+        <%}%>
+        <%if (genFeature.isUnsettable()) {%>
+          <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>
+		boolean isSetChange = old<%=genFeature.getCapName()%> == EVIRTUAL_NO_VALUE;
+          <%} else if (genClass.isESetFlag(genFeature)) {%>
+            <%if (!genModel.isSuppressNotification()) {%>
+		boolean old<%=genFeature.getCapName()%>ESet = (<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0;
+            <%}%>
+		<%=genClass.getESetFlagsField(genFeature)%> |= <%=genFeature.getUpperName()%>_ESETFLAG;
+          <%} else {%>
+            <%if (!genModel.isSuppressNotification()) {%>
+		boolean old<%=genFeature.getCapName()%>ESet = <%=genFeature.getUncapName()%>ESet;
+            <%}%>
+		<%=genFeature.getUncapName()%>ESet = true;
+          <%}%>
+          <%if (!genModel.isSuppressNotification()) {%>
+		if (eNotificationRequired())
+			eNotify(new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.SET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>isSetChange ? <%=genFeature.getEDefault()%> : old<%=genFeature.getCapName()%><%} else {%>old<%=genFeature.getCapName()%><%}%>, <%if (genClass.isFlag(genFeature)) {%>new<%=genFeature.getCapName()%><%} else {%><%=genFeature.getSafeName()%><%}%>, <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>isSetChange<%} else {%>!old<%=genFeature.getCapName()%>ESet<%}%>));
+          <%}%>
+        <%} else {%>
+          <%if (!genModel.isSuppressNotification()) {%>
+		if (eNotificationRequired())
+			eNotify(new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.SET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>old<%=genFeature.getCapName()%> == EVIRTUAL_NO_VALUE ? <%=genFeature.getEDefault()%> : old<%=genFeature.getCapName()%><%} else {%>old<%=genFeature.getCapName()%><%}%>, <%if (genClass.isFlag(genFeature)) {%>new<%=genFeature.getCapName()%><%} else {%><%=genFeature.getSafeName()%><%}%>));
+          <%}%>
+        <%}%>
+      <%}%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+    <%} else if (genFeature.hasDelegateFeature()) { GenFeature delegateFeature = genFeature.getDelegateFeature();%>
+      <%if (delegateFeature.isWrappedFeatureMapType()) {%>
+		((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)get<%=delegateFeature.getAccessorName()%>()).featureMap()).set(<%=genFeature.getQualifiedFeatureAccessor()%>, <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>new <%=genFeature.getObjectType(genClass)%>(<%}%>new<%=genFeature.getCapName()%><%if (!isJDK50 && genFeature.isPrimitiveType()) {%>)<%}%>);
+      <%} else {%>
+		((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)get<%=delegateFeature.getAccessorName()%>()).set(<%=genFeature.getQualifiedFeatureAccessor()%>, <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>new <%=genFeature.getObjectType(genClass)%>(<%}%>new<%=genFeature.getCapName()%><%if (!isJDK50 && genFeature.isPrimitiveType()) {%>)<%}%>);
+      <%}%>
+    <%} else if (setAccessorOperation != null) {%>
+		<%=setAccessorOperation.getBody(genModel.getIndentation(stringBuffer))%>
+    <%} else {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/setGenFeature.todo.override.javajetinc%>
+    <%}%>
+	}
+
+<%}%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method.__jLR1HLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method.__jLR1HLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method.__jLR1HLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method._0nXIo2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method._0nXIo2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method._0nXIo2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method._0nXIomJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method._0nXIomJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method._0nXIomJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method._0nXIpWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method._0nXIpWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method._0nXIpWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method._0nXIsmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method._0nXIsmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..3dba729
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method._0nXIsmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,25 @@
+
+
+	/**
+	 * Sets the value of the '{@link <%=genClass.getRawQualifiedInterfaceName()%>#<%=genFeature.getGetAccessor()%> <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%>.
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em><%=genFeature.getFormattedName()%></em>' <%=genFeature.getFeatureKind()%>.
+    <%if (genFeature.isEnumType()) {%>
+	 * @see <%=genFeature.getTypeGenEnum().getQualifiedName()%>
+    <%}%>
+    <%if (genFeature.isUnsettable()) {%>
+      <%if (!genFeature.isSuppressedIsSetVisibility()) {%>
+	 * @see #isSet<%=genFeature.getAccessorName()%>()
+      <%}%>
+      <%if (!genFeature.isSuppressedUnsetVisibility()) {%>
+	 * @see #unset<%=genFeature.getAccessorName()%>()
+      <%}%>
+    <%}%>
+	 * @see #<%=genFeature.getGetAccessor()%>()
+    <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method.__m57RHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method.__m57RHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method.__m57RHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method._0ng5o2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method._0ng5o2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method._0ng5o2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method._0ng5omJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method._0ng5omJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method._0ng5omJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method._0ng5pWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method._0ng5pWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method._0ng5pWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method._0ng5smJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method._0ng5smJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method._0ng5smJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method.__oi6BHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method.__oi6BHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method.__oi6BHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method._0nqqo2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method._0nqqo2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method._0nqqo2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method._0nqqomJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method._0nqqomJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method._0nqqomJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method._0nqqpWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method._0nqqpWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method._0nqqpWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method._0nqqsmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method._0nqqsmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method._0nqqsmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method.__pvM1HLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method.__pvM1HLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method.__pvM1HLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method._0nz0k2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method._0nz0k2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method._0nz0k2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method._0nz0kmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method._0nz0kmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method._0nz0kmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method._0nz0lWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method._0nz0lWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method._0nz0lWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method._0nz0o2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method._0nz0o2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method._0nz0o2J-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method.__rEplHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method.__rEplHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method.__rEplHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method._0q8BE2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method._0q8BE2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method._0q8BE2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method._0q8BEmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method._0q8BEmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method._0q8BEmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method._0q8BFWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method._0q8BFWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method._0q8BFWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method._0q8BImJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method._0q8BImJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..8f8ef03
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method._0q8BImJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,151 @@
+
+
+<%if (isInterface) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/unsetGenFeature.javadoc.override.javajetinc%>
+<%} else {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+  <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+  <%}%>
+	 * @generated
+	 */
+<%if (isJDK50) { //Class/unsetGenFeature.annotations.insert.javajetinc%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+<%}%>
+<%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+<%}%>
+<%if (!isImplementation) {%>
+	void unset<%=genFeature.getAccessorName()%>();
+
+<%} else {%>
+  <%if (useInterfaceOverrideAnnotation && !genClass.isMapEntry() && !genClass.hasCollidingUnsetAccessorOperation(genFeature) && !genFeature.isSuppressedUnsetVisibility()) {%>
+	@Override
+  <%}%>
+	public void unset<%=genFeature.getAccessorName()%><%if (genClass.hasCollidingUnsetAccessorOperation(genFeature)) {%>_<%}%>()
+	{
+    <%if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) {%>
+		eDynamicUnset(<%=genClass.getQualifiedFeatureID(genFeature)%><%if (genClass.hasStaticFeatures()){%> - ESTATIC_FEATURE_COUNT<%}%>, <%=genFeature.getQualifiedFeatureAccessor()%>);
+    <%} else if (genModel.isReflectiveDelegation()) {%>
+		eUnset(<%=genFeature.getQualifiedFeatureAccessor()%>);
+    <%} else if (genFeature.hasSettingDelegate()) {%>
+		<%=genFeature.getUpperName()%>__ESETTING_DELEGATE.dynamicUnset(this, null, 0);
+    <%} else if (!genFeature.isVolatile()) {%>
+      <%if (genFeature.isListType()) {%>
+        <%if (genModel.isVirtualDelegation()) {%>
+		<%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+        <%}%>
+		if (<%=genFeature.getSafeName()%> != null) ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList")%>.Unsettable<%=singleWildcard%>)<%=genFeature.getSafeName()%>).unset();
+      <%} else if (genFeature.isBidirectional() || genFeature.isEffectiveContains()) {%>
+        <%if (genModel.isVirtualDelegation()) {%>
+		<%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+        <%}%>
+		if (<%=genFeature.getSafeName()%> != null)
+		{
+			<%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs = null;
+        <%if (!genFeature.isBidirectional()) {%>
+			msgs = <%=genFeature.getAsInternalEObject(genFeature.getSafeName(), true)%>.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - <%=genClass.getQualifiedFeatureID(genFeature)%><%=negativeOffsetCorrection%>, null, msgs);
+        <%} else { GenFeature reverseFeature = genFeature.getReverse(); GenClass targetClass = reverseFeature.getGenClass(); String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(genFeature) : "";%>
+			msgs = <%=genFeature.getAsInternalEObject(genFeature.getSafeName(), true)%>.eInverseRemove(this, <%=targetClass.getQualifiedFeatureID(reverseFeature)%><%=reverseOffsetCorrection%>, <%=targetClass.getRawImportedInterfaceName()%>.class, msgs);
+        <%}%>
+			msgs = basicUnset<%=genFeature.getAccessorName()%>(msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else
+		{
+        <%if (genModel.isVirtualDelegation()) {%>
+			boolean old<%=genFeature.getCapName()%>ESet = eVirtualIsSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+        <%} else if (genClass.isESetFlag(genFeature)) {%>
+          <%if (!genModel.isSuppressNotification()) {%>
+			boolean old<%=genFeature.getCapName()%>ESet = (<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0;
+          <%}%>
+			<%=genClass.getESetFlagsField(genFeature)%> &= ~<%=genFeature.getUpperName()%>_ESETFLAG;
+        <%} else {%>
+          <%if (!genModel.isSuppressNotification()) {%>
+			boolean old<%=genFeature.getCapName()%>ESet = <%=genFeature.getUncapName()%>ESet;
+          <%}%>
+			<%=genFeature.getUncapName()%>ESet = false;
+        <%}%>
+        <%if (!genModel.isSuppressNotification()) {%>
+			if (eNotificationRequired())
+				eNotify(new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.UNSET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, null, null, old<%=genFeature.getCapName()%>ESet));
+        <%}%>
+		}
+      <%} else {%>
+        <%if (genClass.isFlag(genFeature)) {%>
+          <%if (!genModel.isSuppressNotification()) {%>
+            <%if (genFeature.isBooleanType()) {%>
+		<%=genFeature.getImportedType(genClass)%> old<%=genFeature.getCapName()%> = (<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) != 0;
+            <%} else {%>
+		<%=genFeature.getImportedType(genClass)%> old<%=genFeature.getCapName()%> = <%=genFeature.getUpperName()%>_EFLAG_VALUES[(<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) >>> <%=genFeature.getUpperName()%>_EFLAG_OFFSET];
+            <%}%>
+          <%}%>
+        <%} else if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>
+		Object old<%=genFeature.getCapName()%> = eVirtualUnset(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+        <%} else {%>
+          <%if (!genModel.isSuppressNotification()) {%>
+		<%=genFeature.getImportedType(genClass)%> old<%=genFeature.getCapName()%> = <%=genFeature.getSafeName()%>;
+          <%}%>
+        <%}%>
+       <%if (!genModel.isSuppressNotification()) {%>
+        <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>
+		boolean isSetChange = old<%=genFeature.getCapName()%> != EVIRTUAL_NO_VALUE;
+          <%} else if (genClass.isESetFlag(genFeature)) {%>
+		boolean old<%=genFeature.getCapName()%>ESet = (<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0;
+          <%} else {%>
+		boolean old<%=genFeature.getCapName()%>ESet = <%=genFeature.getUncapName()%>ESet;
+          <%}%>
+        <%}%>
+        <%if (genFeature.isReferenceType()) {%>
+		<%=genFeature.getSafeName()%> = null;
+          <%if (!genModel.isVirtualDelegation()) {%>
+            <%if (genClass.isESetFlag(genFeature)) {%>
+		<%=genClass.getESetFlagsField(genFeature)%> &= ~<%=genFeature.getUpperName()%>_ESETFLAG;
+            <%} else {%>
+		<%=genFeature.getUncapName()%>ESet = false;
+            <%}%>
+          <%}%>
+          <%if (!genModel.isSuppressNotification()) {%>
+		if (eNotificationRequired())
+			eNotify(new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.UNSET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%if (genModel.isVirtualDelegation()) {%>isSetChange ? old<%=genFeature.getCapName()%> : null<%} else {%>old<%=genFeature.getCapName()%><%}%>, null, <%if (genModel.isVirtualDelegation()) {%>isSetChange<%} else {%>old<%=genFeature.getCapName()%>ESet<%}%>));
+          <%}%>
+        <%} else {%>
+          <%if (genClass.isFlag(genFeature)) {%>
+            <%if (genFeature.isBooleanType()) {%>
+		if (<%=genFeature.getEDefault()%>) <%=genClass.getFlagsField(genFeature)%> |= <%=genFeature.getUpperName()%>_EFLAG; else <%=genClass.getFlagsField(genFeature)%> &= ~<%=genFeature.getUpperName()%>_EFLAG;
+            <%} else {%>
+		<%=genClass.getFlagsField(genFeature)%> = <%=genClass.getFlagsField(genFeature)%> & ~<%=genFeature.getUpperName()%>_EFLAG | <%=genFeature.getUpperName()%>_EFLAG_DEFAULT;
+            <%}%>
+          <%} else if (!genModel.isVirtualDelegation() || genFeature.isPrimitiveType()) {%>
+		<%=genFeature.getSafeName()%> = <%=genFeature.getEDefault()%>;
+          <%}%>
+          <%if (!genModel.isVirtualDelegation() || genFeature.isPrimitiveType()) {%>
+            <%if (genClass.isESetFlag(genFeature)) {%>
+		<%=genClass.getESetFlagsField(genFeature)%> &= ~<%=genFeature.getUpperName()%>_ESETFLAG;
+            <%} else {%>
+		<%=genFeature.getUncapName()%>ESet = false;
+            <%}%>
+          <%}%>
+          <%if (!genModel.isSuppressNotification()) {%>
+		if (eNotificationRequired())
+			eNotify(new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.UNSET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>isSetChange ? old<%=genFeature.getCapName()%> : <%=genFeature.getEDefault()%><%} else {%>old<%=genFeature.getCapName()%><%}%>, <%=genFeature.getEDefault()%>, <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>isSetChange<%} else {%>old<%=genFeature.getCapName()%>ESet<%}%>));
+          <%}%>
+        <%}%>
+      <%}%>
+    <%} else if (genFeature.hasDelegateFeature()) { GenFeature delegateFeature = genFeature.getDelegateFeature();%>
+      <%if (delegateFeature.isWrappedFeatureMapType()) {%>
+		((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)get<%=delegateFeature.getAccessorName()%>()).featureMap()).clear(<%=genFeature.getQualifiedFeatureAccessor()%>);
+      <%} else {%>
+		((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)get<%=delegateFeature.getAccessorName()%>()).clear(<%=genFeature.getQualifiedFeatureAccessor()%>);
+      <%}%>
+    <%} else if (genClass.getUnsetAccessorOperation(genFeature) != null) {%>
+		<%=genClass.getUnsetAccessorOperation(genFeature).getBody(genModel.getIndentation(stringBuffer))%>
+    <%} else {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/unsetGenFeature.todo.override.javajetinc%>
+    <%}%>
+	}
+
+<%}%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method.__0BKNHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method.__0BKNHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method.__0BKNHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method._0qMaM2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method._0qMaM2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method._0qMaM2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method._0qMaMmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method._0qMaMmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method._0qMaMmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method._0qMaNWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method._0qMaNWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method._0qMaNWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method._0qMaQ2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method._0qMaQ2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method._0qMaQ2J-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method.__sQ8ZHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method.__sQ8ZHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method.__sQ8ZHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method._0qMaR2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method._0qMaR2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method._0qMaR2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method._0qMaSGJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method._0qMaSGJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method._0qMaSGJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method._0qWLMWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method._0qWLMWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method._0qWLMWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method._0qWLP2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method._0qWLP2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..2524a90
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method._0qWLP2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,5 @@
+
+
+		// TODO: implement this method to set the '<%=genFeature.getFormattedName()%>' <%=genFeature.getFeatureKind()%>
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method.__tAjRHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method.__tAjRHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method.__tAjRHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method._0qfVI2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method._0qfVI2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method._0qfVI2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method._0qfVImJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method._0qfVImJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method._0qfVImJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method._0qfVJWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method._0qfVJWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method._0qfVJWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method._0qfVMmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method._0qfVMmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..497b69d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method._0qfVMmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,57 @@
+
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+    <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
+<%if (isJDK50) { //Class/basicUnsetGenFeature.annotations.insert.javajetinc%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+<%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+<%}%>
+	public <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> basicUnset<%=genFeature.getAccessorName()%>(<%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs)
+	{
+    <%if (genModel.isDynamicDelegation()) {%>
+		return eDynamicInverseRemove(<%=genFeature.getAsInternalEObject("", false)%><%if (genFeature.isResolveProxies()) {%>basicGet<%=genFeature.getAccessorName()%><%} else {%><%=genFeature.getGetAccessor()%><%}%>(), <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, msgs);
+    <%} else if (!genFeature.isVolatile()) {%>
+      <%if (genModel.isVirtualDelegation()) {%>
+        <%if (!genModel.isSuppressNotification()) {%>Object old<%=genFeature.getCapName()%> = <%}%>eVirtualUnset(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+      <%} else {%>
+        <%if (!genModel.isSuppressNotification()) {%>
+		<%=genFeature.getImportedType(genClass)%> old<%=genFeature.getCapName()%> = <%=genFeature.getSafeName()%>;
+        <%}%>
+		<%=genFeature.getSafeName()%> = null;
+      <%}%>
+      <%if (genModel.isVirtualDelegation()) {%>
+        <%if (!genModel.isSuppressNotification()) {%>
+		boolean isSetChange = old<%=genFeature.getCapName()%> != EVIRTUAL_NO_VALUE;
+        <%}%>
+      <%} else if (genClass.isESetFlag(genFeature)) {%>
+        <%if (!genModel.isSuppressNotification()) {%>
+		boolean old<%=genFeature.getCapName()%>ESet = (<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0;
+        <%}%>
+		<%=genClass.getESetFlagsField(genFeature)%> &= ~<%=genFeature.getUpperName()%>_ESETFLAG;
+      <%} else {%>
+        <%if (!genModel.isSuppressNotification()) {%>
+		boolean old<%=genFeature.getCapName()%>ESet = <%=genFeature.getUncapName()%>ESet;
+        <%}%>
+		<%=genFeature.getUncapName()%>ESet = false;
+      <%}%>
+        <%if (!genModel.isSuppressNotification()) {%>
+		if (eNotificationRequired())
+		{
+			<%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%> notification = new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.UNSET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%if (genModel.isVirtualDelegation()) {%>isSetChange ? old<%=genFeature.getCapName()%> : null<%} else {%>old<%=genFeature.getCapName()%><%}%>, null, <%if (genModel.isVirtualDelegation()) {%>isSetChange<%} else {%>old<%=genFeature.getCapName()%>ESet<%}%>);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+        <%}%>
+    <%} else {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/basicUnsetGenFeature.todo.override.javajetinc%>
+    <%}%>
+	}
+
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method.__v101HLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method.__v101HLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method.__v101HLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method._0qpGI2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method._0qpGI2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method._0qpGI2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method._0qpGImJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method._0qpGImJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method._0qpGImJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method._0qpGJWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method._0qpGJWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method._0qpGJWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method._0qpGMmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method._0qpGMmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method._0qpGMmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method.__xezlHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method.__xezlHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method.__xezlHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method._0qy3I2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method._0qy3I2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method._0qy3I2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method._0qy3ImJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method._0qy3ImJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method._0qy3ImJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method._0qy3JWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method._0qy3JWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method._0qy3JWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method._0qy3MmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method._0qy3MmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..89c17da
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method._0qy3MmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,8 @@
+
+
+		// TODO: implement this method to unset the contained '<%=genFeature.getFormattedName()%>' <%=genFeature.getFeatureKind()%>
+		// -> this method is automatically invoked to keep the containment relationship in synch
+		// -> do not modify other features
+		// -> return msgs, after adding any generated Notification to it (if it is null, a NotificationChain object must be created first)
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method.__yrGZHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method.__yrGZHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method.__yrGZHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method._0rPjE2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method._0rPjE2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method._0rPjE2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method._0rPjEmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method._0rPjEmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method._0rPjEmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method._0rPjFWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method._0rPjFWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method._0rPjFWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method._0rPjImJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method._0rPjImJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e349b83
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method._0rPjImJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,19 @@
+
+
+	/**
+	 * Unsets the value of the '{@link <%=genClass.getRawQualifiedInterfaceName()%>#<%=genFeature.getGetAccessor()%> <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%>.
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+  <%if (!genFeature.isSuppressedIsSetVisibility()) {%>
+	 * @see #isSet<%=genFeature.getAccessorName()%>()
+  <%}%>
+	 * @see #<%=genFeature.getGetAccessor()%>()
+  <%if (!genFeature.isListType() && !genFeature.isSuppressedSetVisibility()) {%>
+	 * @see #set<%=genFeature.getAccessorName()%>(<%=genFeature.getRawImportedBoundType()%>)
+  <%}%>
+  <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+  <%}%>
+	 * @generated
+	 */
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method.__1gX9HLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method.__1gX9HLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method.__1gX9HLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method._0r_J82J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method._0r_J82J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method._0r_J82J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method._0r_J8mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method._0r_J8mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method._0r_J8mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method._0r_J9WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method._0r_J9WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method._0r_J9WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method._0r_KAmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method._0r_KAmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..bebddb5
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method._0r_KAmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,5 @@
+
+
+		// TODO: implement this method to unset the '<%=genFeature.getFormattedName()%>' <%=genFeature.getFeatureKind()%>
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method.__6keJHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method.__6keJHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method.__6keJHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method._0rieA2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method._0rieA2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method._0rieA2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method._0rieAmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method._0rieAmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method._0rieAmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method._0rieBWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method._0rieBWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method._0rieBWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method._0rieEmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method._0rieEmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method._0rieEmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method.__349lHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method.__349lHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method.__349lHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method._0rrn82J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method._0rrn82J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method._0rrn82J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method._0rrn8mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method._0rrn8mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method._0rrn8mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method._0rrn9WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method._0rrn9WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method._0rrn9WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method._0rroAmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method._0rroAmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method._0rroAmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method.__5rtVHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method.__5rtVHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method.__5rtVHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._0s360mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._0s360mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._0s360mJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._0s36w2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._0s36w2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._0s36w2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._0s36wmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._0s36wmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._0s36wmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._0s36xWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._0s36xWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._0s36xWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._ADOD1HLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._ADOD1HLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._ADOD1HLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method._0sIT42J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method._0sIT42J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method._0sIT42J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method._0sIT4mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method._0sIT4mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method._0sIT4mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method._0sIT5WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method._0sIT5WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method._0sIT5WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method._0sIT8mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method._0sIT8mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..c3b2a2a
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method._0sIT8mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,64 @@
+
+
+<%if (isInterface) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/isSetGenFeature.javadoc.override.javajetinc%>
+<%} else {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+    <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
+<%if (isJDK50) { //Class/isSetGenFeature.annotations.insert.javajetinc%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+<%}%>
+<%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+<%}%>
+<%if (!isImplementation) {%>
+	boolean isSet<%=genFeature.getAccessorName()%>();
+
+<%} else {%>
+  <%if (useInterfaceOverrideAnnotation  && !genClass.isMapEntry() && !genClass.hasCollidingIsSetAccessorOperation(genFeature) && !genFeature.isSuppressedIsSetVisibility()) {%>
+	@Override
+  <%}%>
+	public boolean isSet<%=genFeature.getAccessorName()%><%if (genClass.hasCollidingIsSetAccessorOperation(genFeature)) {%>_<%}%>()
+	{
+    <%if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) {%>
+		return eDynamicIsSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%if (genClass.hasStaticFeatures()){%> - ESTATIC_FEATURE_COUNT<%}%>, <%=genFeature.getQualifiedFeatureAccessor()%>);
+    <%} else if (genModel.isReflectiveDelegation()) {%>
+		return eIsSet(<%=genFeature.getQualifiedFeatureAccessor()%>);
+    <%} else if (genFeature.hasSettingDelegate()) {%>
+		return <%=genFeature.getUpperName()%>__ESETTING_DELEGATE.dynamicIsSet(this, null, 0);
+    <%} else if (!genFeature.isVolatile()) {%>
+      <%if (genFeature.isListType()) {%>
+        <%if (genModel.isVirtualDelegation()) {%>
+		<%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+        <%}%>
+		return <%=genFeature.getSafeName()%> != null && ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList")%>.Unsettable<%=singleWildcard%>)<%=genFeature.getSafeName()%>).isSet();
+      <%} else {%>
+        <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>
+		return eVirtualIsSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+        <%} else if (genClass.isESetFlag(genFeature)) {%>
+		return (<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0;
+        <%} else {%>
+		return <%=genFeature.getUncapName()%>ESet;
+        <%}%>
+      <%}%>
+    <%} else if (genFeature.hasDelegateFeature()) { GenFeature delegateFeature = genFeature.getDelegateFeature();%>
+      <%if (delegateFeature.isWrappedFeatureMapType()) {%>
+		return !((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)get<%=delegateFeature.getAccessorName()%>()).featureMap()).isEmpty(<%=genFeature.getQualifiedFeatureAccessor()%>);
+      <%} else {%>
+		return !((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)get<%=delegateFeature.getAccessorName()%>()).isEmpty(<%=genFeature.getQualifiedFeatureAccessor()%>);
+      <%}%>
+    <%} else if (genClass.getIsSetAccessorOperation(genFeature) != null) {%>
+		<%=genClass.getIsSetAccessorOperation(genFeature).getBody(genModel.getIndentation(stringBuffer))%>
+    <%} else {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/isSetGenFeature.todo.override.javajetinc%>
+    <%}%>
+	}
+
+<%}%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method.__8ES9HLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method.__8ES9HLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method.__8ES9HLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method._0sSE42J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method._0sSE42J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method._0sSE42J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method._0sSE4mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method._0sSE4mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method._0sSE4mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method._0sSE5WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method._0sSE5WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method._0sSE5WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method._0sSE8mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method._0sSE8mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..3edcd74
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method._0sSE8mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,20 @@
+
+
+	/**
+	 * Returns whether the value of the '{@link <%=genClass.getRawQualifiedInterfaceName()%>#<%=genFeature.getGetAccessor()%> <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%> is set.
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return whether the value of the '<em><%=genFeature.getFormattedName()%></em>' <%=genFeature.getFeatureKind()%> is set.
+    <%if (genFeature.isChangeable() && !genFeature.isSuppressedUnsetVisibility()) {%>
+	 * @see #unset<%=genFeature.getAccessorName()%>()
+    <%}%>
+	 * @see #<%=genFeature.getGetAccessor()%>()
+    <%if (!genFeature.isListType() && genFeature.isChangeable() && !genFeature.isSuppressedSetVisibility()) {%>
+	 * @see #set<%=genFeature.getAccessorName()%>(<%=genFeature.getRawImportedBoundType()%>)
+    <%}%>
+    <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method.__9sqpHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method.__9sqpHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method.__9sqpHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method._0sb142J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method._0sb142J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method._0sb142J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method._0sb14mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method._0sb14mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method._0sb14mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method._0sb15WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method._0sb15WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method._0sb15WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method._0sb18mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method._0sb18mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method._0sb18mJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method.__-mChHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method.__-mChHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method.__-mChHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method._0sk_02J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method._0sk_02J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method._0sk_02J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method._0sk_0mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method._0sk_0mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method._0sk_0mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method._0sk_1WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method._0sk_1WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method._0sk_1WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method._0sk_4mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method._0sk_4mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method._0sk_4mJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method.___faZHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method.___faZHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method.___faZHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._0suw02J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._0suw02J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._0suw02J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._0suw0mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._0suw0mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._0suw0mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._0suw1WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._0suw1WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._0suw1WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._0suw4mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._0suw4mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..b837f39
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._0suw4mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,5 @@
+
+
+		// TODO: implement this method to return whether the '<%=genFeature.getFormattedName()%>' <%=genFeature.getFeatureKind()%> is set
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._AAYyRHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._AAYyRHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._AAYyRHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._0t7Do2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._0t7Do2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._0t7Do2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._0t7DomJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._0t7DomJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._0t7DomJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._0t7DpWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._0t7DpWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._0t7DpWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._0t7DsmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._0t7DsmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..fc18b0e
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._0t7DsmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,5 @@
+
+
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._AKODtHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._AKODtHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._AKODtHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._0tLc0GJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._0tLc0GJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..78be4c1
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._0tLc0GJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,126 @@
+
+
+  <%if (isImplementation) {%>
+    <%if (genOperation.isInvariant() && genOperation.hasInvariantExpression()) {%>
+	/**
+	 * The cached validation expression for the '{@link #<%=genOperation.getName()%>(<%=genOperation.getParameterTypes(", ")%>) <em><%=genOperation.getFormattedName()%></em>}' invariant operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #<%=genOperation.getName()%>(<%=genOperation.getParameterTypes(", ")%>)
+      <%if (genOperation.hasAPITags()) {%>
+	 * <%=genOperation.getAPITags(genModel.getIndentation(stringBuffer))%>
+      <%}%>
+	 * @generated
+	 * @ordered
+	 */
+      <%if (isJDK50 && genOperation.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+      <%}%>
+	protected static final <%=genModel.getImportedName("java.lang.String")%> <%=CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale())%>__EEXPRESSION = "<%=genOperation.getInvariantExpression("\t\t")%>";<%=genModel.getNonNLS()%>
+
+    <%} else if (genOperation.hasInvocationDelegate()) {%>
+	/**
+	 * The cached invocation delegate for the '{@link #<%=genOperation.getName()%>(<%=genOperation.getParameterTypes(", ")%>) <em><%=genOperation.getFormattedName()%></em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #<%=genOperation.getName()%>(<%=genOperation.getParameterTypes(", ")%>)
+      <%if (genOperation.hasAPITags()) {%>
+	 * <%=genOperation.getAPITags(genModel.getIndentation(stringBuffer))%>
+      <%}%>
+	 * @generated
+	 * @ordered
+	 */
+      <%if (isJDK50 && genOperation.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+      <%}%>
+	protected static final <%=genModel.getImportedName("org.eclipse.emf.ecore.EOperation")%>.Internal.InvocationDelegate <%=CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale())%>__EINVOCATION_DELEGATE = ((<%=genModel.getImportedName("org.eclipse.emf.ecore.EOperation")%>.Internal)<%=genOperation.getQualifiedOperationAccessor()%>).getInvocationDelegate();
+
+    <%}%>
+  <%}%>
+<%if (isInterface) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/genOperation.javadoc.override.javajetinc%>
+<%} else {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+      <%if (genOperation.hasAPITags()) {%>
+	 * <%=genOperation.getAPITags(genModel.getIndentation(stringBuffer))%>
+      <%}%>
+	 * @generated
+	 */
+<%if (isJDK50) { //Class/genOperation.annotations.insert.javajetinc%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+<%}%>
+<%if (isJDK50 && genOperation.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+<%}%>
+<%if (!isImplementation) {%>
+	<%=genOperation.getTypeParameters(genClass)%><%=genOperation.getImportedType(genClass)%> <%=genOperation.getName()%>(<%=genOperation.getParameters(genClass)%>)<%=genOperation.getThrows(genClass)%>;
+
+<%} else {%>
+  <%if (genModel.useGenerics() && !genOperation.hasBody() && !genOperation.isInvariant() && genOperation.hasInvocationDelegate() && genOperation.isUncheckedCast(genClass)) {%>
+	@SuppressWarnings("unchecked")
+  <%}%>
+  <%if (useInterfaceOverrideAnnotation && !genClass.isMapEntry() && !genOperation.isSuppressedVisibility()) {%>
+	@Override
+  <%}%>
+	public <%=genOperation.getTypeParameters(genClass)%><%=genOperation.getImportedType(genClass)%> <%=genOperation.getName()%>(<%=genOperation.getParameters(isImplementation, genClass)%>)<%=genOperation.getThrows(genClass)%>
+	{
+  <%if (genOperation.hasBody()) {%>
+		<%=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()) {%>
+		return
+			<%=opClass.getGenPackage().getImportedValidatorClassName()%>.validate
+				(<%=genClass.getQualifiedClassifierAccessor()%>,
+				 this,
+				 <%=diagnostics%>,
+				 <%=context%>,
+				 "<%=genOperation.getValidationDelegate()%>",<%=genModel.getNonNLS()%>
+				 <%=genOperation.getQualifiedOperationAccessor()%>,
+				 <%=CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale())%>__EEXPRESSION,
+				 <%=genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")%>.ERROR,
+				 <%=opClass.getGenPackage().getImportedValidatorClassName()%>.DIAGNOSTIC_SOURCE,
+				 <%=opClass.getGenPackage().getImportedValidatorClassName()%>.<%=opClass.getOperationID(genOperation)%>);
+    <%} else {%>
+		// TODO: implement this method
+		// -> specify the condition that violates the invariant
+		// -> verify the details of the diagnostic, including severity and message
+		// Ensure that you remove @generated or mark it @generated NOT
+		if (false)
+		{
+			if (<%=diagnostics%> != null)
+			{
+				<%=diagnostics%>.add
+					(new <%=genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic")%>
+						(<%=genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")%>.ERROR,
+						 <%=opClass.getGenPackage().getImportedValidatorClassName()%>.DIAGNOSTIC_SOURCE,
+						 <%=opClass.getGenPackage().getImportedValidatorClassName()%>.<%=opClass.getOperationID(genOperation)%>,
+						 <%=genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin")%>.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "<%=genOperation.getName()%>", <%=genModel.getImportedName("org.eclipse.emf.ecore.util.EObjectValidator")%>.getObjectLabel(this, <%=context%>) }),<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+						 new Object [] { this }));
+			}
+			return false;
+		}
+		return true;
+    <%}%>
+  <%} else if (genOperation.hasInvocationDelegate()) { int size = genOperation.getGenParameters().size();%>
+		try
+		{
+    <%if (genOperation.isVoid()) {%>
+			<%=CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale())%>__EINVOCATION_DELEGATE.dynamicInvoke(this, <%if (size > 0) {%>new <%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%>.UnmodifiableEList<Object>(<%=size%>, <%=genOperation.getParametersArray(genClass)%>)<%} else {%>null<%}%>);
+    <%} else {%>
+			return <%if (!isJDK50 && genOperation.isPrimitiveType()) {%>(<%}%>(<%=genOperation.getObjectType(genClass)%>)<%=CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale())%>__EINVOCATION_DELEGATE.dynamicInvoke(this, <%if (size > 0) {%>new <%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%>.UnmodifiableEList<Object>(<%=size%>, <%=genOperation.getParametersArray(genClass)%>)<%} else {%>null<%}%>)<%if (!isJDK50 && genOperation.isPrimitiveType()) {%>).<%=genOperation.getPrimitiveValueFunction()%>()<%}%>;
+    <%}%>
+		}
+		catch (<%=genModel.getImportedName(isGWT ? "org.eclipse.emf.common.util.InvocationTargetException" : "java.lang.reflect.InvocationTargetException")%> ite)
+		{
+			throw new <%=genModel.getImportedName("org.eclipse.emf.common.util.WrappedException")%>(ite);
+		}
+  <%} else {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/implementedGenOperation.todo.override.javajetinc%>
+  <%}%>
+	}
+
+<%}%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._0tLcw2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._0tLcw2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._0tLcw2J-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._0tLcwGJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._0tLcwGJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._0tLcwGJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._0tLcwWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._0tLcwWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._0tLcwWJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._AD9qtHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._AD9qtHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._AD9qtHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._0tUms2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._0tUms2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._0tUms2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._0tUmsmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._0tUmsmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._0tUmsmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._0tUmtWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._0tUmtWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._0tUmtWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._0tUmwmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._0tUmwmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..95e0b50
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._0tUmwmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,32 @@
+
+
+	/**
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+  <%if (genOperation.hasDocumentation() || genOperation.hasParameterDocumentation()) {%>
+	 * <!-- begin-model-doc -->
+    <%if (genOperation.hasDocumentation()) {%>
+	 * <%=genOperation.getDocumentation(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+    <%for (GenParameter genParameter : genOperation.getGenParameters()) {%>
+      <%if (genParameter.hasDocumentation()) { String documentation = genParameter.getDocumentation("");%>
+        <%if (documentation.contains("\n") || documentation.contains("\r")) {%>
+	 * @param <%=genParameter.getName()%>
+	 *   <%=genParameter.getDocumentation(genModel.getIndentation(stringBuffer))%>
+        <%} else {%>
+	 * @param <%=genParameter.getName()%> <%=genParameter.getDocumentation(genModel.getIndentation(stringBuffer))%>
+        <%}%>
+      <%}%>
+    <%}%>
+	 * <!-- end-model-doc -->
+  <%}%>
+  <%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;%>
+	 * @model <%=modelInfo%>
+  <%} else {%>
+	 *        <%=modelInfo%>
+  <%}} if (first) {%>
+	 * @model
+  <%}}%>
+	 * @generated
+	 */
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._AFJ9hHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._AFJ9hHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._AFJ9hHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._0toIs2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._0toIs2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._0toIs2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._0toIsmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._0toIsmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._0toIsmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._0toItWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._0toItWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._0toItWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._0toIwmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._0toIwmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._0toIwmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._AG8GNHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._AG8GNHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._AG8GNHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._0txSo2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._0txSo2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._0txSo2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._0txSomJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._0txSomJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._0txSomJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._0txSpWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._0txSpWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._0txSpWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._0txSsmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._0txSsmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._0txSsmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._AIbT9HLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._AIbT9HLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._AIbT9HLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._0u0bg2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._0u0bg2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._0u0bg2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._0u0bhGJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._0u0bhGJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._0u0bhGJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._0u0bhmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._0u0bhmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._0u0bhmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._0u0bk2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._0u0bk2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..ba596b5
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._0u0bk2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,242 @@
+
+
+    <%if (genFeature.hasSettingDelegate()) {%>
+	/**
+	 * The cached setting delegate for the '{@link #<%=genFeature.getGetAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #<%=genFeature.getGetAccessor()%>()
+       <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+       <%}%>
+	 * @generated
+	 * @ordered
+	 */
+      <%if (isGWT) {%>
+	@<%=genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient")%>
+      <%}%>
+        <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+        <%}%>
+	protected <%=genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature")%>.Internal.SettingDelegate <%=genFeature.getUpperName()%>__ESETTING_DELEGATE = ((<%=genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature")%>.Internal)<%=genFeature.getQualifiedFeatureAccessor()%>).getSettingDelegate();
+
+    <%} else if (genFeature.isListType() || genFeature.isReferenceType()) {%>
+      <%if (genClass.isField(genFeature)) {%>
+	/**
+	 * The cached value of the '{@link #<%=genFeature.getGetAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #<%=genFeature.getGetAccessor()%>()
+       <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+       <%}%>
+	 * @generated
+	 * @ordered
+	 */
+      <%if (isGWT) {%>
+	@<%=genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient")%>
+      <%}%>
+        <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+        <%}%>
+	protected <%=genFeature.getImportedInternalType(genClass)%> <%=genFeature.getSafeName()%>;
+
+      <%}%>
+      <%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); } %>
+	/**
+	 * The empty value for the '{@link #<%=genFeature.getGetArrayAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}' array accessor.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #<%=genFeature.getGetArrayAccessor()%>()
+       <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+       <%}%>
+	 * @generated
+	 * @ordered
+	 */
+        <%if (genFeature.getQualifiedListItemType(genClass).contains("<") || genFeature.getArrayItemType(genClass).contains("<")) {%>
+	@SuppressWarnings("rawtypes")
+        <%}%>
+        <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+        <%}%>
+	protected static final <%=rawListItemType%>[] <%=genFeature.getUpperName()%>_EEMPTY_ARRAY = new <%=head%> [0]<%=tail%>;
+
+      <%}%>
+    <%} else {%>
+      <%if (genFeature.hasEDefault() && (!genFeature.isVolatile() || !genModel.isReflectiveDelegation() && (!genFeature.hasDelegateFeature() || !genFeature.isUnsettable()))) { String staticDefaultValue = genFeature.getStaticDefaultValue();%>
+	/**
+	 * The default value of the '{@link #<%=genFeature.getGetAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #<%=genFeature.getGetAccessor()%>()
+       <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+       <%}%>
+	 * @generated
+	 * @ordered
+	 */
+        <%if (genModel.useGenerics() && genFeature.isListDataType() && genFeature.isSetDefaultValue()) {%>
+	@SuppressWarnings("unchecked")
+        <%}%>
+        <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+        <%}%>
+	protected static final <%=genFeature.getImportedType(genClass)%> <%=genFeature.getEDefault()%><%if ("".equals(staticDefaultValue)) {%>; // TODO The default value literal "<%=genFeature.getEcoreFeature().getDefaultValueLiteral()%>" is not valid.<%} else {%> = <%=staticDefaultValue%>;<%=genModel.getNonNLS(staticDefaultValue)%><%}%>
+
+      <%}%>
+      <%if (genClass.isField(genFeature)) {%>
+        <%if (genClass.isFlag(genFeature)) { int flagIndex = genClass.getFlagIndex(genFeature);%>
+          <%if (flagIndex > 31 && flagIndex % 32 == 0) {%>
+	/**
+	 * An additional set of bit flags representing the values of boolean attributes and whether unsettable features have been set.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+      <%if (isGWT) {%>
+	@<%=genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient")%>
+      <%}%>
+	protected int <%=genClass.getFlagsField(genFeature)%> = 0;
+
+          <%}%>
+          <%if (genFeature.isEnumType()) {%>
+	/**
+	 * The offset of the flags representing the value of the '{@link #<%=genFeature.getGetAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+       <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+       <%}%>
+	 * @generated
+	 * @ordered
+	 */
+        <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+        <%}%>
+	protected static final int <%=genFeature.getUpperName()%>_EFLAG_OFFSET = <%=flagIndex % 32%>;
+
+	/**
+	 * The flags representing the default value of the '{@link #<%=genFeature.getGetAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+       <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+       <%}%>
+	 * @generated
+	 * @ordered
+	 */
+        <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+        <%}%>
+	protected static final int <%=genFeature.getUpperName()%>_EFLAG_DEFAULT = <%if (isJDK50) {%><%=genFeature.getEDefault()%>.ordinal()<%} else {%><%=genFeature.getImportedType(genClass)%>.VALUES.indexOf(<%=genFeature.getEDefault()%>)<%}%> << <%=genFeature.getUpperName()%>_EFLAG_OFFSET;
+
+	/**
+	 * The array of enumeration values for '{@link <%=genFeature.getImportedType(genClass)%> <%=genFeature.getTypeGenClassifier().getFormattedName()%>}'
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+       <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+       <%}%>
+	 * @generated
+	 * @ordered
+	 */
+        <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+        <%}%>
+	private static final <%=genFeature.getImportedType(genClass)%>[] <%=genFeature.getUpperName()%>_EFLAG_VALUES = <%if (isJDK50) {%><%=genFeature.getImportedType(genClass)%>.values()<%} else {%>(<%=genFeature.getImportedType(genClass)%>[])<%=genFeature.getImportedType(genClass)%>.VALUES.toArray(new <%=genFeature.getImportedType(genClass)%>[<%=genFeature.getImportedType(genClass)%>.VALUES.size()])<%}%>;
+
+          <%}%>
+	/**
+	 * The flag<%=genClass.getFlagSize(genFeature) > 1 ? "s" : ""%> representing the value of the '{@link #<%=genFeature.getGetAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #<%=genFeature.getGetAccessor()%>()
+       <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+       <%}%>
+	 * @generated
+	 * @ordered
+	 */
+        <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+        <%}%>
+	protected static final int <%=genFeature.getUpperName()%>_EFLAG = <%=genClass.getFlagMask(genFeature)%> << <%if (genFeature.isEnumType()) {%><%=genFeature.getUpperName()%>_EFLAG_OFFSET<%} else {%><%=flagIndex % 32%><%}%>;
+
+        <%} else {%>
+	/**
+	 * The cached value of the '{@link #<%=genFeature.getGetAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #<%=genFeature.getGetAccessor()%>()
+       <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+       <%}%>
+	 * @generated
+	 * @ordered
+	 */
+      <%if (isGWT) {%>
+	@<%=genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient")%>
+      <%}%>
+        <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+        <%}%>
+	protected <%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%><%if (genFeature.hasEDefault()) {%> = <%=genFeature.getEDefault()%><%}%>;
+
+        <%}%>
+      <%}%>
+    <%}%>
+    <%if (genClass.isESetField(genFeature)) {%>
+      <%if (genClass.isESetFlag(genFeature)) { int flagIndex = genClass.getESetFlagIndex(genFeature);%>
+        <%if (flagIndex > 31 && flagIndex % 32 == 0) {%>
+	/**
+	 * An additional set of bit flags representing the values of boolean attributes and whether unsettable features have been set.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+      <%if (isGWT) {%>
+	@<%=genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient")%>
+      <%}%>
+	protected int <%=genClass.getESetFlagsField(genFeature)%> = 0;
+
+        <%}%>
+	/**
+	 * The flag representing whether the <%=genFeature.getFormattedName()%> <%=genFeature.getFeatureKind()%> has been set.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+       <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+       <%}%>
+	 * @generated
+	 * @ordered
+	 */
+       <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+       <%}%>
+	protected static final int <%=genFeature.getUpperName()%>_ESETFLAG = 1 << <%=flagIndex % 32 %>;
+
+      <%} else {%>
+	/**
+	 * This is true if the <%=genFeature.getFormattedName()%> <%=genFeature.getFeatureKind()%> has been set.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+       <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+       <%}%>
+	 * @generated
+	 * @ordered
+	 */
+      <%if (isGWT) {%>
+	@<%=genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient")%>
+      <%}%>
+        <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+        <%}%>
+	protected boolean <%=genFeature.getUncapName()%>ESet;
+
+      <%}%>
+    <%}%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._AQBwxXLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._AQBwxXLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._AQBwxXLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._0uENk2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._0uENk2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._0uENk2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._0uENkmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._0uENkmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._0uENkmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._0uENlWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._0uENlWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._0uENlWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._0uENomJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._0uENomJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._0uENomJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._ALaWhHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._ALaWhHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._ALaWhHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._0uN-k2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._0uN-k2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._0uN-k2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._0uN-kmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._0uN-kmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._0uN-kmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._0uN-lWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._0uN-lWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._0uN-lWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._0uN-oWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._0uN-oWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..703dd2c
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._0uN-oWJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,54 @@
+
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	public void eUnset(int featureID)
+	{
+		switch (featureID<%=negativeOffsetCorrection%>)
+		{
+  <%for (GenFeature genFeature : genClass.getEUnsetGenFeatures()) {%>
+			case <%=genClass.getQualifiedFeatureID(genFeature)%>:
+    <%if (genFeature.isListType() && !genFeature.isUnsettable()) {%>
+      <%if (genFeature.isWrappedFeatureMapType()) {%>
+				((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)<%=genFeature.getGetAccessor()%>()).featureMap().clear();
+      <%} else {%>
+				<%=genFeature.getGetAccessor()%>().clear();
+      <%}%>
+    <%} else if (genFeature.isUnsettable()) {%>
+				unset<%=genFeature.getAccessorName()%>();
+    <%} else if (!genFeature.hasEDefault()) {%>
+				set<%=genFeature.getAccessorName()%>((<%=genFeature.getImportedType(genClass)%>)null);
+    <%} else if (genFeature.hasSettingDelegate()) {%>
+				<%=genFeature.getUpperName()%>__ESETTING_DELEGATE.dynamicUnset(this, null, 0);
+    <%} else {%>
+				set<%=genFeature.getAccessorName()%>(<%=genFeature.getEDefault()%>);
+    <%}%>
+				return;
+  <%}%>
+<%if (forceDefaultCase) {%>
+			default:
+<%} else { // {%>
+		}
+<%}%>
+  <%if (genModel.isMinimalReflectiveMethods()) {%>
+<%=indentDefaultCase%>		super.eUnset(featureID);
+<%if (forceDefaultCase) {%>
+				return;
+<%}%>
+  <%} else {%>
+<%=indentDefaultCase%>		eDynamicUnset(featureID);
+<%if (forceDefaultCase) {%>
+				return;
+<%}%>
+  <%}%>
+<%if (forceDefaultCase) { // {%>
+		}
+<%} // }%>
+	}
+
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._AMmpVHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._AMmpVHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._AMmpVHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._0uXvk2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._0uXvk2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._0uXvk2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._0uXvkmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._0uXvkmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._0uXvkmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._0uXvlWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._0uXvlWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._0uXvlWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._0uXvoWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._0uXvoWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..4b6981b
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._0uXvoWJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,116 @@
+
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useGenerics()) {%>
+    <%for (GenFeature genFeature : genClass.getEIsSetGenFeatures()) {%>
+      <%if (genFeature.isListType() && !genFeature.isUnsettable() && !genFeature.isWrappedFeatureMapType() && !genClass.isField(genFeature) && genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {%>
+	@SuppressWarnings("unchecked")
+      <%break; }%>
+    <%}%>
+  <%}%>
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	public boolean eIsSet(int featureID)
+	{
+		switch (featureID<%=negativeOffsetCorrection%>)
+		{
+<%for (GenFeature genFeature : genClass.getEIsSetGenFeatures()) { String safeNameAccessor = genFeature.getSafeName(); if ("featureID".equals(safeNameAccessor)) { safeNameAccessor = "this." + safeNameAccessor; }%>
+			case <%=genClass.getQualifiedFeatureID(genFeature)%>:
+  <%if (genFeature.hasSettingDelegate()) {%>
+    <%if (genFeature.isUnsettable()) {%>
+				return isSet<%=genFeature.getAccessorName()%>();
+    <%} else {%>
+				return <%=genFeature.getUpperName()%>__ESETTING_DELEGATE.dynamicIsSet(this, null, 0);
+    <%}%>
+  <%} else if (genFeature.isListType() && !genFeature.isUnsettable()) {%>
+    <%if (genFeature.isWrappedFeatureMapType()) {%>
+      <%if (genFeature.isVolatile()) {%>
+				return !((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)<%=genFeature.getGetAccessor()%>()).featureMap().isEmpty();
+      <%} else {%>
+				return <%=safeNameAccessor%> != null && !<%=safeNameAccessor%>.featureMap().isEmpty();
+      <%}%>
+    <%} else {%>
+      <%if (genClass.isField(genFeature)) {%>
+				return <%=safeNameAccessor%> != null && !<%=safeNameAccessor%>.isEmpty();
+      <%} else {%>
+        <%if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {%>
+				<%=genFeature.getImportedType(genClass)%> <%=safeNameAccessor%> = (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+				return <%=safeNameAccessor%> != null && !<%=safeNameAccessor%>.isEmpty();
+        <%} else {%>
+				return !<%=genFeature.getGetAccessor()%>().isEmpty();
+        <%}%>
+      <%}%>
+    <%}%>
+  <%} else if (genFeature.isUnsettable()) {%>
+				return isSet<%=genFeature.getAccessorName()%>();
+  <%} else if (genFeature.isResolveProxies()) {%>
+    <%if (genClass.isField(genFeature)) {%>
+				return <%=safeNameAccessor%> != null;
+    <%} else {%>
+      <%if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {%>
+				return eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>) != null;
+      <%} else {%>
+				return basicGet<%=genFeature.getAccessorName()%>() != null;
+      <%}%>
+    <%}%>
+  <%} else if (!genFeature.hasEDefault()) {%>
+    <%if (genClass.isField(genFeature)) {%>
+				return <%=safeNameAccessor%> != null;
+    <%} else {%>
+      <%if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {%>
+				return eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>) != null;
+      <%} else {%>
+				return <%=genFeature.getGetAccessor()%>() != null;
+      <%}%>
+    <%}%>
+  <%} else if (genFeature.isPrimitiveType() || genFeature.isEnumType()) {%>
+    <%if (genClass.isField(genFeature)) {%>
+      <%if (genClass.isFlag(genFeature)) {%>
+        <%if (genFeature.isBooleanType()) {%>
+				return ((<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) != 0) != <%=genFeature.getEDefault()%>;
+        <%} else {%>
+				return (<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) != <%=genFeature.getUpperName()%>_EFLAG_DEFAULT;
+        <%}%>
+      <%} else {%>
+				return <%=safeNameAccessor%> != <%=genFeature.getEDefault()%>;
+      <%}%>
+    <%} else {%>
+      <%if (genFeature.isEnumType() && genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {%>
+				return eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%=genFeature.getEDefault()%>) != <%=genFeature.getEDefault()%>;
+      <%} else {%>
+				return <%=genFeature.getGetAccessor()%>() != <%=genFeature.getEDefault()%>;
+      <%}%>
+    <%}%>
+  <%} else {//datatype%>
+    <%if (genClass.isField(genFeature)) {%>
+				return <%=genFeature.getEDefault()%> == null ? <%=safeNameAccessor%> != null : !<%=genFeature.getEDefault()%>.equals(<%=safeNameAccessor%>);
+    <%} else {%>
+      <%if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {%>
+				<%=genFeature.getImportedType(genClass)%> <%=safeNameAccessor%> = (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%=genFeature.getEDefault()%>);
+				return <%=genFeature.getEDefault()%> == null ? <%=safeNameAccessor%> != null : !<%=genFeature.getEDefault()%>.equals(<%=safeNameAccessor%>);
+      <%} else {%>
+				return <%=genFeature.getEDefault()%> == null ? <%=genFeature.getGetAccessor()%>() != null : !<%=genFeature.getEDefault()%>.equals(<%=genFeature.getGetAccessor()%>());
+      <%}%>
+    <%}%>
+  <%}%>
+<%}%>
+<%if (forceDefaultCase) {%>
+			default:
+<%} else { // {%>
+		}
+<%}%>
+<%if (genModel.isMinimalReflectiveMethods()) {%>
+<%=indentDefaultCase%>		return super.eIsSet(featureID);
+<%} else {%>
+<%=indentDefaultCase%>		return eDynamicIsSet(featureID);
+<%}%>
+<%if (forceDefaultCase) { // {%>
+		}
+<%} // }%>
+	}
+
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._AN8tJHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._AN8tJHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._AN8tJHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._0ug5g2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._0ug5g2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._0ug5g2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._0ug5gmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._0ug5gmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._0ug5gmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._0ug5hWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._0ug5hWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._0ug5hWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._0ug5kWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._0ug5kWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._0ug5kWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._AO_O9HLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._AO_O9HLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._AO_O9HLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._--X7pXLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._--X7pXLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._--X7pXLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._0uqqg2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._0uqqg2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._0uqqg2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._0uqqhGJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._0uqqhGJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._0uqqhGJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._0uqqhmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._0uqqhmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._0uqqhmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._0uqqimJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._0uqqimJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d41619d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._0uqqimJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,24 @@
+
+
+<%if (genPackage.hasExtendedMetaData()) {%>
+		<%=genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource")%> result = new <%=genPackage.getResourceClassName()%>(uri);
+		result.getDefaultSaveOptions().put(<%=genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource")%>.OPTION_EXTENDED_META_DATA, <%if (genPackage.hasTargetNamespace()){%>Boolean.TRUE<%}else{%>extendedMetaData<%}%>);
+		result.getDefaultLoadOptions().put(<%=genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource")%>.OPTION_EXTENDED_META_DATA, <%if (genPackage.hasTargetNamespace()){%>Boolean.TRUE<%}else{%>extendedMetaData<%}%>);
+
+		result.getDefaultSaveOptions().put(<%=genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource")%>.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(<%=genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource")%>.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+		result.getDefaultSaveOptions().put(<%=genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource")%>.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(<%=genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource")%>.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+<%if (genPackage.isDataTypeConverters() && genPackage.hasDocumentRoot()) {%>
+		result.getDefaultLoadOptions().put(<%=genPackage.getResourceClassName()%>.OPTION_USE_DATA_CONVERTER, Boolean.TRUE);
+<%}%>
+<%} else if (genPackage.hasXMLMap()) {%>
+		<%=genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource")%> result = new <%=genPackage.getResourceClassName()%>(uri);
+		result.getDefaultSaveOptions().put(<%=genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource")%>.OPTION_XML_MAP, xmlMap);
+		result.getDefaultLoadOptions().put(<%=genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource")%>.OPTION_XML_MAP, xmlMap);
+<%} else {%>
+		Resource result = new <%=genPackage.getResourceClassName()%>(uri);
+<%}%>
+		return result;
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._0vHWc2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._0vHWc2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._0vHWc2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._0vHWcmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._0vHWcmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._0vHWcmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._0vHWdWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._0vHWdWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._0vHWdWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._0vHWgmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._0vHWgmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._0vHWgmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._ARX0lHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._ARX0lHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._ARX0lHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._0vQgY2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._0vQgY2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._0vQgY2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._0vQgYmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._0vQgYmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._0vQgYmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._0vQgZWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._0vQgZWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._0vQgZWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._0vQgcWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._0vQgcWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d5092be
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._0vQgcWJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,26 @@
+
+
+<%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()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static final int ESTATIC_FEATURE_COUNT = <%=genClass.getClassExtendsGenClass() == null ? 0 : genClass.getClassExtendsGenClass().getAllGenFeatures().size()%>;
+
+  <%}%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	protected int eStaticFeatureCount()
+	{
+		return <%=genClass.getClassExtendsGenClass() == null ? "0" : genClass.hasStaticFeatures() ? "ESTATIC_FEATURE_COUNT" : Integer.toString(genClass.getClassExtendsGenClass().getAllGenFeatures().size())%>;
+	}
+
+<%}%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._ASkHZHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._ASkHZHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._ASkHZHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._0vaRY2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._0vaRY2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._0vaRY2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._0vaRYmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._0vaRYmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._0vaRYmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._0vaRZWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._0vaRZWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._0vaRZWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._0vaRcmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._0vaRcmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..845c938
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._0vaRcmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,161 @@
+
+
+  <%if (genModel.isArrayAccessors() && genFeature.isListType() && !genFeature.isFeatureMapType() && !genFeature.isMapType()) { String arrayElementType = genFeature.getArrayItemType(genClass);%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+    <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
+    <%if (!isImplementation) {%>
+	<%=arrayElementType%>[] <%=genFeature.getGetArrayAccessor()%>();
+
+    <%} else {%>
+    <%if (genModel.useGenerics() && CodeGenUtil.isUncheckedCast(arrayElementType)) {%>
+	@SuppressWarnings("unchecked")
+    <%}%>
+    <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+    <%}%>
+    <%if (useInterfaceOverrideAnnotation) {%>
+	@Override
+    <%}%>
+	public <%=arrayElementType%>[] <%=genFeature.getGetArrayAccessor()%>()
+	{
+      <%if (genFeature.isVolatile()) {%>
+		<%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%><%=genFeature.getListTemplateArguments(genClass)%> list = (<%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%><%=genFeature.getListTemplateArguments(genClass)%>)<%=genFeature.getGetAccessor()%>();
+		if (list.isEmpty()) return <%=genFeature.getUpperName()%>_EEMPTY_ARRAY;
+      <%} else {%>
+		if (<%=genFeature.getSafeName()%> == null || <%=genFeature.getSafeName()%>.isEmpty()) return <%=genFeature.getUpperName()%>_EEMPTY_ARRAY;
+		<%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%><%=genFeature.getListTemplateArguments(genClass)%> list = (<%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%><%=genFeature.getListTemplateArguments(genClass)%>)<%=genFeature.getSafeName()%>;
+      <%}%>
+		list.shrink();
+		return (<%=arrayElementType%>[])list.data();
+	}
+
+    <%}%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+    <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
+    <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+    <%}%>
+    <%if (!isImplementation) {%>
+	<%=genFeature.getListItemType(genClass)%> get<%=genFeature.getAccessorName()%>(int index);
+
+    <%} else {%>
+    <%if (useInterfaceOverrideAnnotation) {%>
+	@Override
+    <%}%>
+	public <%=genFeature.getListItemType(genClass)%> get<%=genFeature.getAccessorName()%>(int index)
+	{
+		return <%if (!genModel.useGenerics()) {%>(<%=genFeature.getListItemType(genClass)%>)<%}%><%=genFeature.getGetAccessor()%>().get(index);
+	}
+
+    <%}%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+    <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
+    <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+    <%}%>
+    <%if (!isImplementation) {%>
+	int get<%=genFeature.getAccessorName()%>Length();
+
+    <%} else {%>
+    <%if (useInterfaceOverrideAnnotation) {%>
+	@Override
+    <%}%>
+	public int get<%=genFeature.getAccessorName()%>Length()
+	{
+      <%if (genFeature.isVolatile()) {%>
+		return <%=genFeature.getGetAccessor()%>().size();
+      <%} else {%>
+		return <%=genFeature.getSafeName()%> == null ? 0 : <%=genFeature.getSafeName()%>.size();
+      <%}%>
+	}
+
+    <%}%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+    <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
+    <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+    <%}%>
+    <%if (!isImplementation) {%>
+	void set<%=genFeature.getAccessorName()%>(<%=genFeature.getListItemType(genClass)%>[] new<%=genFeature.getCapName()%>);
+
+    <%} else {%>
+    <%if (useInterfaceOverrideAnnotation) {%>
+	@Override
+    <%}%>
+	public void set<%=genFeature.getAccessorName()%>(<%=genFeature.getListItemType(genClass)%>[] new<%=genFeature.getCapName()%>)
+	{
+		((<%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%><%=genFeature.getListTemplateArguments(genClass)%>)<%=genFeature.getGetAccessor()%>()).setData(new<%=genFeature.getCapName()%>.length, new<%=genFeature.getCapName()%>);
+	}
+
+    <%}%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+    <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
+    <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+    <%}%>
+    <%if (!isImplementation) {%>
+	void set<%=genFeature.getAccessorName()%>(int index, <%=genFeature.getListItemType(genClass)%> element);
+
+    <%} else {%>
+    <%if (useInterfaceOverrideAnnotation) {%>
+	@Override
+    <%}%>
+	public void set<%=genFeature.getAccessorName()%>(int index, <%=genFeature.getListItemType(genClass)%> element)
+	{
+		<%=genFeature.getGetAccessor()%>().set(index, element);
+	}
+
+    <%}%>
+  <%}%>
+  <%if (genFeature.isGet() && (isImplementation || !genFeature.isSuppressedGetVisibility())) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/getGenFeature.override.javajetinc%>
+  <%}%>
+  <%if (isImplementation && !genModel.isReflectiveDelegation() && genFeature.isBasicGet()) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/basicGetGenFeature.override.javajetinc%>
+  <%}%>
+  <%if (isImplementation && !genModel.isReflectiveDelegation() && genFeature.isBasicSet()) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/basicSetGenFeature.override.javajetinc%>
+  <%}%>
+  <%if (genFeature.isSet() && (isImplementation || !genFeature.isSuppressedSetVisibility())) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/setGenFeature.override.javajetinc%>
+  <%}%>
+  <%if (isImplementation && !genModel.isReflectiveDelegation() && genFeature.isBasicUnset()) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class.basicUnsetGenFeature.override.javajetinc%>
+  <%}%>
+  <%if (genFeature.isUnset() && (isImplementation || !genFeature.isSuppressedUnsetVisibility())) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/unsetGenFeature.override.javajetinc%>
+  <%}%>
+  <%if (genFeature.isIsSet() && (isImplementation || !genFeature.isSuppressedIsSetVisibility())) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/isSetGenFeature.override.javajetinc%>
+  <%}%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._AUpyFHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._AUpyFHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._AUpyFHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._0vkCY2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._0vkCY2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._0vkCY2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._0vkCYmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._0vkCYmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._0vkCYmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._0vkCZWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._0vkCZWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._0vkCZWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._0vkCcmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._0vkCcmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..30f370e
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._0vkCcmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,145 @@
+
+
+<%if (isInterface) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/getGenFeature.javadoc.override.javajetinc%>
+<%} else {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+    <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
+<%if (isJDK50) { //Class/getGenFeature.annotations.insert.javajetinc%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+<%}%>
+        <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+        <%}%>
+<%if (!isImplementation) {%>
+	<%=genFeature.getImportedType(genClass)%> <%=genFeature.getGetAccessor()%>();
+
+<%} else {%>
+  <%if (genModel.useGenerics() && ((genFeature.isContainer() || genFeature.isResolveProxies()) && !genFeature.isListType() && genFeature.isUncheckedCast(genClass) || genFeature.isListType() && !genFeature.isFeatureMapType() && (genModel.isReflectiveDelegation() || genModel.isVirtualDelegation() || (genModel.isDynamicDelegation() && !genFeature.isVolatile())) || genFeature.isListDataType() && genFeature.hasDelegateFeature() || genFeature.isListType() && genFeature.hasSettingDelegate())) {%>
+	@SuppressWarnings("unchecked")
+  <%}%>
+  <%if (useInterfaceOverrideAnnotation && !genClass.isMapEntry() && !genClass.hasCollidingGetAccessorOperation(genFeature) && !genFeature.isSuppressedGetVisibility()) {%>
+	@Override
+  <%}%>
+	public <%=genFeature.getImportedType(genClass)%> <%=genFeature.getGetAccessor()%><%if (genClass.hasCollidingGetAccessorOperation(genFeature)) {%>_<%}%>()
+	{
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+    <%if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) {%>
+		return <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>(<%}%>(<%=genFeature.getObjectType(genClass)%>)eDynamicGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%if (genClass.hasStaticFeatures()){%> - ESTATIC_FEATURE_COUNT<%}%>, <%=genFeature.getQualifiedFeatureAccessor()%>, true, <%=!genFeature.isEffectiveSuppressEMFTypes()%>)<%if (!isJDK50 && genFeature.isPrimitiveType()) {%>).<%=genFeature.getPrimitiveValueFunction()%>()<%}%>;
+    <%} else if (genModel.isReflectiveDelegation()) {%>
+      <%if (genFeature.hasGetterBody()) {%>
+		<%=genFeature.getGetterBody(genModel.getIndentation(stringBuffer))%>
+      <%} else {%>
+		return <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>(<%}%>(<%=genFeature.getObjectType(genClass)%>)eGet(<%=genFeature.getQualifiedFeatureAccessor()%>, true)<%if (!isJDK50 && genFeature.isPrimitiveType()) {%>).<%=genFeature.getPrimitiveValueFunction()%>()<%}%>;
+      <%}%>
+    <%} else if (genFeature.hasSettingDelegate()) {%>
+		return <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>(<%}%>(<%=genFeature.getObjectType(genClass)%>)<%=genFeature.getUpperName()%>__ESETTING_DELEGATE.dynamicGet(this, null, 0, true, false)<%if (!isJDK50 && genFeature.isPrimitiveType()) {%>).<%=genFeature.getPrimitiveValueFunction()%>()<%}%>;
+    <%} else if (!genFeature.isVolatile()) {%>
+      <%if (genFeature.isListType()) {%>
+        <%if (genModel.isVirtualDelegation()) {%>
+		<%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+        <%}%>
+		if (<%=genFeature.getSafeName()%> == null)
+		{
+        <%if (genModel.isVirtualDelegation()) {%>
+			eVirtualSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%=genFeature.getSafeName()%> = new <%=genClass.getListConstructor(genFeature)%>);
+        <%} else {%>
+			<%=genFeature.getSafeName()%> = new <%=genClass.getListConstructor(genFeature)%>;
+        <%}%>
+		}
+		return <%=genFeature.getSafeName()%><%=genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes() ? ".map()" : ""%>;
+      <%} else if (genFeature.isContainer()) {%>
+		if (eContainerFeatureID() != <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>) return null;
+		return (<%=genFeature.getImportedType(genClass)%>)<%if (genFeature.isResolveProxies()) {%>eContainer<%} else {%>eInternalContainer<%}%>();
+      <%} else {%>
+        <%if (genFeature.isResolveProxies()) {%>
+          <%if (genModel.isVirtualDelegation()) {%>
+		<%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%><%if (genFeature.hasEDefault()) {%>, <%=genFeature.getEDefault()%><%}%>);
+          <%}%>
+		if (<%=genFeature.getSafeName()%> != null && <%=genFeature.getSafeNameAsEObject()%>.eIsProxy())
+		{
+			<%=genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject")%> old<%=genFeature.getCapName()%> = <%=genFeature.getAsInternalEObject(genFeature.getSafeName(), false)%>;
+			<%=genFeature.getSafeName()%> = <%=genFeature.getNonEObjectInternalTypeCast(genClass)%>eResolveProxy(old<%=genFeature.getCapName()%>);
+			if (<%=genFeature.getSafeName()%> != old<%=genFeature.getCapName()%>)
+			{
+          <%if (genFeature.isEffectiveContains()) {%>
+				<%=genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject")%> new<%=genFeature.getCapName()%> = <%=genFeature.getAsInternalEObject(genFeature.getSafeName(), false)%>;
+          <%if (!genFeature.isBidirectional()) {%>
+				<%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs = old<%=genFeature.getCapName()%>.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - <%=genClass.getQualifiedFeatureID(genFeature)%><%=negativeOffsetCorrection%>, null, null);
+          <%} else { GenFeature reverseFeature = genFeature.getReverse(); GenClass targetClass = reverseFeature.getGenClass(); String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(genFeature) : "";%>
+				<%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs =  old<%=genFeature.getCapName()%>.eInverseRemove(this, <%=targetClass.getQualifiedFeatureID(reverseFeature)%><%=reverseOffsetCorrection%>, <%=targetClass.getRawImportedInterfaceName()%>.class, null);
+          <%}%>
+				if (new<%=genFeature.getCapName()%>.eInternalContainer() == null)
+				{
+          <%if (!genFeature.isBidirectional()) {%>
+					msgs = new<%=genFeature.getCapName()%>.eInverseAdd(this, EOPPOSITE_FEATURE_BASE - <%=genClass.getQualifiedFeatureID(genFeature)%><%=negativeOffsetCorrection%>, null, msgs);
+          <%} else { GenFeature reverseFeature = genFeature.getReverse(); GenClass targetClass = reverseFeature.getGenClass(); String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(genFeature) : "";%>
+					msgs =  new<%=genFeature.getCapName()%>.eInverseAdd(this, <%=targetClass.getQualifiedFeatureID(reverseFeature)%><%=reverseOffsetCorrection%>, <%=targetClass.getRawImportedInterfaceName()%>.class, msgs);
+          <%}%>
+				}
+				if (msgs != null) msgs.dispatch();
+          <%} else if (genModel.isVirtualDelegation()) {%>
+				eVirtualSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%=genFeature.getSafeName()%>);
+          <%}%>
+          <%if (!genModel.isSuppressNotification()) {%>
+				if (eNotificationRequired())
+					eNotify(new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.RESOLVE, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, old<%=genFeature.getCapName()%>, <%=genFeature.getSafeName()%>));
+          <%}%>
+			}
+		}
+        <%}%>
+        <%if (!genFeature.isResolveProxies() && genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>
+		return (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%><%if (genFeature.hasEDefault()) {%>, <%=genFeature.getEDefault()%><%}%>);
+        <%} else if (genClass.isFlag(genFeature)) {%>
+          <%if (genFeature.isBooleanType()) {%>
+		return (<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) != 0;
+          <%} else {%>
+		return <%=genFeature.getUpperName()%>_EFLAG_VALUES[(<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) >>> <%=genFeature.getUpperName()%>_EFLAG_OFFSET];
+          <%}%>
+        <%} else {%>
+		return <%=genFeature.getSafeName()%>;
+        <%}%>
+      <%}%>
+    <%} else {//volatile%>
+      <%if (genFeature.isResolveProxies() && !genFeature.isListType()) {%>
+		<%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = basicGet<%=genFeature.getAccessorName()%>();
+		return <%=genFeature.getSafeName()%> != null && <%=genFeature.getSafeNameAsEObject()%>.eIsProxy() ? <%=genFeature.getNonEObjectInternalTypeCast(genClass)%>eResolveProxy(<%=genFeature.getAsInternalEObject(genFeature.getSafeName(), false)%>) : <%=genFeature.getSafeName()%>;
+      <%} 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()) {%>
+		return new <%=genFeature.getImportedEffectiveFeatureMapWrapperClass()%>((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)get<%=delegateFeature.getAccessorName()%>()).featureMap().<%=featureMapEntryTemplateArgument%>list(<%=genFeature.getQualifiedFeatureAccessor()%>));
+          <%} else {%>
+		return (<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>)get<%=delegateFeature.getAccessorName()%>().<%=featureMapEntryTemplateArgument%>list(<%=genFeature.getQualifiedFeatureAccessor()%>);
+          <%}%>
+        <%} else if (genFeature.isListType()) {%>
+          <%if (delegateFeature.isWrappedFeatureMapType()) {%>
+		return ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)get<%=delegateFeature.getAccessorName()%>()).featureMap().list(<%=genFeature.getQualifiedFeatureAccessor()%>);
+          <%} else {%>
+		return get<%=delegateFeature.getAccessorName()%>().list(<%=genFeature.getQualifiedFeatureAccessor()%>);
+          <%}%>
+        <%} else {%>
+          <%if (delegateFeature.isWrappedFeatureMapType()) {%>
+		return <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>(<%}%><%if (genFeature.getTypeGenDataType() == null || !genFeature.getTypeGenDataType().isObjectType()) {%>(<%=genFeature.getObjectType(genClass)%>)<%}%>((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)get<%=delegateFeature.getAccessorName()%>()).featureMap().get(<%=genFeature.getQualifiedFeatureAccessor()%>, true)<%if (!isJDK50 && genFeature.isPrimitiveType()) {%>).<%=genFeature.getPrimitiveValueFunction()%>()<%}%>;
+          <%} else {%>
+		return <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>(<%}%><%if (genFeature.getTypeGenDataType() == null || !genFeature.getTypeGenDataType().isObjectType()) {%>(<%=genFeature.getObjectType(genClass)%>)<%}%>get<%=delegateFeature.getAccessorName()%>().get(<%=genFeature.getQualifiedFeatureAccessor()%>, true)<%if (!isJDK50 && genFeature.isPrimitiveType()) {%>).<%=genFeature.getPrimitiveValueFunction()%>()<%}%>;
+          <%}%>
+        <%}%>
+      <%} else if (genClass.getGetAccessorOperation(genFeature) != null) {%>
+		<%=genClass.getGetAccessorOperation(genFeature).getBody(genModel.getIndentation(stringBuffer))%>
+      <%} else if (genFeature.hasGetterBody()) {%>
+		<%=genFeature.getGetterBody(genModel.getIndentation(stringBuffer))%>
+      <%} else {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/getGenFeature.todo.override.javajetinc%>
+      <%}%>
+    <%}%>
+	}
+
+<%}%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._AWlrxHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._AWlrxHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._AWlrxHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._0vtMU2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._0vtMU2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._0vtMU2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._0vtMUmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._0vtMUmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._0vtMUmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._0vtMVWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._0vtMVWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._0vtMVWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._0vtMYmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._0vtMYmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..837a022
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._0vtMYmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,65 @@
+
+
+	/**
+	 * Returns the value of the '<em><b><%=genFeature.getFormattedName()%></b></em>' <%=genFeature.getFeatureKind()%>.
+    <%if (genFeature.isListType() && genFeature.getEcoreFeature().getEGenericType().getETypeParameter() == null) {%>
+      <%if (genFeature.isMapType()) { GenFeature keyFeature = genFeature.getMapEntryTypeGenClass().getMapEntryKeyFeature(); GenFeature valueFeature = genFeature.getMapEntryTypeGenClass().getMapEntryValueFeature(); %>
+	 * The key is of type <%if (keyFeature.isListType()) {%>list of {@link <%=keyFeature.getQualifiedListItemType(genClass)%>}<%} else {%>{@link <%=keyFeature.getType(genClass)%>}<%}%>,
+	 * and the value is of type <%if (valueFeature.isListType()) {%>list of {@link <%=valueFeature.getQualifiedListItemType(genClass)%>}<%} else {%>{@link <%=valueFeature.getType(genClass)%>}<%}%>,
+      <%} 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 = "<code>" + CodeGenUtil.xmlEscapeEncode(typeName.substring(index)) + "</code>"; }
+%>
+	 * The list contents are of type {@link <%=head%>}<%=tail%>.
+      <%}%>
+    <%} else if (genFeature.isSetDefaultValue()) {%>
+	 * The default value is <code><%=genFeature.getDefaultValue()%></code>.
+    <%}%>
+    <%if (genFeature.getTypeGenEnum() != null) {%>
+	 * The literals are from the enumeration {@link <%=genFeature.getTypeGenEnum().getQualifiedName()%>}.
+    <%}%>
+    <%if (genFeature.isBidirectional() && !genFeature.getReverse().getGenClass().isMapEntry()) { GenFeature reverseGenFeature = genFeature.getReverse(); %>
+      <%if (!reverseGenFeature.isSuppressedGetVisibility()) {%>
+	 * It is bidirectional and its opposite is '{@link <%=reverseGenFeature.getGenClass().getRawQualifiedInterfaceName()%>#<%=reverseGenFeature.getGetAccessor()%> <em><%=reverseGenFeature.getFormattedName()%></em>}'.
+      <%}%>
+    <%}%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+    <%if (genFeature.hasDocumentation()) {%>
+	 * <!-- begin-model-doc -->
+	 * <%=genFeature.getDocumentation(genModel.getIndentation(stringBuffer))%>
+	 * <!-- end-model-doc -->
+    <%}%>
+	 * @return the value of the '<em><%=genFeature.getFormattedName()%></em>' <%=genFeature.getFeatureKind()%>.
+    <%if (genFeature.getTypeGenEnum() != null) {%>
+	 * @see <%=genFeature.getTypeGenEnum().getQualifiedName()%>
+    <%}%>
+    <%if (genFeature.isUnsettable()) {%>
+      <%if (!genFeature.isSuppressedIsSetVisibility()) {%>
+	 * @see #isSet<%=genFeature.getAccessorName()%>()
+      <%}%>
+      <%if (genFeature.isChangeable() && !genFeature.isSuppressedUnsetVisibility()) {%>
+	 * @see #unset<%=genFeature.getAccessorName()%>()
+      <%}%>
+    <%}%>
+    <%if (genFeature.isChangeable() && !genFeature.isListType() && !genFeature.isSuppressedSetVisibility()) {%>
+	 * @see #set<%=genFeature.getAccessorName()%>(<%=genFeature.getRawImportedBoundType()%>)
+    <%}%>
+    <%if (!genModel.isSuppressEMFMetaData()) {%>
+	 * @see <%=genPackage.getQualifiedPackageInterfaceName()%>#get<%=genFeature.getFeatureAccessorName()%>()
+    <%}%>
+    <%if (genFeature.isBidirectional() && !genFeature.getReverse().getGenClass().isMapEntry()) { GenFeature reverseGenFeature = genFeature.getReverse(); %>
+      <%if (!reverseGenFeature.isSuppressedGetVisibility()) {%>
+	 * @see <%=reverseGenFeature.getGenClass().getRawQualifiedInterfaceName()%>#<%=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;%>
+	 * @model <%=modelInfo%>
+    <%} else {%>
+	 *        <%=modelInfo%>
+    <%}} if (first) {%>
+	 * @model
+    <%}}%>
+	 * @generated
+	 */
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._AXx-lHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._AXx-lHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._AXx-lHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._0w5fI2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._0w5fI2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._0w5fI2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._0w5fImJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._0w5fImJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._0w5fImJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._0w5fJWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._0w5fJWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._0w5fJWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._0w5fMmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._0w5fMmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._0w5fMmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._Ag3pJHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._Ag3pJHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._Ag3pJHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._0wJ4Q2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._0wJ4Q2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._0wJ4Q2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._0wJ4QmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._0wJ4QmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._0wJ4QmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._0wJ4RWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._0wJ4RWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._0wJ4RWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._0wJ4UmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._0wJ4UmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._0wJ4UmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._AZkHRHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._AZkHRHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._AZkHRHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._0wTpQ2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._0wTpQ2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._0wTpQ2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._0wTpQmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._0wTpQmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._0wTpQmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._0wTpRWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._0wTpRWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._0wTpRWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._0wTpUmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._0wTpUmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._0wTpUmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._AawaFHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._AawaFHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._AawaFHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._0wczM2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._0wczM2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._0wczM2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._0wczMmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._0wczMmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._0wczMmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._0wczNWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._0wczNWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._0wczNWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._0wczQmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._0wczQmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._0wczQmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._Ab8s5HLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._Ab8s5HLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._Ab8s5HLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._0wmkM2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._0wmkM2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._0wmkM2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._0wmkMmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._0wmkMmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._0wmkMmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._0wmkNWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._0wmkNWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._0wmkNWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._0wmkQmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._0wmkQmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..fa0522b
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._0wmkQmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,9 @@
+
+
+		// TODO: implement this method to return the '<%=genFeature.getFormattedName()%>' <%=genFeature.getFeatureKind()%>
+		// Ensure that you remove @generated or mark it @generated NOT
+        <%if (genFeature.isListType()) {%>
+		// The list is expected to implement org.eclipse.emf.ecore.util.InternalEList and org.eclipse.emf.ecore.EStructuralFeature.Setting
+		// so it's likely that an appropriate subclass of org.eclipse.emf.ecore.util.<%if (genFeature.isMapType()) {%>EcoreEMap<%} else if (genFeature.isFeatureMapType()) {%>BasicFeatureMap<%} else {%>EcoreEList<%}%> should be used.
+        <%}%>
+		throw new UnsupportedOperationException();
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._AdvcpHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._AdvcpHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._AdvcpHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._0wwVM2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._0wwVM2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._0wwVM2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._0wwVMmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._0wwVMmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._0wwVMmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._0wwVNWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._0wwVNWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._0wwVNWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._0wwVQmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._0wwVQmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..bf5b825
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._0wwVQmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,45 @@
+
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+    <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
+<%if (isJDK50) { //Class/basicGetGenFeature.annotations.insert.javajetinc%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+    <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+    <%}%>
+	public <%=genFeature.getImportedType(genClass)%> basicGet<%=genFeature.getAccessorName()%>()
+	{
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+    <%if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) {%>
+		return (<%=genFeature.getImportedType(genClass)%>)eDynamicGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%if (genClass.hasStaticFeatures()){%> - ESTATIC_FEATURE_COUNT<%}%>, <%=genFeature.getQualifiedFeatureAccessor()%>, false, <%=!genFeature.isEffectiveSuppressEMFTypes()%>);
+    <%} else if (genFeature.hasSettingDelegate()) {%>
+		return <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>(<%}%>(<%=genFeature.getObjectType(genClass)%>)<%=genFeature.getUpperName()%>__ESETTING_DELEGATE.dynamicGet(this, null, 0, false, false)<%if (!isJDK50 && genFeature.isPrimitiveType()) {%>).<%=genFeature.getPrimitiveValueFunction()%>()<%}%>;
+    <%} else if (genFeature.isContainer()) {%>
+		if (eContainerFeatureID() != <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>) return null;
+		return (<%=genFeature.getImportedType(genClass)%>)eInternalContainer();
+    <%} else if (!genFeature.isVolatile()) {%>
+      <%if (genModel.isVirtualDelegation()) {%>
+		return (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+      <%} else {%>
+		return <%=genFeature.getSafeName()%>;
+      <%}%>
+    <%} else if (genFeature.hasDelegateFeature()) { GenFeature delegateFeature = genFeature.getDelegateFeature();%>
+      <%if (delegateFeature.isWrappedFeatureMapType()) {%>
+		return (<%=genFeature.getImportedType(genClass)%>)((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)get<%=delegateFeature.getAccessorName()%>()).featureMap().get(<%=genFeature.getQualifiedFeatureAccessor()%>, false);
+      <%} else {%>
+		return (<%=genFeature.getImportedType(genClass)%>)get<%=delegateFeature.getAccessorName()%>().get(<%=genFeature.getQualifiedFeatureAccessor()%>, false);
+      <%}%>
+    <%} else if (genFeature.hasGetterBody()) {%>
+		<%=genFeature.getGetterBody(genModel.getIndentation(stringBuffer))%>
+    <%} else {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/basicGetGenFeature.todo.override.javajetinc%>
+    <%}%>
+	}
+
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._AfhlVHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._AfhlVHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._AfhlVHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._0x8oA2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._0x8oA2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._0x8oA2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._0x8oAmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._0x8oAmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._0x8oAmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._0x8oBWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._0x8oBWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._0x8oBWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._0x8oEmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._0x8oEmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._0x8oEmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._AtPRNHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._AtPRNHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._AtPRNHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._0x8oF2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._0x8oF2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._0x8oF2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._0x8oFmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._0x8oFmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._0x8oFmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._0x8oGWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._0x8oGWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._0x8oGWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._0yFx-2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._0yFx-2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..96f1ac1
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._0yFx-2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,8 @@
+
+
+		// TODO: implement this method to set the contained '<%=genFeature.getFormattedName()%>' <%=genFeature.getFeatureKind()%>
+		// -> this method is automatically invoked to keep the containment relationship in synch
+		// -> do not modify other features
+		// -> return msgs, after adding any generated Notification to it (if it is null, a NotificationChain object must be created first)
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._Aukt9HLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._Aukt9HLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._Aukt9HLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._0xDQI2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._0xDQI2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._0xDQI2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._0xDQImJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._0xDQImJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._0xDQImJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._0xDQJWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._0xDQJWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._0xDQJWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._0xDQMmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._0xDQMmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._0xDQMmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._Ah6K9HLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._Ah6K9HLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._Ah6K9HLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._0xNBI2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._0xNBI2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._0xNBI2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._0xNBImJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._0xNBImJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._0xNBImJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._0xNBJWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._0xNBJWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._0xNBJWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._0xNBMmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._0xNBMmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..b72a863
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._0xNBMmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,6 @@
+
+
+		// TODO: implement this method to return the '<%=genFeature.getFormattedName()%>' <%=genFeature.getFeatureKind()%>
+		// -> do not perform proxy resolution
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._Aizi1HLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._Aizi1HLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._Aizi1HLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._0xWLE2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._0xWLE2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._0xWLE2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._0xWLEmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._0xWLEmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._0xWLEmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._0xWLFWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._0xWLFWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._0xWLFWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._0xWLImJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._0xWLImJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..53022ac
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._0xWLImJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,77 @@
+
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+    <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
+<%if (isJDK50) { //Class/basicSetGenFeature.annotations.insert.javajetinc%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+    <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+    <%}%>
+	public <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> basicSet<%=genFeature.getAccessorName()%>(<%=genFeature.getImportedInternalType(genClass)%> new<%=genFeature.getCapName()%>, <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs)
+	{
+    <%if (genFeature.isContainer()) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+		msgs = eBasicSetContainer(<%=genFeature.getAsInternalEObject("new" + genFeature.getCapName(), false)%>, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, msgs);
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+		return msgs;
+    <%} else if (genModel.isDynamicDelegation()) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+		msgs = eDynamicInverseAdd(<%=genFeature.getAsInternalEObject("new" + genFeature.getCapName(), false)%>, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, msgs);
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+		return msgs;
+    <%} else if (!genFeature.isVolatile()) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+      <%if (genModel.isVirtualDelegation()) {%>
+		Object old<%=genFeature.getCapName()%> = eVirtualSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, new<%=genFeature.getCapName()%>);
+      <%} else {%>
+		<%=genFeature.getImportedType(genClass)%> old<%=genFeature.getCapName()%> = <%=genFeature.getSafeName()%>;
+		<%=genFeature.getSafeName()%> = new<%=genFeature.getCapName()%>;
+      <%}%>
+      <%if (genFeature.isUnsettable()) {%>
+        <%if (genModel.isVirtualDelegation()) {%>
+          <%if (!genModel.isSuppressNotification()) {%>
+		boolean isSetChange = old<%=genFeature.getCapName()%> == EVIRTUAL_NO_VALUE;
+          <%}%>
+        <%} else if (genClass.isESetFlag(genFeature)) {%>
+		boolean old<%=genFeature.getCapName()%>ESet = (<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0;
+          <%if (!genModel.isSuppressNotification()) {%>
+		<%=genClass.getESetFlagsField(genFeature)%> |= <%=genFeature.getUpperName()%>_ESETFLAG;
+          <%}%>
+        <%} else {%>
+          <%if (!genModel.isSuppressNotification()) {%>
+		boolean old<%=genFeature.getCapName()%>ESet = <%=genFeature.getUncapName()%>ESet;
+          <%}%>
+		<%=genFeature.getUncapName()%>ESet = true;
+        <%}%>
+      <%}%>
+      <%if (!genModel.isSuppressNotification()) {%>
+		if (eNotificationRequired())
+		{
+        <%if (genFeature.isUnsettable()) {%>
+			<%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%> notification = new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.SET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%if (genModel.isVirtualDelegation()) {%>isSetChange ? null : old<%=genFeature.getCapName()%><%} else {%>old<%=genFeature.getCapName()%><%}%>, new<%=genFeature.getCapName()%>, <%if (genModel.isVirtualDelegation()) {%>isSetChange<%} else {%>!old<%=genFeature.getCapName()%>ESet<%}%>);
+        <%} else {%>
+			<%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%> notification = new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.SET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%if (genModel.isVirtualDelegation()) {%>old<%=genFeature.getCapName()%> == EVIRTUAL_NO_VALUE ? null : old<%=genFeature.getCapName()%><%} else {%>old<%=genFeature.getCapName()%><%}%>, new<%=genFeature.getCapName()%>);
+        <%}%>
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+      <%}%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+		return msgs;
+    <%} else if (genFeature.hasDelegateFeature()) { GenFeature delegateFeature = genFeature.getDelegateFeature();%>
+      <%if (delegateFeature.isWrappedFeatureMapType()) {%>
+		return ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)get<%=delegateFeature.getAccessorName()%>()).featureMap()).basicAdd(<%=genFeature.getQualifiedFeatureAccessor()%>, new<%=genFeature.getCapName()%>, msgs);
+      <%} else {%>
+		return ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)get<%=delegateFeature.getAccessorName()%>()).basicAdd(<%=genFeature.getQualifiedFeatureAccessor()%>, new<%=genFeature.getCapName()%>, msgs);
+      <%}%>
+    <%} else {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/basicSetGenFeature.todo.override.javajetinc%>
+    <%}%>
+	}
+
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._Aj_1pHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._Aj_1pHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._Aj_1pHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._0xpGA2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._0xpGA2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._0xpGA2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._0xpGAmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._0xpGAmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._0xpGAmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._0xpGBWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._0xpGBWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._0xpGBWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._0xpGEmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._0xpGEmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._0xpGEmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._AmYbRHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._AmYbRHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._AmYbRHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._0xy3A2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._0xy3A2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._0xy3A2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._0xy3AmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._0xy3AmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._0xy3AmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._0xy3BWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._0xy3BWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._0xy3BWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._0xy3EmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._0xy3EmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._0xy3EmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._AsC-ZHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._AsC-ZHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._AsC-ZHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._0y1Y02J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._0y1Y02J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._0y1Y02J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._0y1Y0mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._0y1Y0mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._0y1Y0mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._0y1Y1WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._0y1Y1WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._0y1Y1WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._0y1Y42J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._0y1Y42J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._0y1Y42J-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._BI881HLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._BI881HLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._BI881HLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._0yPi82J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._0yPi82J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._0yPi82J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._0yPi8mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._0yPi8mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._0yPi8mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._0yPi9WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._0yPi9WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._0yPi9WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._0yPjAmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._0yPjAmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..08817d8
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._0yPjAmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,181 @@
+
+
+<%if (isInterface) { %>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/setGenFeature.javadoc.override.javajetinc%>
+<%} else {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+    <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
+<%if (isJDK50) { //Class/setGenFeature.annotations.insert.javajetinc%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+<%}%>
+<%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+<%}%>
+<%if (!isImplementation) { %>
+	void set<%=genFeature.getAccessorName()%>(<%=genFeature.getImportedType(genClass)%> value);
+
+<%} else { GenOperation setAccessorOperation = genClass.getSetAccessorOperation(genFeature);%>
+  <%if (useInterfaceOverrideAnnotation && !genClass.isMapEntry() && !genClass.hasCollidingSetAccessorOperation(genFeature) && !genFeature.isSuppressedSetVisibility()) {%>
+	@Override
+  <%}%>
+	public void set<%=genFeature.getAccessorName()%><%if (genClass.hasCollidingSetAccessorOperation(genFeature)) {%>_<%}%>(<%=genFeature.getImportedType(genClass)%> <%=setAccessorOperation == null ? "new" + genFeature.getCapName() : setAccessorOperation.getGenParameters().get(0).getName()%>)
+	{
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+    <%if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.dynamicSetGenFeature.pre.insert" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+		eDynamicSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%if (genClass.hasStaticFeatures()){%> - ESTATIC_FEATURE_COUNT<%}%>, <%=genFeature.getQualifiedFeatureAccessor()%>, <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>new <%=genFeature.getObjectType(genClass)%>(<%}%>new<%=genFeature.getCapName()%><%if (!isJDK50 && genFeature.isPrimitiveType()) {%>)<%}%>);
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.dynamicSetGenFeature.post.insert" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+    <%} else if (genModel.isReflectiveDelegation()) {%>
+		eSet(<%=genFeature.getQualifiedFeatureAccessor()%>, <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>new <%=genFeature.getObjectType(genClass)%>(<%}%>new<%=genFeature.getCapName()%><%if (!isJDK50 && genFeature.isPrimitiveType()) {%>)<%}%>);
+    <%} else if (genFeature.hasSettingDelegate()) {%>
+		<%=genFeature.getUpperName()%>__ESETTING_DELEGATE.dynamicSet(this, null, 0, <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>new <%=genFeature.getObjectType(genClass)%>(<%}%>new<%=genFeature.getCapName()%><%if (!isJDK50 && genFeature.isPrimitiveType()) {%>)<%}%>);
+    <%} else if (!genFeature.isVolatile()) {%>
+      <%if (genFeature.isContainer()) { GenFeature reverseFeature = genFeature.getReverse(); GenClass targetClass = reverseFeature.getGenClass(); String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(genFeature) : "";%>
+		if (new<%=genFeature.getCapName()%> != eInternalContainer() || (eContainerFeatureID() != <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%> && new<%=genFeature.getCapName()%> != null))
+		{
+			if (<%=genModel.getImportedName("org.eclipse.emf.ecore.util.EcoreUtil")%>.isAncestor(this, <%=genFeature.getEObjectCast()%>new<%=genFeature.getCapName()%>))
+				throw new <%=genModel.getImportedName("java.lang.IllegalArgumentException")%>("Recursive containment not allowed for " + toString());<%=genModel.getNonNLS()%>
+			<%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs = null;
+			if (eInternalContainer() != null)
+				msgs = eBasicRemoveFromContainer(msgs);
+			if (new<%=genFeature.getCapName()%> != null)
+				msgs = <%=genFeature.getAsInternalEObject("new" + genFeature.getCapName(), true)%>.eInverseAdd(this, <%=targetClass.getQualifiedFeatureID(reverseFeature)%><%=reverseOffsetCorrection%>, <%=targetClass.getRawImportedInterfaceName()%>.class, msgs);
+			msgs = basicSet<%=genFeature.getAccessorName()%>(<%=genFeature.getInternalTypeCast()%>new<%=genFeature.getCapName()%>, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+        <%if (!genModel.isSuppressNotification()) {%>
+		else if (eNotificationRequired())
+			eNotify(new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.SET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, new<%=genFeature.getCapName()%>, new<%=genFeature.getCapName()%>));
+        <%}%>
+      <%} else if (genFeature.isBidirectional() || genFeature.isEffectiveContains()) {%>
+        <%if (genModel.isVirtualDelegation()) {%>
+		<%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+        <%}%>
+		if (new<%=genFeature.getCapName()%> != <%=genFeature.getSafeName()%>)
+		{
+			<%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs = null;
+			if (<%=genFeature.getSafeName()%> != null)
+        <%if (!genFeature.isBidirectional()) {%>
+				msgs = <%=genFeature.getAsInternalEObject(genFeature.getSafeName(), true)%>.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - <%=genClass.getQualifiedFeatureID(genFeature)%><%=negativeOffsetCorrection%>, null, msgs);
+			if (new<%=genFeature.getCapName()%> != null)
+				msgs = <%=genFeature.getAsInternalEObject("new" + genFeature.getCapName(), true)%>.eInverseAdd(this, EOPPOSITE_FEATURE_BASE - <%=genClass.getQualifiedFeatureID(genFeature)%><%=negativeOffsetCorrection%>, null, msgs);
+        <%} else { GenFeature reverseFeature = genFeature.getReverse(); GenClass targetClass = reverseFeature.getGenClass(); String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(genFeature) : "";%>
+				msgs = <%=genFeature.getAsInternalEObject(genFeature.getSafeName(), true)%>.eInverseRemove(this, <%=targetClass.getQualifiedFeatureID(reverseFeature)%><%=reverseOffsetCorrection%>, <%=targetClass.getRawImportedInterfaceName()%>.class, msgs);
+			if (new<%=genFeature.getCapName()%> != null)
+				msgs = <%=genFeature.getAsInternalEObject("new" + genFeature.getCapName(), true)%>.eInverseAdd(this, <%=targetClass.getQualifiedFeatureID(reverseFeature)%><%=reverseOffsetCorrection%>, <%=targetClass.getRawImportedInterfaceName()%>.class, msgs);
+        <%}%>
+			msgs = basicSet<%=genFeature.getAccessorName()%>(<%=genFeature.getInternalTypeCast()%>new<%=genFeature.getCapName()%>, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+        <%if (genFeature.isUnsettable()) {%>
+		else
+		{
+          <%if (genModel.isVirtualDelegation()) {%>
+			boolean old<%=genFeature.getCapName()%>ESet = eVirtualIsSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+          <%} else if (genClass.isESetFlag(genFeature)) {%>
+            <%if (!genModel.isSuppressNotification()) {%>
+			boolean old<%=genFeature.getCapName()%>ESet = (<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0;
+            <%}%>
+			<%=genClass.getESetFlagsField(genFeature)%> |= <%=genFeature.getUpperName()%>_ESETFLAG;
+          <%} else {%>
+            <%if (!genModel.isSuppressNotification()) {%>
+			boolean old<%=genFeature.getCapName()%>ESet = <%=genFeature.getUncapName()%>ESet;
+            <%}%>
+			<%=genFeature.getUncapName()%>ESet = true;
+          <%}%>
+          <%if (!genModel.isSuppressNotification()) {%>
+			if (eNotificationRequired())
+				eNotify(new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.SET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, new<%=genFeature.getCapName()%>, new<%=genFeature.getCapName()%>, !old<%=genFeature.getCapName()%>ESet));
+          <%}%>
+		}
+        <%} else {%>
+          <%if (!genModel.isSuppressNotification()) {%>
+		else if (eNotificationRequired())
+			eNotify(new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.SET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, new<%=genFeature.getCapName()%>, new<%=genFeature.getCapName()%>));
+          <%}%>
+        <%}%>
+      <%} else {%>
+        <%if (genClass.isFlag(genFeature)) {%>
+          <%if (!genModel.isSuppressNotification()) {%>
+            <%if (genFeature.isBooleanType()) {%>
+		<%=genFeature.getImportedType(genClass)%> old<%=genFeature.getCapName()%> = (<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) != 0;
+            <%} else {%>
+		<%=genFeature.getImportedType(genClass)%> old<%=genFeature.getCapName()%> = <%=genFeature.getUpperName()%>_EFLAG_VALUES[(<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) >>> <%=genFeature.getUpperName()%>_EFLAG_OFFSET];
+            <%}%>
+          <%}%>
+          <%if (genFeature.isBooleanType()) {%>
+		if (new<%=genFeature.getCapName()%>) <%=genClass.getFlagsField(genFeature)%> |= <%=genFeature.getUpperName()%>_EFLAG; else <%=genClass.getFlagsField(genFeature)%> &= ~<%=genFeature.getUpperName()%>_EFLAG;
+          <%} else {%>
+		if (new<%=genFeature.getCapName()%> == null) new<%=genFeature.getCapName()%> = <%=genFeature.getUpperName()%>_EDEFAULT;
+		<%=genClass.getFlagsField(genFeature)%> = <%=genClass.getFlagsField(genFeature)%> & ~<%=genFeature.getUpperName()%>_EFLAG | <%if (isJDK50) {%>new<%=genFeature.getCapName()%>.ordinal()<%} else {%><%=genFeature.getImportedType(genClass)%>.VALUES.indexOf(new<%=genFeature.getCapName()%>)<%}%> << <%=genFeature.getUpperName()%>_EFLAG_OFFSET;
+          <%}%>
+        <%} else {%>
+          <%if (!genModel.isVirtualDelegation() || genFeature.isPrimitiveType()) {%>
+            <%if (!genModel.isSuppressNotification()) {%>
+		<%=genFeature.getImportedType(genClass)%> old<%=genFeature.getCapName()%> = <%=genFeature.getSafeName()%>;
+            <%}%>
+          <%}%>
+          <%if (genFeature.isEnumType()) {%>
+            <%if (genModel.isVirtualDelegation()) {%>
+		<%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = new<%=genFeature.getCapName()%> == null ? <%=genFeature.getEDefault()%> : new<%=genFeature.getCapName()%>;
+            <%} else {%>
+		<%=genFeature.getSafeName()%> = new<%=genFeature.getCapName()%> == null ? <%=genFeature.getEDefault()%> : new<%=genFeature.getCapName()%>;
+            <%}%>
+          <%} else {%>
+            <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>
+		<%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = <%=genFeature.getInternalTypeCast()%>new<%=genFeature.getCapName()%>;
+            <%} else {%>
+		<%=genFeature.getSafeName()%> = <%=genFeature.getInternalTypeCast()%>new<%=genFeature.getCapName()%>;
+            <%}%>
+          <%}%>
+          <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>
+		Object old<%=genFeature.getCapName()%> = eVirtualSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%=genFeature.getSafeName()%>);
+          <%}%>
+        <%}%>
+        <%if (genFeature.isUnsettable()) {%>
+          <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>
+		boolean isSetChange = old<%=genFeature.getCapName()%> == EVIRTUAL_NO_VALUE;
+          <%} else if (genClass.isESetFlag(genFeature)) {%>
+            <%if (!genModel.isSuppressNotification()) {%>
+		boolean old<%=genFeature.getCapName()%>ESet = (<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0;
+            <%}%>
+		<%=genClass.getESetFlagsField(genFeature)%> |= <%=genFeature.getUpperName()%>_ESETFLAG;
+          <%} else {%>
+            <%if (!genModel.isSuppressNotification()) {%>
+		boolean old<%=genFeature.getCapName()%>ESet = <%=genFeature.getUncapName()%>ESet;
+            <%}%>
+		<%=genFeature.getUncapName()%>ESet = true;
+          <%}%>
+          <%if (!genModel.isSuppressNotification()) {%>
+		if (eNotificationRequired())
+			eNotify(new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.SET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>isSetChange ? <%=genFeature.getEDefault()%> : old<%=genFeature.getCapName()%><%} else {%>old<%=genFeature.getCapName()%><%}%>, <%if (genClass.isFlag(genFeature)) {%>new<%=genFeature.getCapName()%><%} else {%><%=genFeature.getSafeName()%><%}%>, <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>isSetChange<%} else {%>!old<%=genFeature.getCapName()%>ESet<%}%>));
+          <%}%>
+        <%} else {%>
+          <%if (!genModel.isSuppressNotification()) {%>
+		if (eNotificationRequired())
+			eNotify(new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.SET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>old<%=genFeature.getCapName()%> == EVIRTUAL_NO_VALUE ? <%=genFeature.getEDefault()%> : old<%=genFeature.getCapName()%><%} else {%>old<%=genFeature.getCapName()%><%}%>, <%if (genClass.isFlag(genFeature)) {%>new<%=genFeature.getCapName()%><%} else {%><%=genFeature.getSafeName()%><%}%>));
+          <%}%>
+        <%}%>
+      <%}%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+    <%} else if (genFeature.hasDelegateFeature()) { GenFeature delegateFeature = genFeature.getDelegateFeature();%>
+      <%if (delegateFeature.isWrappedFeatureMapType()) {%>
+		((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)get<%=delegateFeature.getAccessorName()%>()).featureMap()).set(<%=genFeature.getQualifiedFeatureAccessor()%>, <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>new <%=genFeature.getObjectType(genClass)%>(<%}%>new<%=genFeature.getCapName()%><%if (!isJDK50 && genFeature.isPrimitiveType()) {%>)<%}%>);
+      <%} else {%>
+		((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)get<%=delegateFeature.getAccessorName()%>()).set(<%=genFeature.getQualifiedFeatureAccessor()%>, <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>new <%=genFeature.getObjectType(genClass)%>(<%}%>new<%=genFeature.getCapName()%><%if (!isJDK50 && genFeature.isPrimitiveType()) {%>)<%}%>);
+      <%}%>
+    <%} else if (setAccessorOperation != null) {%>
+		<%=setAccessorOperation.getBody(genModel.getIndentation(stringBuffer))%>
+    <%} else {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/setGenFeature.todo.override.javajetinc%>
+    <%}%>
+	}
+
+<%}%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._AvxAxHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._AvxAxHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._AvxAxHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._0yZT82J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._0yZT82J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._0yZT82J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._0yZT8mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._0yZT8mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._0yZT8mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._0yZT9WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._0yZT9WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._0yZT9WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._0yZUAmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._0yZUAmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..ae5e740
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._0yZUAmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,25 @@
+
+
+	/**
+	 * Sets the value of the '{@link <%=genClass.getRawQualifiedInterfaceName()%>#<%=genFeature.getGetAccessor()%> <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%>.
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em><%=genFeature.getFormattedName()%></em>' <%=genFeature.getFeatureKind()%>.
+    <%if (genFeature.isEnumType()) {%>
+	 * @see <%=genFeature.getTypeGenEnum().getQualifiedName()%>
+    <%}%>
+    <%if (genFeature.isUnsettable()) {%>
+      <%if (!genFeature.isSuppressedIsSetVisibility()) {%>
+	 * @see #isSet<%=genFeature.getAccessorName()%>()
+      <%}%>
+      <%if (!genFeature.isSuppressedUnsetVisibility()) {%>
+	 * @see #unset<%=genFeature.getAccessorName()%>()
+      <%}%>
+    <%}%>
+	 * @see #<%=genFeature.getGetAccessor()%>()
+    <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._BAT-NHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._BAT-NHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._BAT-NHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._0y_J02J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._0y_J02J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._0y_J02J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._0y_J0mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._0y_J0mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._0y_J0mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._0y_J1WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._0y_J1WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._0y_J1WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._0y_J42J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._0y_J42J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._0y_J42J-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._BKJPpHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._BKJPpHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._BKJPpHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._0y_J52J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._0y_J52J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._0y_J52J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._0y_J6GJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._0y_J6GJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._0y_J6GJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._0zI60GJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._0zI60GJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._0zI60GJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._0zI63mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._0zI63mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..2524a90
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._0zI63mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,5 @@
+
+
+		// TODO: implement this method to set the '<%=genFeature.getFormattedName()%>' <%=genFeature.getFeatureKind()%>
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._BQGttHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._BQGttHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._BQGttHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._0yid42J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._0yid42J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._0yid42J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._0yid4mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._0yid4mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._0yid4mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._0yid5WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._0yid5WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._0yid5WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._0yid8mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._0yid8mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._0yid8mJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._BGamNHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._BGamNHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._BGamNHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._0ysO42J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._0ysO42J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._0ysO42J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._0ysO4mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._0ysO4mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._0ysO4mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._0ysO5WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._0ysO5WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._0ysO5WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._0ysO8mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._0ysO8mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._0ysO8mJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._BH6bBHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._BH6bBHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._BH6bBHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._0z4hs2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._0z4hs2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._0z4hs2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._0z4hsmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._0z4hsmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._0z4hsmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._0z4htWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._0z4htWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._0z4htWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._0z4hwmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._0z4hwmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..315caef
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._0z4hwmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,151 @@
+
+
+<%if (isInterface) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/unsetGenFeature.javadoc.override.javajetinc%>
+<%} else {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+  <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+  <%}%>
+	 * @generated
+	 */
+<%if (isJDK50) { //Class/unsetGenFeature.annotations.insert.javajetinc%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+<%}%>
+<%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+<%}%>
+<%if (!isImplementation) {%>
+	void unset<%=genFeature.getAccessorName()%>();
+
+<%} else {%>
+  <%if (useInterfaceOverrideAnnotation && !genClass.isMapEntry() && !genClass.hasCollidingUnsetAccessorOperation(genFeature) && !genFeature.isSuppressedUnsetVisibility()) {%>
+	@Override
+  <%}%>
+	public void unset<%=genFeature.getAccessorName()%><%if (genClass.hasCollidingUnsetAccessorOperation(genFeature)) {%>_<%}%>()
+	{
+    <%if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) {%>
+		eDynamicUnset(<%=genClass.getQualifiedFeatureID(genFeature)%><%if (genClass.hasStaticFeatures()){%> - ESTATIC_FEATURE_COUNT<%}%>, <%=genFeature.getQualifiedFeatureAccessor()%>);
+    <%} else if (genModel.isReflectiveDelegation()) {%>
+		eUnset(<%=genFeature.getQualifiedFeatureAccessor()%>);
+    <%} else if (genFeature.hasSettingDelegate()) {%>
+		<%=genFeature.getUpperName()%>__ESETTING_DELEGATE.dynamicUnset(this, null, 0);
+    <%} else if (!genFeature.isVolatile()) {%>
+      <%if (genFeature.isListType()) {%>
+        <%if (genModel.isVirtualDelegation()) {%>
+		<%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+        <%}%>
+		if (<%=genFeature.getSafeName()%> != null) ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList")%>.Unsettable<%=singleWildcard%>)<%=genFeature.getSafeName()%>).unset();
+      <%} else if (genFeature.isBidirectional() || genFeature.isEffectiveContains()) {%>
+        <%if (genModel.isVirtualDelegation()) {%>
+		<%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+        <%}%>
+		if (<%=genFeature.getSafeName()%> != null)
+		{
+			<%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs = null;
+        <%if (!genFeature.isBidirectional()) {%>
+			msgs = <%=genFeature.getAsInternalEObject(genFeature.getSafeName(), true)%>.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - <%=genClass.getQualifiedFeatureID(genFeature)%><%=negativeOffsetCorrection%>, null, msgs);
+        <%} else { GenFeature reverseFeature = genFeature.getReverse(); GenClass targetClass = reverseFeature.getGenClass(); String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(genFeature) : "";%>
+			msgs = <%=genFeature.getAsInternalEObject(genFeature.getSafeName(), true)%>.eInverseRemove(this, <%=targetClass.getQualifiedFeatureID(reverseFeature)%><%=reverseOffsetCorrection%>, <%=targetClass.getRawImportedInterfaceName()%>.class, msgs);
+        <%}%>
+			msgs = basicUnset<%=genFeature.getAccessorName()%>(msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else
+		{
+        <%if (genModel.isVirtualDelegation()) {%>
+			boolean old<%=genFeature.getCapName()%>ESet = eVirtualIsSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+        <%} else if (genClass.isESetFlag(genFeature)) {%>
+          <%if (!genModel.isSuppressNotification()) {%>
+			boolean old<%=genFeature.getCapName()%>ESet = (<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0;
+          <%}%>
+			<%=genClass.getESetFlagsField(genFeature)%> &= ~<%=genFeature.getUpperName()%>_ESETFLAG;
+        <%} else {%>
+          <%if (!genModel.isSuppressNotification()) {%>
+			boolean old<%=genFeature.getCapName()%>ESet = <%=genFeature.getUncapName()%>ESet;
+          <%}%>
+			<%=genFeature.getUncapName()%>ESet = false;
+        <%}%>
+        <%if (!genModel.isSuppressNotification()) {%>
+			if (eNotificationRequired())
+				eNotify(new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.UNSET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, null, null, old<%=genFeature.getCapName()%>ESet));
+        <%}%>
+		}
+      <%} else {%>
+        <%if (genClass.isFlag(genFeature)) {%>
+          <%if (!genModel.isSuppressNotification()) {%>
+            <%if (genFeature.isBooleanType()) {%>
+		<%=genFeature.getImportedType(genClass)%> old<%=genFeature.getCapName()%> = (<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) != 0;
+            <%} else {%>
+		<%=genFeature.getImportedType(genClass)%> old<%=genFeature.getCapName()%> = <%=genFeature.getUpperName()%>_EFLAG_VALUES[(<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) >>> <%=genFeature.getUpperName()%>_EFLAG_OFFSET];
+            <%}%>
+          <%}%>
+        <%} else if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>
+		Object old<%=genFeature.getCapName()%> = eVirtualUnset(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+        <%} else {%>
+          <%if (!genModel.isSuppressNotification()) {%>
+		<%=genFeature.getImportedType(genClass)%> old<%=genFeature.getCapName()%> = <%=genFeature.getSafeName()%>;
+          <%}%>
+        <%}%>
+       <%if (!genModel.isSuppressNotification()) {%>
+        <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>
+		boolean isSetChange = old<%=genFeature.getCapName()%> != EVIRTUAL_NO_VALUE;
+          <%} else if (genClass.isESetFlag(genFeature)) {%>
+		boolean old<%=genFeature.getCapName()%>ESet = (<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0;
+          <%} else {%>
+		boolean old<%=genFeature.getCapName()%>ESet = <%=genFeature.getUncapName()%>ESet;
+          <%}%>
+        <%}%>
+        <%if (genFeature.isReferenceType()) {%>
+		<%=genFeature.getSafeName()%> = null;
+          <%if (!genModel.isVirtualDelegation()) {%>
+            <%if (genClass.isESetFlag(genFeature)) {%>
+		<%=genClass.getESetFlagsField(genFeature)%> &= ~<%=genFeature.getUpperName()%>_ESETFLAG;
+            <%} else {%>
+		<%=genFeature.getUncapName()%>ESet = false;
+            <%}%>
+          <%}%>
+          <%if (!genModel.isSuppressNotification()) {%>
+		if (eNotificationRequired())
+			eNotify(new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.UNSET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%if (genModel.isVirtualDelegation()) {%>isSetChange ? old<%=genFeature.getCapName()%> : null<%} else {%>old<%=genFeature.getCapName()%><%}%>, null, <%if (genModel.isVirtualDelegation()) {%>isSetChange<%} else {%>old<%=genFeature.getCapName()%>ESet<%}%>));
+          <%}%>
+        <%} else {%>
+          <%if (genClass.isFlag(genFeature)) {%>
+            <%if (genFeature.isBooleanType()) {%>
+		if (<%=genFeature.getEDefault()%>) <%=genClass.getFlagsField(genFeature)%> |= <%=genFeature.getUpperName()%>_EFLAG; else <%=genClass.getFlagsField(genFeature)%> &= ~<%=genFeature.getUpperName()%>_EFLAG;
+            <%} else {%>
+		<%=genClass.getFlagsField(genFeature)%> = <%=genClass.getFlagsField(genFeature)%> & ~<%=genFeature.getUpperName()%>_EFLAG | <%=genFeature.getUpperName()%>_EFLAG_DEFAULT;
+            <%}%>
+          <%} else if (!genModel.isVirtualDelegation() || genFeature.isPrimitiveType()) {%>
+		<%=genFeature.getSafeName()%> = <%=genFeature.getEDefault()%>;
+          <%}%>
+          <%if (!genModel.isVirtualDelegation() || genFeature.isPrimitiveType()) {%>
+            <%if (genClass.isESetFlag(genFeature)) {%>
+		<%=genClass.getESetFlagsField(genFeature)%> &= ~<%=genFeature.getUpperName()%>_ESETFLAG;
+            <%} else {%>
+		<%=genFeature.getUncapName()%>ESet = false;
+            <%}%>
+          <%}%>
+          <%if (!genModel.isSuppressNotification()) {%>
+		if (eNotificationRequired())
+			eNotify(new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.UNSET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>isSetChange ? old<%=genFeature.getCapName()%> : <%=genFeature.getEDefault()%><%} else {%>old<%=genFeature.getCapName()%><%}%>, <%=genFeature.getEDefault()%>, <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>isSetChange<%} else {%>old<%=genFeature.getCapName()%>ESet<%}%>));
+          <%}%>
+        <%}%>
+      <%}%>
+    <%} else if (genFeature.hasDelegateFeature()) { GenFeature delegateFeature = genFeature.getDelegateFeature();%>
+      <%if (delegateFeature.isWrappedFeatureMapType()) {%>
+		((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)get<%=delegateFeature.getAccessorName()%>()).featureMap()).clear(<%=genFeature.getQualifiedFeatureAccessor()%>);
+      <%} else {%>
+		((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)get<%=delegateFeature.getAccessorName()%>()).clear(<%=genFeature.getQualifiedFeatureAccessor()%>);
+      <%}%>
+    <%} else if (genClass.getUnsetAccessorOperation(genFeature) != null) {%>
+		<%=genClass.getUnsetAccessorOperation(genFeature).getBody(genModel.getIndentation(stringBuffer))%>
+    <%} else {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/unsetGenFeature.todo.override.javajetinc%>
+    <%}%>
+	}
+
+<%}%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._BVnf1HLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._BVnf1HLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._BVnf1HLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._0zSE0mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._0zSE0mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..f73583b
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._0zSE0mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,57 @@
+
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+    <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
+<%if (isJDK50) { //Class/basicUnsetGenFeature.annotations.insert.javajetinc%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+<%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+<%}%>
+	public <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> basicUnset<%=genFeature.getAccessorName()%>(<%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs)
+	{
+    <%if (genModel.isDynamicDelegation()) {%>
+		return eDynamicInverseRemove(<%=genFeature.getAsInternalEObject("", false)%><%if (genFeature.isResolveProxies()) {%>basicGet<%=genFeature.getAccessorName()%><%} else {%><%=genFeature.getGetAccessor()%><%}%>(), <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, msgs);
+    <%} else if (!genFeature.isVolatile()) {%>
+      <%if (genModel.isVirtualDelegation()) {%>
+        <%if (!genModel.isSuppressNotification()) {%>Object old<%=genFeature.getCapName()%> = <%}%>eVirtualUnset(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+      <%} else {%>
+        <%if (!genModel.isSuppressNotification()) {%>
+		<%=genFeature.getImportedType(genClass)%> old<%=genFeature.getCapName()%> = <%=genFeature.getSafeName()%>;
+        <%}%>
+		<%=genFeature.getSafeName()%> = null;
+      <%}%>
+      <%if (genModel.isVirtualDelegation()) {%>
+        <%if (!genModel.isSuppressNotification()) {%>
+		boolean isSetChange = old<%=genFeature.getCapName()%> != EVIRTUAL_NO_VALUE;
+        <%}%>
+      <%} else if (genClass.isESetFlag(genFeature)) {%>
+        <%if (!genModel.isSuppressNotification()) {%>
+		boolean old<%=genFeature.getCapName()%>ESet = (<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0;
+        <%}%>
+		<%=genClass.getESetFlagsField(genFeature)%> &= ~<%=genFeature.getUpperName()%>_ESETFLAG;
+      <%} else {%>
+        <%if (!genModel.isSuppressNotification()) {%>
+		boolean old<%=genFeature.getCapName()%>ESet = <%=genFeature.getUncapName()%>ESet;
+        <%}%>
+		<%=genFeature.getUncapName()%>ESet = false;
+      <%}%>
+        <%if (!genModel.isSuppressNotification()) {%>
+		if (eNotificationRequired())
+		{
+			<%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%> notification = new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.UNSET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%if (genModel.isVirtualDelegation()) {%>isSetChange ? old<%=genFeature.getCapName()%> : null<%} else {%>old<%=genFeature.getCapName()%><%}%>, null, <%if (genModel.isVirtualDelegation()) {%>isSetChange<%} else {%>old<%=genFeature.getCapName()%>ESet<%}%>);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+        <%}%>
+    <%} else {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/basicUnsetGenFeature.todo.override.javajetinc%>
+    <%}%>
+	}
+
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._0zSEw2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._0zSEw2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._0zSEw2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._0zSEwmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._0zSEwmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._0zSEwmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._0zSExWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._0zSExWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._0zSExWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._BR5ddHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._BR5ddHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._BR5ddHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._0zb10mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._0zb10mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._0zb10mJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._0zb1w2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._0zb1w2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._0zb1w2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._0zb1wmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._0zb1wmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._0zb1wmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._0zb1xWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._0zb1xWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._0zb1xWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._BS7_RHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._BS7_RHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._BS7_RHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._0zlm0mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._0zlm0mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..89c17da
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._0zlm0mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,8 @@
+
+
+		// TODO: implement this method to unset the contained '<%=genFeature.getFormattedName()%>' <%=genFeature.getFeatureKind()%>
+		// -> this method is automatically invoked to keep the containment relationship in synch
+		// -> do not modify other features
+		// -> return msgs, after adding any generated Notification to it (if it is null, a NotificationChain object must be created first)
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._0zlmw2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._0zlmw2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._0zlmw2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._0zlmwmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._0zlmwmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._0zlmwmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._0zlmxWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._0zlmxWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._0zlmxWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._BUISFHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._BUISFHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._BUISFHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._1Bcck2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._1Bcck2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._1Bcck2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._1BcckmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._1BcckmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._1BcckmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._1BcclWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._1BcclWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._1BcclWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._1Bccm2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._1Bccm2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._1Bccm2J-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._CVZh1HLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._CVZh1HLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._CVZh1HLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._1Blmg2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._1Blmg2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._1Blmg2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._1BlmgmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._1BlmgmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._1BlmgmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._1BlmhWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._1BlmhWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._1BlmhWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._1Blmi2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._1Blmi2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..19002e7
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._1Blmi2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,5 @@
+
+
+		// TODO: implement this test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._CWSSpHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._CWSSpHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._CWSSpHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._1BvXg2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._1BvXg2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._1BvXg2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._1BvXgmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._1BvXgmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._1BvXgmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._1BvXhWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._1BvXhWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._1BvXhWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._1BvXi2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._1BvXi2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..925b0f0
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._1BvXi2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,23 @@
+
+
+
+	/**
+	 * Tests the '{@link <%=genFeature.getGenClass().getRawQualifiedInterfaceName()%>#isSet<%=genFeature.getAccessorName()%>() <em>isSet<%=genFeature.getAccessorName()%>()</em>}' method.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see <%=genFeature.getGenClass().getRawQualifiedInterfaceName()%>#isSet<%=genFeature.getAccessorName()%>()
+      <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+      <%}%>
+	 * @generated
+	 */
+      <%if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) { //TestCase/isSetGenFeature.annotations.insert.javajetinc%>
+<%@ 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,isJDK50:isJDK50"%>
+      <%}%>
+      <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+      <%}%>
+	public void testIsSet<%=genFeature.getAccessorName()%>()
+	{
+<%@ 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,isJDK50:isJDK50"%><%//TestCase/isSetGenFeature.todo.override.javajetinc%>
+	}
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._CY-aRHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._CY-aRHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._CY-aRHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._1C7qU2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._1C7qU2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._1C7qU2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._1C7qUmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._1C7qUmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._1C7qUmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._1C7qVWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._1C7qVWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._1C7qVWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._1C7qW2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._1C7qW2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._1C7qW2J-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._CgILJHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._CgILJHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._CgILJHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._1CMDc2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._1CMDc2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._1CMDc2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._1CMDcmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._1CMDcmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._1CMDcmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._1CMDdWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._1CMDdWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._1CMDdWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._1CMDe2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._1CMDe2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._1CMDe2J-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._CanZBHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._CanZBHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._CanZBHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._1Ce-Y2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._1Ce-Y2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._1Ce-Y2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._1Ce-YmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._1Ce-YmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._1Ce-YmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._1Ce-ZWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._1Ce-ZWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._1Ce-ZWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._1Ce-a2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._1Ce-a2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..19002e7
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._1Ce-a2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,5 @@
+
+
+		// TODO: implement this test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._CcGmxHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._CcGmxHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._CcGmxHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._1CovY2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._1CovY2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._1CovY2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._1CovYmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._1CovYmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._1CovYmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._1CovZWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._1CovZWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._1CovZWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._1Cova2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._1Cova2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._1Cova2J-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._CdcDhHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._CdcDhHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._CdcDhHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._1Cx5U2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._1Cx5U2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._1Cx5U2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._1Cx5UmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._1Cx5UmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._1Cx5UmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._1Cx5VWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._1Cx5VWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._1Cx5VWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._1Cx5W2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._1Cx5W2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..fd7ef3b
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._1Cx5W2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,24 @@
+
+
+
+	/**
+	 * Tests the '{@link <%=genOperation.getGenClass().getRawQualifiedInterfaceName()%>#<%=genOperation.getName()%>(<%=genOperation.getParameterTypes(", ")%>) <em><%=genOperation.getFormattedName()%></em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see <%=genOperation.getGenClass().getRawQualifiedInterfaceName()%>#<%=genOperation.getName()%>(<%=genOperation.getParameterTypes(", ")%>)
+      <%if (genOperation.hasAPITags()) {%>
+	 * <%=genOperation.getAPITags(genModel.getIndentation(stringBuffer))%>
+      <%}%>
+	 * @generated
+	 */
+  <%if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) { //TestCase/genOperation.annotations.insert.javajetinc%>
+<%@ 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,isJDK50:isJDK50"%>
+  <%}%>
+      <%if (isJDK50 && genOperation.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+      <%}%>
+	public void test<%=genClass.getUniqueName(genOperation)%>()
+	{
+<%@ 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,isJDK50:isJDK50"%><%//TestCase/implementedGenOperation.todo.override.javajetinc%>
+	}
+<%@ 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,isJDK50:isJDK50"%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._CeVbZHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._CeVbZHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._CeVbZHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._1DFbU2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._1DFbU2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._1DFbU2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._1DFbUmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._1DFbUmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._1DFbUmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._1DFbVWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._1DFbVWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._1DFbVWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._1DFbW2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._1DFbW2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..595c9ce
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._1DFbW2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,5 @@
+
+
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._CjtDlHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._CjtDlHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._CjtDlHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._1DOlQ2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._1DOlQ2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._1DOlQ2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._1DOlQmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._1DOlQmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._1DOlQmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._1DOlRWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._1DOlRWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._1DOlRWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._1DOlS2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._1DOlS2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._1DOlS2J-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._Ckl0ZHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._Ckl0ZHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._Ckl0ZHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._1DYWQ2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._1DYWQ2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._1DYWQ2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._1DYWQmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._1DYWQmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._1DYWQmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._1DYWRWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._1DYWRWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._1DYWRWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._1DYWSmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._1DYWSmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._1DYWSmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._ClCgVHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._ClCgVHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._ClCgVHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsLUk-XDEeCxnsoQRwU99Q.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsLUk-XDEeCxnsoQRwU99Q.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsLUk-XDEeCxnsoQRwU99Q.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsVFk-XDEeCxnsoQRwU99Q.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsVFk-XDEeCxnsoQRwU99Q.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsVFk-XDEeCxnsoQRwU99Q.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsVFkOXDEeCxnsoQRwU99Q.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsVFkOXDEeCxnsoQRwU99Q.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsVFkOXDEeCxnsoQRwU99Q.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsVFkeXDEeCxnsoQRwU99Q.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsVFkeXDEeCxnsoQRwU99Q.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsVFkeXDEeCxnsoQRwU99Q.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsVFouXDEeCxnsoQRwU99Q.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsVFouXDEeCxnsoQRwU99Q.pt
new file mode 100644
index 0000000..02b371f
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsVFouXDEeCxnsoQRwU99Q.pt
@@ -0,0 +1,44 @@
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b><%=genClass.getFormattedName()%></b></em>'.
+ * <!-- end-user-doc -->
+<%if (genClass.hasDocumentation()) {%>
+ *
+ * <!-- begin-model-doc -->
+ * <%=genClass.getDocumentation(genModel.getIndentation(stringBuffer))%>
+ * <!-- end-model-doc -->
+<%}%>
+ *
+<%if (!genClass.getGenFeatures().isEmpty()) {%>
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+<%for (GenFeature genFeature : genClass.getGenFeatures()) {%>
+  <%if (!genFeature.isSuppressedGetVisibility()) {%>
+ *   <li>{@link <%=genClass.getRawQualifiedInterfaceName()%>#<%=genFeature.getGetAccessor()%> <em><%=genFeature.getFormattedName()%></em>}</li>
+  <%}%>
+<%}%>
+ * </ul>
+<%}%>
+ *
+<%if (!genModel.isSuppressEMFMetaData()) {%>
+ * @see <%=genPackage.getQualifiedPackageInterfaceName()%>#get<%=genClass.getClassifierAccessorName()%>()
+<%}%>
+<%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;%>
+ * @model <%=modelInfo%>
+<%} else {%>
+ *        <%=modelInfo%>
+<%}} if (first) {%>
+ * @model
+<%}}%>
+<%if (genClass.needsRootExtendsInterfaceExtendsTag()) {%>
+ * @extends <%=genModel.getImportedName(genModel.getRootExtendsInterface())%>
+<%}%>
+<%if (genClass.hasImplicitAPITags(true)) {%>
+ * <%=genClass.getImplicitAPITags(genModel.getIndentation(stringBuffer), true)%>
+<%}%>
+ * @generated
+ */
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO4-XDEeCxnsoQRwU99Q.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO4-XDEeCxnsoQRwU99Q.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO4-XDEeCxnsoQRwU99Q.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO5-XDEeCxnsoQRwU99Q.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO5-XDEeCxnsoQRwU99Q.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO5-XDEeCxnsoQRwU99Q.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO5OXDEeCxnsoQRwU99Q.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO5OXDEeCxnsoQRwU99Q.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO5OXDEeCxnsoQRwU99Q.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO5eXDEeCxnsoQRwU99Q.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO5eXDEeCxnsoQRwU99Q.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO5eXDEeCxnsoQRwU99Q.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO9uXDEeCxnsoQRwU99Q.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO9uXDEeCxnsoQRwU99Q.pt
new file mode 100644
index 0000000..02b371f
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO9uXDEeCxnsoQRwU99Q.pt
@@ -0,0 +1,44 @@
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b><%=genClass.getFormattedName()%></b></em>'.
+ * <!-- end-user-doc -->
+<%if (genClass.hasDocumentation()) {%>
+ *
+ * <!-- begin-model-doc -->
+ * <%=genClass.getDocumentation(genModel.getIndentation(stringBuffer))%>
+ * <!-- end-model-doc -->
+<%}%>
+ *
+<%if (!genClass.getGenFeatures().isEmpty()) {%>
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+<%for (GenFeature genFeature : genClass.getGenFeatures()) {%>
+  <%if (!genFeature.isSuppressedGetVisibility()) {%>
+ *   <li>{@link <%=genClass.getRawQualifiedInterfaceName()%>#<%=genFeature.getGetAccessor()%> <em><%=genFeature.getFormattedName()%></em>}</li>
+  <%}%>
+<%}%>
+ * </ul>
+<%}%>
+ *
+<%if (!genModel.isSuppressEMFMetaData()) {%>
+ * @see <%=genPackage.getQualifiedPackageInterfaceName()%>#get<%=genClass.getClassifierAccessorName()%>()
+<%}%>
+<%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;%>
+ * @model <%=modelInfo%>
+<%} else {%>
+ *        <%=modelInfo%>
+<%}} if (first) {%>
+ * @model
+<%}}%>
+<%if (genClass.needsRootExtendsInterfaceExtendsTag()) {%>
+ * @extends <%=genModel.getImportedName(genModel.getRootExtendsInterface())%>
+<%}%>
+<%if (genClass.hasImplicitAPITags(true)) {%>
+ * <%=genClass.getImplicitAPITags(genModel.getIndentation(stringBuffer), true)%>
+<%}%>
+ * @generated
+ */
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM03roEeC0XN9kbwkPYQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM03roEeC0XN9kbwkPYQ.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM03roEeC0XN9kbwkPYQ.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM0nroEeC0XN9kbwkPYQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM0nroEeC0XN9kbwkPYQ.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM0nroEeC0XN9kbwkPYQ.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM1HroEeC0XN9kbwkPYQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM1HroEeC0XN9kbwkPYQ.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM1HroEeC0XN9kbwkPYQ.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM1nroEeC0XN9kbwkPYQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM1nroEeC0XN9kbwkPYQ.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM1nroEeC0XN9kbwkPYQ.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM4XroEeC0XN9kbwkPYQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM4XroEeC0XN9kbwkPYQ.pt
new file mode 100644
index 0000000..8e4ecfb
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM4XroEeC0XN9kbwkPYQ.pt
@@ -0,0 +1,3 @@
+
+
+		super();
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da03roEeC0XN9kbwkPYQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da03roEeC0XN9kbwkPYQ.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da03roEeC0XN9kbwkPYQ.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da0nroEeC0XN9kbwkPYQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da0nroEeC0XN9kbwkPYQ.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da0nroEeC0XN9kbwkPYQ.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da1HroEeC0XN9kbwkPYQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da1HroEeC0XN9kbwkPYQ.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da1HroEeC0XN9kbwkPYQ.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da1nroEeC0XN9kbwkPYQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da1nroEeC0XN9kbwkPYQ.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da1nroEeC0XN9kbwkPYQ.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da4XroEeC0XN9kbwkPYQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da4XroEeC0XN9kbwkPYQ.pt
new file mode 100644
index 0000000..8e4ecfb
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da4XroEeC0XN9kbwkPYQ.pt
@@ -0,0 +1,3 @@
+
+
+		super();
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._06ILSWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._06ILSWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..24cd6fc
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._06ILSWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel, GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._8vBvNHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._8vBvNHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..692d9a7
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._8vBvNHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._Pcm9tjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._Pcm9tjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._Pcm9tjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._Pcm9tzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._Pcm9tzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._Pcm9tzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._Pcm9uTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._Pcm9uTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._Pcm9uTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._PcwusDG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._PcwusDG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..3e8531f
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._PcwusDG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+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";
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._PcwusjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._PcwusjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..4ab8c36
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._PcwusjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,38 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ * 
+ * Contributors: 
+ *   IBM - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument;%>
+<%String pluginClassesLocation = genModel.isRuntimeJar() ? genModel.getModelPluginID()+".jar" : ".";%>
+<%List<String> sourceFolders = genModel.getModelSourceFolders();%>
+<%@ 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"%>
+
+bin.includes = <%=pluginClassesLocation%>,\
+               model/,\
+<%if (genModel.sameModelEditProject() || genModel.sameModelEditorProject()) {%>
+               icons/,\
+<%}%>
+<%if (genModel.isBundleManifest()) {%>
+               META-INF/,\
+<%}%>
+<%if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {%>
+               plugin.xml,\
+<%}%>
+<%String modelBundleLocalization = genModel.getModelBundleLocalization(); int index = modelBundleLocalization.indexOf("/"); if (index == -1) {%>
+               <%=modelBundleLocalization%>.properties
+<%} else {%>
+               <%=modelBundleLocalization.substring(0, index + 1)%>
+<%}%>
+jars.compile.order = <%=pluginClassesLocation%>
+<% boolean first=true; for (Iterator<String> i = sourceFolders.iterator(); i.hasNext();) { String sourceFolder = i.next(); if (i.hasNext()){sourceFolder +=",\\";} if (first) {%>
+source.<%=pluginClassesLocation%> = <%=sourceFolder%><%first=false;} else {%><%=sourceFolder%><%}}%>
+output.<%=pluginClassesLocation%> = bin/
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._Sq2-OGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._Sq2-OGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..76ca0ef
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._Sq2-OGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._05rfVmKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._05rfVmKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..24cd6fc
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._05rfVmKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel, GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._8qZt5HLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._8qZt5HLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..8e2b4dc
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._8qZt5HLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDpojG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDpojG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDpojG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDpozG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDpozG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDpozG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDppTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDppTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDppTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDppzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDppzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..ae7bb79
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDppzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPathName = genModel.getModelProjectDirectory() + "/META-INF/MANIFEST.MF";
+overwrite = genModel.isUpdateClasspath();
+encoding = "UTF-8";
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDpqTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDpqTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..a4e6118
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDpqTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,54 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ * 
+ * Contributors: 
+ *   IBM - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument;%>
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: <%=genModel.getModelBundleNameKey()%>
+Bundle-SymbolicName: <%=genModel.getModelPluginID()%>;singleton:=true
+Automatic-Module-Name: <%=genModel.getModelPluginID()%>
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: <%if (genModel.isRuntimeJar()) {%><%=genModel.getModelPluginID()%>.jar<%}else{%>.<%}%>
+<%if (genModel.hasModelPluginClass()) {%>
+Bundle-Activator: <%=genModel.getQualifiedModelPluginClassName()%>$Implementation<%if (genModel.isOSGiCompatible()) {%>$Activator<%}%>
+<%}%>
+Bundle-Vendor: <%=genModel.getModelBundleVendorKey()%>
+Bundle-Localization: <%=genModel.getModelBundleLocalization()%>
+<%if (genModel.getComplianceLevel() == GenJDKLevel.JDK50_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+<%} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK60_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+<%} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK70_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+<%} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK80_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+<%} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK90_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: JavaSE-9
+<%} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK100_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: JavaSE-10
+<%}%>
+<%Iterator<String> packagesIterator = genModel.getModelQualifiedPackageNames().iterator(); if (packagesIterator.hasNext()) { String pack = packagesIterator.next();%>
+Export-Package: <%=pack%><%while(packagesIterator.hasNext()) { pack = packagesIterator.next();%>,
+ <%=pack%><%}%>
+<%}%>
+<%Iterator<String> requiredPluginIterator = genModel.getModelRequiredPlugins().iterator(); if (requiredPluginIterator.hasNext()) { String pluginID = requiredPluginIterator.next();%>
+Require-Bundle: <%=pluginID%><%if (pluginID.startsWith("org.eclipse.core.runtime")) {if (genModel.isOSGiCompatible()) {%>;resolution:=optional;x-installation:=greedy<%}} else {%>;visibility:=reexport<%} while(requiredPluginIterator.hasNext()) { pluginID = requiredPluginIterator.next();%>,
+ <%=pluginID%><%if (pluginID.startsWith("org.eclipse.core.runtime")) {if (genModel.isOSGiCompatible()) {%>;resolution:=optional;x-installation:=greedy<%}} else if (!pluginID.equals("org.eclipse.xtext.xbase.lib") && !pluginID.equals("org.eclipse.emf.ecore.xcore.lib")) {%>;visibility:=reexport<%}}%>
+<%}%>
+<%if (genModel.isOSGiCompatible() && genModel.hasModelPluginClass()) {%>
+Import-Package: org.osgi.framework
+<%}%>
+<%if (genModel.getRuntimeVersion() == GenRuntimeVersion.EMF22 || genModel.getRuntimeVersion() == GenRuntimeVersion.EMF23) {%>
+Eclipse-LazyStart: true
+<%}%>
+Bundle-ActivationPolicy: lazy
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._SrAvOGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._SrAvOGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..76ca0ef
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._SrAvOGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._06R8SWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._06R8SWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..24cd6fc
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._06R8SWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel, GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._8mrriXLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._8mrriXLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..2302c81
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._8mrriXLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdNaojG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdNaojG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdNaojG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdNaozG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdNaozG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdNaozG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdXLoTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdXLoTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdXLoTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdXLozG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdXLozG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..65e34ed
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdXLozG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPathName = genModel.getModelProjectDirectory() + "/plugin.xml";
+overwrite = true;
+encoding = "UTF-8";
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdXLpTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdXLpTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..25a9198
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdXLpTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,111 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.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();%>
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<%@ 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"%>
+
+<%if (genModel.isBundleManifest()) {%>
+<plugin>
+<%} else {%>
+<plugin
+      name="%pluginName"
+      id="<%=genModel.getModelPluginID()%>"
+      version="1.0.0"
+  <%if (genModel.hasModelPluginClass()) { %>
+      provider-name="%providerName"
+      class="<%=genModel.getQualifiedModelPluginClassName()%>$Implementation">
+  <%} else {%>
+      provider-name="%providerName">
+  <%}%>
+
+   <requires>
+  <%for (String pluginID : genModel.getModelRequiredPlugins()) {%>
+      <import plugin="<%=pluginID%>"<%if (!pluginID.startsWith("org.eclipse.core.runtime")) {%> export="true"<%}%>/>
+  <%}%>
+   </requires>
+
+   <runtime>
+  <%if (genModel.isRuntimeJar()) {%>
+      <library name="<%=genModel.getModelPluginID()%>.jar">
+  <%} else {%>
+      <library name=".">
+  <%}%>
+         <export name="*"/>
+      </library>
+   </runtime>
+<%}%>
+<%for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {%>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+  <%if (hasKey) {%>
+      <!-- @generated <%=key%> -->
+  <%}%>
+      <package
+            uri="<%=genPackage.getNSURI()%>"
+  <%if (genModel.hasLocalGenModel()) {%>
+            class="<%=genPackage.getQualifiedPackageInterfaceName()%>"
+            genModel="<%=genModel.getRelativeGenModelLocation()%>"/>
+  <%} else {%>
+            class="<%=genPackage.getQualifiedPackageInterfaceName()%>"/>
+  <%}%>
+   </extension>
+  <%if (genPackage.isContentType()) {%>
+
+   <extension point="org.eclipse.emf.ecore.content_parser">
+  <%if (hasKey) {%>
+      <!-- @generated <%=key%> -->
+  <%}%>
+      <parser
+            contentTypeIdentifier="<%=genPackage.getContentTypeIdentifier()%>"
+            class="<%=genPackage.getQualifiedEffectiveResourceFactoryClassName()%>"/>
+   </extension>
+
+   <extension point="org.eclipse.core.contenttype.contentTypes">
+  <%if (hasKey) {%>
+      <!-- @generated <%=key%> -->
+  <%}%>
+      <content-type
+            base-type="<%=genPackage.isXMIResource() ? "org.eclipse.emf.ecore.xmi" : "org.eclipse.core.runtime.xml"%>"
+            file-extensions="<%=genPackage.getFileExtensions()%>"
+            id="<%=genPackage.getContentTypeIdentifier()%>"
+            name="%_UI_<%=genPackage.getPrefix()%>_content_type"
+            priority="normal">
+         <describer class="org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer">
+    <%if (genPackage.hasTargetNamespace()) {%>
+            <parameter name="namespace" value="<%=genPackage.getNSURI()%>"/>
+    <%}%>
+    <%if (genPackage.isXMIResource()) {%>
+            <parameter name="kind" value="xmi"/>
+    <%}%>
+         </describer>
+      </content-type>
+   </extension>
+  <%} else if (genPackage.getResource() != GenResourceKind.NONE_LITERAL) {%>
+
+   <extension point="org.eclipse.emf.ecore.extension_parser">
+    <%if (hasKey) {%>
+      <!-- @generated <%=key%> -->
+    <%}%>
+    <%for (String fileExtension : genPackage.getFileExtensionList()) {%>
+      <parser
+            type="<%=fileExtension%>"
+            class="<%=genPackage.getQualifiedResourceFactoryClassName()%>"/>
+    <%}%>
+   </extension>
+  <%}%>
+<%}%>
+
+</plugin>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._SqaSS2KPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._SqaSS2KPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..76ca0ef
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._SqaSS2KPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._06k3OWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._06k3OWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..24cd6fc
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._06k3OWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel, GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._8zCshHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._8zCshHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..692d9a7
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._8zCshHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVkjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVkjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVkjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVkzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVkzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVkzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVlTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVlTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVlTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVlzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVlzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e97c3de
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVlzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+targetPathName = genModel.getModelProjectDirectory() + "/" + genModel.getModelBundleLocalization()+ ".properties";
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVmTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVmTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..2f0b3c1
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVmTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,26 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ * 
+ * Contributors: 
+ *   IBM - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument;%>
+<%@ 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"%>
+
+pluginName = <%=genModel.getModelBundleName()%>
+providerName = <%=genModel.getModelBundleVendorName()%>
+<%boolean first = true; for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {%>
+  <%if (genPackage.isContentType()) {%>
+    <%if (first) { first = false;%>
+
+    <%}%>
+_UI_<%=genPackage.getPrefix()%>_content_type = <%=genPackage.getPrefix()%> File
+  <%}%>
+<%}%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._SrTqKGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._SrTqKGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..76ca0ef
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._SrTqKGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._09HN2WKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._09HN2WKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..24cd6fc
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._09HN2WKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel, GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._89Lf9HLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._89Lf9HLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..449324b
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._89Lf9HLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQgjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQgjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQgjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQgzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQgzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQgzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQhTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQhTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQhTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQhzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQhzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..4466696
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQhzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenPackage genPackage = parameter;
+targetPath = genPackage.getGenModel().getModelDirectory();
+packageName = genPackage.getReflectionClassPackageName();
+className = genPackage.getPackageClassName();
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQiTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQiTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..90684dd
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQiTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,1348 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ *   IBM - Initial API and implementation
+ */
+%>
+<%final GenPackage genPackage = (GenPackage)((Object[])argument)[0]; final GenModel genModel=genPackage.getGenModel();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%boolean isInterface = Boolean.TRUE.equals(((Object[])argument)[1]); boolean isImplementation = Boolean.TRUE.equals(((Object[])argument)[2]);  boolean useInterfaceOverrideAnnotation = genModel.useInterfaceOverrideAnnotation() && !(isInterface && isImplementation);%>
+<%boolean packageNeedsSuppressDeprecation = isJDK50 && GenModelUtil.hasAPIDeprecatedTag(genPackage.getOrderedGenClassifiers()) && !genPackage.hasAPIDeprecatedTag() && !genModel.isSuppressEMFMetaData();%>
+<%String publicStaticFinalFlag = isImplementation ? "public static final " : "";%>
+<%boolean needsAddEOperation = false;%>
+<%boolean needsAddEParameter = false;%>
+<%@ 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"%>
+<%if (isImplementation && !genModel.isSuppressInterfaces()) {%>
+package <%=genPackage.getClassPackageName()%>;
+<%} else {%>
+package <%=genPackage.getReflectionPackageName()%>;
+<%}%>
+
+<%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) {%>
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+  <%if (genModel.isOperationReflection()) {%>
+ *   <li>each operation of each class,</li>
+  <%}%>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+<%if (genPackage.hasDocumentation()) {%>
+ * <!-- begin-model-doc -->
+ * <%=genPackage.getDocumentation(genModel.getIndentation(stringBuffer))%>
+ * <!-- end-model-doc -->
+<%}%>
+ * @see <%=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;%>
+ * @model <%=modelInfo%>
+  <%} else {%>
+ *        <%=modelInfo%>
+  <%}} if (first) {%>
+ * @model
+  <%}}%>
+ * @generated
+ */
+<%} else {%>
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+<%if (genPackage.hasAPITags()) {%>
+ * <%=genPackage.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%}%>
+<%if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%}%>
+<%if (isImplementation) {%>
+  <%if (packageNeedsSuppressDeprecation) {%>
+@SuppressWarnings("deprecation")
+  <%}%>
+public class <%=genPackage.getPackageClassName()%> extends <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.EPackageImpl")%><%if (!isInterface){%> implements <%=genPackage.getImportedPackageInterfaceName()%><%}%>
+<%} else {%>
+public interface <%=genPackage.getPackageInterfaceName()%> extends <%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>
+<%}%>
+{
+<%if (genModel.hasCopyrightField()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	<%=publicStaticFinalFlag%><%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+<%if (isInterface) {%>
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	<%=publicStaticFinalFlag%><%=genModel.getImportedName("java.lang.String")%> eNAME = "<%=genPackage.getPackageName()%>";<%=genModel.getNonNLS()%>
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	<%=publicStaticFinalFlag%><%=genModel.getImportedName("java.lang.String")%> eNS_URI = "<%=genPackage.getNSURI()%>";<%=genModel.getNonNLS()%>
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	<%=publicStaticFinalFlag%><%=genModel.getImportedName("java.lang.String")%> eNS_PREFIX = "<%=genPackage.getNSName()%>";<%=genModel.getNonNLS()%>
+  <%if (genPackage.isContentType()) {%>
+
+	/**
+	 * The package content type ID.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	<%=publicStaticFinalFlag%><%=genModel.getImportedName("java.lang.String")%> eCONTENT_TYPE = "<%=genPackage.getContentTypeIdentifier()%>";<%=genModel.getNonNLS()%>
+  <%}%>
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	<%=publicStaticFinalFlag%><%=genPackage.getPackageInterfaceName()%> eINSTANCE = <%=genPackage.getQualifiedPackageClassName()%>.init();
+
+  <%for (GenClassifier genClassifier : genPackage.getOrderedGenClassifiers()) {%>
+	/**
+    <%if (genClassifier instanceof GenClass) { GenClass genClass = (GenClass)genClassifier;%>
+      <%if (!genClass.isInterface()) {%>
+	 * The meta object id for the '{@link <%=genClass.getQualifiedClassName()%> <em><%=genClass.getFormattedName()%></em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see <%=genClass.getQualifiedClassName()%>
+      <%} else {%>
+	 * The meta object id for the '{@link <%=genClass.getRawQualifiedInterfaceName()%> <em><%=genClass.getFormattedName()%></em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see <%=genClass.getRawQualifiedInterfaceName()%>
+      <%}%>
+    <%} else if (genClassifier instanceof GenEnum) { GenEnum genEnum = (GenEnum)genClassifier;%>
+	 * The meta object id for the '{@link <%=genEnum.getQualifiedName()%> <em><%=genEnum.getFormattedName()%></em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see <%=genEnum.getQualifiedName()%>
+    <%} else if (genClassifier instanceof GenDataType) { GenDataType genDataType = (GenDataType)genClassifier;%>
+	 * The meta object id for the '<em><%=genDataType.getFormattedName()%></em>' data type.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+      <%if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {%>
+	 * @see <%=genDataType.getRawInstanceClassName()%>
+      <%}%>
+    <%}%>
+	 * @see <%=genPackage.getQualifiedPackageClassName()%>#get<%=genClassifier.getClassifierAccessorName()%>()
+  <%if (genClassifier.hasAPITags()) {%>
+	 * <%=genClassifier.getAPITags(genModel.getIndentation(stringBuffer))%>
+  <%}%>
+	 * @generated
+	 */
+  <%if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+  <%}%>
+	<%=publicStaticFinalFlag%>int <%=genPackage.getClassifierID(genClassifier)%> = <%=genPackage.getClassifierValue(genClassifier)%>;
+
+    <%if (genClassifier instanceof GenClass) { GenClass genClass = (GenClass)genClassifier;%>
+      <%for (GenFeature genFeature : genClass.getAllGenFeatures()) {%>
+	/**
+	 * The feature id for the '<em><b><%=genFeature.getFormattedName()%></b></em>' <%=genFeature.getFeatureKind()%>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+    <%if (genFeature.hasImplicitAPITags()) {%>
+	 * <%=genFeature.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 * @ordered
+	 */
+  <%if (isJDK50 && genFeature.hasImplicitAPIDeprecatedTag()) {%>
+	@Deprecated
+  <%}%>
+	<%=publicStaticFinalFlag%>int <%=genClass.getFeatureID(genFeature)%> = <%=genClass.getFeatureValue(genFeature)%>;
+
+      <%}%>
+	/**
+	 * The number of structural features of the '<em><%=genClass.getFormattedName()%></em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+    <%if (genClass.hasAPITags()) {%>
+	 * <%=genClass.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 * @ordered
+	 */
+  <%if (isJDK50 && genClass.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+  <%}%>
+	<%=publicStaticFinalFlag%>int <%=genClass.getFeatureCountID()%> = <%=genClass.getFeatureCountValue()%>;
+
+      <%if (genModel.isOperationReflection()) {%>
+        <%for (GenOperation genOperation : genClass.getAllGenOperations(false)) {%>
+          <%if (genClass.getOverrideGenOperation(genOperation) == null) {%>
+	/**
+	 * The operation id for the '<em><%=genOperation.getFormattedName()%></em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+    <%if (genOperation.hasImplicitAPITags()) {%>
+	 * <%=genOperation.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 * @ordered
+	 */
+  <%if (isJDK50 && genOperation.hasImplicitAPIDeprecatedTag()) {%>
+	@Deprecated
+  <%}%>
+	<%=publicStaticFinalFlag%>int <%=genClass.getOperationID(genOperation, false)%> = <%=genClass.getOperationValue(genOperation)%>;
+
+          <%}%>
+        <%}%>
+	/**
+	 * The number of operations of the '<em><%=genClass.getFormattedName()%></em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+    <%if (genClass.hasAPITags()) {%>
+	 * <%=genClass.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 * @ordered
+	 */
+  <%if (isJDK50 && genClass.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+  <%}%>
+	<%=publicStaticFinalFlag%>int <%=genClass.getOperationCountID()%> = <%=genClass.getOperationCountValue()%>;
+
+      <%}%>
+    <%}%>
+  <%}%>
+<%}%>
+<%if (isImplementation) {%>
+  <%if (genPackage.isLoadingInitialization()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected String packageFilename = "<%=genPackage.getSerializedPackageFilename()%>";<%=genModel.getNonNLS()%>
+
+  <%}%>
+  <%for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+    <%if (genClassifier.hasAPITags(true)) {%>
+	 * <%=genClassifier.getAPITags(genModel.getIndentation(stringBuffer), true)%>
+    <%}%>
+	 * @generated
+	 */
+  <%if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+  <%}%>
+	private <%=genClassifier.getImportedMetaType()%> <%=genClassifier.getClassifierInstanceName()%> = null;
+
+  <%}%>
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see <%=genPackage.getQualifiedPackageInterfaceName()%>#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private <%=genPackage.getPackageClassName()%>()
+	{
+		super(eNS_URI, <%=genPackage.getQualifiedEFactoryInstanceAccessor()%>);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 *
+	 * <p>This method is used to initialize {@link <%=genPackage.getImportedPackageInterfaceName()%>#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+  <%if (!genPackage.isLoadedInitialization()) {%>
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+  <%}%>
+	 * @generated
+	 */
+	public static <%=genPackage.getImportedPackageInterfaceName()%> init()
+	{
+		if (isInited) return (<%=genPackage.getImportedPackageInterfaceName()%>)<%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE.getEPackage(<%=genPackage.getImportedPackageInterfaceName()%>.eNS_URI);
+
+    <%if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {%>
+		initializeRegistryHelpers();
+
+    <%}%>
+		// Obtain or create and register package
+		Object registered<%=genPackage.getBasicPackageName()%> = <%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE.get(eNS_URI);
+		<%=genPackage.getPackageClassName()%> the<%=genPackage.getBasicPackageName()%> = registered<%=genPackage.getBasicPackageName()%> instanceof <%=genPackage.getPackageClassName()%> ? (<%=genPackage.getPackageClassName()%>)registered<%=genPackage.getBasicPackageName()%> : new <%=genPackage.getPackageClassName()%>();
+
+		isInited = true;
+
+    <%if (!genPackage.getPackageSimpleDependencies().isEmpty()) {%>
+		// Initialize simple dependencies
+    <%for (GenPackage dep : genPackage.getPackageSimpleDependencies()) {%>
+		<%=dep.getImportedPackageInterfaceName()%>.eINSTANCE.eClass();
+    <%}%>
+
+  <%}%>
+  <%if (!genPackage.getPackageInterDependencies().isEmpty()) {%>
+		// Obtain or create and register interdependencies
+    <%for (ListIterator<GenPackage> i = genPackage.getPackageInterDependencies().listIterator(); i.hasNext(); ) { GenPackage interdep = i.next(); %>
+		<%if (i.previousIndex() == 0) {%>Object <%}%>registeredPackage = <%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE.getEPackage(<%=interdep.getImportedPackageInterfaceName()%>.eNS_URI);
+		<%=interdep.getImportedPackageClassName()%> <%=genPackage.getPackageInstanceVariable(interdep)%> = (<%=interdep.getImportedPackageClassName()%>)(registeredPackage instanceof <%=interdep.getImportedPackageClassName()%> ? registeredPackage : <%=interdep.getImportedPackageInterfaceName()%>.eINSTANCE);
+    <%}%>
+
+  <%}%>
+  <%if (genPackage.isLoadedInitialization() || !genPackage.getPackageLoadInterDependencies().isEmpty()) {%>
+		// Load packages
+    <%if (genPackage.isLoadingInitialization()) {%>
+		the<%=genPackage.getBasicPackageName()%>.loadPackage();
+    <%}%>
+    <%for (GenPackage interdep : genPackage.getPackageLoadInterDependencies()) {%>
+      <%if (interdep.isLoadingInitialization()) {%>
+		<%=genPackage.getPackageInstanceVariable(interdep)%>.loadPackage();
+      <%}%>
+    <%}%>
+
+  <%}%>
+  <%if (!genPackage.isLoadedInitialization() || !genPackage.getPackageBuildInterDependencies().isEmpty()) {%>
+		// Create package meta-data objects
+    <%if (!genPackage.isLoadedInitialization()) {%>
+		the<%=genPackage.getBasicPackageName()%>.createPackageContents();
+    <%}%>
+    <%for (GenPackage interdep : genPackage.getPackageBuildInterDependencies()) {%>
+		<%=genPackage.getPackageInstanceVariable(interdep)%>.createPackageContents();
+    <%}%>
+
+		// Initialize created meta-data
+    <%if (!genPackage.isLoadedInitialization()) {%>
+		the<%=genPackage.getBasicPackageName()%>.initializePackageContents();
+    <%}%>
+    <%for (GenPackage interdep : genPackage.getPackageBuildInterDependencies()) {%>
+		<%=genPackage.getPackageInstanceVariable(interdep)%>.initializePackageContents();
+    <%}%>
+
+  <%}%>
+  <%if (genPackage.isLoadedInitialization() || !genPackage.getPackageLoadInterDependencies().isEmpty()) {%>
+		// Fix loaded packages
+    <%if (genPackage.isLoadedInitialization()) {%>
+		the<%=genPackage.getBasicPackageName()%>.fixPackageContents();
+    <%}%>
+    <%for (GenPackage interdep : genPackage.getPackageLoadInterDependencies()) {%>
+		<%=genPackage.getPackageInstanceVariable(interdep)%>.fixPackageContents();
+    <%}%>
+
+  <%}%>
+  <%if (genPackage.hasConstraints()) {%>
+		// Register package validator
+		<%=genModel.getImportedName("org.eclipse.emf.ecore.EValidator")%>.Registry.INSTANCE.put
+			(the<%=genPackage.getBasicPackageName()%>,
+			 new <%=genModel.getImportedName("org.eclipse.emf.ecore.EValidator")%>.Descriptor()
+			 {
+ <%if (genModel.useInterfaceOverrideAnnotation()) {%>
+				 @Override
+ <%}%>
+				 public <%=genModel.getImportedName("org.eclipse.emf.ecore.EValidator")%> getEValidator()
+				 {
+					 return <%=genPackage.getImportedValidatorClassName()%>.INSTANCE;
+				 }
+			 });
+
+  <%}%>
+  <%if (!genPackage.isEcorePackage()) {%>
+		// Mark meta-data to indicate it can't be changed
+		the<%=genPackage.getBasicPackageName()%>.freeze();
+
+  <%}%>
+		// Update the registry and return the package
+		<%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE.put(<%=genPackage.getImportedPackageInterfaceName()%>.eNS_URI, the<%=genPackage.getBasicPackageName()%>);
+		return the<%=genPackage.getBasicPackageName()%>;
+	}
+  <%if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {%>
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void initializeRegistryHelpers()
+	{
+    <%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)) {%>
+		<%=genModel.getImportedName("org.eclipse.emf.common.util.Reflect")%>.register
+			(<%=theClass%>.class,
+			 new <%=genModel.getImportedName("org.eclipse.emf.common.util.Reflect")%>.Helper()
+			 {
+				 public boolean isInstance(Object instance)
+				 {
+					 return instance instanceof <%=genClass.isMapEntry() ? genClass.getImportedClassName() : genClass.getRawImportedInterfaceName() + genClass.getInterfaceWildTypeArguments()%>;
+				 }
+
+				 public Object newArrayInstance(int size)
+				 {
+					 return new <%=theClass%>[size];
+				 }
+			 });
+        <%}}%>
+      <%} else if (genClassifier instanceof GenDataType) { GenDataType genDataType = (GenDataType)genClassifier;%>
+        <%if (!genDataType.isPrimitiveType() && !genDataType.isObjectType()) { String theClass = genDataType.getRawImportedInstanceClassName(); if (helpers.add(theClass)) { %>
+		<%=genModel.getImportedName("org.eclipse.emf.common.util.Reflect")%>.register
+			(<%=theClass%>.class,
+			 new <%=genModel.getImportedName("org.eclipse.emf.common.util.Reflect")%>.Helper()
+			 {
+				 public boolean isInstance(Object instance)
+				 {
+					 return instance instanceof <%=theClass%>;
+				 }
+
+				 public Object newArrayInstance(int size)
+				 {
+        <%if (genDataType.isArrayType()) { String componentType = theClass; String indices = ""; while(componentType.endsWith("[]")) { componentType = componentType.substring(0, componentType.length() - 2); indices += "[]";}%>
+					 return new <%=componentType%>[size]<%=indices%>;
+        <%} else {%>
+					 return new <%=theClass%>[size];
+        <%}%>
+				 }
+		});
+        <%}}%>
+      <%}%>
+    <%}%>
+	}
+
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static class WhiteList implements <%=genModel.getImportedName("com.google.gwt.user.client.rpc.IsSerializable")%>, EBasicWhiteList
+	{
+    <%for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {%>
+      <%if (genClassifier instanceof GenClass) { GenClass genClass = (GenClass)genClassifier;%>
+        <%if (!genClass.isDynamic()) {%>
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected <%=genClass.isMapEntry() ? genClass.getImportedClassName() : genClass.getImportedWildcardInstanceClassName()%> <%=genClass.getSafeUncapName()%>;
+
+        <%}%>
+      <%} else if (genClassifier instanceof GenDataType) { GenDataType genDataType = (GenDataType)genClassifier;%>
+        <%if (!genDataType.isObjectType() && genDataType.isSerializable()) {%>
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected <%=genDataType.getImportedWildcardInstanceClassName()%> <%=genDataType.getSafeUncapName()%>;
+
+        <%}%>
+      <%}%>
+    <%}%>
+	}
+  <%}%>
+
+<%}%>
+<%if (isInterface) { // TODO REMOVE THIS BOGUS EMPTY LINE%>
+
+<%}%>
+  <%for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {%>
+<%if (isInterface) {%>
+	/**
+    <%if (genClassifier instanceof GenClass) { GenClass genClass = (GenClass)genClassifier;%>
+	 * Returns the meta object for class '{@link <%=genClass.getRawQualifiedInterfaceName()%> <em><%=genClass.getFormattedName()%></em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em><%=genClass.getFormattedName()%></em>'.
+	 * @see <%=genClass.getRawQualifiedInterfaceName()%>
+      <%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;%>
+	 * @model <%=modelInfo%>
+        <%} else {%>
+	 *        <%=modelInfo%>
+        <%}} if (first) {%>
+	 * @model
+      <%}}%>
+    <%} else if (genClassifier instanceof GenEnum) { GenEnum genEnum = (GenEnum)genClassifier;%>
+	 * Returns the meta object for enum '{@link <%=genEnum.getQualifiedName()%> <em><%=genEnum.getFormattedName()%></em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for enum '<em><%=genEnum.getFormattedName()%></em>'.
+	 * @see <%=genEnum.getQualifiedName()%>
+    <%} else if (genClassifier instanceof GenDataType) { GenDataType genDataType = (GenDataType)genClassifier;%>
+      <%if (genDataType.isPrimitiveType() || genDataType.isArrayType()) {%>
+	 * Returns the meta object for data type '<em><%=genDataType.getFormattedName()%></em>'.
+      <%} else {%>
+	 * Returns the meta object for data type '{@link <%=genDataType.getRawInstanceClassName()%> <em><%=genDataType.getFormattedName()%></em>}'.
+      <%}%>
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+      <%if (genDataType.hasDocumentation()) {%>
+     * <!-- begin-model-doc -->
+     * <%=genDataType.getDocumentation(genModel.getIndentation(stringBuffer))%>
+     * <!-- end-model-doc -->
+      <%}%>
+	 * @return the meta object for data type '<em><%=genDataType.getFormattedName()%></em>'.
+      <%if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {%>
+	 * @see <%=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;%>
+	 * @model <%=modelInfo%>
+      <%} else {%>
+	 *        <%=modelInfo%>
+      <%}} if (first) {%>
+	 * @model
+      <%}}%>
+    <%}%>
+  <%if ((genClassifier instanceof GenClass || genClassifier instanceof GenEnum) && genClassifier.hasAPITags()) {%>
+	 * <%=genClassifier.getAPITags(genModel.getIndentation(stringBuffer))%>
+  <%}%>
+	 * @generated
+	 */
+<%} else {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+  <%if (genClassifier.hasAPITags()) {%>
+	 * <%=genClassifier.getAPITags(genModel.getIndentation(stringBuffer))%>
+  <%}%>
+	 * @generated
+	 */
+<%}%>
+  <%if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+  <%}%>
+<%if (isImplementation) {%>
+ <%if (useInterfaceOverrideAnnotation) {%>
+	@Override
+ <%}%>
+	public <%=genClassifier.getImportedMetaType()%> get<%=genClassifier.getClassifierAccessorName()%>()
+	{
+    <%if (genPackage.isLoadedInitialization()) {%>
+		if (<%=genClassifier.getClassifierInstanceName()%> == null)
+		{
+			<%=genClassifier.getClassifierInstanceName()%> = (<%=genClassifier.getImportedMetaType()%>)<%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE.getEPackage(<%=genPackage.getImportedPackageInterfaceName()%>.eNS_URI).getEClassifiers().get(<%=genPackage.getLocalClassifierIndex(genClassifier)%>);
+		}
+    <%}%>
+		return <%=genClassifier.getClassifierInstanceName()%>;
+	}
+
+<%} else {%>
+	<%=genClassifier.getImportedMetaType()%> get<%=genClassifier.getClassifierAccessorName()%>();
+
+<%}%>
+    <%if (genClassifier instanceof GenClass) { GenClass genClass = (GenClass)genClassifier;%>
+      <%for (GenFeature genFeature : genClass.getGenFeatures()) {%>
+<%if (isInterface) {%>
+	/**
+	 * Returns the meta object for the <%=genFeature.getFeatureKind()%> '{@link <%=genClass.getRawQualifiedInterfaceName()%><%if (!genClass.isMapEntry() && !genFeature.isSuppressedGetVisibility()) {%>#<%=genFeature.getGetAccessor()%><%}%> <em><%=genFeature.getFormattedName()%></em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the <%=genFeature.getFeatureKind()%> '<em><%=genFeature.getFormattedName()%></em>'.
+	 * @see <%=genClass.getRawQualifiedInterfaceName()%><%if (!genClass.isMapEntry() && !genFeature.isSuppressedGetVisibility()) {%>#<%=genFeature.getGetAccessor()%>()<%}%>
+	 * @see #get<%=genClass.getClassifierAccessorName()%>()
+    <%if (genFeature.hasImplicitAPITags()) {%>
+	 * <%=genFeature.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
+<%} else {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+    <%if (genFeature.hasImplicitAPITags()) {%>
+	 * <%=genFeature.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
+<%}%>
+<%if (isJDK50 && genFeature.hasImplicitAPIDeprecatedTag()) {%>
+	@Deprecated
+<%}%>
+<%if (isImplementation) {%>
+   <%if (useInterfaceOverrideAnnotation) {%>
+	@Override
+   <%}%>
+	public <%=genFeature.getImportedMetaType()%> get<%=genFeature.getFeatureAccessorName()%>()
+	{
+        <%if (!genPackage.isLoadedInitialization()) {%>
+		return (<%=genFeature.getImportedMetaType()%>)<%=genClass.getClassifierInstanceName()%>.getEStructuralFeatures().get(<%=genClass.getLocalFeatureIndex(genFeature)%>);
+        <%} else {%>
+        return (<%=genFeature.getImportedMetaType()%>)get<%=genClassifier.getClassifierAccessorName()%>().getEStructuralFeatures().get(<%=genClass.getLocalFeatureIndex(genFeature)%>);
+        <%}%>
+	}
+<%} else {%>
+	<%=genFeature.getImportedMetaType()%> get<%=genFeature.getFeatureAccessorName()%>();
+<%}%>
+
+      <%}%>
+      <%if (genModel.isOperationReflection()) {%>
+        <%for (GenOperation genOperation : genClass.getGenOperations()) {%>
+<%if (isInterface) {%>
+	/**
+	 * Returns the meta object for the '{@link <%=genClass.getRawQualifiedInterfaceName()%>#<%=genOperation.getName()%>(<%=genOperation.getParameterTypes(", ")%>) <em><%=genOperation.getFormattedName()%></em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the '<em><%=genOperation.getFormattedName()%></em>' operation.
+	 * @see <%=genClass.getRawQualifiedInterfaceName()%>#<%=genOperation.getName()%>(<%=genOperation.getParameterTypes(", ")%>)
+    <%if (genOperation.hasImplicitAPITags()) {%>
+	 * <%=genOperation.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
+<%} else {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+    <%if (genOperation.hasImplicitAPITags()) {%>
+	 * <%=genOperation.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
+<%}%>
+<%if (isJDK50 && genOperation.hasImplicitAPIDeprecatedTag()) {%>
+	@Deprecated
+<%}%>
+<%if (isImplementation) {%>
+   <%if (useInterfaceOverrideAnnotation) {%>
+	@Override
+   <%}%>
+	public <%=genOperation.getImportedMetaType()%> get<%=genOperation.getOperationAccessorName()%>()
+	{
+        <%if (!genPackage.isLoadedInitialization()) {%>
+		return <%=genClass.getClassifierInstanceName()%>.getEOperations().get(<%=genClass.getLocalOperationIndex(genOperation)%>);
+        <%} else {%>
+        return get<%=genClassifier.getClassifierAccessorName()%>().getEOperations().get(<%=genClass.getLocalOperationIndex(genOperation)%>);
+        <%}%>
+	}
+<%} else {%>
+	<%=genOperation.getImportedMetaType()%> get<%=genOperation.getOperationAccessorName()%>();
+<%}%>
+
+        <%}%>
+      <%}%>
+    <%}%>
+  <%}%>
+<%if (isInterface) {%>
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+<%} else {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%}%>
+<%if (isImplementation) {%>
+   <%if (useInterfaceOverrideAnnotation) {%>
+	@Override
+   <%}%>
+	public <%=genPackage.getImportedFactoryInterfaceName()%> get<%=genPackage.getFactoryName()%>()
+	{
+		return (<%=genPackage.getImportedFactoryInterfaceName()%>)getEFactoryInstance();
+	}
+<%} else {%>
+	<%=genPackage.getFactoryInterfaceName()%> get<%=genPackage.getFactoryName()%>();
+<%}%>
+
+<%if (isImplementation) {%>
+  <%if (!genPackage.isLoadedInitialization()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+    <%{boolean needsSuppressDeprecation = false; if (!packageNeedsSuppressDeprecation && isJDK50 && !genModel.isSuppressEMFMetaData()) { LOOP: for (GenClass genClass : genPackage.getGenClasses()) { for (GenFeature genFeature : genClass.getGenFeatures()) { if (genFeature.hasAPIDeprecatedTag()) { needsSuppressDeprecation = true; break LOOP; }}
+      for (GenOperation genOperation : genClass.getGenOperations()) { if (genOperation.hasAPIDeprecatedTag()) { needsSuppressDeprecation = true; break LOOP; }}} if (needsSuppressDeprecation) {%>
+	@SuppressWarnings("deprecation")
+    <%}}}%>
+	public void createPackageContents()
+	{
+		if (isCreated) return;
+		isCreated = true;
+    <%if (!genPackage.getGenClasses().isEmpty()) {%>
+
+		// Create classes and their features
+      <%for (Iterator<GenClass> c=genPackage.getGenClasses().iterator(); c.hasNext();) { GenClass genClass = c.next();%>
+		<%=genClass.getClassifierInstanceName()%> = create<%=genClass.getMetaType()%>(<%=genClass.getClassifierID()%>);
+        <%for (GenFeature genFeature : genClass.getGenFeatures()) {%>
+		create<%=genFeature.getMetaType()%>(<%=genClass.getClassifierInstanceName()%>, <%=genClass.getFeatureID(genFeature)%>);
+        <%}%>
+        <%if (genModel.isOperationReflection()) {%>
+          <%for (GenOperation genOperation : genClass.getGenOperations()) {%>
+		createEOperation(<%=genClass.getClassifierInstanceName()%>, <%=genClass.getOperationID(genOperation, false)%>);
+          <%}%>
+        <%}%>
+        <%if (c.hasNext()) {%>
+
+        <%}%>
+      <%}%>
+    <%}%>
+    <%if (!genPackage.getGenEnums().isEmpty()) {%>
+
+		// Create enums
+      <%for (GenEnum genEnum : genPackage.getGenEnums()) {%>
+		<%=genEnum.getClassifierInstanceName()%> = createEEnum(<%=genEnum.getClassifierID()%>);
+      <%}%>
+    <%}%>
+    <%if (!genPackage.getGenDataTypes().isEmpty()) {%>
+
+		// Create data types
+      <%for (GenDataType genDataType : genPackage.getGenDataTypes()) {%>
+		<%=genDataType.getClassifierInstanceName()%> = createEDataType(<%=genDataType.getClassifierID()%>);
+      <%}%>
+    <%}%>
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+<%
+///////////////////////
+class Information
+{
+  @SuppressWarnings("unused")
+  EGenericType eGenericType;
+  int depth;
+  String type;
+  String accessor;
+}
+
+class InformationIterator
+{
+  Iterator<Object> 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;
+%>
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+    <%{boolean needsSuppressDeprecation = false; if (!packageNeedsSuppressDeprecation && isJDK50) { LOOP: for (GenEnum genEnum : genPackage.getGenEnums()) { for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) { if (genEnumLiteral.hasAPIDeprecatedTag()) { needsSuppressDeprecation = true; break LOOP; }}} if (needsSuppressDeprecation) {%>
+	@SuppressWarnings("deprecation")
+    <%}}}%>
+	public void initializePackageContents()
+	{
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+    <%if (!genPackage.getPackageInitializationDependencies().isEmpty()) {%>
+
+		// Obtain other dependent packages
+      <%for (GenPackage dep : genPackage.getPackageInitializationDependencies()) {%>
+		<%=dep.getImportedPackageInterfaceName()%> <%=genPackage.getPackageInstanceVariable(dep)%> = (<%=dep.getImportedPackageInterfaceName()%>)<%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE.getEPackage(<%=dep.getImportedPackageInterfaceName()%>.eNS_URI);
+      <%}%>
+    <%}%>
+    <%if (!genPackage.getSubGenPackages().isEmpty()) {%>
+
+		// Add subpackages
+      <%for (GenPackage sub : genPackage.getSubGenPackages()) {%>
+		getESubpackages().add(<%=genPackage.getPackageInstanceVariable(sub)%>);
+      <%}%>
+    <%}%>
+    <%if (!genPackage.getGenClasses().isEmpty()) { boolean firstOperationAssignment = true; int maxTypeParameterAssignment = 0;%>
+      <%if (genModel.useGenerics()) {%>
+
+		// Create type parameters
+        <%for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {%>
+          <%for (GenTypeParameter genTypeParameter : genClassifier.getGenTypeParameters()) {%>
+            <%if (!genTypeParameter.getEcoreTypeParameter().getEBounds().isEmpty() || genTypeParameter.isUsed()) {%>
+		<%=genModel.getImportedName("org.eclipse.emf.ecore.ETypeParameter")%> <%=genClassifier.getClassifierInstanceName()%>_<%=genTypeParameter.getName()%> = addETypeParameter(<%=genClassifier.getClassifierInstanceName()%>, "<%=genTypeParameter.getName()%>");<%=genModel.getNonNLS()%>
+            <%} else {%>
+		addETypeParameter(<%=genClassifier.getClassifierInstanceName()%>, "<%=genTypeParameter.getName()%>");<%=genModel.getNonNLS()%>
+            <%}%>
+          <%}%>
+        <%}%>
+      <%}%>
+      <%if (genModel.useGenerics()) {%>
+
+		// Set bounds for type parameters
+        <%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") + " "; }%>
+		<%=prefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
+                <%if (info.depth > 0) {%>
+		g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
+                <%}%>
+              <%}%>
+		<%=genClassifier.getClassifierInstanceName()%>_<%=genTypeParameter.getName()%>.getEBounds().add(g1);
+            <%}%>
+          <%}%>
+        <%}%>
+      <%}%>
+
+		// Add supertypes to classes
+      <%for (GenClass genClass : genPackage.getGenClasses()) {%>
+        <%if (!genClass.hasGenericSuperTypes()) {%>
+          <%for (GenClass baseGenClass : genClass.getBaseGenClasses()) {%>
+		<%=genClass.getClassifierInstanceName()%>.getESuperTypes().add(<%=genPackage.getPackageInstanceVariable(baseGenClass.getGenPackage())%>.get<%=baseGenClass.getClassifierAccessorName()%>());
+          <%}%>
+        <%} 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") + " "; }%>
+		<%=prefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
+              <%if (info.depth > 0) {%>
+		g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
+              <%}%>
+            <%}%>
+		<%=genClass.getClassifierInstanceName()%>.getEGenericSuperTypes().add(g1);
+          <%}%>
+        <%}%>
+      <%}%>
+
+		// Initialize classes<%if (genModel.isOperationReflection()) {%>, features, and operations; add parameters<%} else {%> and features; add operations and parameters<%}%>
+      <%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("<");%>
+		initEClass(<%=genClass.getClassifierInstanceName()%>, <%if (genClass.isDynamic()) {%>null<%} else {%><%=genClass.getRawImportedInterfaceName()%>.class<%}%>, "<%=genClass.getName()%>", <%=genClass.getAbstractFlag()%>, <%=genClass.getInterfaceFlag()%>, <%=genClass.getGeneratedInstanceClassFlag()%><%if (hasInstanceTypeName) {%>, "<%=genClass.getEcoreClass().getInstanceTypeName()%>"<%}%>);<%=genModel.getNonNLS()%><%if (hasInstanceTypeName) {%><%=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") + " "; }%>
+		<%=prefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
+              <%if (info.depth > 0) {%>
+		g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
+              <%}%>
+            <%}%>
+          <%}%>
+          <%if (genFeature.isReferenceType()) { GenFeature reverseGenFeature = genFeature.getReverse();%>
+          <%String reverse = reverseGenFeature == null ? "null" : genPackage.getPackageInstanceVariable(reverseGenFeature.getGenPackage()) + ".get" + reverseGenFeature.getFeatureAccessorName() + "()";%>
+		initEReference(get<%=genFeature.getFeatureAccessorName()%>(), <%if (genFeature.hasGenericType()) {%>g1<%} else {%><%=genPackage.getPackageInstanceVariable(genFeature.getTypeGenPackage())%>.get<%=genFeature.getTypeClassifierAccessorName()%>()<%}%>, <%=reverse%>, "<%=genFeature.getName()%>", <%=genFeature.getDefaultValue()%>, <%=genFeature.getLowerBound()%>, <%=genFeature.getUpperBound()%>, <%=genFeature.getContainerClass()%>, <%=genFeature.getTransientFlag()%>, <%=genFeature.getVolatileFlag()%>, <%=genFeature.getChangeableFlag()%>, <%=genFeature.getContainmentFlag()%>, <%=genFeature.getResolveProxiesFlag()%>, <%=genFeature.getUnsettableFlag()%>, <%=genFeature.getUniqueFlag()%>, <%=genFeature.getDerivedFlag()%>, <%=genFeature.getOrderedFlag()%>);<%=genModel.getNonNLS()%><%=genModel.getNonNLS(genFeature.getDefaultValue(), 2)%>
+            <%for (GenFeature keyFeature : genFeature.getKeys()) {%>
+		get<%=genFeature.getFeatureAccessorName()%>().getEKeys().add(<%=genPackage.getPackageInstanceVariable(keyFeature.getGenPackage())%>.get<%=keyFeature.getFeatureAccessorName()%>());
+            <%}%>
+          <%} else {%>
+		initEAttribute(get<%=genFeature.getFeatureAccessorName()%>(), <%if (genFeature.hasGenericType()) {%>g1<%} else {%><%=genPackage.getPackageInstanceVariable(genFeature.getTypeGenPackage())%>.get<%=genFeature.getTypeClassifierAccessorName()%>()<%}%>, "<%=genFeature.getName()%>", <%=genFeature.getDefaultValue()%>, <%=genFeature.getLowerBound()%>, <%=genFeature.getUpperBound()%>, <%=genFeature.getContainerClass()%>, <%=genFeature.getTransientFlag()%>, <%=genFeature.getVolatileFlag()%>, <%=genFeature.getChangeableFlag()%>, <%=genFeature.getUnsettableFlag()%>, <%=genFeature.getIDFlag()%>, <%=genFeature.getUniqueFlag()%>, <%=genFeature.getDerivedFlag()%>, <%=genFeature.getOrderedFlag()%>);<%=genModel.getNonNLS()%><%=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 = "; }} %>
+
+          <%if (genModel.useGenerics()) {%>
+		<%=prefix%><%if (genModel.isOperationReflection()) {%>initEOperation(get<%=genOperation.getOperationAccessorName()%>()<%} else {%>addEOperation(<%=genClass.getClassifierInstanceName()%><%}%>, <%if (genOperation.isVoid() || genOperation.hasGenericType()) {%>null<%} else {%><%=genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage())%>.get<%=genOperation.getTypeClassifierAccessorName()%>()<%}%>, "<%=genOperation.getName()%>", <%=genOperation.getLowerBound()%>, <%=genOperation.getUpperBound()%>, <%=genOperation.getUniqueFlag()%>, <%=genOperation.getOrderedFlag()%>);<%=genModel.getNonNLS()%>
+          <%} else if (!genOperation.isVoid()) {%>
+            <%if (!genOperation.getEcoreOperation().isOrdered() || !genOperation.getEcoreOperation().isUnique()) { needsAddEOperation = true;%>
+		<%=prefix%><%if (genModel.isOperationReflection()) {%>initEOperation(get<%=genOperation.getOperationAccessorName()%>()<%} else {%>addEOperation(<%=genClass.getClassifierInstanceName()%><%}%>, <%=genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage())%>.get<%=genOperation.getTypeClassifierAccessorName()%>(), "<%=genOperation.getName()%>", <%=genOperation.getLowerBound()%>, <%=genOperation.getUpperBound()%>, <%=genOperation.getUniqueFlag()%>, <%=genOperation.getOrderedFlag()%>);<%=genModel.getNonNLS()%>
+            <%} else {%>
+		<%=prefix%><%if (genModel.isOperationReflection()) {%>initEOperation(get<%=genOperation.getOperationAccessorName()%>()<%} else {%>addEOperation(<%=genClass.getClassifierInstanceName()%><%}%>, <%=genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage())%>.get<%=genOperation.getTypeClassifierAccessorName()%>(), "<%=genOperation.getName()%>", <%=genOperation.getLowerBound()%>, <%=genOperation.getUpperBound()%>);<%=genModel.getNonNLS()%>
+            <%}%>
+          <%} else {%>
+		<%=prefix%><%if (genModel.isOperationReflection()) {%>initEOperation(get<%=genOperation.getOperationAccessorName()%>()<%} else {%>addEOperation(<%=genClass.getClassifierInstanceName()%><%}%>, null, "<%=genOperation.getName()%>");<%=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() + " = "; }} %>
+		<%=typeParameterVariable%>addETypeParameter(op, "<%=genTypeParameter.getName()%>");<%=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") + " "; }%>
+		<%=typePrefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
+                  <%if (info.depth > 0) {%>
+		g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
+                  <%}%>
+                <%}%>
+		t<%=t.nextIndex()%>.getEBounds().add(g1);
+              <%}%>
+            <%}%>
+          <%}%>
+          <%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") + " "; }%>
+		<%=typePrefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
+                <%if (info.depth > 0) {%>
+		g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
+                <%}%>
+              <%}%>
+            <%}%>
+            <%if (genModel.useGenerics()) {%>
+		addEParameter(op, <%if (genParameter.hasGenericType()){%>g1<%} else {%><%=genPackage.getPackageInstanceVariable(genParameter.getTypeGenPackage())%>.get<%=genParameter.getTypeClassifierAccessorName()%>()<%}%>, "<%=genParameter.getName()%>", <%=genParameter.getLowerBound()%>, <%=genParameter.getUpperBound()%>, <%=genParameter.getUniqueFlag()%>, <%=genParameter.getOrderedFlag()%>);<%=genModel.getNonNLS()%>
+            <%} else if (!genParameter.getEcoreParameter().isOrdered() || !genParameter.getEcoreParameter().isUnique()) { needsAddEParameter = true;%>
+		addEParameter(op, <%if (genParameter.hasGenericType()){%>g1<%} else {%><%=genPackage.getPackageInstanceVariable(genParameter.getTypeGenPackage())%>.get<%=genParameter.getTypeClassifierAccessorName()%>()<%}%>, "<%=genParameter.getName()%>", <%=genParameter.getLowerBound()%>, <%=genParameter.getUpperBound()%>, <%=genParameter.getUniqueFlag()%>, <%=genParameter.getOrderedFlag()%>);<%=genModel.getNonNLS()%>
+            <%} else {%>
+		addEParameter(op, <%if (genParameter.hasGenericType()){%>g1<%} else {%><%=genPackage.getPackageInstanceVariable(genParameter.getTypeGenPackage())%>.get<%=genParameter.getTypeClassifierAccessorName()%>()<%}%>, "<%=genParameter.getName()%>", <%=genParameter.getLowerBound()%>, <%=genParameter.getUpperBound()%>);<%=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") + " "; }%>
+		<%=typePrefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
+                  <%if (info.depth > 0) {%>
+		g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
+                  <%}%>
+		addEException(op, g<%=info.depth + 1%>);
+                <%}%>
+              <%}%>
+          <%} else {%>
+            <%for (GenClassifier genException : genOperation.getGenExceptions()) {%>
+		addEException(op, <%=genPackage.getPackageInstanceVariable(genException.getGenPackage())%>.get<%=genException.getClassifierAccessorName()%>());
+            <%}%>
+          <%}%>
+          <%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") + " "; }%>
+		<%=typePrefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
+              <%if (info.depth > 0) {%>
+		g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
+              <%}%>
+            <%}%>
+		initEOperation(op, g1);
+          <%}%>
+        <%}%>
+        <%if (c.hasNext()) {%>
+
+        <%}%>
+      <%}%>
+    <%}%>
+    <%if (!genPackage.getGenEnums().isEmpty()) {%>
+
+		// Initialize enums and add enum literals
+      <%for (Iterator<GenEnum> e=genPackage.getGenEnums().iterator(); e.hasNext();) { GenEnum genEnum = e.next();%>
+		initEEnum(<%=genEnum.getClassifierInstanceName()%>, <%=genEnum.getImportedName()%>.class, "<%=genEnum.getName()%>");<%=genModel.getNonNLS()%>
+        <%for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {%>
+		addEEnumLiteral(<%=genEnum.getClassifierInstanceName()%>, <%=genEnum.getImportedName().equals(genEnum.getClassifierID()) ? genEnum.getQualifiedName() : genEnum.getImportedName()%>.<%=genEnumLiteral.getEnumLiteralInstanceConstantName()%>);
+        <%}%>
+        <%if (e.hasNext()) {%>
+
+        <%}%>
+      <%}%>
+    <%}%>
+    <%if (!genPackage.getGenDataTypes().isEmpty()) {%>
+
+		// Initialize data types
+      <%for (GenDataType genDataType : genPackage.getGenDataTypes()) {boolean hasInstanceTypeName = genModel.useGenerics() && genDataType.getEcoreDataType().getInstanceTypeName() != null && genDataType.getEcoreDataType().getInstanceTypeName().contains("<");%>
+		initEDataType(<%=genDataType.getClassifierInstanceName()%>, <%=genDataType.getRawImportedInstanceClassName()%>.class, "<%=genDataType.getName()%>", <%=genDataType.getSerializableFlag()%>, <%=genDataType.getGeneratedInstanceClassFlag()%><%if (hasInstanceTypeName) {%>, "<%=genDataType.getEcoreDataType().getInstanceTypeName()%>"<%}%>);<%=genModel.getNonNLS()%><%if (hasInstanceTypeName) {%><%=genModel.getNonNLS(2)%><%}%>
+      <%}%>
+    <%}%>
+    <%if (genPackage.getSuperGenPackage() == null) {%>
+
+		// Create resource
+		createResource(<%=genPackage.getSchemaLocation()%>);
+    <%}%>
+    <%if (!genPackage.isEcorePackage() && !genPackage.getAnnotationSources().isEmpty()) {%>
+
+		// Create annotations
+      <%for (String annotationSource : genPackage.getAnnotationSources()) {%>
+		// <%=annotationSource%>
+		create<%=genPackage.getAnnotationSourceIdentifier(annotationSource)%>Annotations();
+      <%}%>
+    <%}%>
+	}
+
+    <%for (String annotationSource : genPackage.getAnnotationSources()) {%>
+	/**
+	 * Initializes the annotations for <b><%=annotationSource%></b>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void create<%=genPackage.getAnnotationSourceIdentifier(annotationSource)%>Annotations()
+	{
+		String source = <%if (annotationSource == null) {%>null;<%} else {%>"<%=annotationSource%>";<%=genModel.getNonNLS()%><%}%>
+      <%for (EAnnotation eAnnotation : genPackage.getAllAnnotations()) { List<GenPackage.AnnotationReferenceData> annotationReferenceDataList = genPackage.getReferenceData(eAnnotation);%>
+        <%if (annotationSource == null ? eAnnotation.getSource() == null : annotationSource.equals(eAnnotation.getSource())) {%>
+		addAnnotation
+		  (<%=genPackage.getAnnotatedModelElementAccessor(eAnnotation)%>,
+		   source,
+		   new String[]
+		   {
+          <%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);%>
+			   <%=key%>, <%=value%><%=k.hasNext() ? "," : ""%><%=genModel.getNonNLS(key + value)%>
+          <%}%>
+		   }<%if (annotationReferenceDataList.isEmpty()) {%>);<%} else {%>,<%}%>
+          <%if (!annotationReferenceDataList.isEmpty()) {%>
+		   new <%=genModel.getImportedName("org.eclipse.emf.common.util.URI")%>[]
+		   {
+            <%for (Iterator<GenPackage.AnnotationReferenceData> k = annotationReferenceDataList.iterator(); k.hasNext();) { GenPackage.AnnotationReferenceData annotationReferenceData = k.next();%>
+			 <%=genModel.getImportedName("org.eclipse.emf.common.util.URI")%>.createURI(<%if (annotationReferenceData.containingGenPackage != genPackage) {%><%=annotationReferenceData.containingGenPackage.getImportedPackageInterfaceName()%>.<%}%>eNS_URI).appendFragment("<%=annotationReferenceData.uriFragment%>")<%if (k.hasNext()) {%>,<%}%><%=genModel.getNonNLS()%>
+            <%}%>
+		   });
+          <%}%>
+          <%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);%>
+		addAnnotation
+		  (<%=genPackage.getAnnotatedModelElementAccessor(eAnnotation)%>,
+		   <%if (nonContentAnnotation && genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF210_VALUE) {%>new boolean[] { <%=path.toString()%> }<%} else {%><%=depth%><%}%>,
+		   <%if (nestedAnnotationSource == null) {%>null,<%} else {%>"<%=nestedAnnotationSource%>",<%=genModel.getNonNLS()%><%}%>
+		   new String[]
+		   {
+            <%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);%>
+			   <%=key%>, <%=value%><%=l.hasNext() ? "," : ""%><%=genModel.getNonNLS(key + value)%>
+            <%}%>
+		   }<%if (nestedAnnotationReferenceDataList.isEmpty()) {%>);<%} else {%>,<%}%>
+            <%if (!nestedAnnotationReferenceDataList.isEmpty()) {%>
+		   new <%=genModel.getImportedName("org.eclipse.emf.common.util.URI")%>[]
+		   {
+            <%for (Iterator<GenPackage.AnnotationReferenceData> l = nestedAnnotationReferenceDataList.iterator(); l.hasNext();) { GenPackage.AnnotationReferenceData annotationReferenceData = l.next();%>
+			 <%=genModel.getImportedName("org.eclipse.emf.common.util.URI")%>.createURI(<%if (annotationReferenceData.containingGenPackage != genPackage) {%><%=annotationReferenceData.containingGenPackage.getImportedPackageInterfaceName()%>.<%}%>eNS_URI).appendFragment("<%=annotationReferenceData.uriFragment%>")<%if (l.hasNext()) {%>,<%}%><%=genModel.getNonNLS()%>
+            <%}%>
+		   });
+            <%}%>
+          <%}%>
+        <%}%>
+      <%}%>
+	}
+
+    <%}%>
+  <%} else {%>
+    <%if (genPackage.isLoadingInitialization()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isLoaded = false;
+
+	/**
+	 * Laods the package and any sub-packages from their serialized form.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void loadPackage()
+	{
+		if (isLoaded) return;
+		isLoaded = true;
+
+		<%=genModel.getImportedName("java.net.URL")%> url = getClass().getResource(packageFilename);
+		if (url == null)
+		{
+			throw new RuntimeException("Missing serialized package: " + packageFilename);<%=genModel.getNonNLS()%>
+		}
+		<%=genModel.getImportedName("org.eclipse.emf.common.util.URI")%> uri = <%=genModel.getImportedName("org.eclipse.emf.common.util.URI")%>.createURI(url.toString());
+		<%=genModel.getImportedName("org.eclipse.emf.ecore.resource.Resource")%> resource = new <%=genModel.getImportedName("org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl")%>().createResource(uri);
+		try
+		{
+			resource.load(null);
+		}
+		catch (<%=genModel.getImportedName("java.io.IOException")%> exception)
+		{
+			throw new <%=genModel.getImportedName("org.eclipse.emf.common.util.WrappedException")%>(exception);
+		}
+		initializeFromLoadedEPackage(this, (<%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>)resource.getContents().get(0));
+		createResource(eNS_URI);
+	}
+
+    <%}%>
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isFixed = false;
+
+	/**
+	 * Fixes up the loaded package, to make it appear as if it had been programmatically built.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void fixPackageContents()
+	{
+		if (isFixed) return;
+		isFixed = true;
+		fixEClassifiers();
+	}
+
+	/**
+	 * Sets the instance class on the given classifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+    <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+    <%}%>
+	protected void fixInstanceClass(<%=genModel.getImportedName("org.eclipse.emf.ecore.EClassifier")%> eClassifier)
+	{
+		if (eClassifier.getInstanceClassName() == null)
+		{
+    <%ArrayList<GenClass> dynamicGenClasses = new ArrayList<GenClass>(); for (GenClass genClass : genPackage.getGenClasses()) { if (genClass.isDynamic()) { dynamicGenClasses.add(genClass); } }%>
+    <%if (dynamicGenClasses.isEmpty()) {%>
+			eClassifier.setInstanceClassName("<%=genPackage.getInterfacePackageName()%>." + eClassifier.getName());<%=genModel.getNonNLS()%>
+			setGeneratedClassName(eClassifier);
+    <%} else {%>
+			switch (eClassifier.getClassifierID())
+			{
+      <%for (GenClass genClass : dynamicGenClasses) {%>
+        <%if (genClass.isDynamic()) {%>
+				case <%=genPackage.getClassifierID(genClass)%>:
+        <%}%>
+      <%}%>
+				{
+					break;
+				}
+				default:
+				{
+					eClassifier.setInstanceClassName("<%=genPackage.getInterfacePackageName()%>." + eClassifier.getName());<%=genModel.getNonNLS()%>
+					setGeneratedClassName(eClassifier);
+					break;
+				}
+			}
+    <%}%>
+		}
+	}
+
+  <%}%>
+  <%if (needsAddEOperation) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected <%=genModel.getImportedName("org.eclipse.emf.ecore.EOperation")%> addEOperation(<%=genModel.getImportedName("org.eclipse.emf.ecore.EClass")%> owner, <%=genModel.getImportedName("org.eclipse.emf.ecore.EClassifier")%> type, String name, int lowerBound, int upperBound, boolean isUnique, boolean isOrdered)
+	{
+		<%=genModel.getImportedName("org.eclipse.emf.ecore.EOperation")%> o = addEOperation(owner, type, name, lowerBound, upperBound);
+		o.setUnique(isUnique);
+		o.setOrdered(isOrdered);
+		return o;
+	}
+
+  <%}%>
+  <%if (needsAddEParameter) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected <%=genModel.getImportedName("org.eclipse.emf.ecore.EParameter")%> addEParameter(<%=genModel.getImportedName("org.eclipse.emf.ecore.EOperation")%> owner, <%=genModel.getImportedName("org.eclipse.emf.ecore.EClassifier")%> type, String name, int lowerBound, int upperBound, boolean isUnique, boolean isOrdered)
+	{
+		<%=genModel.getImportedName("org.eclipse.emf.ecore.EParameter")%> p = ecoreFactory.createEParameter();
+		p.setEType(type);
+		p.setName(name);
+		p.setLowerBound(lowerBound);
+		p.setUpperBound(upperBound);
+		p.setUnique(isUnique);
+		p.setOrdered(isOrdered);
+		owner.getEParameters().add(p);
+		return p;
+	}
+
+  <%}%>
+<%}%>
+<%if (isInterface && genPackage.isLiteralsInterface()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+  <%if (genModel.isOperationReflection()) {%>
+	 *   <li>each operation of each class,</li>
+  <%}%>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	<%if (isImplementation) {%>public <%}%>interface Literals
+	{
+  <%for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {%>
+		/**
+    <%if (genClassifier instanceof GenClass) { GenClass genClass = (GenClass)genClassifier;%>
+      <%if (!genClass.isInterface()) {%>
+		 * The meta object literal for the '{@link <%=genClass.getQualifiedClassName()%> <em><%=genClass.getFormattedName()%></em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see <%=genClass.getQualifiedClassName()%>
+      <%} else {%>
+		 * The meta object literal for the '{@link <%=genClass.getRawQualifiedInterfaceName()%> <em><%=genClass.getFormattedName()%></em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see <%=genClass.getRawQualifiedInterfaceName()%>
+      <%}%>
+    <%} else if (genClassifier instanceof GenEnum) { GenEnum genEnum = (GenEnum)genClassifier;%>
+		 * The meta object literal for the '{@link <%=genEnum.getQualifiedName()%> <em><%=genEnum.getFormattedName()%></em>}' enum.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see <%=genEnum.getQualifiedName()%>
+    <%} else if (genClassifier instanceof GenDataType) { GenDataType genDataType = (GenDataType)genClassifier;%>
+		 * The meta object literal for the '<em><%=genDataType.getFormattedName()%></em>' data type.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+      <%if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {%>
+		 * @see <%=genDataType.getRawInstanceClassName()%>
+      <%}%>
+    <%}%>
+		 * @see <%=genPackage.getQualifiedPackageClassName()%>#get<%=genClassifier.getClassifierAccessorName()%>()
+    <%if (genClassifier.hasAPITags()) {%>
+		 * <%=genClassifier.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+		 * @generated
+		 */
+  <%if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) {%>
+		@Deprecated
+  <%}%>
+		<%=publicStaticFinalFlag%><%=genClassifier.getImportedMetaType()%> <%=genPackage.getClassifierID(genClassifier)%> = eINSTANCE.get<%=genClassifier.getClassifierAccessorName()%>();
+
+    <%if (genClassifier instanceof GenClass) { GenClass genClass = (GenClass)genClassifier;%>
+      <%for (GenFeature genFeature : genClass.getGenFeatures()) {%>
+		/**
+		 * The meta object literal for the '<em><b><%=genFeature.getFormattedName()%></b></em>' <%=genFeature.getFeatureKind()%> feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+        <%if (genFeature.hasImplicitAPITags()) {%>
+		 * <%=genFeature.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+        <%}%>
+		 * @generated
+		 */
+        <%if (isJDK50 && genFeature.hasImplicitAPIDeprecatedTag()) {%>
+		@Deprecated
+        <%}%>
+		<%=publicStaticFinalFlag%><%=genFeature.getImportedMetaType()%> <%=genClass.getFeatureID(genFeature)%> = eINSTANCE.get<%=genFeature.getFeatureAccessorName()%>();
+
+      <%}%>
+      <%if (genModel.isOperationReflection()) {%>
+        <%for (GenOperation genOperation : genClass.getGenOperations()) {%>
+		/**
+		 * The meta object literal for the '<em><b><%=genOperation.getFormattedName()%></b></em>' operation.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+          <%if (genOperation.hasImplicitAPITags()) {%>
+		 * <%=genOperation.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+          <%}%>
+		 * @generated
+		 */
+        <%if (isJDK50 && genOperation.hasImplicitAPIDeprecatedTag()) {%>
+		@Deprecated
+        <%}%>
+		<%=publicStaticFinalFlag%><%=genOperation.getImportedMetaType()%> <%=genClass.getOperationID(genOperation, false)%> = eINSTANCE.get<%=genOperation.getOperationAccessorName()%>();
+
+        <%}%>
+      <%}%>
+    <%}%>
+  <%}%>
+	}
+
+<%}%>
+} //<%=isInterface ? genPackage.getPackageInterfaceName() : genPackage.getPackageClassName()%>
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._StPj2GKPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._StPj2GKPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..77ee084
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._StPj2GKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenPackage genPackage = parameter;
+argument = ((Object[]) new Object[]{new Object[]{genPackage,genPackage.getGenModel().isSuppressEMFMetaData() || genPackage.getGenModel().isSuppressInterfaces() ? Boolean.TRUE : Boolean.FALSE,Boolean.TRUE}})[0];
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._0767AmKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._0767AmKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..24cd6fc
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._0767AmKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel, GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._9hr7NHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._9hr7NHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..51fe0f0
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._9hr7NHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8cjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8cjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8cjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8czG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8czG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8czG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8dTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8dTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8dTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8dzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8dzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..12cd9d3
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8dzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenPackage genPackage = parameter;
+targetPath = genPackage.getGenModel().getModelDirectory();
+packageName = genPackage.getUtilitiesPackageName();
+className = genPackage.getXMLProcessorClassName();
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8eTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8eTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..2958f4c
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8eTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,84 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ *   IBM - Initial API and implementation
+ */
+%>
+<%GenPackage genPackage = (GenPackage)argument; GenModel genModel=genPackage.getGenModel();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%@ 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"%>
+package <%=genPackage.getUtilitiesPackageName()%>;
+
+<%genModel.getImportedName("java.util.Map");%>
+<%genModel.markImportLocation(stringBuffer);%>
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+<%if (genPackage.hasAPITags()) {%>
+ * <%=genPackage.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%}%>
+public class <%=genPackage.getXMLProcessorClassName()%> extends <%=genPackage.getImportedXMLProcessorBaseClassName()%>
+{
+<%if (genModel.hasCopyrightField()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final <%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+
+	/**
+	 * Public constructor to instantiate the helper.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public <%=genPackage.getXMLProcessorClassName()%>()
+	{
+<%if (genPackage.hasExtendedMetaData() && !genPackage.hasTargetNamespace()) {%>
+		super(new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.EPackageRegistryImpl")%>(<%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE));
+		extendedMetaData.putPackage(null, <%=genPackage.getImportedPackageInterfaceName()%>.eINSTANCE);
+<%} else {%>
+		super((<%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE));
+		<%=genPackage.getImportedPackageInterfaceName()%>.eINSTANCE.eClass();
+<%}%>
+	}
+	
+	/**
+	 * Register for "*" and "xml" file extensions the <%=genPackage.getResourceFactoryClassName()%> factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	protected Map<%if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) {%><<%=genModel.getImportedName("java.lang.String")%>, <%=genModel.getImportedName("org.eclipse.emf.ecore.resource.Resource")%>.Factory><%}%> getRegistrations()
+	{
+		if (registrations == null)
+		{
+			super.getRegistrations();
+			registrations.put(XML_EXTENSION, new <%=genPackage.getResourceFactoryClassName()%>());
+			registrations.put(STAR_EXTENSION, new <%=genPackage.getResourceFactoryClassName()%>());
+		}
+		return registrations;
+	}
+
+} //<%=genPackage.getXMLProcessorClassName()%>
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._SspG4mKPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._SspG4mKPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..6c7369f
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._SspG4mKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenPackage genPackage = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._08EE9mKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._08EE9mKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..24cd6fc
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._08EE9mKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel, GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._9DSvBHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._9DSvBHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..54897c3
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._9DSvBHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jUjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jUjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jUjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jUzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jUzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jUzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jVTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jVTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jVTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jVzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jVzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d2471ca
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jVzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenClass genClass = parameter;
+targetPath = genClass.getGenModel().getModelDirectory();
+packageName = genClass.getGenPackage().getClassPackageName();
+className = genClass.getClassName();
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jWTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jWTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..8047b4c
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jWTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,989 @@
+
+<%
+/**
+ * Copyright (c) 2002-2019 IBM Corporation and others.
+ * All rights reserved.   This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ *   IBM - Initial API and implementation
+ *   Alexander Fedorov <alexander.fedorov@arsysop.ru> - Bug 546714
+ */
+%>
+<%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 useInterfaceOverrideAnnotation = genModel.useInterfaceOverrideAnnotation() && !(isInterface && isImplementation);%>
+<%final boolean isGWT = genModel.getRuntimePlatform() == GenRuntimePlatform.GWT;%>
+<%final boolean forceDefaultCase = genModel.isSwitchMissingDefaultCase();final String indentDefaultCase = forceDefaultCase ? "\t\t" : "";%>
+<%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" : "";%>
+<%@ 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"%>
+<%if (isInterface) {%>
+package <%=genPackage.getInterfacePackageName()%>;
+<%} else {%>
+package <%=genPackage.getClassPackageName()%>;
+<%}%>
+
+<%genModel.markImportLocation(stringBuffer, genPackage);%>
+<%if (isImplementation) { genClass.addClassPsuedoImports(); }%>
+
+<%if (isInterface) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/interface.javadoc.override.javajetinc%>
+<%} else {%>
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b><%=genClass.getFormattedName()%></b></em>'.
+ * <!-- end-user-doc -->
+<%if (!genClass.getImplementedGenFeatures().isEmpty()) {%>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+<%for (GenFeature genFeature : genClass.getImplementedGenFeatures()) {%>
+ *   <li>{@link <%=genClass.getQualifiedClassName()%>#<%=genFeature.getGetAccessor()%> <em><%=genFeature.getFormattedName()%></em>}</li>
+<%}%>
+ * </ul>
+<%}%>
+ *
+<%if (genClass.hasImplicitAPITags()) {%>
+ * <%=genClass.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%}%>
+<%if (isJDK50 && genClass.hasImplicitAPIDeprecatedTag()) {%>
+@Deprecated
+<%}%>
+<%if (isImplementation) {%>
+<%if (isJDK50 && !genClass.hasAPIDeprecatedTag() && GenModelUtil.hasImplicitAPIDeprecatedTag(genClass.getEGetGenFeatures(), genClass.getEIsSetGenFeatures(), genClass.getESetGenFeatures(), genClass.getEUnsetGenFeatures(), genClass.getEInverseAddGenFeatures(), genClass.getEInverseRemoveGenFeatures(), genClass.getEBasicRemoveFromContainerGenFeatures(), genClass.getToStringGenFeatures())) {%>
+@SuppressWarnings("deprecation")
+<%}%>
+public<%if (genClass.isAbstract()) {%> abstract<%}%> class <%=genClass.getClassName()%><%=genClass.getTypeParameters().trim()%><%=genClass.getClassExtends()%><%=genClass.getClassImplements()%>
+<%} else {%>
+public interface <%=genClass.getInterfaceName()%><%=genClass.getTypeParameters().trim()%><%=genClass.getInterfaceExtends()%>
+<%}%>
+{
+<%if (genModel.hasCopyrightField()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	<%=publicStaticFinalFlag%><%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+<%if (isImplementation && genModel.getDriverNumber() != null) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final <%=genModel.getImportedName("java.lang.String")%> mofDriverNumber = "<%=genModel.getDriverNumber()%>";<%=genModel.getNonNLS()%>
+
+<%}%>
+<%if (isImplementation && genClass.isJavaIOSerializable()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final long serialVersionUID = 1L;
+
+<%}%>
+<%if (isImplementation && genModel.isVirtualDelegation()) { String eVirtualValuesField = genClass.getEVirtualValuesField();%>
+  <%if (eVirtualValuesField != null) {%>
+	/**
+	 * An array of objects representing the values of non-primitive features.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+      <%if (isGWT) {%>
+	@<%=genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient")%>
+      <%}%>
+	protected Object[] <%=eVirtualValuesField%>;
+
+  <%}%>
+  <%{ List<String> eVirtualIndexBitFields = genClass.getEVirtualIndexBitFields(new ArrayList<String>());%>
+    <%if (!eVirtualIndexBitFields.isEmpty()) {%>
+      <%for (String eVirtualIndexBitField : eVirtualIndexBitFields) {%>
+	/**
+	 * A bit field representing the indices of non-primitive feature values.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+      <%if (isGWT) {%>
+	@<%=genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient")%>
+      <%}%>
+	protected int <%=eVirtualIndexBitField%>;
+
+      <%}%>
+    <%}%>
+  <%}%>
+<%}%>
+<%if (isImplementation && genClass.isModelRoot() && genModel.isBooleanFlagsEnabled() && genModel.getBooleanFlagsReservedBits() == -1) {%>
+	/**
+	 * A set of bit flags representing the values of boolean attributes and whether unsettable features have been set.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+      <%if (isGWT) {%>
+	@<%=genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient")%>
+      <%}%>
+	protected int <%=genModel.getBooleanFlagsField()%> = 0;
+
+<%}%>
+<%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); } %>
+	/**
+	 * The empty value for the '{@link #<%=genFeature.getGetArrayAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}' array accessor.
+	 * This is specialized for the more specific element type known in this context.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #<%=genFeature.getGetArrayAccessor()%>()
+       <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+       <%}%>
+	 * @generated
+	 * @ordered
+	 */
+        <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+        <%}%>
+        <%if (genFeature.getQualifiedListItemType(genClass).contains("<") || genFeature.getArrayItemType(genClass).contains("<")) {%>
+	@SuppressWarnings("rawtypes")
+        <%}%>
+	protected static final <%=rawListItemType%>[] <%=genFeature.getUpperName()%>_EEMPTY_ARRAY = new <%=head%> [0]<%=tail%>;
+
+      <%}%>
+  <%}%>
+  <%for (GenFeature genFeature : genClass.getDeclaredFieldGenFeatures()) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/declaredFieldGenFeature.override.javajetinc%>
+  <%}%>
+<%}%>
+<%if (isImplementation && genClass.hasOffsetCorrection() && !genClass.getImplementedGenFeatures().isEmpty()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final int <%=genClass.getOffsetCorrectionField(null)%> = <%=genClass.getQualifiedClassifierAccessor()%>.getFeatureID(<%=genClass.getImplementedGenFeatures().get(0).getQualifiedFeatureAccessor()%>) - <%=genClass.getQualifiedFeatureID(genClass.getImplementedGenFeatures().get(0))%>;
+
+<%}%>
+<%if (isImplementation && !genModel.isReflectiveDelegation()) {%>
+  <%for (GenFeature genFeature : genClass.getImplementedGenFeatures()) { GenFeature reverseFeature = genFeature.getReverse();%>
+    <%if (reverseFeature != null && reverseFeature.getGenClass().hasOffsetCorrection()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+       <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+       <%}%>
+	 * @generated
+	 */
+        <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+        <%}%>
+	private static final int <%=genClass.getOffsetCorrectionField(genFeature)%> = <%=reverseFeature.getGenClass().getQualifiedClassifierAccessor()%>.getFeatureID(<%=reverseFeature.getQualifiedFeatureAccessor()%>) - <%=reverseFeature.getGenClass().getQualifiedFeatureID(reverseFeature)%>;
+
+    <%}%>
+  <%}%>
+<%}%>
+<%if (genModel.isOperationReflection() && isImplementation && genClass.hasOffsetCorrection() && !genClass.getImplementedGenOperations().isEmpty()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final int EOPERATION_OFFSET_CORRECTION = <%=genClass.getQualifiedClassifierAccessor()%>.getOperationID(<%=genClass.getImplementedGenOperations().get(0).getQualifiedOperationAccessor()%>) - <%=genClass.getQualifiedOperationID(genClass.getImplementedGenOperations().get(0))%>;
+
+<%}%>
+<%if (isImplementation) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	<%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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+  <%for (GenFeature genFeature : genClass.getFlagGenFeaturesWithDefault()) {%>
+		<%=genClass.getFlagsField(genFeature)%> |= <%=genFeature.getUpperName()%>_EFLAG<%if (!genFeature.isBooleanType()) {%>_DEFAULT<%}%>;
+  <%}%>
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	protected <%=genModel.getImportedName("org.eclipse.emf.ecore.EClass")%> eStaticClass()
+	{
+		return <%=genClass.getQualifiedClassifierAccessor()%>;
+	}
+
+<%}%>
+<%if (isImplementation && genModel.isDynamicDelegation()) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.dynamicDelegation" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//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()) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/genFeatureReified.override.javajetinc%>
+<%}}}.run();}%>
+<%new Runnable() { public void run() {%>
+<%for (GenFeature genFeature : (isImplementation ? genClass.getImplementedGenFeatures() : genClass.getDeclaredGenFeatures())) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/genFeature.override.javajetinc%>
+<%}//for%>
+<%}}.run();%>
+<%for (GenOperation genOperation : (isImplementation ? genClass.getImplementedGenOperations() : genClass.getDeclaredGenOperations())) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/implementedGenOperation.override.javajetinc%>
+<%}//for%>
+<%if (isImplementation && !genModel.isReflectiveDelegation() && genClass.implementsAny(genClass.getEInverseAddGenFeatures())) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useGenerics()) {%>
+    <%for (GenFeature genFeature : genClass.getEInverseAddGenFeatures()) {%>
+      <%if (genFeature.isUncheckedCast(genClass)) {%>
+	@SuppressWarnings("unchecked")
+      <%break; }%>
+    <%}%>
+  <%}%>
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	public <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> eInverseAdd(<%=genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject")%> otherEnd, int featureID, <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs)
+	{
+		switch (featureID<%=negativeOffsetCorrection%>)
+		{
+<%for (GenFeature genFeature : genClass.getEInverseAddGenFeatures()) {%>
+			case <%=genClass.getQualifiedFeatureID(genFeature)%>:
+  <%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()) {%>
+				return ((<%=cast%>(<%=genModel.getImportedName("org.eclipse.emf.common.util.EMap")%>.InternalMapView<%=genFeature.getImportedMapTemplateArguments(genClass)%>)<%=genFeature.getGetAccessor()%>()).eMap()).basicAdd(otherEnd, msgs);
+    <%} else {%>
+				return (<%=cast%><%=genFeature.getGetAccessor()%>()).basicAdd(otherEnd, msgs);
+    <%}%>
+  <%} else if (genFeature.isContainer()) {%>
+				if (eInternalContainer() != null)
+					msgs = eBasicRemoveFromContainer(msgs);
+    <%if (genFeature.isBasicSet()) {%>
+				return basicSet<%=genFeature.getAccessorName()%>((<%=genFeature.getImportedType(genClass)%>)otherEnd, msgs);
+    <%} else {%>
+				return eBasicSetContainer(otherEnd, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, msgs);
+    <%}%>
+  <%} else {%>
+    <%if (genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {%>
+				<%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+    <%} else if (genFeature.isVolatile() || genClass.getImplementingGenModel(genFeature).isDynamicDelegation()) {%>
+				<%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = <%if (genFeature.isResolveProxies()) {%>basicGet<%=genFeature.getAccessorName()%><%} else {%><%=genFeature.getGetAccessor()%><%}%>();
+    <%}%>
+				if (<%=genFeature.getSafeName()%> != null)
+    <%if (genFeature.isEffectiveContains()) {%>
+					msgs = <%=genFeature.getAsInternalEObject(genFeature.getSafeName(), true)%>.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - <%=genClass.getQualifiedFeatureID(genFeature)%><%=negativeOffsetCorrection%>, null, msgs);
+    <%} else { GenFeature reverseFeature = genFeature.getReverse(); GenClass targetClass = reverseFeature.getGenClass(); String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(genFeature) : "";%>
+					msgs = <%=genFeature.getAsInternalEObject(genFeature.getSafeName(), true)%>.eInverseRemove(this, <%=targetClass.getQualifiedFeatureID(reverseFeature)%><%=reverseOffsetCorrection%>, <%=targetClass.getRawImportedInterfaceName()%>.class, msgs);
+    <%}%>
+				return basicSet<%=genFeature.getAccessorName()%>((<%=genFeature.getImportedType(genClass)%>)otherEnd, msgs);
+  <%}%>
+<%}%>
+<%if (forceDefaultCase) {%>
+			default:
+<%} else {%>
+		}
+<%}%>
+<%if (genModel.isMinimalReflectiveMethods()) {%>
+<%=indentDefaultCase%>		return super.eInverseAdd(otherEnd, featureID, msgs);
+<%} else {%>
+<%=indentDefaultCase%>		return eDynamicInverseAdd(otherEnd, featureID, msgs);
+<%}%>
+<%if (forceDefaultCase) {%>
+		}
+<%}%>
+	}
+
+<%}%>
+<%if (isImplementation && !genModel.isReflectiveDelegation() && genClass.implementsAny(genClass.getEInverseRemoveGenFeatures())) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	public <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> eInverseRemove(<%=genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject")%> otherEnd, int featureID, <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs)
+	{
+		switch (featureID<%=negativeOffsetCorrection%>)
+		{
+<%for (GenFeature genFeature : genClass.getEInverseRemoveGenFeatures()) {%>
+			case <%=genClass.getQualifiedFeatureID(genFeature)%>:
+  <%if (genFeature.isListType()) {%>
+    <%if (genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes()) {%>
+				return ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList")%><%=singleWildcard%>)((<%=genModel.getImportedName("org.eclipse.emf.common.util.EMap")%>.InternalMapView<%=genFeature.getImportedMapTemplateArguments(genClass)%>)<%=genFeature.getGetAccessor()%>()).eMap()).basicRemove(otherEnd, msgs);
+    <%} else if (genFeature.isWrappedFeatureMapType()) {%>
+				return ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList")%><%=singleWildcard%>)((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)<%=genFeature.getGetAccessor()%>()).featureMap()).basicRemove(otherEnd, msgs);
+    <%} else {%>
+				return ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList")%><%=singleWildcard%>)<%=genFeature.getGetAccessor()%>()).basicRemove(otherEnd, msgs);
+    <%}%>
+  <%} else if (genFeature.isContainer() && !genFeature.isBasicSet()) {%>
+				return eBasicSetContainer(null, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, msgs);
+  <%} else if (genFeature.isUnsettable()) {%>
+				return basicUnset<%=genFeature.getAccessorName()%>(msgs);
+  <%} else {%>
+				return basicSet<%=genFeature.getAccessorName()%>(null, msgs);
+  <%}%>
+<%}%>
+<%if (forceDefaultCase) {%>
+			default:
+<%} else { // {%>
+		}
+<%}%>
+<%if (genModel.isMinimalReflectiveMethods()) {%>
+<%=indentDefaultCase%>		return super.eInverseRemove(otherEnd, featureID, msgs);
+<%} else {%>
+<%=indentDefaultCase%>		return eDynamicInverseRemove(otherEnd, featureID, msgs);
+<%}%>
+<%if (forceDefaultCase) { // {%>
+		}
+<%} // }%>
+	}
+
+<%}%>
+<%if (isImplementation && !genModel.isReflectiveDelegation() && genClass.implementsAny(genClass.getEBasicRemoveFromContainerGenFeatures())) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	public <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> eBasicRemoveFromContainerFeature(<%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs)
+	{
+		switch (eContainerFeatureID()<%=negativeOffsetCorrection%>)
+		{
+<%for (GenFeature genFeature : genClass.getEBasicRemoveFromContainerGenFeatures()) {%>
+  <%GenFeature reverseFeature = genFeature.getReverse(); GenClass targetClass = reverseFeature.getGenClass(); String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(genFeature) : "";%>
+			case <%=genClass.getQualifiedFeatureID(genFeature)%>:
+				return eInternalContainer().eInverseRemove(this, <%=targetClass.getQualifiedFeatureID(reverseFeature)%><%=reverseOffsetCorrection%>, <%=targetClass.getRawImportedInterfaceName()%>.class, msgs);
+<%}%>
+<%if (forceDefaultCase) {%>
+			default:
+<%} else { // {%>
+		}
+<%}%>
+<%if (genModel.isMinimalReflectiveMethods()) {%>
+<%=indentDefaultCase%>		return super.eBasicRemoveFromContainerFeature(msgs);
+<%} else {%>
+<%=indentDefaultCase%>		return eDynamicBasicRemoveFromContainer(msgs);
+<%}%>
+<%if (forceDefaultCase) { // {%>
+		}
+<%} // }%>
+	}
+
+<%}%>
+<%if (isImplementation && !genModel.isReflectiveDelegation() && genClass.implementsAny(genClass.getEGetGenFeatures())) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	public Object eGet(int featureID, boolean resolve, boolean coreType)
+	{
+		switch (featureID<%=negativeOffsetCorrection%>)
+		{
+<%for (GenFeature genFeature : genClass.getEGetGenFeatures()) {%>
+			case <%=genClass.getQualifiedFeatureID(genFeature)%>:
+  <%if (genFeature.isPrimitiveType()) {%>
+    <%if (isJDK50) {%>
+				return <%=genFeature.getGetAccessor()%>();
+    <%} else if (genFeature.isBooleanType()) {%>
+				return <%=genFeature.getGetAccessor()%>() ? Boolean.TRUE : Boolean.FALSE;
+    <%} else {%>
+				return new <%=genFeature.getObjectType(genClass)%>(<%=genFeature.getGetAccessor()%>());
+    <%}%>
+  <%} else if (genFeature.isResolveProxies() && !genFeature.isListType()) {%>
+				if (resolve) return <%=genFeature.getGetAccessor()%>();
+				return basicGet<%=genFeature.getAccessorName()%>();
+  <%} else if (genFeature.isMapType()) {%>
+    <%if (genFeature.isEffectiveSuppressEMFTypes()) {%>
+				if (coreType) return ((<%=genModel.getImportedName("org.eclipse.emf.common.util.EMap")%>.InternalMapView<%=genFeature.getImportedMapTemplateArguments(genClass)%>)<%=genFeature.getGetAccessor()%>()).eMap();
+				else return <%=genFeature.getGetAccessor()%>();
+    <%} else {%>
+				if (coreType) return <%=genFeature.getGetAccessor()%>();
+				else return <%=genFeature.getGetAccessor()%>().map();
+    <%}%>
+  <%} else if (genFeature.isWrappedFeatureMapType()) {%>
+				if (coreType) return ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)<%=genFeature.getGetAccessor()%>()).featureMap();
+				return <%=genFeature.getGetAccessor()%>();
+  <%} else if (genFeature.isFeatureMapType()) {%>
+				if (coreType) return <%=genFeature.getGetAccessor()%>();
+				return ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)<%=genFeature.getGetAccessor()%>()).getWrapper();
+  <%} else {%>
+				return <%=genFeature.getGetAccessor()%>();
+  <%}%>
+<%}%>
+<%if (forceDefaultCase) {%>
+			default:
+<%} else { // {%>
+		}
+<%}%>
+<%if (genModel.isMinimalReflectiveMethods()) {%>
+<%=indentDefaultCase%>		return super.eGet(featureID, resolve, coreType);
+<%} else {%>
+<%=indentDefaultCase%>		return eDynamicGet(featureID, resolve, coreType);
+<%}%>
+<%if (forceDefaultCase) { // {%>
+		}
+<%} // }%>
+	}
+
+<%}%>
+<%if (isImplementation && !genModel.isReflectiveDelegation() && genClass.implementsAny(genClass.getESetGenFeatures())) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useGenerics()) {%>
+    <%for (GenFeature genFeature : genClass.getESetGenFeatures()) {%>
+      <%if (genFeature.isUncheckedCast(genClass) && !genFeature.isFeatureMapType() && !genFeature.isMapType()) {%>
+	@SuppressWarnings("unchecked")
+      <%break; }%>
+    <%}%>
+  <%}%>
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	public void eSet(int featureID, Object newValue)
+	{
+		switch (featureID<%=negativeOffsetCorrection%>)
+		{
+  <%for (GenFeature genFeature : genClass.getESetGenFeatures()) {%>
+			case <%=genClass.getQualifiedFeatureID(genFeature)%>:
+    <%if (genFeature.isListType()) {%>
+      <%if (genFeature.isWrappedFeatureMapType()) {%>
+				((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)<%=genFeature.getGetAccessor()%>()).featureMap()).set(newValue);
+      <%} else if (genFeature.isFeatureMapType()) {%>
+				((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)<%=genFeature.getGetAccessor()%>()).set(newValue);
+      <%} else if (genFeature.isMapType()) {%>
+        <%if (genFeature.isEffectiveSuppressEMFTypes()) {%>
+				((<%=genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature")%>.Setting)((<%=genModel.getImportedName("org.eclipse.emf.common.util.EMap")%>.InternalMapView<%=genFeature.getImportedMapTemplateArguments(genClass)%>)<%=genFeature.getGetAccessor()%>()).eMap()).set(newValue);
+        <%} else {%>
+				((<%=genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature")%>.Setting)<%=genFeature.getGetAccessor()%>()).set(newValue);
+        <%}%>
+      <%} else {%>
+				<%=genFeature.getGetAccessor()%>().clear();
+				<%=genFeature.getGetAccessor()%>().addAll((<%=genModel.getImportedName("java.util.Collection")%><%if (isJDK50) {%><? extends <%=genFeature.getListItemType(genClass)%>><%}%>)newValue);
+      <%}%>
+    <%} else if (!isJDK50 && genFeature.isPrimitiveType()) {%>
+				set<%=genFeature.getAccessorName()%>(((<%=genFeature.getObjectType(genClass)%>)newValue).<%=genFeature.getPrimitiveValueFunction()%>());
+    <%} else {%>
+				set<%=genFeature.getAccessorName()%>(<%if (genFeature.getTypeGenDataType() == null || !genFeature.getTypeGenDataType().isObjectType() || !genFeature.getRawType().equals(genFeature.getType(genClass))) {%>(<%=genFeature.getObjectType(genClass)%>)<%}%>newValue);
+    <%}%>
+				return;
+  <%}%>
+<%if (forceDefaultCase) {%>
+			default:
+<%} else { // {%>
+		}
+<%}%>
+  <%if (genModel.isMinimalReflectiveMethods()) {%>
+<%=indentDefaultCase%>		super.eSet(featureID, newValue);
+<%if (forceDefaultCase) {%>
+				return;
+<%}%>
+  <%} else {%>
+<%=indentDefaultCase%>		eDynamicSet(featureID, newValue);
+<%if (forceDefaultCase) {%>
+				return;
+<%}%>
+  <%}%>
+<%if (forceDefaultCase) { // {%>
+		}
+<%} // }%>
+	}
+
+<%}%>
+<%if (isImplementation && !genModel.isReflectiveDelegation() && genClass.implementsAny(genClass.getEUnsetGenFeatures())) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/eUnset.override.javajetinc%>
+<%}%>
+<%if (isImplementation && !genModel.isReflectiveDelegation() && genClass.implementsAny(genClass.getEIsSetGenFeatures())) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/eIsSet.override.javajetinc%>
+<%}%>
+<%if (isImplementation && (!genClass.getMixinGenFeatures().isEmpty() || genClass.hasOffsetCorrection() && !genClass.getGenFeatures().isEmpty())) {%>
+  <%if (!genClass.getMixinGenFeatures().isEmpty()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+    <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+    <%}%>
+	public int eBaseStructuralFeatureID(int derivedFeatureID, Class<%=singleWildcard%> baseClass)
+	{
+    <%for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {%>
+		if (baseClass == <%=mixinGenClass.getRawImportedInterfaceName()%>.class)
+		{
+			switch (derivedFeatureID<%=negativeOffsetCorrection%>)
+			{
+      <%for (GenFeature genFeature : mixinGenClass.getGenFeatures()) {%>
+				case <%=genClass.getQualifiedFeatureID(genFeature)%>: return <%=mixinGenClass.getQualifiedFeatureID(genFeature)%>;
+      <%}%>
+				default: return -1;
+			}
+		}
+    <%}%>
+		return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+	}
+  <%}%>
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	public int eDerivedStructuralFeatureID(int baseFeatureID, Class<%=singleWildcard%> baseClass)
+	{
+  <%for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {%>
+		if (baseClass == <%=mixinGenClass.getRawImportedInterfaceName()%>.class)
+		{
+			switch (baseFeatureID)
+			{
+    <%for (GenFeature genFeature : mixinGenClass.getGenFeatures()) {%>
+				case <%=mixinGenClass.getQualifiedFeatureID(genFeature)%>: return <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>;
+    <%}%>
+				default: return -1;
+			}
+		}
+  <%}%>
+  <%if (genClass.hasOffsetCorrection() && !genClass.getGenFeatures().isEmpty()) {%>
+		if (baseClass == <%=genClass.getRawImportedInterfaceName()%>.class)
+		{
+			switch (baseFeatureID<%=negativeOffsetCorrection%>)
+			{
+    <%for (GenFeature genFeature : genClass.getGenFeatures()) {%>
+				case <%=genClass.getQualifiedFeatureID(genFeature)%>: return <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>;
+    <%}%>
+				default: return -1;
+			}
+		}
+  <%}%>
+		return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+	}
+
+<%}%>
+<%if (genModel.isOperationReflection() && isImplementation && (!genClass.getMixinGenOperations().isEmpty() || !genClass.getOverrideGenOperations(genClass.getExtendedGenOperations(), genClass.getImplementedGenOperations()).isEmpty() || genClass.hasOffsetCorrection() && !genClass.getGenOperations().isEmpty())) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	public int eDerivedOperationID(int baseOperationID, Class<%=singleWildcard%> baseClass)
+	{
+  <%for (GenClass extendedGenClass : genClass.getExtendedGenClasses()) { List<GenOperation> extendedImplementedGenOperations = extendedGenClass.getImplementedGenOperations(); List<GenOperation> implementedGenOperations = genClass.getImplementedGenOperations();%>
+    <%if (!genClass.getOverrideGenOperations(extendedImplementedGenOperations, implementedGenOperations).isEmpty()) {%>
+		if (baseClass == <%=extendedGenClass.getRawImportedInterfaceName()%>.class)
+		{
+			switch (baseOperationID)
+			{
+      <%for (GenOperation genOperation : extendedImplementedGenOperations) { GenOperation overrideGenOperation = genClass.getOverrideGenOperation(genOperation);%>
+        <%if (implementedGenOperations.contains(overrideGenOperation)) {%>
+				case <%=extendedGenClass.getQualifiedOperationID(genOperation)%>: return <%=genClass.getQualifiedOperationID(overrideGenOperation)%><%=positiveOperationOffsetCorrection%>;
+        <%}%>
+      <%}%>
+				default: return super.eDerivedOperationID(baseOperationID, baseClass);
+			}
+		}
+    <%}%>
+  <%}%>
+  <%for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {%>
+		if (baseClass == <%=mixinGenClass.getRawImportedInterfaceName()%>.class)
+		{
+			switch (baseOperationID)
+			{
+    <%for (GenOperation genOperation : mixinGenClass.getGenOperations()) { GenOperation overrideGenOperation = genClass.getOverrideGenOperation(genOperation);%>
+				case <%=mixinGenClass.getQualifiedOperationID(genOperation)%>: return <%=genClass.getQualifiedOperationID(overrideGenOperation != null ? overrideGenOperation : genOperation)%><%=positiveOperationOffsetCorrection%>;
+    <%}%>
+				default: return -1;
+			}
+		}
+  <%}%>
+  <%if (genClass.hasOffsetCorrection() && !genClass.getGenOperations().isEmpty()) {%>
+		if (baseClass == <%=genClass.getRawImportedInterfaceName()%>.class)
+		{
+			switch (baseOperationID<%=negativeOperationOffsetCorrection%>)
+			{
+    <%for (GenOperation genOperation : genClass.getGenOperations()) {%>
+				case <%=genClass.getQualifiedOperationID(genOperation)%>: return <%=genClass.getQualifiedOperationID(genOperation)%><%=positiveOperationOffsetCorrection%>;
+    <%}%>
+				default: return -1;
+			}
+		}
+  <%}%>
+		return super.eDerivedOperationID(baseOperationID, baseClass);
+	}
+
+<%}%>
+<%if (isImplementation && genModel.isVirtualDelegation()) { String eVirtualValuesField = genClass.getEVirtualValuesField();%>
+  <%if (eVirtualValuesField != null) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	protected Object[] eVirtualValues()
+	{
+		return <%=eVirtualValuesField%>;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	protected void eSetVirtualValues(Object[] newValues)
+	{
+		<%=eVirtualValuesField%> = newValues;
+	}
+
+  <%}%>
+  <%{ List<String> eVirtualIndexBitFields = genClass.getEVirtualIndexBitFields(new ArrayList<String>());%>
+    <%if (!eVirtualIndexBitFields.isEmpty()) { List<String> allEVirtualIndexBitFields = genClass.getAllEVirtualIndexBitFields(new ArrayList<String>());%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	protected int eVirtualIndexBits(int offset)
+	{
+		switch (offset)
+		{
+      <%for (int i = 0; i < allEVirtualIndexBitFields.size(); i++) {%>
+			case <%=i%> :
+				return <%=allEVirtualIndexBitFields.get(i)%>;
+      <%}%>
+			default :
+				throw new IndexOutOfBoundsException();
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	protected void eSetVirtualIndexBits(int offset, int newIndexBits)
+	{
+		switch (offset)
+		{
+      <%for (int i = 0; i < allEVirtualIndexBitFields.size(); i++) {%>
+			case <%=i%> :
+				<%=allEVirtualIndexBitFields.get(i)%> = newIndexBits;
+				break;
+      <%}%>
+			default :
+				throw new IndexOutOfBoundsException();
+		}
+	}
+
+    <%}%>
+  <%}%>
+<%}%>
+<%if (genModel.isOperationReflection() && isImplementation && !genClass.getImplementedGenOperations().isEmpty()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+  <%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) {%>
+	@SuppressWarnings(<%if (!isRaw) {%>"unchecked"<%} else {%>{"rawtypes", "unchecked" }<%}%>)
+    <%}%>
+  <%}%>
+	public Object eInvoke(int operationID, <%=genModel.getImportedName("org.eclipse.emf.common.util.EList")%><%=singleWildcard%> arguments) throws <%=genModel.getImportedName(isGWT ? "org.eclipse.emf.common.util.InvocationTargetException" : "java.lang.reflect.InvocationTargetException")%>
+	{
+		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" : ""; GenOperation overrideGenOperation = genClass.getOverrideGenOperation(genOperation);%>
+			case <%=genClass.getQualifiedOperationID(overrideGenOperation != null ? overrideGenOperation : genOperation)%>:
+  <%if (hasCheckedException) {%>
+				try
+				{
+  <%/*}*/}%>
+  <%if (genOperation.isVoid()) {%>
+				<%=indent%><%=genOperation.getName()%>(<%for (int i = 0; i < size; i++) { GenParameter genParameter = genParameters.get(i);%><%if (!isJDK50 && genParameter.isPrimitiveType()) {%>(<%}%><%if (genParameter.getTypeGenDataType() == null || !genParameter.getTypeGenDataType().isObjectType() || !genParameter.usesOperationTypeParameters() && !genParameter.getRawType().equals(genParameter.getType(genClass))) {%>(<%=genParameter.usesOperationTypeParameters() ? genParameter.getRawImportedType() : genParameter.getObjectType(genClass)%>)<%}%>arguments.get(<%=i%>)<%if (!isJDK50 && genParameter.isPrimitiveType()) {%>).<%=genParameter.getPrimitiveValueFunction()%>()<%}%><%if (i < (size - 1)) {%>, <%}%><%}%>);
+				<%=indent%>return null;
+  <%} else {%>
+				<%=indent%>return <%if (!isJDK50 && genOperation.isPrimitiveType()) {%>new <%=genOperation.getObjectType(genClass)%>(<%}%><%=genOperation.getName()%>(<%for (int i = 0; i < size; i++) { GenParameter genParameter = genParameters.get(i);%><%if (!isJDK50 && genParameter.isPrimitiveType()) {%>(<%}%><%if (genParameter.getTypeGenDataType() == null || !genParameter.getTypeGenDataType().isObjectType() || !genParameter.usesOperationTypeParameters() && !genParameter.getRawType().equals(genParameter.getType(genClass))) {%>(<%=genParameter.usesOperationTypeParameters() ? genParameter.getRawImportedType() : genParameter.getObjectType(genClass)%>)<%}%>arguments.get(<%=i%>)<%if (!isJDK50 && genParameter.isPrimitiveType()) {%>).<%=genParameter.getPrimitiveValueFunction()%>()<%}%><%if (i < (size - 1)) {%>, <%}%><%}%>)<%if (!isJDK50 && genOperation.isPrimitiveType()) {%>)<%}%>;
+  <%}%>
+  <%if (hasCheckedException) {/*{*/%>
+				}
+				catch (<%=genModel.getImportedName("java.lang.Throwable")%> throwable)
+				{
+					throw new <%=genModel.getImportedName(isGWT ? "org.eclipse.emf.common.util.InvocationTargetException" : "java.lang.reflect.InvocationTargetException")%>(throwable);
+				}
+  <%}%>
+<%}%>
+<%if (forceDefaultCase) {%>
+			default:
+<%} else { // {%>
+		}
+<%}%>
+<%if (genModel.isMinimalReflectiveMethods()) {%>
+<%=indentDefaultCase%>		return super.eInvoke(operationID, arguments);
+<%} else {%>
+<%=indentDefaultCase%>		return eDynamicInvoke(operationID, arguments);
+<%}%>
+<%if (forceDefaultCase) { // {%>
+		}
+<%} // }%>
+	}
+
+<%}%>
+<%if (!genClass.hasImplementedToStringGenOperation() && isImplementation && !genModel.isReflectiveDelegation() && !genModel.isDynamicDelegation() && !genClass.getToStringGenFeatures().isEmpty()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	public String toString()
+	{
+		if (eIsProxy()) return super.toString();
+
+		<%=genModel.useGenerics() ? "StringBuilder" : "StringBuffer"%> result = new <%=genModel.useGenerics() ? "StringBuilder" : "StringBuffer"%>(super.toString());
+  <%{ boolean first = true;%>
+    <%for (GenFeature genFeature : genClass.getToStringGenFeatures()) {%>
+      <%if (first) { first = false;%>
+		result.append(" (<%=genFeature.getName()%>: ");<%=genModel.getNonNLS()%>
+      <%} else {%>
+		result.append(", <%=genFeature.getName()%>: ");<%=genModel.getNonNLS()%>
+      <%}%>
+      <%if (genFeature.isUnsettable() && !genFeature.isListType()) {%>
+        <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>
+		if (eVirtualIsSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>)) result.append(eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>)); else result.append("<unset>");<%=genModel.getNonNLS()%>
+        <%} else {%>
+          <%if (genClass.isFlag(genFeature)) {%>
+            <%if (genFeature.isBooleanType()) {%>
+		if (<%if (genClass.isESetFlag(genFeature)) {%>(<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0<%} else {%><%=genFeature.getUncapName()%>ESet<%}%>) result.append((<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) != 0); else result.append("<unset>");<%=genModel.getNonNLS()%>
+            <%} else {%>
+		if (<%if (genClass.isESetFlag(genFeature)) {%>(<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0<%} else {%><%=genFeature.getUncapName()%>ESet<%}%>) result.append(<%=genFeature.getUpperName()%>_EFLAG_VALUES[(<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) >>> <%=genFeature.getUpperName()%>_EFLAG_OFFSET]); else result.append("<unset>");<%=genModel.getNonNLS()%>
+            <%}%>
+          <%} else {%>
+		if (<%if (genClass.isESetFlag(genFeature)) {%>(<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0<%} else {%><%=genFeature.getUncapName()%>ESet<%}%>) result.append(<%=genFeature.getSafeName()%>); else result.append("<unset>");<%=genModel.getNonNLS()%>
+          <%}%>
+        <%}%>
+      <%} else {%>
+        <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>
+		result.append(eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%><%if (!genFeature.isListType() && !genFeature.isReferenceType()){%>, <%=genFeature.getEDefault()%><%}%>));
+        <%} else {%>
+          <%if (genClass.isFlag(genFeature)) {%>
+          <%if (genFeature.isBooleanType()) {%>
+		result.append((<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) != 0);
+          <%} else {%>
+		result.append(<%=genFeature.getUpperName()%>_EFLAG_VALUES[(<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) >>> <%=genFeature.getUpperName()%>_EFLAG_OFFSET]);
+          <%}%>
+          <%} else {%>
+		result.append(<%=genFeature.getSafeName()%>);
+          <%}%>
+        <%}%>
+      <%}%>
+    <%}%>
+  <%}%>
+		result.append(')');
+		return result.toString();
+	}
+
+<%}%>
+<%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 + ">" : "");%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+      <%if (isGWT) {%>
+	@<%=genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient")%>
+      <%}%>
+	protected int hash = -1;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (useInterfaceOverrideAnnotation) {%>
+	@Override
+  <%}%>
+	public int getHash()
+	{
+		if (hash == -1)
+		{
+			<%=objectType%> theKey = getKey();
+			hash = (theKey == null ? 0 : theKey.hashCode());
+		}
+		return hash;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (useInterfaceOverrideAnnotation) {%>
+	@Override
+  <%}%>
+	public void setHash(int hash)
+	{
+		this.hash = hash;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (useInterfaceOverrideAnnotation) {%>
+	@Override
+  <%}%>
+	public <%=keyType%> getKey()
+	{
+  <%if (!isJDK50 && keyFeature.isPrimitiveType()) {%>
+		return new <%=keyFeature.getObjectType(genClass)%>(getTypedKey());
+  <%} else {%>
+		return getTypedKey();
+  <%}%>
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (useInterfaceOverrideAnnotation) {%>
+	@Override
+  <%}%>
+	public void setKey(<%=keyType%> key)
+	{
+  <%if (keyFeature.isListType()) {%>
+		getTypedKey().addAll(<%if (!genModel.useGenerics()) {%>(<%=genModel.getImportedName("java.util.Collection")%>)<%}%>key);
+  <%} else if (isJDK50) {%>
+		setTypedKey(key);
+  <%} else if (keyFeature.isPrimitiveType()) {%>
+		setTypedKey(((<%=keyFeature.getObjectType(genClass)%>)key).<%=keyFeature.getPrimitiveValueFunction()%>());
+  <%} else {%>
+		setTypedKey((<%=keyFeature.getImportedType(genClass)%>)key);
+  <%}%>
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (useInterfaceOverrideAnnotation) {%>
+	@Override
+  <%}%>
+	public <%=valueType%> getValue()
+	{
+  <%if (!isJDK50 && valueFeature.isPrimitiveType()) {%>
+		return new <%=valueFeature.getObjectType(genClass)%>(getTypedValue());
+  <%} else {%>
+		return getTypedValue();
+  <%}%>
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (useInterfaceOverrideAnnotation) {%>
+	@Override
+  <%}%>
+	public <%=valueType%> setValue(<%=valueType%> value)
+	{
+		<%=valueType%> oldValue = getValue();
+  <%if (valueFeature.isListType()) {%>
+		getTypedValue().clear();
+		getTypedValue().addAll(<%if (!genModel.useGenerics()) {%>(<%=genModel.getImportedName("java.util.Collection")%>)<%}%>value);
+  <%} else if (isJDK50) {%>
+		setTypedValue(value);
+  <%} else if (valueFeature.isPrimitiveType()) {%>
+		setTypedValue(((<%=valueFeature.getObjectType(genClass)%>)value).<%=valueFeature.getPrimitiveValueFunction()%>());
+  <%} else {%>
+		setTypedValue((<%=valueFeature.getImportedType(genClass)%>)value);
+  <%}%>
+		return oldValue;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useGenerics()) {%>
+	@SuppressWarnings("unchecked")
+  <%}%>
+	public <%=eMapType%> getEMap()
+	{
+		<%=genModel.getImportedName("org.eclipse.emf.ecore.EObject")%> container = eContainer();
+		return container == null ? null : (<%=eMapType%>)container.eGet(eContainmentFeature());
+	}
+
+<%}%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+} //<%=isInterface ? " " + genClass.getInterfaceName() : genClass.getClassName()%>
+<%// TODO fix the space above%>
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Sr5gCGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Sr5gCGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..678d71c
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Sr5gCGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenClass genClass = parameter;
+argument = ((Object[]) new Object[]{new Object[]{genClass,genClass.getGenModel().isSuppressInterfaces() ? Boolean.TRUE : Boolean.FALSE,Boolean.TRUE}})[0];
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._07nZCWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._07nZCWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..24cd6fc
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._07nZCWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel, GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._9fJklHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._9fJklHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..274f829
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._9fJklHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejecjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejecjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejecjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejeczG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejeczG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejeczG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejedTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejedTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejedTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejedzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejedzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..ce3be04
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejedzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPath = genModel.getModelDirectory();
+packageName = genModel.getModelPluginPackageName();
+className = genModel.getModelPluginClassName();
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejeeTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejeeTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..ece8cce
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejeeTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,155 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ *   IBM - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument;%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%@ 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"%>
+package <%=genModel.getModelPluginPackageName()%>;
+
+<%genModel.addImport("org.eclipse.emf.common.EMFPlugin");%>
+<%genModel.addImport("org.eclipse.emf.common.util.ResourceLocator");%>
+<%genModel.markImportLocation(stringBuffer);%>
+
+/**
+ * This is the central singleton for the <%=genModel.getModelName()%> model plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+<%if (genModel.hasAPITags()) {%>
+ * <%=genModel.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%if (isJDK50 && genModel.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%}%>
+public final class <%=genModel.getModelPluginClassName()%> extends EMFPlugin
+{
+<%if (genModel.hasCopyrightField()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final <%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+	/**
+	 * Keep track of the singleton.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final <%=genModel.getModelPluginClassName()%> INSTANCE = new <%=genModel.getModelPluginClassName()%>();
+
+<%if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {%>
+	/**
+	 * Keep track of the singleton.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static Implementation plugin;
+
+<%}%>
+	/**
+	 * Create the instance.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public <%=genModel.getModelPluginClassName()%>()
+	{
+		super(new ResourceLocator [] {});
+	}
+
+	/**
+	 * Returns the singleton instance of the Eclipse plugin.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the singleton instance.
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	public ResourceLocator getPluginResourceLocator()
+	{
+<%if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {%>
+		return null;
+<%} else {%>
+		return plugin;
+<%}%>
+	}
+
+<%if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {%>
+	/**
+	 * Returns the singleton instance of the Eclipse plugin.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the singleton instance.
+	 * @generated
+	 */
+	public static Implementation getPlugin()
+	{
+		return plugin;
+	}
+
+	/**
+	 * The actual implementation of the Eclipse <b>Plugin</b>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static class Implementation extends EclipsePlugin
+	{
+		/**
+		 * Creates an instance.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+<%if (genModel.needsRuntimeCompatibility()) {%>
+		 * @param descriptor the description of the plugin.
+<%}%>
+		 * @generated
+		 */
+		public Implementation(<%if (genModel.needsRuntimeCompatibility()) {%><%=genModel.getImportedName("org.eclipse.core.runtime.IPluginDescriptor")%> descriptor<%}%>)
+		{
+			super(<%if (genModel.needsRuntimeCompatibility()) {%>descriptor<%}%>);
+
+			// Remember the static instance.
+			//
+			plugin = this;
+		}
+<%if (genModel.isOSGiCompatible()) {%>
+	
+		/**
+		 * The actual implementation of the purely OSGi-compatible <b>Bundle Activator</b>.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public static final class Activator extends <%=genModel.getImportedName("org.eclipse.emf.common.EMFPlugin")%>.OSGiDelegatingBundleActivator
+		{
+<%if (genModel.useClassOverrideAnnotation()) {%>
+			@Override
+<%}%>
+			protected <%=genModel.getImportedName("org.osgi.framework.BundleActivator")%> createBundle()
+			{
+				return new Implementation();
+			}
+		}
+<%}%>
+	}
+
+<%}%>
+}
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._SsWL8WKPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._SsWL8WKPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..76ca0ef
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._SsWL8WKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._063yImKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._063yImKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..24cd6fc
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._063yImKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel, GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._9AAxhHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._9AAxhHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..1e675a3
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._9AAxhHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoYjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoYjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoYjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoYzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoYzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoYzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoZTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoZTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoZTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoZzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoZzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..9b2987b
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoZzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenPackage genPackage = parameter;
+targetPath = genPackage.getGenModel().getModelDirectory();
+packageName = genPackage.getUtilitiesPackageName();
+className = genPackage.getResourceFactoryClassName();
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoaTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoaTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..faad011
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoaTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,96 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ *   IBM - Initial API and implementation
+ */
+%>
+<%GenPackage genPackage = (GenPackage)argument; GenModel genModel=genPackage.getGenModel();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%@ 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"%>
+package <%=genPackage.getUtilitiesPackageName()%>;
+
+<%genModel.getImportedName("org.eclipse.emf.common.util.URI");%>
+<%genModel.getImportedName("org.eclipse.emf.ecore.resource.Resource");%>
+<%genModel.markImportLocation(stringBuffer);%>
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see <%=genPackage.getQualifiedResourceClassName()%>
+<%if (genPackage.hasAPITags()) {%>
+ * <%=genPackage.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%}%>
+public class <%=genPackage.getResourceFactoryClassName()%> extends <%=genPackage.getImportedResourceFactoryBaseClassName()%>
+{
+<%if (genModel.hasCopyrightField()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final <%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+<%if (genPackage.hasExtendedMetaData() && !genPackage.hasTargetNamespace()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected <%=genModel.getImportedName("org.eclipse.emf.ecore.util.ExtendedMetaData")%> extendedMetaData;
+
+<%} else if (genPackage.hasXMLMap()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected <%=genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource$XMLMap")%> xmlMap = new <%=genModel.getImportedName("org.eclipse.emf.ecore.xmi.impl.XMLMapImpl")%>();
+
+<%}%>
+	/**
+	 * Creates an instance of the resource factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public <%=genPackage.getResourceFactoryClassName()%>()
+	{
+		super();
+<%if (genPackage.hasExtendedMetaData() && !genPackage.hasTargetNamespace()) {%>
+		extendedMetaData = new <%=genModel.getImportedName("org.eclipse.emf.ecore.util.BasicExtendedMetaData")%>(new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.EPackageRegistryImpl")%>(<%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE));
+		extendedMetaData.putPackage(null, <%=genPackage.getImportedPackageInterfaceName()%>.eINSTANCE);
+<%} else if (genPackage.hasXMLMap() && !genPackage.hasTargetNamespace()) {%>
+		xmlMap.setNoNamespacePackage(<%=genPackage.getImportedPackageInterfaceName()%>.eINSTANCE);
+<%}%>
+	}
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	public Resource createResource(URI uri)
+	{
+<%@ 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,isJDK50:isJDK50"%><%//ResourceFactoryClass/createResource.override.javajetinc%>
+	}
+
+} //<%=genPackage.getResourceFactoryClassName()%>
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._StFy12KPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._StFy12KPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..6c7369f
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._StFy12KPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenPackage genPackage = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._07UeGWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._07UeGWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..24cd6fc
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._07UeGWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel, GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._9QQM9HLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._9QQM9HLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..483dc38
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._9QQM9HLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47MjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47MjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47MjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47MzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47MzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47MzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47NTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47NTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47NTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47NzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47NzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..aa45bf0
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47NzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenEnum genEnum = parameter;
+targetPath = genEnum.getGenModel().getModelDirectory();
+packageName = genEnum.getGenPackage().getInterfacePackageName();
+className = genEnum.getName();
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47OTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47OTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..48f408e
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47OTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,355 @@
+
+<%
+/**
+ * Copyright (c) 2002-2019 IBM Corporation and others.
+ * All rights reserved.   This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ *   IBM - Initial API and implementation
+ *   Alexander Fedorov <alexander.fedorov@arsysop.ru> - Bug 546714
+ */
+%>
+<%GenEnum genEnum = (GenEnum)argument; GenPackage genPackage = genEnum.getGenPackage(); GenModel genModel=genPackage.getGenModel();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%final boolean forceDefaultCase = genModel.isSwitchMissingDefaultCase();%>
+<%@ 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"%>
+package <%=genPackage.getInterfacePackageName()%>;
+
+<%genModel.addImport("java.util.Arrays");%>
+<%genModel.addImport("java.util.List");%>
+<%genModel.addImport("java.util.Collections");%>
+<%genModel.markImportLocation(stringBuffer, genPackage);%>
+<%boolean isEnum = genModel.useGenerics();%>
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b><%=genEnum.getFormattedName()%></b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+<%if (genEnum.hasDocumentation()) {%>
+ * <!-- begin-model-doc -->
+ * <%=genEnum.getDocumentation(genModel.getIndentation(stringBuffer))%>
+ * <!-- end-model-doc -->
+<%}%>
+ * @see <%=genPackage.getQualifiedPackageInterfaceName()%>#get<%=genEnum.getName()%>()
+<%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;%>
+ * @model <%=modelInfo%>
+<%} else {%>
+ *        <%=modelInfo%>
+<%}} if (first) {%>
+ * @model
+<%}}%>
+<%if (genEnum.hasImplicitAPITags(true)) {%>
+ * <%=genEnum.getImplicitAPITags(genModel.getIndentation(stringBuffer), true)%>
+<%}%>
+ * @generated
+ */
+<%if (isJDK50 && genEnum.hasImplicitAPIDeprecatedTag()) {%>
+@Deprecated
+<%}%>
+public <%if (isEnum) {%>enum<%} else {%>final class<%}%> <%=genEnum.getName()%> <%if (isEnum) {%>implements<%} else {%>extends<%}%> <%=genModel.isSuppressEMFMetaData() && !genModel.isSuppressInterfaces() ? "Internal" + genEnum.getName() : genModel.getImportedName(isEnum ? "org.eclipse.emf.common.util.Enumerator" : "org.eclipse.emf.common.util.AbstractEnumerator")%>
+{
+<%if (isEnum) {%>
+  <%if (genEnum.getGenEnumLiterals().isEmpty()) {%>
+	;
+
+  <%}else {%>
+    <%for (Iterator<GenEnumLiteral> l = genEnum.getGenEnumLiterals().iterator(); l.hasNext(); ) { GenEnumLiteral genEnumLiteral = l.next(); %>
+	/**
+	 * The '<em><b><%=genEnumLiteral.getFormattedName()%></b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+<%if (genEnumLiteral.hasDocumentation()) {%>
+	 * <!-- begin-model-doc -->
+	 * <%=genEnumLiteral.getDocumentation(genModel.getIndentation(stringBuffer))%>
+	 * <!-- end-model-doc -->
+<%}%>
+	 * @see #<%=genEnumLiteral.getEnumLiteralValueConstantName()%>
+	 * @generated
+	 * @ordered
+	 */
+      <%if (isJDK50 && genEnumLiteral.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+      <%}%>
+	<%=genEnumLiteral.getEnumLiteralInstanceConstantName()%>(<%=genEnumLiteral.getValue()%>, "<%=genEnumLiteral.getName()%>", <%=Literals.toStringLiteral(genEnumLiteral.getLiteral(), genModel)%>)<%if (l.hasNext()) {%>,<%} else {%>;<%}%><%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+
+    <%}%>
+  <%}%>
+<%}%>
+<%if (genModel.hasCopyrightField()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final <%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+<%for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {%>
+	/**
+	 * The '<em><b><%=genEnumLiteral.getFormattedName()%></b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+<%if (genEnumLiteral.hasDocumentation()) {%>
+	 * <!-- begin-model-doc -->
+	 * <%=genEnumLiteral.getDocumentation(genModel.getIndentation(stringBuffer))%>
+	 * <!-- end-model-doc -->
+<%}%>
+	 * @see #<%=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;%>
+	 * @model <%=modelInfo%>
+<%} else {%>
+	 *        <%=modelInfo%>
+<%}} if (first) {%>
+	 * @model
+<%}}%>
+	 * @generated
+	 * @ordered
+	 */
+<%if (isJDK50 && genEnumLiteral.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+<%}%>
+	public static final int <%=genEnumLiteral.getEnumLiteralValueConstantName()%> = <%=genEnumLiteral.getValue()%>;
+
+<%}%>
+<%if (!isEnum) for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {%>
+	/**
+	 * The '<em><b><%=genEnumLiteral.getFormattedName()%></b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #<%=genEnumLiteral.getEnumLiteralValueConstantName()%>
+  <%if (genEnumLiteral.hasAPITags()) {%>
+	 * <%=genEnumLiteral.getAPITags(genModel.getIndentation(stringBuffer))%>
+  <%}%>
+	 * @generated
+	 * @ordered
+	 */
+<%if (isJDK50 && genEnumLiteral.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+<%}%>
+	public static final <%=genEnum.getName()%> <%=genEnumLiteral.getEnumLiteralInstanceConstantName()%> = new <%=genEnum.getName()%>(<%=genEnumLiteral.getEnumLiteralValueConstantName()%>, "<%=genEnumLiteral.getName()%>", <%=Literals.toStringLiteral(genEnumLiteral.getLiteral(), genModel)%>);<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+
+<%}%>
+	/**
+	 * An array of all the '<em><b><%=genEnum.getFormattedName()%></b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final <%=genEnum.getName()%>[] VALUES_ARRAY =
+		new <%=genEnum.getName()%>[]
+		{
+<%for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {%>
+			<%=genEnumLiteral.getEnumLiteralInstanceConstantName()%>,
+<%}%>
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b><%=genEnum.getFormattedName()%></b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<%if (isEnum) {%><<%=genEnum.getName()%>><%}%> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b><%=genEnum.getFormattedName()%></b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param literal the literal.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static <%=genEnum.getName()%> get(<%=genModel.getImportedName("java.lang.String")%> literal)
+	{
+		for (int i = 0; i < VALUES_ARRAY.length; ++i)
+		{
+			<%=genEnum.getName()%> result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal))
+			{
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b><%=genEnum.getFormattedName()%></b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name the name.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static <%=genEnum.getName()%> getByName(<%=genModel.getImportedName("java.lang.String")%> name)
+	{
+		for (int i = 0; i < VALUES_ARRAY.length; ++i)
+		{
+			<%=genEnum.getName()%> result = VALUES_ARRAY[i];
+			if (result.getName().equals(name))
+			{
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b><%=genEnum.getFormattedName()%></b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the integer value.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static <%=genEnum.getName()%> get(int value)
+	{
+		switch (value)
+		{
+<%for (GenEnumLiteral genEnumLiteral : genEnum.getUniqueValuedGenEnumLiterals()) {%>
+			case <%=genEnumLiteral.getEnumLiteralValueConstantName()%>: return <%=genEnumLiteral.getEnumLiteralInstanceConstantName()%>;
+<%}%>
+<%if (forceDefaultCase) { // {%>
+			default: return null;
+		}
+<%} else { // {%>
+		}
+		return null;
+<%} // }%>
+	}
+
+<%if (isEnum) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final int value;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final <%=genModel.getImportedName("java.lang.String")%> name;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final <%=genModel.getImportedName("java.lang.String")%> literal;
+
+<%}%>
+	/**
+	 * Only this class can construct instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private <%=genEnum.getName()%>(int value, <%=genModel.getImportedName("java.lang.String")%> name, <%=genModel.getImportedName("java.lang.String")%> literal)
+	{
+<%if (isEnum) {%>
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+<%} else {%>
+		super(value, name, literal);
+<%}%>
+	}
+
+<%if (isEnum) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useInterfaceOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	public int getValue()
+	{
+	  return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useInterfaceOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	public <%=genModel.getImportedName("java.lang.String")%> getName()
+	{
+	  return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useInterfaceOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	public <%=genModel.getImportedName("java.lang.String")%> getLiteral()
+	{
+	  return literal;
+	}
+
+	/**
+	 * Returns the literal value of the enumerator, which is its string representation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	public <%=genModel.getImportedName("java.lang.String")%> toString()
+	{
+		return literal;
+	}
+	
+<%}%>
+} //<%=genEnum.getName()%>
+<%if (genModel.isSuppressEMFMetaData()&& !genModel.isSuppressInterfaces() ) {%>
+
+  <%if (isEnum) {%>
+/**
+ * A private implementation interface used to hide the inheritance from Enumerator.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+interface Internal<%=genEnum.getName()%> extends org.eclipse.emf.common.util.Enumerator
+{
+	// Empty 
+}
+  <%} else {%>
+/**
+ * A private implementation class to construct the instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+class Internal<%=genEnum.getName()%> extends org.eclipse.emf.common.util.AbstractEnumerator
+{
+	/**
+	 * Only this class can construct instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Internal<%=genEnum.getName()%>(int value, <%=genModel.getImportedName("java.lang.String")%> name, <%=genModel.getImportedName("java.lang.String")%> literal)
+	{
+		super(value, name, literal);
+	}
+}
+  <%}%>
+<%}%>
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._SrwWGGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._SrwWGGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..0812d67
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._SrwWGGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenEnum genEnum = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._07LUKWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._07LUKWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..24cd6fc
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._07LUKWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel, GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._9cLJFHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._9cLJFHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..449324b
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._9cLJFHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfcPQjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfcPQjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfcPQjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfcPQzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfcPQzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfcPQzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfcPRTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfcPRTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfcPRTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfcPRzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfcPRzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..91246c9
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfcPRzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenPackage genPackage = parameter;
+targetPath = genPackage.getGenModel().getModelDirectory();
+packageName = genPackage.getReflectionClassPackageName();
+className = genPackage.getFactoryClassName();
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfmAQTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfmAQTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..0848dae
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfmAQTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,792 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.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();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%boolean isInterface = Boolean.TRUE.equals(((Object[])argument)[1]); boolean isImplementation = Boolean.TRUE.equals(((Object[])argument)[2]); boolean useInterfaceOverrideAnnotation = genModel.useInterfaceOverrideAnnotation() && !(isInterface && isImplementation);%>
+<%String publicStaticFinalFlag = isImplementation ? "public static final " : "";%>
+<%@ 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"%>
+<%if (isInterface || genModel.isSuppressInterfaces()) {%>
+package <%=genPackage.getReflectionPackageName()%>;
+<%} else {%>
+package <%=genPackage.getClassPackageName()%>;
+<%}%>
+
+<%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);%>
+
+<%if (isInterface) {%>
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+<%if (!genModel.isSuppressEMFMetaData()) {%>
+ * @see <%=genPackage.getQualifiedPackageInterfaceName()%>
+<%}%>
+<%if (genPackage.hasAPITags()) {%>
+ * <%=genPackage.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%} else {%>
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+<%if (genPackage.hasAPITags()) {%>
+ * <%=genPackage.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%}%>
+<%if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%}%>
+<%if (isImplementation) {%>
+  <%if (isJDK50 && !genPackage.hasAPIDeprecatedTag()) { List<GenClassifier> genClassifiers = new ArrayList<GenClassifier>(genPackage.getGenClassifiers()); for (Iterator<GenClassifier> i = genClassifiers.iterator(); i.hasNext(); ) { GenClassifier genClassifier = i.next(); if (genClassifier instanceof GenClass && ((GenClass)genClassifier).isAbstract()) i.remove(); } if (GenModelUtil.hasAPIDeprecatedTag(genClassifiers)) {%>
+@SuppressWarnings("deprecation")
+  <%}}%>
+public class <%=genPackage.getFactoryClassName()%> extends <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.EFactoryImpl")%><%if (!genModel.isSuppressInterfaces()) {%> implements <%=genPackage.getImportedFactoryInterfaceName()%><%}%>
+<%} else {%>
+public interface <%=genPackage.getFactoryInterfaceName()%><%if (!genModel.isSuppressEMFMetaData()) {%> extends <%=genModel.getImportedName("org.eclipse.emf.ecore.EFactory")%><%}%>
+<%}%>
+{
+<%if (genModel.hasCopyrightField()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	<%=publicStaticFinalFlag%><%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+<%if (isImplementation && (genModel.isSuppressEMFMetaData() || genModel.isSuppressInterfaces())) {%>
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	<%=publicStaticFinalFlag%><%=genPackage.getFactoryClassName()%> eINSTANCE = init();
+
+<%}%>
+<%if (isInterface && genModel.isSuppressEMFMetaData()) {%>
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	<%=publicStaticFinalFlag%><%=genPackage.getFactoryInterfaceName()%> INSTANCE = <%=genPackage.getQualifiedFactoryClassName()%>.eINSTANCE;
+
+<%} else if (isInterface && !genModel.isSuppressInterfaces()) {%>
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	<%=publicStaticFinalFlag%><%=genPackage.getFactoryInterfaceName()%> eINSTANCE = <%=genPackage.getQualifiedFactoryClassName()%>.init();
+
+<%}%>
+<%if (isImplementation) {%>
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%String factoryType = genModel.isSuppressEMFMetaData() ? genPackage.getFactoryClassName() : genPackage.getImportedFactoryInterfaceName();%>
+	public static <%=factoryType%> init()
+	{
+		try
+		{
+			<%=factoryType%> the<%=genPackage.getFactoryName()%> = (<%=factoryType%>)<%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE.getEFactory(<%=genPackage.getPackageInterfaceName()%>.eNS_URI);
+			if (the<%=genPackage.getFactoryName()%> != null)
+			{
+				return the<%=genPackage.getFactoryName()%>;
+			}
+		}
+		catch (Exception exception)
+		{
+			<%=genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin")%>.INSTANCE.log(exception);
+		}
+		return new <%=genPackage.getImportedFactoryClassName()%>();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public <%=genPackage.getFactoryClassName()%>()
+	{
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	public EObject create(EClass eClass)
+	{
+		switch (eClass.getClassifierID())
+		{
+<%for (GenClass genClass : genPackage.getGenClasses()) {%>
+<%if (!genClass.isAbstract()) {%>
+			case <%=genPackage.getImportedPackageInterfaceName()%>.<%=genClass.getClassifierID()%>: return <%=!genClass.isEObjectExtension() ? "(EObject)" : "" %>create<%=genClass.getName()%>();
+<%}%>
+<%}%>
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+		}
+	}
+
+<%if (!genPackage.getAllGenDataTypes().isEmpty()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	public Object createFromString(<%=genModel.getImportedName("org.eclipse.emf.ecore.EDataType")%> eDataType, String initialValue)
+	{
+		switch (eDataType.getClassifierID())
+		{
+<%for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {%>
+  <%if (genDataType.isSerializable()) {%>
+			case <%=genPackage.getImportedPackageInterfaceName()%>.<%=genDataType.getClassifierID()%>:
+				return create<%=genDataType.getName()%>FromString(eDataType, initialValue);
+  <%}%>
+<%}%>
+			default:
+				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	public String convertToString(<%=genModel.getImportedName("org.eclipse.emf.ecore.EDataType")%> eDataType, Object instanceValue)
+	{
+		switch (eDataType.getClassifierID())
+		{
+<%for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {%>
+  <%if (genDataType.isSerializable()) {%>
+			case <%=genPackage.getImportedPackageInterfaceName()%>.<%=genDataType.getClassifierID()%>:
+				return convert<%=genDataType.getName()%>ToString(eDataType, instanceValue);
+  <%}%>
+<%}%>
+			default:
+				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+		}
+	}
+
+<%}%>
+<%for (GenClass genClass : genPackage.getGenClasses()) {%>
+  <%if (!genClass.isAbstract()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+    <%if (genClass.hasAPITags()) {%>
+	 * <%=genClass.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
+<%if (isJDK50 && genClass.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+<%}%>
+<%if (useInterfaceOverrideAnnotation && !genClass.isMapEntry()) {%>
+	@Override
+<%}%>
+	public <%=genClass.getTypeParameters()%><%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceTypeArguments()%> create<%=genClass.getName()%>()
+	{
+    <%if (genClass.isDynamic()) {%>
+		<%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceTypeArguments()%> <%=genClass.getSafeUncapName()%> = <%=genClass.getCastFromEObject()%>super.create(<%=genClass.getQualifiedClassifierAccessor()%>);
+    <%} else {%>
+		<%=genClass.getImportedClassName()%><%=genClass.getClassTypeArguments()%> <%=genClass.getSafeUncapName()%> = new <%=genClass.getImportedClassName()%><%=genClass.getClassTypeArguments()%>()<%if (genModel.isSuppressInterfaces() && !genPackage.getReflectionPackageName().equals(genPackage.getInterfacePackageName())) {%>{}<%}%>;
+    <%}%>
+		return <%=genClass.getSafeUncapName()%>;
+	}
+
+  <%}%>
+<%}%>
+<%for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {%>
+  <%if (genDataType.isSerializable()) {%>
+<%if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) { String eDataType = genDataType.getQualifiedClassifierAccessor();%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+  <%if (genDataType.hasAPITags()) {%>
+	 * <%=genDataType.getAPITags(genModel.getIndentation(stringBuffer))%>
+  <%}%>
+	 * @generated
+	 */
+    <%if (genModel.useGenerics() && genDataType.isUncheckedCast() && !genDataType.hasCreatorBody()) {%>
+	@SuppressWarnings("unchecked")
+    <%}%>
+    <%if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+    <%}%>
+  <%if (genPackage.isDataTypeConverters() && useInterfaceOverrideAnnotation) {%>
+	@Override
+  <%}%>
+	public <%=genDataType.getImportedParameterizedInstanceClassName()%> create<%=genDataType.getName()%>(<%if (genDataType.hasCreatorBody()) {%>final <%}%>String <%if (genDataType.hasCreatorBody()) {%>it<%} else {%>literal<%}%>)
+	{
+    <%if (genDataType.hasCreatorBody()) {%>
+		<%=genDataType.getCreatorBody(genModel.getIndentation(stringBuffer))%>
+    <%} else if (genDataType instanceof GenEnum) {%>
+		<%=genDataType.getImportedInstanceClassName()%> result = <%=genDataType.getImportedInstanceClassName()%>.get(literal);
+		if (result == null) throw new IllegalArgumentException("The value '" + literal + "' is not a valid enumerator of '" + <%=eDataType%>.getName() + "'");<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%><%=genModel.getNonNLS(3)%>
+		return result;
+    <%} else if (genDataType.getBaseType() != null) { GenDataType genBaseType = genDataType.getBaseType(); boolean isPrimitiveConversion = !genDataType.isPrimitiveType() && genBaseType.isPrimitiveType();%>
+      <%if (genBaseType.getGenPackage() == genPackage) {%>
+        <%if (isPrimitiveConversion && !isJDK50) {%>
+		return new <%=genDataType.getObjectInstanceClassName()%>(create<%=genBaseType.getName()%>(literal));
+        <%} else {%>
+		return create<%=genBaseType.getName()%>(literal);
+        <%}%>
+      <%} else if (genBaseType.getGenPackage().isDataTypeConverters()) {%>
+        <%if (isPrimitiveConversion && !isJDK50) {%>
+		return new <%=genDataType.getObjectInstanceClassName()%>(<%=genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.create<%=genBaseType.getName()%>(literal));
+        <%} else {%>
+		return <%=genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.create<%=genBaseType.getName()%>(literal);
+        <%}%>
+      <%} else {%>
+		return <%if (!genDataType.isObjectType()) {%>(<%=genDataType.getObjectInstanceClassName()%>)<%}%><%=genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.createFromString(<%=genBaseType.getQualifiedClassifierAccessor()%>, literal);
+      <%}%>
+    <%} else if (genDataType.getItemType() != null) { GenDataType genItemType = genDataType.getItemType(); %>
+		if (literal == null) return null;
+		<%=genDataType.getImportedParameterizedInstanceClassName()%> result = new <%=genModel.getImportedName("java.util.ArrayList")%><%if (genModel.useGenerics()) {%><<%=genItemType.getObjectType().getImportedParameterizedInstanceClassName()%>><%}%>();
+      <%if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {%>
+		for (<%=genModel.getImportedName("java.util.StringTokenizer")%> stringTokenizer = new <%=genModel.getImportedName("java.util.StringTokenizer")%>(literal); stringTokenizer.hasMoreTokens(); )
+      <%} else {%>
+		for (String item : split(literal))
+      <%}%>
+		{
+      <%if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {%>
+			String item = stringTokenizer.nextToken();
+      <%}%>
+      <%if (genItemType.getGenPackage() == genPackage) {%>
+        <%if (genPackage.isDataTypeConverters()) { genItemType = genItemType.getObjectType();%>
+			result.add(create<%=genItemType.getName()%>(item));
+        <%} else {%>
+			result.add(create<%=genItemType.getName()%>FromString(<%=genItemType.getQualifiedClassifierAccessor()%>, item));
+        <%}%>
+      <%} else {%>
+        <%if (genItemType.getGenPackage().isDataTypeConverters()) { genItemType = genItemType.getObjectType();%>
+			result.add(<%=genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.create<%=genItemType.getName()%>(item));
+        <%} else {%>
+			result.add(<%=genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.createFromString(<%=genItemType.getQualifiedClassifierAccessor()%>, item));
+        <%}%>
+      <%}%>
+		}
+		return result;
+    <%} else if (!genDataType.getMemberTypes().isEmpty()) {%>
+		if (literal == null) return <%=genDataType.getStaticValue(null)%>;
+		<%=genDataType.getImportedInstanceClassName()%> result = <%=genDataType.getStaticValue(null)%>;
+		RuntimeException exception = null;
+      <%for (GenDataType genMemberType : genDataType.getMemberTypes()) {%>
+		try
+		{
+      <%if (genMemberType.getGenPackage() == genPackage) {%>
+        <%if (genPackage.isDataTypeConverters()) { if (!genDataType.isPrimitiveType()) genMemberType = genMemberType.getObjectType();%>
+			result = create<%=genMemberType.getName()%>(literal);
+        <%} else {%>
+			result = (<%=genDataType.getObjectInstanceClassName()%>)create<%=genMemberType.getName()%>FromString(<%=genMemberType.getQualifiedClassifierAccessor()%>, literal);
+        <%}%>
+      <%} else {%>
+        <%if (genPackage.isDataTypeConverters()) { if (!genDataType.isPrimitiveType()) genMemberType = genMemberType.getObjectType();%>
+			result = <%=genMemberType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.create<%=genMemberType.getName()%>(literal);
+        <%} else {%>
+			result = (<%=genDataType.getObjectInstanceClassName()%>)<%=genMemberType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.createFromString(<%=genMemberType.getQualifiedClassifierAccessor()%>, literal);
+        <%}%>
+      <%}%>
+			if (<%if (!genDataType.isPrimitiveType()) {%>result != null && <%}%><%=genModel.getImportedName("org.eclipse.emf.ecore.util.Diagnostician")%>.INSTANCE.validate(<%=eDataType%>, <%if (genDataType.isPrimitiveType() && !isJDK50) {%>new <%=genDataType.getObjectInstanceClassName()%>(result)<%} else {%>result<%}%>, null, null))
+			{
+				return result;
+			}
+		}
+		catch (RuntimeException e)
+		{
+			exception = e;
+		}
+      <%}%>
+		if (<%if (!genDataType.isPrimitiveType()) {%>result != null || <%}%>exception == null) return result;
+    
+		throw exception;
+    <%} else if (!genDataType.hasConversionDelegate() && genModel.useGenerics() && (genDataType.isArrayType() || !genDataType.getEcoreDataType().getETypeParameters().isEmpty() || genDataType.getEcoreDataType().getInstanceTypeName().contains("<"))) {%>
+		return (<%=genDataType.getImportedParameterizedObjectInstanceClassName()%>)super.createFromString(literal);
+    <%} else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {%>
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new <%=genModel.getImportedName("java.lang.UnsupportedOperationException")%>();
+    <%} else if (genDataType.isPrimitiveType() && !isJDK50) {%>
+		return ((<%=genDataType.getObjectInstanceClassName()%>)super.createFromString(<%=eDataType%>, literal)).<%=genDataType.getPrimitiveValueFunction()%>();
+    <%} else {%>
+		return <%if (!genDataType.isObjectType()) {%>(<%=genDataType.getImportedParameterizedObjectInstanceClassName()%>)<%}%>super.createFromString(<%=eDataType%>, literal);
+    <%}%>
+	}
+
+<%}%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+  <%if (genDataType.hasAPITags()) {%>
+	 * <%=genDataType.getAPITags(genModel.getIndentation(stringBuffer))%>
+  <%}%>
+	 * @generated
+	 */
+    <%if (!genPackage.isDataTypeConverters() && genModel.useGenerics() && genDataType.isUncheckedCast() && !genDataType.hasCreatorBody()) {%>
+	@SuppressWarnings("unchecked")
+    <%}%>
+    <%if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+    <%}%>
+	public <%=genDataType.getImportedParameterizedObjectInstanceClassName()%> create<%=genDataType.getName()%>FromString(<%=genModel.getImportedName("org.eclipse.emf.ecore.EDataType")%> eDataType, String initialValue)
+	{
+    <%if (genDataType instanceof GenEnum) {%>
+      <%if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {%>
+		return create<%=genDataType.getName()%>(initialValue);
+      <%} else {%>
+		<%=((GenEnum)genDataType).getImportedInstanceClassName()%> result = <%=((GenEnum)genDataType).getImportedInstanceClassName()%>.get(initialValue);
+		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%><%=genModel.getNonNLS(3)%>
+		return result;
+      <%}%>
+    <%} else if (genDataType.getBaseType() != null) { GenDataType genBaseType = genDataType.getBaseType(); %>
+      <%if (genBaseType.getGenPackage() == genPackage) {%>
+		return <%if (!genDataType.getObjectInstanceClassName().equals(genBaseType.getObjectInstanceClassName())) {%>(<%=genDataType.getObjectInstanceClassName()%>)<%}%>create<%=genBaseType.getName()%>FromString(<%=genBaseType.getQualifiedClassifierAccessor()%>, initialValue);
+      <%} else {%>
+		return <%if (!genDataType.isObjectType()) {%>(<%=genDataType.getObjectInstanceClassName()%>)<%}%><%=genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.createFromString(<%=genBaseType.getQualifiedClassifierAccessor()%>, initialValue);
+      <%}%>
+    <%} else if (genDataType.getItemType() != null) { GenDataType genItemType = genDataType.getItemType(); %>
+      <%if (genPackage.isDataTypeConverters()) {%>
+		return create<%=genDataType.getName()%>(initialValue);
+      <%} else {%>
+		if (initialValue == null) return null;
+		<%=genDataType.getImportedParameterizedObjectInstanceClassName()%> result = new <%=genModel.getImportedName("java.util.ArrayList")%><%if (genModel.useGenerics()) {%><<%=genItemType.getObjectType().getImportedParameterizedInstanceClassName()%>><%}%>();
+        <%if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {%>
+		for (<%=genModel.getImportedName("java.util.StringTokenizer")%> stringTokenizer = new <%=genModel.getImportedName("java.util.StringTokenizer")%>(initialValue); stringTokenizer.hasMoreTokens(); )
+        <%} else {%>
+		for (String item : split(initialValue))
+        <%}%>
+		{
+        <%if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {%>
+			String item = stringTokenizer.nextToken();
+        <%}%>
+      <%if (genItemType.getGenPackage() == genPackage) {%>
+			result.add(create<%=genItemType.getName()%>FromString(<%=genItemType.getQualifiedClassifierAccessor()%>, item));
+      <%} else {%>
+			result.add(<%if (!genItemType.isObjectType()) {%>(<%=genItemType.getObjectInstanceClassName()%>)<%}%><%=genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.createFromString(<%=genItemType.getQualifiedClassifierAccessor()%>, item));
+      <%}%>
+		}
+		return result;
+      <%}%>
+    <%} else if (!genDataType.getMemberTypes().isEmpty()) {%>
+      <%if (genPackage.isDataTypeConverters()) {%>
+        <%if (genDataType.isPrimitiveType() && !isJDK50) {%>
+		return new <%=genDataType.getObjectInstanceClassName()%>(create<%=genDataType.getName()%>(initialValue));
+        <%} else {%>
+		return create<%=genDataType.getName()%>(initialValue);
+        <%}%>
+      <%} else {%>
+		if (initialValue == null) return null;
+		<%=genDataType.getObjectInstanceClassName()%> result = null;
+		RuntimeException exception = null;
+      <%for (GenDataType genMemberType : genDataType.getMemberTypes()) {%>
+		try
+		{
+      <%if (genMemberType.getGenPackage() == genPackage) {%>
+			result = <%if (!genDataType.isObjectType() && !genDataType.getObjectInstanceClassName().equals(genMemberType.getObjectInstanceClassName())) {%>(<%=genDataType.getObjectInstanceClassName()%>)<%}%>create<%=genMemberType.getName()%>FromString(<%=genMemberType.getQualifiedClassifierAccessor()%>, initialValue);
+      <%} else {%>
+			result = <%if (!genDataType.isObjectType()) {%>(<%=genDataType.getObjectInstanceClassName()%>)<%}%><%=genMemberType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.createFromString(<%=genMemberType.getQualifiedClassifierAccessor()%>, initialValue);
+      <%}%>
+			if (result != null && <%=genModel.getImportedName("org.eclipse.emf.ecore.util.Diagnostician")%>.INSTANCE.validate(eDataType, result, null, null))
+			{
+				return result;
+			}
+		}
+		catch (RuntimeException e)
+		{
+			exception = e;
+		}
+      <%}%>
+		if (result != null || exception == null) return result;
+    
+		throw exception;
+      <%}%>
+    <%} else if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {%>
+		return create<%=genDataType.getName()%>(initialValue);
+    <%} else if (!genDataType.hasConversionDelegate() && genModel.useGenerics() && (genDataType.isArrayType() || !genDataType.getEcoreDataType().getETypeParameters().isEmpty() || genDataType.getEcoreDataType().getInstanceTypeName().contains("<"))) {%>
+		return <%if (!genDataType.isObjectType()) {%>(<%=genDataType.getImportedParameterizedObjectInstanceClassName()%>)<%}%>super.createFromString(initialValue);
+    <%} else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {%>
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new <%=genModel.getImportedName("java.lang.UnsupportedOperationException")%>();
+    <%} else {%>
+		return <%if (!genDataType.isObjectType()) {%>(<%=genDataType.getImportedParameterizedObjectInstanceClassName()%>)<%}%>super.createFromString(eDataType, initialValue);
+    <%}%>
+	}
+
+<%if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) { String eDataType = genDataType.getQualifiedClassifierAccessor();%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+  <%if (genDataType.hasAPITags()) {%>
+	 * <%=genDataType.getAPITags(genModel.getIndentation(stringBuffer))%>
+  <%}%>
+	 * @generated
+	 */
+  <%if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+  <%}%>
+  <%if (genPackage.isDataTypeConverters() && useInterfaceOverrideAnnotation) {%>
+	@Override
+  <%}%>
+	public String convert<%=genDataType.getName()%>(<%if (genDataType.hasCreatorBody()) {%>final <%}%><%=genDataType.getImportedBoundedWildcardInstanceClassName()%> <%if (genDataType.hasConverterBody()) {%>it<%} else {%>instanceValue<%}%>)
+	{
+    <%if (genDataType.hasConverterBody()) {%>
+		<%=genDataType.getConverterBody(genModel.getIndentation(stringBuffer))%>
+    <%} else if (genDataType instanceof GenEnum) {%>
+		return instanceValue == null ? null : instanceValue.toString();
+    <%} else if (genDataType.getBaseType() != null) { GenDataType genBaseType = genDataType.getBaseType(); boolean isPrimitiveConversion = !genDataType.isPrimitiveType() && genBaseType.isPrimitiveType();%>
+      <%if (genBaseType.getGenPackage() == genPackage) {%>
+        <%if (isPrimitiveConversion) {%>
+		return instanceValue == null ? null : convert<%=genBaseType.getName()%>(instanceValue<%if (!isJDK50) {%>.<%=genBaseType.getPrimitiveValueFunction()%>()<%}%>);
+        <%} else {%>
+		return convert<%=genBaseType.getName()%>(instanceValue);
+        <%}%>
+      <%} else if (genBaseType.getGenPackage().isDataTypeConverters()) {%>
+		return <%=genBaseType.getGenPackage().getQualifiedFactoryInstanceAccessor()%>.convert<%=genBaseType.getName()%>(instanceValue);
+      <%} else {%>
+		return <%=genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.convertToString(<%=genBaseType.getQualifiedClassifierAccessor()%>, instanceValue);
+      <%}%>
+    <%} else if (genDataType.getItemType() != null) { GenDataType genItemType = genDataType.getItemType(); %>
+		if (instanceValue == null) return null;
+		if (instanceValue.isEmpty()) return "";
+		<%=genModel.getImportedName(genModel.useGenerics() ? "java.lang.StringBuilder" : "java.lang.StringBuffer")%> result = new <%=genModel.getImportedName(genModel.useGenerics() ? "java.lang.StringBuilder" : "java.lang.StringBuffer")%>();
+        <%String item; if (!genModel.useGenerics()) { item = "i.next()"; %>
+		for (<%=genModel.getImportedName("java.util.Iterator")%> i = instanceValue.iterator(); i.hasNext(); )
+        <%} else { item = "item";%>
+		for (<%=genModel.getImportedName("java.lang.Object")%> item : instanceValue)
+        <%}%>
+		{
+      <%if (genItemType.getGenPackage() == genPackage) {%>
+        <%if (genPackage.isDataTypeConverters()) { genItemType = genItemType.getObjectType();%>
+			result.append(convert<%=genItemType.getName()%>((<%=genItemType.getObjectInstanceClassName()%>)<%=item%>));
+        <%} else {%>
+			result.append(convert<%=genItemType.getName()%>ToString(<%=genItemType.getQualifiedClassifierAccessor()%>, <%=item%>));
+        <%}%>
+      <%} else {%>
+        <%if (genItemType.getGenPackage().isDataTypeConverters()) { genItemType = genItemType.getObjectType();%>
+			result.append(<%=genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.convert<%=genItemType.getName()%>((<%=genItemType.getObjectInstanceClassName()%>)<%=item%>));
+        <%} else {%>
+			result.append(<%=genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.convertToString(<%=genItemType.getQualifiedClassifierAccessor()%>, <%=item%>));
+        <%}%>
+      <%}%>
+			result.append(' ');
+		}
+		return result.substring(0, result.length() - 1);
+    <%} else if (!genDataType.getMemberTypes().isEmpty()) {%>
+      <%if (!genDataType.isPrimitiveType()) {%>
+		if (instanceValue == null) return null;
+        <%for (GenDataType genMemberType : genDataType.getMemberTypes()) {%>
+		if (<%=genMemberType.getQualifiedClassifierAccessor()%>.isInstance(instanceValue))
+		{
+			try
+			{
+          <%if (genMemberType.getGenPackage() == genPackage) {%>
+            <%if (genPackage.isDataTypeConverters()) {%>
+              <%if (genMemberType.getQualifiedInstanceClassName().equals(genDataType.getQualifiedInstanceClassName())) {%>
+				String value = convert<%=genMemberType.getName()%>(instanceValue);
+              <%} else if (genMemberType.isPrimitiveType() && !isJDK50) {%>
+				String value = convert<%=genMemberType.getName()%>(((<%=genMemberType.getObjectType().getImportedInstanceClassName()%>)instanceValue).<%=genMemberType.getPrimitiveValueFunction()%>());
+              <%} else {%>
+				String value = convert<%=genMemberType.getName()%>((<%=genMemberType.getObjectType().getImportedBoundedWildcardInstanceClassName()%>)instanceValue);
+              <%}%>
+            <%} else {%>
+				String value = convert<%=genMemberType.getName()%>ToString(<%=genMemberType.getQualifiedClassifierAccessor()%>, instanceValue);
+            <%}%>
+          <%} else {%>
+            <%if (genMemberType.getGenPackage().isDataTypeConverters()) { genMemberType = genMemberType.getObjectType();%>
+				String value = <%=genMemberType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.convert<%=genMemberType.getName()%>((<%=genMemberType.getObjectInstanceClassName()%>)instanceValue);
+            <%} else {%>
+				String value = <%=genMemberType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.convertToString(<%=genMemberType.getQualifiedClassifierAccessor()%>, instanceValue);
+            <%}%>
+          <%}%>
+				if (value != null) return value;
+			}
+			catch (Exception e)
+			{
+				// Keep trying other member types until all have failed.
+			}
+		}
+        <%}%>
+      <%} else {%>
+        <%for (GenDataType genMemberType : genDataType.getMemberTypes()) {%>
+		try
+		{
+          <%if (genMemberType.getGenPackage() == genPackage) {%>
+            <%if (genPackage.isDataTypeConverters()) {%>
+			String value = convert<%=genMemberType.getName()%>(instanceValue);
+            <%} else {%>
+			String value = convert<%=genMemberType.getName()%>ToString(<%=genMemberType.getQualifiedClassifierAccessor()%>, <%if (!isJDK50) {%>new <%=genMemberType.getObjectInstanceClassName()%>(instanceValue)<%} else {%>instanceValue<%}%>);
+            <%}%>
+          <%} else {%>
+            <%if (genMemberType.getGenPackage().isDataTypeConverters()) {%>
+			String value = <%=genMemberType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.convert<%=genMemberType.getName()%>(instanceValue);
+            <%} else {%>
+			String value = <%=genMemberType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.convertToString(<%=genMemberType.getQualifiedClassifierAccessor()%>, <%if (!isJDK50) {%>new <%=genMemberType.getObjectInstanceClassName()%>(instanceValue)<%} else {%>instanceValue<%}%>);
+            <%}%>
+          <%}%>
+			if (value != null) return value;
+		}
+		catch (Exception e)
+		{
+			// Keep trying other member types until all have failed.
+		}
+        <%}%>
+      <%}%>
+		throw new IllegalArgumentException("Invalid value: '"+instanceValue+"' for datatype :"+<%=eDataType%>.getName());
+    <%} else if (!genDataType.hasConversionDelegate() && genModel.useGenerics() && (genDataType.isArrayType() || !genDataType.getEcoreDataType().getETypeParameters().isEmpty() || genDataType.getEcoreDataType().getInstanceTypeName().contains("<"))) {%>
+		return super.convertToString(instanceValue);
+    <%} else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {%>
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new <%=genModel.getImportedName("java.lang.UnsupportedOperationException")%>();
+    <%} else if (genDataType.isPrimitiveType() && !isJDK50) {%>
+		return super.convertToString(<%=eDataType%>, new <%=genDataType.getObjectInstanceClassName()%>(instanceValue));
+    <%} else {%>
+		return super.convertToString(<%=eDataType%>, instanceValue);
+    <%}%>
+	}
+
+<%}%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+  <%if (genDataType.hasAPITags()) {%>
+	 * <%=genDataType.getAPITags(genModel.getIndentation(stringBuffer))%>
+  <%}%>
+	 * @generated
+	 */
+    <%if (genModel.useGenerics() && (genDataType.getItemType() != null || genDataType.isUncheckedCast()) && (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody())) {%>
+	@SuppressWarnings("unchecked")
+    <%}%>
+  <%if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+  <%}%>
+	public String convert<%=genDataType.getName()%>ToString(<%=genModel.getImportedName("org.eclipse.emf.ecore.EDataType")%> eDataType, Object instanceValue)
+	{
+    <%if (genDataType instanceof GenEnum) {%>
+      <%if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {%>
+		return convert<%=genDataType.getName()%>((<%=genDataType.getImportedInstanceClassName()%>)instanceValue);
+      <%} else {%>
+		return instanceValue == null ? null : instanceValue.toString();
+      <%}%>
+    <%} else if (genDataType.getBaseType() != null) { GenDataType genBaseType = genDataType.getBaseType(); %>
+      <%if (genBaseType.getGenPackage() == genPackage) {%>
+		return convert<%=genBaseType.getName()%>ToString(<%=genBaseType.getQualifiedClassifierAccessor()%>, instanceValue);
+      <%} else {%>
+		return <%=genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.convertToString(<%=genBaseType.getQualifiedClassifierAccessor()%>, instanceValue);
+      <%}%>
+    <%} else if (genDataType.getItemType() != null) { GenDataType genItemType = genDataType.getItemType(); %>
+      <%if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {%>
+		return convert<%=genDataType.getName()%>((<%=genDataType.getImportedBoundedWildcardInstanceClassName()%>)instanceValue);
+      <%} else { final String singleWildcard = genModel.useGenerics() ? "<?>" : "";%>
+		if (instanceValue == null) return null;
+		<%=genModel.getImportedName("java.util.List")%><%=singleWildcard%> list = (<%=genModel.getImportedName("java.util.List")%><%=singleWildcard%>)instanceValue;
+		if (list.isEmpty()) return "";
+		<%=genModel.getImportedName("java.lang.StringBuffer")%> result = new <%=genModel.getImportedName("java.lang.StringBuffer")%>();
+        <%String item; if (!genModel.useGenerics()) { item = "i.next()"; %>
+		for (<%=genModel.getImportedName("java.util.Iterator")%> i = list.iterator(); i.hasNext(); )
+        <%} else { item = "item";%>
+		for (<%=genModel.getImportedName("java.lang.Object")%> item : list)
+        <%}%>
+		{
+        <%if (genItemType.getGenPackage() == genPackage) {%>
+			result.append(convert<%=genItemType.getName()%>ToString(<%=genItemType.getQualifiedClassifierAccessor()%>, <%=item%>));
+        <%} else {%>
+			result.append(<%=genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.convertToString(<%=genItemType.getQualifiedClassifierAccessor()%>, <%=item%>));
+        <%}%>
+			result.append(' ');
+		}
+		return result.substring(0, result.length() - 1);
+      <%}%>
+    <%} else if (!genDataType.getMemberTypes().isEmpty()) {%>
+      <%if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {%>
+        <%if (genDataType.isPrimitiveType()) {%>
+		return instanceValue == null ? null : convert<%=genDataType.getName()%>(((<%=genDataType.getObjectInstanceClassName()%>)instanceValue)<%if (!isJDK50) {%>.<%=genDataType.getPrimitiveValueFunction()%>()<%}%>);
+        <%} else {%>
+		return convert<%=genDataType.getName()%>(instanceValue);
+        <%}%>
+      <%} else {%>
+		if (instanceValue == null) return null;
+        <%for (GenDataType genMemberType : genDataType.getMemberTypes()) {%>
+		if (<%=genMemberType.getQualifiedClassifierAccessor()%>.isInstance(instanceValue))
+		{
+			try
+			{
+        <%if (genMemberType.getGenPackage() == genPackage) {%>
+				String value = convert<%=genMemberType.getName()%>ToString(<%=genMemberType.getQualifiedClassifierAccessor()%>, instanceValue);
+        <%} else {%>
+				String value = <%=genMemberType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.convertToString(<%=genMemberType.getQualifiedClassifierAccessor()%>, instanceValue);
+        <%}%>
+				if (value != null) return value;
+			}
+			catch (Exception e)
+			{
+				// Keep trying other member types until all have failed.
+			}
+		}
+        <%}%>
+		throw new IllegalArgumentException("Invalid value: '"+instanceValue+"' for datatype :"+eDataType.getName());
+      <%}%>
+    <%} else if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {%>
+        <%if (genDataType.isPrimitiveType()) {%>
+		return instanceValue == null ? null : convert<%=genDataType.getName()%>(<%if (!isJDK50) {%>(<%}%>(<%=genDataType.getObjectInstanceClassName()%>)instanceValue<%if (!isJDK50) {%>).<%=genDataType.getPrimitiveValueFunction()%>()<%}%>);
+        <%} else {%>
+		return convert<%=genDataType.getName()%>((<%=genDataType.getImportedBoundedWildcardInstanceClassName()%>)instanceValue);
+        <%}%>
+    <%} else if (!genDataType.hasConversionDelegate() && genModel.useGenerics() && (genDataType.isArrayType() || !genDataType.getEcoreDataType().getETypeParameters().isEmpty() || genDataType.getEcoreDataType().getInstanceTypeName().contains("<"))) {%>
+		return super.convertToString(instanceValue);
+    <%} else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {%>
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new <%=genModel.getImportedName("java.lang.UnsupportedOperationException")%>();
+    <%} else {%>
+		return super.convertToString(eDataType, instanceValue);
+    <%}%>
+	}
+
+  <%}%>
+<%}%>
+<%} else {%>
+  <%for (GenClass genClass : genPackage.getGenClasses()) {%>
+    <%if (genClass.hasFactoryInterfaceCreateMethod()) {%>
+	/**
+	 * Returns a new object of class '<em><%=genClass.getFormattedName()%></em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em><%=genClass.getFormattedName()%></em>'.
+      <%if (genClass.hasAPITags()) {%>
+	 * <%=genClass.getAPITags(genModel.getIndentation(stringBuffer))%>
+      <%}%>
+	 * @generated
+	 */
+<%if (isJDK50 && genClass.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+<%}%>
+	<%=genClass.getTypeParameters()%><%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceTypeArguments()%> create<%=genClass.getName()%>();
+
+    <%}%>
+  <%}%>
+  <%if (genPackage.isDataTypeConverters()) {%>
+    <%for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {%>
+      <%if (genDataType.isSerializable()) {%>
+	/**
+	 * Returns an instance of data type '<em><%=genDataType.getFormattedName()%></em>' corresponding the given literal.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param literal a literal of the data type.
+	 * @return a new instance value of the data type.
+  <%if (genDataType.hasAPITags()) {%>
+	 * <%=genDataType.getAPITags(genModel.getIndentation(stringBuffer))%>
+  <%}%>
+	 * @generated
+	 */
+  <%if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+  <%}%>
+	<%=genDataType.getImportedParameterizedInstanceClassName()%> create<%=genDataType.getName()%>(String literal);
+
+	/**
+	 * Returns a literal representation of an instance of data type '<em><%=genDataType.getFormattedName()%></em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param instanceValue an instance value of the data type.
+	 * @return a literal representation of the instance value.
+  <%if (genDataType.hasAPITags()) {%>
+	 * <%=genDataType.getAPITags(genModel.getIndentation(stringBuffer))%>
+  <%}%>
+	 * @generated
+	 */
+  <%if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+  <%}%>
+	String convert<%=genDataType.getName()%>(<%=genDataType.getImportedBoundedWildcardInstanceClassName()%> instanceValue);
+
+      <%}%>
+    <%}%>
+  <%}%>
+<%}%>
+<%if (!isImplementation && !genModel.isSuppressEMFMetaData()) {%>
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	<%=genPackage.getPackageInterfaceName()%> get<%=genPackage.getBasicPackageName()%>();
+
+<%} else if (isImplementation) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+ <%if (useInterfaceOverrideAnnotation && !genModel.isSuppressEMFMetaData()) {%>
+	@Override
+ <%}%>
+	public <%=genPackage.getImportedPackageInterfaceName()%> get<%=genPackage.getBasicPackageName()%>()
+	{
+		return (<%=genPackage.getImportedPackageInterfaceName()%>)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Deprecated
+  <%}%>
+	public static <%=genPackage.getImportedPackageInterfaceName()%> getPackage()
+	{
+		return <%=genPackage.getImportedPackageInterfaceName()%>.eINSTANCE;
+	}
+
+<%}%>
+} //<%=isInterface ? genPackage.getFactoryInterfaceName() : genPackage.getFactoryClassName()%>
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._StZU2GKPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._StZU2GKPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..b9705be
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._StZU2GKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenPackage genPackage = parameter;
+argument = ((Object[]) new Object[]{new Object[]{genPackage,genPackage.getGenModel().isSuppressInterfaces() ? Boolean.TRUE : Boolean.FALSE,Boolean.TRUE}})[0];
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._08Xm-WKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._08Xm-WKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..24cd6fc
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._08Xm-WKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel, GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._9Kva1HLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._9Kva1HLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..15c07fb
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._9Kva1HLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EEjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EEjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EEjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EEzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EEzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EEzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EFTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EFTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EFTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EFzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EFzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e33395b
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EFzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenClass genClass = parameter;
+targetPath = genClass.getGenModel().getModelDirectory();
+packageName = genClass.getGenPackage().getInterfacePackageName();
+className = genClass.getInterfaceName();
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EGTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EGTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..56d4bbd
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EGTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,989 @@
+
+<%
+/**
+ * Copyright (c) 2002-2019 IBM Corporation and others.
+ * All rights reserved.   This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ *   IBM - Initial API and implementation
+ *   Alexander Fedorov <alexander.fedorov@arsysop.ru> - Bug 546714
+ */
+%>
+<%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 useInterfaceOverrideAnnotation = genModel.useInterfaceOverrideAnnotation() && !(isInterface && isImplementation);%>
+<%final boolean isGWT = genModel.getRuntimePlatform() == GenRuntimePlatform.GWT;%>
+<%final boolean forceDefaultCase = genModel.isSwitchMissingDefaultCase();final String indentDefaultCase = forceDefaultCase ? "\t\t" : "";%>
+<%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" : "";%>
+<%@ 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"%>
+<%if (isInterface) {%>
+package <%=genPackage.getInterfacePackageName()%>;
+<%} else {%>
+package <%=genPackage.getClassPackageName()%>;
+<%}%>
+
+<%genModel.markImportLocation(stringBuffer, genPackage);%>
+<%if (isImplementation) { genClass.addClassPsuedoImports(); }%>
+
+<%if (isInterface) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/interface.javadoc.override.javajetinc%>
+<%} else {%>
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b><%=genClass.getFormattedName()%></b></em>'.
+ * <!-- end-user-doc -->
+<%if (!genClass.getImplementedGenFeatures().isEmpty()) {%>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+<%for (GenFeature genFeature : genClass.getImplementedGenFeatures()) {%>
+ *   <li>{@link <%=genClass.getQualifiedClassName()%>#<%=genFeature.getGetAccessor()%> <em><%=genFeature.getFormattedName()%></em>}</li>
+<%}%>
+ * </ul>
+<%}%>
+ *
+<%if (genClass.hasImplicitAPITags()) {%>
+ * <%=genClass.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%}%>
+<%if (isJDK50 && genClass.hasImplicitAPIDeprecatedTag()) {%>
+@Deprecated
+<%}%>
+<%if (isImplementation) {%>
+<%if (isJDK50 && !genClass.hasAPIDeprecatedTag() && GenModelUtil.hasImplicitAPIDeprecatedTag(genClass.getEGetGenFeatures(), genClass.getEIsSetGenFeatures(), genClass.getESetGenFeatures(), genClass.getEUnsetGenFeatures(), genClass.getEInverseAddGenFeatures(), genClass.getEInverseRemoveGenFeatures(), genClass.getEBasicRemoveFromContainerGenFeatures(), genClass.getToStringGenFeatures())) {%>
+@SuppressWarnings("deprecation")
+<%}%>
+public<%if (genClass.isAbstract()) {%> abstract<%}%> class <%=genClass.getClassName()%><%=genClass.getTypeParameters().trim()%><%=genClass.getClassExtends()%><%=genClass.getClassImplements()%>
+<%} else {%>
+public interface <%=genClass.getInterfaceName()%><%=genClass.getTypeParameters().trim()%><%=genClass.getInterfaceExtends()%>
+<%}%>
+{
+<%if (genModel.hasCopyrightField()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	<%=publicStaticFinalFlag%><%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+<%if (isImplementation && genModel.getDriverNumber() != null) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final <%=genModel.getImportedName("java.lang.String")%> mofDriverNumber = "<%=genModel.getDriverNumber()%>";<%=genModel.getNonNLS()%>
+
+<%}%>
+<%if (isImplementation && genClass.isJavaIOSerializable()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final long serialVersionUID = 1L;
+
+<%}%>
+<%if (isImplementation && genModel.isVirtualDelegation()) { String eVirtualValuesField = genClass.getEVirtualValuesField();%>
+  <%if (eVirtualValuesField != null) {%>
+	/**
+	 * An array of objects representing the values of non-primitive features.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+      <%if (isGWT) {%>
+	@<%=genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient")%>
+      <%}%>
+	protected Object[] <%=eVirtualValuesField%>;
+
+  <%}%>
+  <%{ List<String> eVirtualIndexBitFields = genClass.getEVirtualIndexBitFields(new ArrayList<String>());%>
+    <%if (!eVirtualIndexBitFields.isEmpty()) {%>
+      <%for (String eVirtualIndexBitField : eVirtualIndexBitFields) {%>
+	/**
+	 * A bit field representing the indices of non-primitive feature values.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+      <%if (isGWT) {%>
+	@<%=genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient")%>
+      <%}%>
+	protected int <%=eVirtualIndexBitField%>;
+
+      <%}%>
+    <%}%>
+  <%}%>
+<%}%>
+<%if (isImplementation && genClass.isModelRoot() && genModel.isBooleanFlagsEnabled() && genModel.getBooleanFlagsReservedBits() == -1) {%>
+	/**
+	 * A set of bit flags representing the values of boolean attributes and whether unsettable features have been set.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+      <%if (isGWT) {%>
+	@<%=genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient")%>
+      <%}%>
+	protected int <%=genModel.getBooleanFlagsField()%> = 0;
+
+<%}%>
+<%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); } %>
+	/**
+	 * The empty value for the '{@link #<%=genFeature.getGetArrayAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}' array accessor.
+	 * This is specialized for the more specific element type known in this context.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #<%=genFeature.getGetArrayAccessor()%>()
+       <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+       <%}%>
+	 * @generated
+	 * @ordered
+	 */
+        <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+        <%}%>
+        <%if (genFeature.getQualifiedListItemType(genClass).contains("<") || genFeature.getArrayItemType(genClass).contains("<")) {%>
+	@SuppressWarnings("rawtypes")
+        <%}%>
+	protected static final <%=rawListItemType%>[] <%=genFeature.getUpperName()%>_EEMPTY_ARRAY = new <%=head%> [0]<%=tail%>;
+
+      <%}%>
+  <%}%>
+  <%for (GenFeature genFeature : genClass.getDeclaredFieldGenFeatures()) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/declaredFieldGenFeature.override.javajetinc%>
+  <%}%>
+<%}%>
+<%if (isImplementation && genClass.hasOffsetCorrection() && !genClass.getImplementedGenFeatures().isEmpty()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final int <%=genClass.getOffsetCorrectionField(null)%> = <%=genClass.getQualifiedClassifierAccessor()%>.getFeatureID(<%=genClass.getImplementedGenFeatures().get(0).getQualifiedFeatureAccessor()%>) - <%=genClass.getQualifiedFeatureID(genClass.getImplementedGenFeatures().get(0))%>;
+
+<%}%>
+<%if (isImplementation && !genModel.isReflectiveDelegation()) {%>
+  <%for (GenFeature genFeature : genClass.getImplementedGenFeatures()) { GenFeature reverseFeature = genFeature.getReverse();%>
+    <%if (reverseFeature != null && reverseFeature.getGenClass().hasOffsetCorrection()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+       <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+       <%}%>
+	 * @generated
+	 */
+        <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+        <%}%>
+	private static final int <%=genClass.getOffsetCorrectionField(genFeature)%> = <%=reverseFeature.getGenClass().getQualifiedClassifierAccessor()%>.getFeatureID(<%=reverseFeature.getQualifiedFeatureAccessor()%>) - <%=reverseFeature.getGenClass().getQualifiedFeatureID(reverseFeature)%>;
+
+    <%}%>
+  <%}%>
+<%}%>
+<%if (genModel.isOperationReflection() && isImplementation && genClass.hasOffsetCorrection() && !genClass.getImplementedGenOperations().isEmpty()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final int EOPERATION_OFFSET_CORRECTION = <%=genClass.getQualifiedClassifierAccessor()%>.getOperationID(<%=genClass.getImplementedGenOperations().get(0).getQualifiedOperationAccessor()%>) - <%=genClass.getQualifiedOperationID(genClass.getImplementedGenOperations().get(0))%>;
+
+<%}%>
+<%if (isImplementation) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	<%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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+  <%for (GenFeature genFeature : genClass.getFlagGenFeaturesWithDefault()) {%>
+		<%=genClass.getFlagsField(genFeature)%> |= <%=genFeature.getUpperName()%>_EFLAG<%if (!genFeature.isBooleanType()) {%>_DEFAULT<%}%>;
+  <%}%>
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	protected <%=genModel.getImportedName("org.eclipse.emf.ecore.EClass")%> eStaticClass()
+	{
+		return <%=genClass.getQualifiedClassifierAccessor()%>;
+	}
+
+<%}%>
+<%if (isImplementation && genModel.isDynamicDelegation()) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.dynamicDelegation" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//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()) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/genFeatureReified.override.javajetinc%>
+<%}}}.run();}%>
+<%new Runnable() { public void run() {%>
+<%for (GenFeature genFeature : (isImplementation ? genClass.getImplementedGenFeatures() : genClass.getDeclaredGenFeatures())) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/genFeature.override.javajetinc%>
+<%}//for%>
+<%}}.run();%>
+<%for (GenOperation genOperation : (isImplementation ? genClass.getImplementedGenOperations() : genClass.getDeclaredGenOperations())) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/implementedGenOperation.override.javajetinc%>
+<%}//for%>
+<%if (isImplementation && !genModel.isReflectiveDelegation() && genClass.implementsAny(genClass.getEInverseAddGenFeatures())) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useGenerics()) {%>
+    <%for (GenFeature genFeature : genClass.getEInverseAddGenFeatures()) {%>
+      <%if (genFeature.isUncheckedCast(genClass)) {%>
+	@SuppressWarnings("unchecked")
+      <%break; }%>
+    <%}%>
+  <%}%>
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	public <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> eInverseAdd(<%=genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject")%> otherEnd, int featureID, <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs)
+	{
+		switch (featureID<%=negativeOffsetCorrection%>)
+		{
+<%for (GenFeature genFeature : genClass.getEInverseAddGenFeatures()) {%>
+			case <%=genClass.getQualifiedFeatureID(genFeature)%>:
+  <%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()) {%>
+				return ((<%=cast%>(<%=genModel.getImportedName("org.eclipse.emf.common.util.EMap")%>.InternalMapView<%=genFeature.getImportedMapTemplateArguments(genClass)%>)<%=genFeature.getGetAccessor()%>()).eMap()).basicAdd(otherEnd, msgs);
+    <%} else {%>
+				return (<%=cast%><%=genFeature.getGetAccessor()%>()).basicAdd(otherEnd, msgs);
+    <%}%>
+  <%} else if (genFeature.isContainer()) {%>
+				if (eInternalContainer() != null)
+					msgs = eBasicRemoveFromContainer(msgs);
+    <%if (genFeature.isBasicSet()) {%>
+				return basicSet<%=genFeature.getAccessorName()%>((<%=genFeature.getImportedType(genClass)%>)otherEnd, msgs);
+    <%} else {%>
+				return eBasicSetContainer(otherEnd, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, msgs);
+    <%}%>
+  <%} else {%>
+    <%if (genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {%>
+				<%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+    <%} else if (genFeature.isVolatile() || genClass.getImplementingGenModel(genFeature).isDynamicDelegation()) {%>
+				<%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = <%if (genFeature.isResolveProxies()) {%>basicGet<%=genFeature.getAccessorName()%><%} else {%><%=genFeature.getGetAccessor()%><%}%>();
+    <%}%>
+				if (<%=genFeature.getSafeName()%> != null)
+    <%if (genFeature.isEffectiveContains()) {%>
+					msgs = <%=genFeature.getAsInternalEObject(genFeature.getSafeName(), true)%>.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - <%=genClass.getQualifiedFeatureID(genFeature)%><%=negativeOffsetCorrection%>, null, msgs);
+    <%} else { GenFeature reverseFeature = genFeature.getReverse(); GenClass targetClass = reverseFeature.getGenClass(); String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(genFeature) : "";%>
+					msgs = <%=genFeature.getAsInternalEObject(genFeature.getSafeName(), true)%>.eInverseRemove(this, <%=targetClass.getQualifiedFeatureID(reverseFeature)%><%=reverseOffsetCorrection%>, <%=targetClass.getRawImportedInterfaceName()%>.class, msgs);
+    <%}%>
+				return basicSet<%=genFeature.getAccessorName()%>((<%=genFeature.getImportedType(genClass)%>)otherEnd, msgs);
+  <%}%>
+<%}%>
+<%if (forceDefaultCase) {%>
+			default:
+<%} else {%>
+		}
+<%}%>
+<%if (genModel.isMinimalReflectiveMethods()) {%>
+<%=indentDefaultCase%>		return super.eInverseAdd(otherEnd, featureID, msgs);
+<%} else {%>
+<%=indentDefaultCase%>		return eDynamicInverseAdd(otherEnd, featureID, msgs);
+<%}%>
+<%if (forceDefaultCase) {%>
+		}
+<%}%>
+	}
+
+<%}%>
+<%if (isImplementation && !genModel.isReflectiveDelegation() && genClass.implementsAny(genClass.getEInverseRemoveGenFeatures())) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	public <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> eInverseRemove(<%=genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject")%> otherEnd, int featureID, <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs)
+	{
+		switch (featureID<%=negativeOffsetCorrection%>)
+		{
+<%for (GenFeature genFeature : genClass.getEInverseRemoveGenFeatures()) {%>
+			case <%=genClass.getQualifiedFeatureID(genFeature)%>:
+  <%if (genFeature.isListType()) {%>
+    <%if (genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes()) {%>
+				return ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList")%><%=singleWildcard%>)((<%=genModel.getImportedName("org.eclipse.emf.common.util.EMap")%>.InternalMapView<%=genFeature.getImportedMapTemplateArguments(genClass)%>)<%=genFeature.getGetAccessor()%>()).eMap()).basicRemove(otherEnd, msgs);
+    <%} else if (genFeature.isWrappedFeatureMapType()) {%>
+				return ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList")%><%=singleWildcard%>)((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)<%=genFeature.getGetAccessor()%>()).featureMap()).basicRemove(otherEnd, msgs);
+    <%} else {%>
+				return ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList")%><%=singleWildcard%>)<%=genFeature.getGetAccessor()%>()).basicRemove(otherEnd, msgs);
+    <%}%>
+  <%} else if (genFeature.isContainer() && !genFeature.isBasicSet()) {%>
+				return eBasicSetContainer(null, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, msgs);
+  <%} else if (genFeature.isUnsettable()) {%>
+				return basicUnset<%=genFeature.getAccessorName()%>(msgs);
+  <%} else {%>
+				return basicSet<%=genFeature.getAccessorName()%>(null, msgs);
+  <%}%>
+<%}%>
+<%if (forceDefaultCase) {%>
+			default:
+<%} else { // {%>
+		}
+<%}%>
+<%if (genModel.isMinimalReflectiveMethods()) {%>
+<%=indentDefaultCase%>		return super.eInverseRemove(otherEnd, featureID, msgs);
+<%} else {%>
+<%=indentDefaultCase%>		return eDynamicInverseRemove(otherEnd, featureID, msgs);
+<%}%>
+<%if (forceDefaultCase) { // {%>
+		}
+<%} // }%>
+	}
+
+<%}%>
+<%if (isImplementation && !genModel.isReflectiveDelegation() && genClass.implementsAny(genClass.getEBasicRemoveFromContainerGenFeatures())) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	public <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> eBasicRemoveFromContainerFeature(<%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs)
+	{
+		switch (eContainerFeatureID()<%=negativeOffsetCorrection%>)
+		{
+<%for (GenFeature genFeature : genClass.getEBasicRemoveFromContainerGenFeatures()) {%>
+  <%GenFeature reverseFeature = genFeature.getReverse(); GenClass targetClass = reverseFeature.getGenClass(); String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(genFeature) : "";%>
+			case <%=genClass.getQualifiedFeatureID(genFeature)%>:
+				return eInternalContainer().eInverseRemove(this, <%=targetClass.getQualifiedFeatureID(reverseFeature)%><%=reverseOffsetCorrection%>, <%=targetClass.getRawImportedInterfaceName()%>.class, msgs);
+<%}%>
+<%if (forceDefaultCase) {%>
+			default:
+<%} else { // {%>
+		}
+<%}%>
+<%if (genModel.isMinimalReflectiveMethods()) {%>
+<%=indentDefaultCase%>		return super.eBasicRemoveFromContainerFeature(msgs);
+<%} else {%>
+<%=indentDefaultCase%>		return eDynamicBasicRemoveFromContainer(msgs);
+<%}%>
+<%if (forceDefaultCase) { // {%>
+		}
+<%} // }%>
+	}
+
+<%}%>
+<%if (isImplementation && !genModel.isReflectiveDelegation() && genClass.implementsAny(genClass.getEGetGenFeatures())) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	public Object eGet(int featureID, boolean resolve, boolean coreType)
+	{
+		switch (featureID<%=negativeOffsetCorrection%>)
+		{
+<%for (GenFeature genFeature : genClass.getEGetGenFeatures()) {%>
+			case <%=genClass.getQualifiedFeatureID(genFeature)%>:
+  <%if (genFeature.isPrimitiveType()) {%>
+    <%if (isJDK50) {%>
+				return <%=genFeature.getGetAccessor()%>();
+    <%} else if (genFeature.isBooleanType()) {%>
+				return <%=genFeature.getGetAccessor()%>() ? Boolean.TRUE : Boolean.FALSE;
+    <%} else {%>
+				return new <%=genFeature.getObjectType(genClass)%>(<%=genFeature.getGetAccessor()%>());
+    <%}%>
+  <%} else if (genFeature.isResolveProxies() && !genFeature.isListType()) {%>
+				if (resolve) return <%=genFeature.getGetAccessor()%>();
+				return basicGet<%=genFeature.getAccessorName()%>();
+  <%} else if (genFeature.isMapType()) {%>
+    <%if (genFeature.isEffectiveSuppressEMFTypes()) {%>
+				if (coreType) return ((<%=genModel.getImportedName("org.eclipse.emf.common.util.EMap")%>.InternalMapView<%=genFeature.getImportedMapTemplateArguments(genClass)%>)<%=genFeature.getGetAccessor()%>()).eMap();
+				else return <%=genFeature.getGetAccessor()%>();
+    <%} else {%>
+				if (coreType) return <%=genFeature.getGetAccessor()%>();
+				else return <%=genFeature.getGetAccessor()%>().map();
+    <%}%>
+  <%} else if (genFeature.isWrappedFeatureMapType()) {%>
+				if (coreType) return ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)<%=genFeature.getGetAccessor()%>()).featureMap();
+				return <%=genFeature.getGetAccessor()%>();
+  <%} else if (genFeature.isFeatureMapType()) {%>
+				if (coreType) return <%=genFeature.getGetAccessor()%>();
+				return ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)<%=genFeature.getGetAccessor()%>()).getWrapper();
+  <%} else {%>
+				return <%=genFeature.getGetAccessor()%>();
+  <%}%>
+<%}%>
+<%if (forceDefaultCase) {%>
+			default:
+<%} else { // {%>
+		}
+<%}%>
+<%if (genModel.isMinimalReflectiveMethods()) {%>
+<%=indentDefaultCase%>		return super.eGet(featureID, resolve, coreType);
+<%} else {%>
+<%=indentDefaultCase%>		return eDynamicGet(featureID, resolve, coreType);
+<%}%>
+<%if (forceDefaultCase) { // {%>
+		}
+<%} // }%>
+	}
+
+<%}%>
+<%if (isImplementation && !genModel.isReflectiveDelegation() && genClass.implementsAny(genClass.getESetGenFeatures())) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useGenerics()) {%>
+    <%for (GenFeature genFeature : genClass.getESetGenFeatures()) {%>
+      <%if (genFeature.isUncheckedCast(genClass) && !genFeature.isFeatureMapType() && !genFeature.isMapType()) {%>
+	@SuppressWarnings("unchecked")
+      <%break; }%>
+    <%}%>
+  <%}%>
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	public void eSet(int featureID, Object newValue)
+	{
+		switch (featureID<%=negativeOffsetCorrection%>)
+		{
+  <%for (GenFeature genFeature : genClass.getESetGenFeatures()) {%>
+			case <%=genClass.getQualifiedFeatureID(genFeature)%>:
+    <%if (genFeature.isListType()) {%>
+      <%if (genFeature.isWrappedFeatureMapType()) {%>
+				((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)<%=genFeature.getGetAccessor()%>()).featureMap()).set(newValue);
+      <%} else if (genFeature.isFeatureMapType()) {%>
+				((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)<%=genFeature.getGetAccessor()%>()).set(newValue);
+      <%} else if (genFeature.isMapType()) {%>
+        <%if (genFeature.isEffectiveSuppressEMFTypes()) {%>
+				((<%=genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature")%>.Setting)((<%=genModel.getImportedName("org.eclipse.emf.common.util.EMap")%>.InternalMapView<%=genFeature.getImportedMapTemplateArguments(genClass)%>)<%=genFeature.getGetAccessor()%>()).eMap()).set(newValue);
+        <%} else {%>
+				((<%=genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature")%>.Setting)<%=genFeature.getGetAccessor()%>()).set(newValue);
+        <%}%>
+      <%} else {%>
+				<%=genFeature.getGetAccessor()%>().clear();
+				<%=genFeature.getGetAccessor()%>().addAll((<%=genModel.getImportedName("java.util.Collection")%><%if (isJDK50) {%><? extends <%=genFeature.getListItemType(genClass)%>><%}%>)newValue);
+      <%}%>
+    <%} else if (!isJDK50 && genFeature.isPrimitiveType()) {%>
+				set<%=genFeature.getAccessorName()%>(((<%=genFeature.getObjectType(genClass)%>)newValue).<%=genFeature.getPrimitiveValueFunction()%>());
+    <%} else {%>
+				set<%=genFeature.getAccessorName()%>(<%if (genFeature.getTypeGenDataType() == null || !genFeature.getTypeGenDataType().isObjectType() || !genFeature.getRawType().equals(genFeature.getType(genClass))) {%>(<%=genFeature.getObjectType(genClass)%>)<%}%>newValue);
+    <%}%>
+				return;
+  <%}%>
+<%if (forceDefaultCase) {%>
+			default:
+<%} else { // {%>
+		}
+<%}%>
+  <%if (genModel.isMinimalReflectiveMethods()) {%>
+<%=indentDefaultCase%>		super.eSet(featureID, newValue);
+<%if (forceDefaultCase) {%>
+				return;
+<%}%>
+  <%} else {%>
+<%=indentDefaultCase%>		eDynamicSet(featureID, newValue);
+<%if (forceDefaultCase) {%>
+				return;
+<%}%>
+  <%}%>
+<%if (forceDefaultCase) { // {%>
+		}
+<%} // }%>
+	}
+
+<%}%>
+<%if (isImplementation && !genModel.isReflectiveDelegation() && genClass.implementsAny(genClass.getEUnsetGenFeatures())) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/eUnset.override.javajetinc%>
+<%}%>
+<%if (isImplementation && !genModel.isReflectiveDelegation() && genClass.implementsAny(genClass.getEIsSetGenFeatures())) {%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/eIsSet.override.javajetinc%>
+<%}%>
+<%if (isImplementation && (!genClass.getMixinGenFeatures().isEmpty() || genClass.hasOffsetCorrection() && !genClass.getGenFeatures().isEmpty())) {%>
+  <%if (!genClass.getMixinGenFeatures().isEmpty()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+    <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+    <%}%>
+	public int eBaseStructuralFeatureID(int derivedFeatureID, Class<%=singleWildcard%> baseClass)
+	{
+    <%for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {%>
+		if (baseClass == <%=mixinGenClass.getRawImportedInterfaceName()%>.class)
+		{
+			switch (derivedFeatureID<%=negativeOffsetCorrection%>)
+			{
+      <%for (GenFeature genFeature : mixinGenClass.getGenFeatures()) {%>
+				case <%=genClass.getQualifiedFeatureID(genFeature)%>: return <%=mixinGenClass.getQualifiedFeatureID(genFeature)%>;
+      <%}%>
+				default: return -1;
+			}
+		}
+    <%}%>
+		return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+	}
+  <%}%>
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	public int eDerivedStructuralFeatureID(int baseFeatureID, Class<%=singleWildcard%> baseClass)
+	{
+  <%for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {%>
+		if (baseClass == <%=mixinGenClass.getRawImportedInterfaceName()%>.class)
+		{
+			switch (baseFeatureID)
+			{
+    <%for (GenFeature genFeature : mixinGenClass.getGenFeatures()) {%>
+				case <%=mixinGenClass.getQualifiedFeatureID(genFeature)%>: return <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>;
+    <%}%>
+				default: return -1;
+			}
+		}
+  <%}%>
+  <%if (genClass.hasOffsetCorrection() && !genClass.getGenFeatures().isEmpty()) {%>
+		if (baseClass == <%=genClass.getRawImportedInterfaceName()%>.class)
+		{
+			switch (baseFeatureID<%=negativeOffsetCorrection%>)
+			{
+    <%for (GenFeature genFeature : genClass.getGenFeatures()) {%>
+				case <%=genClass.getQualifiedFeatureID(genFeature)%>: return <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>;
+    <%}%>
+				default: return -1;
+			}
+		}
+  <%}%>
+		return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+	}
+
+<%}%>
+<%if (genModel.isOperationReflection() && isImplementation && (!genClass.getMixinGenOperations().isEmpty() || !genClass.getOverrideGenOperations(genClass.getExtendedGenOperations(), genClass.getImplementedGenOperations()).isEmpty() || genClass.hasOffsetCorrection() && !genClass.getGenOperations().isEmpty())) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	public int eDerivedOperationID(int baseOperationID, Class<%=singleWildcard%> baseClass)
+	{
+  <%for (GenClass extendedGenClass : genClass.getExtendedGenClasses()) { List<GenOperation> extendedImplementedGenOperations = extendedGenClass.getImplementedGenOperations(); List<GenOperation> implementedGenOperations = genClass.getImplementedGenOperations();%>
+    <%if (!genClass.getOverrideGenOperations(extendedImplementedGenOperations, implementedGenOperations).isEmpty()) {%>
+		if (baseClass == <%=extendedGenClass.getRawImportedInterfaceName()%>.class)
+		{
+			switch (baseOperationID)
+			{
+      <%for (GenOperation genOperation : extendedImplementedGenOperations) { GenOperation overrideGenOperation = genClass.getOverrideGenOperation(genOperation);%>
+        <%if (implementedGenOperations.contains(overrideGenOperation)) {%>
+				case <%=extendedGenClass.getQualifiedOperationID(genOperation)%>: return <%=genClass.getQualifiedOperationID(overrideGenOperation)%><%=positiveOperationOffsetCorrection%>;
+        <%}%>
+      <%}%>
+				default: return super.eDerivedOperationID(baseOperationID, baseClass);
+			}
+		}
+    <%}%>
+  <%}%>
+  <%for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {%>
+		if (baseClass == <%=mixinGenClass.getRawImportedInterfaceName()%>.class)
+		{
+			switch (baseOperationID)
+			{
+    <%for (GenOperation genOperation : mixinGenClass.getGenOperations()) { GenOperation overrideGenOperation = genClass.getOverrideGenOperation(genOperation);%>
+				case <%=mixinGenClass.getQualifiedOperationID(genOperation)%>: return <%=genClass.getQualifiedOperationID(overrideGenOperation != null ? overrideGenOperation : genOperation)%><%=positiveOperationOffsetCorrection%>;
+    <%}%>
+				default: return -1;
+			}
+		}
+  <%}%>
+  <%if (genClass.hasOffsetCorrection() && !genClass.getGenOperations().isEmpty()) {%>
+		if (baseClass == <%=genClass.getRawImportedInterfaceName()%>.class)
+		{
+			switch (baseOperationID<%=negativeOperationOffsetCorrection%>)
+			{
+    <%for (GenOperation genOperation : genClass.getGenOperations()) {%>
+				case <%=genClass.getQualifiedOperationID(genOperation)%>: return <%=genClass.getQualifiedOperationID(genOperation)%><%=positiveOperationOffsetCorrection%>;
+    <%}%>
+				default: return -1;
+			}
+		}
+  <%}%>
+		return super.eDerivedOperationID(baseOperationID, baseClass);
+	}
+
+<%}%>
+<%if (isImplementation && genModel.isVirtualDelegation()) { String eVirtualValuesField = genClass.getEVirtualValuesField();%>
+  <%if (eVirtualValuesField != null) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	protected Object[] eVirtualValues()
+	{
+		return <%=eVirtualValuesField%>;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	protected void eSetVirtualValues(Object[] newValues)
+	{
+		<%=eVirtualValuesField%> = newValues;
+	}
+
+  <%}%>
+  <%{ List<String> eVirtualIndexBitFields = genClass.getEVirtualIndexBitFields(new ArrayList<String>());%>
+    <%if (!eVirtualIndexBitFields.isEmpty()) { List<String> allEVirtualIndexBitFields = genClass.getAllEVirtualIndexBitFields(new ArrayList<String>());%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	protected int eVirtualIndexBits(int offset)
+	{
+		switch (offset)
+		{
+      <%for (int i = 0; i < allEVirtualIndexBitFields.size(); i++) {%>
+			case <%=i%> :
+				return <%=allEVirtualIndexBitFields.get(i)%>;
+      <%}%>
+			default :
+				throw new IndexOutOfBoundsException();
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	protected void eSetVirtualIndexBits(int offset, int newIndexBits)
+	{
+		switch (offset)
+		{
+      <%for (int i = 0; i < allEVirtualIndexBitFields.size(); i++) {%>
+			case <%=i%> :
+				<%=allEVirtualIndexBitFields.get(i)%> = newIndexBits;
+				break;
+      <%}%>
+			default :
+				throw new IndexOutOfBoundsException();
+		}
+	}
+
+    <%}%>
+  <%}%>
+<%}%>
+<%if (genModel.isOperationReflection() && isImplementation && !genClass.getImplementedGenOperations().isEmpty()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+  <%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) {%>
+	@SuppressWarnings(<%if (!isRaw) {%>"unchecked"<%} else {%>{"rawtypes", "unchecked" }<%}%>)
+    <%}%>
+  <%}%>
+	public Object eInvoke(int operationID, <%=genModel.getImportedName("org.eclipse.emf.common.util.EList")%><%=singleWildcard%> arguments) throws <%=genModel.getImportedName(isGWT ? "org.eclipse.emf.common.util.InvocationTargetException" : "java.lang.reflect.InvocationTargetException")%>
+	{
+		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" : ""; GenOperation overrideGenOperation = genClass.getOverrideGenOperation(genOperation);%>
+			case <%=genClass.getQualifiedOperationID(overrideGenOperation != null ? overrideGenOperation : genOperation)%>:
+  <%if (hasCheckedException) {%>
+				try
+				{
+  <%/*}*/}%>
+  <%if (genOperation.isVoid()) {%>
+				<%=indent%><%=genOperation.getName()%>(<%for (int i = 0; i < size; i++) { GenParameter genParameter = genParameters.get(i);%><%if (!isJDK50 && genParameter.isPrimitiveType()) {%>(<%}%><%if (genParameter.getTypeGenDataType() == null || !genParameter.getTypeGenDataType().isObjectType() || !genParameter.usesOperationTypeParameters() && !genParameter.getRawType().equals(genParameter.getType(genClass))) {%>(<%=genParameter.usesOperationTypeParameters() ? genParameter.getRawImportedType() : genParameter.getObjectType(genClass)%>)<%}%>arguments.get(<%=i%>)<%if (!isJDK50 && genParameter.isPrimitiveType()) {%>).<%=genParameter.getPrimitiveValueFunction()%>()<%}%><%if (i < (size - 1)) {%>, <%}%><%}%>);
+				<%=indent%>return null;
+  <%} else {%>
+				<%=indent%>return <%if (!isJDK50 && genOperation.isPrimitiveType()) {%>new <%=genOperation.getObjectType(genClass)%>(<%}%><%=genOperation.getName()%>(<%for (int i = 0; i < size; i++) { GenParameter genParameter = genParameters.get(i);%><%if (!isJDK50 && genParameter.isPrimitiveType()) {%>(<%}%><%if (genParameter.getTypeGenDataType() == null || !genParameter.getTypeGenDataType().isObjectType() || !genParameter.usesOperationTypeParameters() && !genParameter.getRawType().equals(genParameter.getType(genClass))) {%>(<%=genParameter.usesOperationTypeParameters() ? genParameter.getRawImportedType() : genParameter.getObjectType(genClass)%>)<%}%>arguments.get(<%=i%>)<%if (!isJDK50 && genParameter.isPrimitiveType()) {%>).<%=genParameter.getPrimitiveValueFunction()%>()<%}%><%if (i < (size - 1)) {%>, <%}%><%}%>)<%if (!isJDK50 && genOperation.isPrimitiveType()) {%>)<%}%>;
+  <%}%>
+  <%if (hasCheckedException) {/*{*/%>
+				}
+				catch (<%=genModel.getImportedName("java.lang.Throwable")%> throwable)
+				{
+					throw new <%=genModel.getImportedName(isGWT ? "org.eclipse.emf.common.util.InvocationTargetException" : "java.lang.reflect.InvocationTargetException")%>(throwable);
+				}
+  <%}%>
+<%}%>
+<%if (forceDefaultCase) {%>
+			default:
+<%} else { // {%>
+		}
+<%}%>
+<%if (genModel.isMinimalReflectiveMethods()) {%>
+<%=indentDefaultCase%>		return super.eInvoke(operationID, arguments);
+<%} else {%>
+<%=indentDefaultCase%>		return eDynamicInvoke(operationID, arguments);
+<%}%>
+<%if (forceDefaultCase) { // {%>
+		}
+<%} // }%>
+	}
+
+<%}%>
+<%if (!genClass.hasImplementedToStringGenOperation() && isImplementation && !genModel.isReflectiveDelegation() && !genModel.isDynamicDelegation() && !genClass.getToStringGenFeatures().isEmpty()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	public String toString()
+	{
+		if (eIsProxy()) return super.toString();
+
+		<%=genModel.useGenerics() ? "StringBuilder" : "StringBuffer"%> result = new <%=genModel.useGenerics() ? "StringBuilder" : "StringBuffer"%>(super.toString());
+  <%{ boolean first = true;%>
+    <%for (GenFeature genFeature : genClass.getToStringGenFeatures()) {%>
+      <%if (first) { first = false;%>
+		result.append(" (<%=genFeature.getName()%>: ");<%=genModel.getNonNLS()%>
+      <%} else {%>
+		result.append(", <%=genFeature.getName()%>: ");<%=genModel.getNonNLS()%>
+      <%}%>
+      <%if (genFeature.isUnsettable() && !genFeature.isListType()) {%>
+        <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>
+		if (eVirtualIsSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>)) result.append(eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>)); else result.append("<unset>");<%=genModel.getNonNLS()%>
+        <%} else {%>
+          <%if (genClass.isFlag(genFeature)) {%>
+            <%if (genFeature.isBooleanType()) {%>
+		if (<%if (genClass.isESetFlag(genFeature)) {%>(<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0<%} else {%><%=genFeature.getUncapName()%>ESet<%}%>) result.append((<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) != 0); else result.append("<unset>");<%=genModel.getNonNLS()%>
+            <%} else {%>
+		if (<%if (genClass.isESetFlag(genFeature)) {%>(<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0<%} else {%><%=genFeature.getUncapName()%>ESet<%}%>) result.append(<%=genFeature.getUpperName()%>_EFLAG_VALUES[(<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) >>> <%=genFeature.getUpperName()%>_EFLAG_OFFSET]); else result.append("<unset>");<%=genModel.getNonNLS()%>
+            <%}%>
+          <%} else {%>
+		if (<%if (genClass.isESetFlag(genFeature)) {%>(<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0<%} else {%><%=genFeature.getUncapName()%>ESet<%}%>) result.append(<%=genFeature.getSafeName()%>); else result.append("<unset>");<%=genModel.getNonNLS()%>
+          <%}%>
+        <%}%>
+      <%} else {%>
+        <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>
+		result.append(eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%><%if (!genFeature.isListType() && !genFeature.isReferenceType()){%>, <%=genFeature.getEDefault()%><%}%>));
+        <%} else {%>
+          <%if (genClass.isFlag(genFeature)) {%>
+          <%if (genFeature.isBooleanType()) {%>
+		result.append((<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) != 0);
+          <%} else {%>
+		result.append(<%=genFeature.getUpperName()%>_EFLAG_VALUES[(<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) >>> <%=genFeature.getUpperName()%>_EFLAG_OFFSET]);
+          <%}%>
+          <%} else {%>
+		result.append(<%=genFeature.getSafeName()%>);
+          <%}%>
+        <%}%>
+      <%}%>
+    <%}%>
+  <%}%>
+		result.append(')');
+		return result.toString();
+	}
+
+<%}%>
+<%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 + ">" : "");%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+      <%if (isGWT) {%>
+	@<%=genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient")%>
+      <%}%>
+	protected int hash = -1;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (useInterfaceOverrideAnnotation) {%>
+	@Override
+  <%}%>
+	public int getHash()
+	{
+		if (hash == -1)
+		{
+			<%=objectType%> theKey = getKey();
+			hash = (theKey == null ? 0 : theKey.hashCode());
+		}
+		return hash;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (useInterfaceOverrideAnnotation) {%>
+	@Override
+  <%}%>
+	public void setHash(int hash)
+	{
+		this.hash = hash;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (useInterfaceOverrideAnnotation) {%>
+	@Override
+  <%}%>
+	public <%=keyType%> getKey()
+	{
+  <%if (!isJDK50 && keyFeature.isPrimitiveType()) {%>
+		return new <%=keyFeature.getObjectType(genClass)%>(getTypedKey());
+  <%} else {%>
+		return getTypedKey();
+  <%}%>
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (useInterfaceOverrideAnnotation) {%>
+	@Override
+  <%}%>
+	public void setKey(<%=keyType%> key)
+	{
+  <%if (keyFeature.isListType()) {%>
+		getTypedKey().addAll(<%if (!genModel.useGenerics()) {%>(<%=genModel.getImportedName("java.util.Collection")%>)<%}%>key);
+  <%} else if (isJDK50) {%>
+		setTypedKey(key);
+  <%} else if (keyFeature.isPrimitiveType()) {%>
+		setTypedKey(((<%=keyFeature.getObjectType(genClass)%>)key).<%=keyFeature.getPrimitiveValueFunction()%>());
+  <%} else {%>
+		setTypedKey((<%=keyFeature.getImportedType(genClass)%>)key);
+  <%}%>
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (useInterfaceOverrideAnnotation) {%>
+	@Override
+  <%}%>
+	public <%=valueType%> getValue()
+	{
+  <%if (!isJDK50 && valueFeature.isPrimitiveType()) {%>
+		return new <%=valueFeature.getObjectType(genClass)%>(getTypedValue());
+  <%} else {%>
+		return getTypedValue();
+  <%}%>
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (useInterfaceOverrideAnnotation) {%>
+	@Override
+  <%}%>
+	public <%=valueType%> setValue(<%=valueType%> value)
+	{
+		<%=valueType%> oldValue = getValue();
+  <%if (valueFeature.isListType()) {%>
+		getTypedValue().clear();
+		getTypedValue().addAll(<%if (!genModel.useGenerics()) {%>(<%=genModel.getImportedName("java.util.Collection")%>)<%}%>value);
+  <%} else if (isJDK50) {%>
+		setTypedValue(value);
+  <%} else if (valueFeature.isPrimitiveType()) {%>
+		setTypedValue(((<%=valueFeature.getObjectType(genClass)%>)value).<%=valueFeature.getPrimitiveValueFunction()%>());
+  <%} else {%>
+		setTypedValue((<%=valueFeature.getImportedType(genClass)%>)value);
+  <%}%>
+		return oldValue;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useGenerics()) {%>
+	@SuppressWarnings("unchecked")
+  <%}%>
+	public <%=eMapType%> getEMap()
+	{
+		<%=genModel.getImportedName("org.eclipse.emf.ecore.EObject")%> container = eContainer();
+		return container == null ? null : (<%=eMapType%>)container.eGet(eContainmentFeature());
+	}
+
+<%}%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+} //<%=isInterface ? " " + genClass.getInterfaceName() : genClass.getClassName()%>
+<%// TODO fix the space above%>
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._SrmlGGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._SrmlGGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..679b588
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._SrmlGGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenClass genClass = parameter;
+argument = ((Object[]) new Object[]{new Object[]{genClass,Boolean.TRUE,Boolean.FALSE}})[0];
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._08zr2WKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._08zr2WKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..24cd6fc
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._08zr2WKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel, GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._9S7thHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._9S7thHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..d3a7554
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._9S7thHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgCsMjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgCsMjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgCsMjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgCsMzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgCsMzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgCsMzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgCsNTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgCsNTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgCsNTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgL2IDG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgL2IDG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..c6fdc92
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgL2IDG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenPackage genPackage = parameter;
+targetPath = genPackage.getGenModel().getModelDirectory();
+packageName = genPackage.getReflectionPackageName();
+className = genPackage.getPackageInterfaceName();
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgL2IjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgL2IjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..90684dd
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgL2IjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,1348 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ *   IBM - Initial API and implementation
+ */
+%>
+<%final GenPackage genPackage = (GenPackage)((Object[])argument)[0]; final GenModel genModel=genPackage.getGenModel();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%boolean isInterface = Boolean.TRUE.equals(((Object[])argument)[1]); boolean isImplementation = Boolean.TRUE.equals(((Object[])argument)[2]);  boolean useInterfaceOverrideAnnotation = genModel.useInterfaceOverrideAnnotation() && !(isInterface && isImplementation);%>
+<%boolean packageNeedsSuppressDeprecation = isJDK50 && GenModelUtil.hasAPIDeprecatedTag(genPackage.getOrderedGenClassifiers()) && !genPackage.hasAPIDeprecatedTag() && !genModel.isSuppressEMFMetaData();%>
+<%String publicStaticFinalFlag = isImplementation ? "public static final " : "";%>
+<%boolean needsAddEOperation = false;%>
+<%boolean needsAddEParameter = false;%>
+<%@ 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"%>
+<%if (isImplementation && !genModel.isSuppressInterfaces()) {%>
+package <%=genPackage.getClassPackageName()%>;
+<%} else {%>
+package <%=genPackage.getReflectionPackageName()%>;
+<%}%>
+
+<%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) {%>
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+  <%if (genModel.isOperationReflection()) {%>
+ *   <li>each operation of each class,</li>
+  <%}%>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+<%if (genPackage.hasDocumentation()) {%>
+ * <!-- begin-model-doc -->
+ * <%=genPackage.getDocumentation(genModel.getIndentation(stringBuffer))%>
+ * <!-- end-model-doc -->
+<%}%>
+ * @see <%=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;%>
+ * @model <%=modelInfo%>
+  <%} else {%>
+ *        <%=modelInfo%>
+  <%}} if (first) {%>
+ * @model
+  <%}}%>
+ * @generated
+ */
+<%} else {%>
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+<%if (genPackage.hasAPITags()) {%>
+ * <%=genPackage.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%}%>
+<%if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%}%>
+<%if (isImplementation) {%>
+  <%if (packageNeedsSuppressDeprecation) {%>
+@SuppressWarnings("deprecation")
+  <%}%>
+public class <%=genPackage.getPackageClassName()%> extends <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.EPackageImpl")%><%if (!isInterface){%> implements <%=genPackage.getImportedPackageInterfaceName()%><%}%>
+<%} else {%>
+public interface <%=genPackage.getPackageInterfaceName()%> extends <%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>
+<%}%>
+{
+<%if (genModel.hasCopyrightField()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	<%=publicStaticFinalFlag%><%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+<%if (isInterface) {%>
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	<%=publicStaticFinalFlag%><%=genModel.getImportedName("java.lang.String")%> eNAME = "<%=genPackage.getPackageName()%>";<%=genModel.getNonNLS()%>
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	<%=publicStaticFinalFlag%><%=genModel.getImportedName("java.lang.String")%> eNS_URI = "<%=genPackage.getNSURI()%>";<%=genModel.getNonNLS()%>
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	<%=publicStaticFinalFlag%><%=genModel.getImportedName("java.lang.String")%> eNS_PREFIX = "<%=genPackage.getNSName()%>";<%=genModel.getNonNLS()%>
+  <%if (genPackage.isContentType()) {%>
+
+	/**
+	 * The package content type ID.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	<%=publicStaticFinalFlag%><%=genModel.getImportedName("java.lang.String")%> eCONTENT_TYPE = "<%=genPackage.getContentTypeIdentifier()%>";<%=genModel.getNonNLS()%>
+  <%}%>
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	<%=publicStaticFinalFlag%><%=genPackage.getPackageInterfaceName()%> eINSTANCE = <%=genPackage.getQualifiedPackageClassName()%>.init();
+
+  <%for (GenClassifier genClassifier : genPackage.getOrderedGenClassifiers()) {%>
+	/**
+    <%if (genClassifier instanceof GenClass) { GenClass genClass = (GenClass)genClassifier;%>
+      <%if (!genClass.isInterface()) {%>
+	 * The meta object id for the '{@link <%=genClass.getQualifiedClassName()%> <em><%=genClass.getFormattedName()%></em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see <%=genClass.getQualifiedClassName()%>
+      <%} else {%>
+	 * The meta object id for the '{@link <%=genClass.getRawQualifiedInterfaceName()%> <em><%=genClass.getFormattedName()%></em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see <%=genClass.getRawQualifiedInterfaceName()%>
+      <%}%>
+    <%} else if (genClassifier instanceof GenEnum) { GenEnum genEnum = (GenEnum)genClassifier;%>
+	 * The meta object id for the '{@link <%=genEnum.getQualifiedName()%> <em><%=genEnum.getFormattedName()%></em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see <%=genEnum.getQualifiedName()%>
+    <%} else if (genClassifier instanceof GenDataType) { GenDataType genDataType = (GenDataType)genClassifier;%>
+	 * The meta object id for the '<em><%=genDataType.getFormattedName()%></em>' data type.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+      <%if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {%>
+	 * @see <%=genDataType.getRawInstanceClassName()%>
+      <%}%>
+    <%}%>
+	 * @see <%=genPackage.getQualifiedPackageClassName()%>#get<%=genClassifier.getClassifierAccessorName()%>()
+  <%if (genClassifier.hasAPITags()) {%>
+	 * <%=genClassifier.getAPITags(genModel.getIndentation(stringBuffer))%>
+  <%}%>
+	 * @generated
+	 */
+  <%if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+  <%}%>
+	<%=publicStaticFinalFlag%>int <%=genPackage.getClassifierID(genClassifier)%> = <%=genPackage.getClassifierValue(genClassifier)%>;
+
+    <%if (genClassifier instanceof GenClass) { GenClass genClass = (GenClass)genClassifier;%>
+      <%for (GenFeature genFeature : genClass.getAllGenFeatures()) {%>
+	/**
+	 * The feature id for the '<em><b><%=genFeature.getFormattedName()%></b></em>' <%=genFeature.getFeatureKind()%>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+    <%if (genFeature.hasImplicitAPITags()) {%>
+	 * <%=genFeature.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 * @ordered
+	 */
+  <%if (isJDK50 && genFeature.hasImplicitAPIDeprecatedTag()) {%>
+	@Deprecated
+  <%}%>
+	<%=publicStaticFinalFlag%>int <%=genClass.getFeatureID(genFeature)%> = <%=genClass.getFeatureValue(genFeature)%>;
+
+      <%}%>
+	/**
+	 * The number of structural features of the '<em><%=genClass.getFormattedName()%></em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+    <%if (genClass.hasAPITags()) {%>
+	 * <%=genClass.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 * @ordered
+	 */
+  <%if (isJDK50 && genClass.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+  <%}%>
+	<%=publicStaticFinalFlag%>int <%=genClass.getFeatureCountID()%> = <%=genClass.getFeatureCountValue()%>;
+
+      <%if (genModel.isOperationReflection()) {%>
+        <%for (GenOperation genOperation : genClass.getAllGenOperations(false)) {%>
+          <%if (genClass.getOverrideGenOperation(genOperation) == null) {%>
+	/**
+	 * The operation id for the '<em><%=genOperation.getFormattedName()%></em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+    <%if (genOperation.hasImplicitAPITags()) {%>
+	 * <%=genOperation.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 * @ordered
+	 */
+  <%if (isJDK50 && genOperation.hasImplicitAPIDeprecatedTag()) {%>
+	@Deprecated
+  <%}%>
+	<%=publicStaticFinalFlag%>int <%=genClass.getOperationID(genOperation, false)%> = <%=genClass.getOperationValue(genOperation)%>;
+
+          <%}%>
+        <%}%>
+	/**
+	 * The number of operations of the '<em><%=genClass.getFormattedName()%></em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+    <%if (genClass.hasAPITags()) {%>
+	 * <%=genClass.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 * @ordered
+	 */
+  <%if (isJDK50 && genClass.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+  <%}%>
+	<%=publicStaticFinalFlag%>int <%=genClass.getOperationCountID()%> = <%=genClass.getOperationCountValue()%>;
+
+      <%}%>
+    <%}%>
+  <%}%>
+<%}%>
+<%if (isImplementation) {%>
+  <%if (genPackage.isLoadingInitialization()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected String packageFilename = "<%=genPackage.getSerializedPackageFilename()%>";<%=genModel.getNonNLS()%>
+
+  <%}%>
+  <%for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+    <%if (genClassifier.hasAPITags(true)) {%>
+	 * <%=genClassifier.getAPITags(genModel.getIndentation(stringBuffer), true)%>
+    <%}%>
+	 * @generated
+	 */
+  <%if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+  <%}%>
+	private <%=genClassifier.getImportedMetaType()%> <%=genClassifier.getClassifierInstanceName()%> = null;
+
+  <%}%>
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see <%=genPackage.getQualifiedPackageInterfaceName()%>#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private <%=genPackage.getPackageClassName()%>()
+	{
+		super(eNS_URI, <%=genPackage.getQualifiedEFactoryInstanceAccessor()%>);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 *
+	 * <p>This method is used to initialize {@link <%=genPackage.getImportedPackageInterfaceName()%>#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+  <%if (!genPackage.isLoadedInitialization()) {%>
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+  <%}%>
+	 * @generated
+	 */
+	public static <%=genPackage.getImportedPackageInterfaceName()%> init()
+	{
+		if (isInited) return (<%=genPackage.getImportedPackageInterfaceName()%>)<%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE.getEPackage(<%=genPackage.getImportedPackageInterfaceName()%>.eNS_URI);
+
+    <%if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {%>
+		initializeRegistryHelpers();
+
+    <%}%>
+		// Obtain or create and register package
+		Object registered<%=genPackage.getBasicPackageName()%> = <%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE.get(eNS_URI);
+		<%=genPackage.getPackageClassName()%> the<%=genPackage.getBasicPackageName()%> = registered<%=genPackage.getBasicPackageName()%> instanceof <%=genPackage.getPackageClassName()%> ? (<%=genPackage.getPackageClassName()%>)registered<%=genPackage.getBasicPackageName()%> : new <%=genPackage.getPackageClassName()%>();
+
+		isInited = true;
+
+    <%if (!genPackage.getPackageSimpleDependencies().isEmpty()) {%>
+		// Initialize simple dependencies
+    <%for (GenPackage dep : genPackage.getPackageSimpleDependencies()) {%>
+		<%=dep.getImportedPackageInterfaceName()%>.eINSTANCE.eClass();
+    <%}%>
+
+  <%}%>
+  <%if (!genPackage.getPackageInterDependencies().isEmpty()) {%>
+		// Obtain or create and register interdependencies
+    <%for (ListIterator<GenPackage> i = genPackage.getPackageInterDependencies().listIterator(); i.hasNext(); ) { GenPackage interdep = i.next(); %>
+		<%if (i.previousIndex() == 0) {%>Object <%}%>registeredPackage = <%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE.getEPackage(<%=interdep.getImportedPackageInterfaceName()%>.eNS_URI);
+		<%=interdep.getImportedPackageClassName()%> <%=genPackage.getPackageInstanceVariable(interdep)%> = (<%=interdep.getImportedPackageClassName()%>)(registeredPackage instanceof <%=interdep.getImportedPackageClassName()%> ? registeredPackage : <%=interdep.getImportedPackageInterfaceName()%>.eINSTANCE);
+    <%}%>
+
+  <%}%>
+  <%if (genPackage.isLoadedInitialization() || !genPackage.getPackageLoadInterDependencies().isEmpty()) {%>
+		// Load packages
+    <%if (genPackage.isLoadingInitialization()) {%>
+		the<%=genPackage.getBasicPackageName()%>.loadPackage();
+    <%}%>
+    <%for (GenPackage interdep : genPackage.getPackageLoadInterDependencies()) {%>
+      <%if (interdep.isLoadingInitialization()) {%>
+		<%=genPackage.getPackageInstanceVariable(interdep)%>.loadPackage();
+      <%}%>
+    <%}%>
+
+  <%}%>
+  <%if (!genPackage.isLoadedInitialization() || !genPackage.getPackageBuildInterDependencies().isEmpty()) {%>
+		// Create package meta-data objects
+    <%if (!genPackage.isLoadedInitialization()) {%>
+		the<%=genPackage.getBasicPackageName()%>.createPackageContents();
+    <%}%>
+    <%for (GenPackage interdep : genPackage.getPackageBuildInterDependencies()) {%>
+		<%=genPackage.getPackageInstanceVariable(interdep)%>.createPackageContents();
+    <%}%>
+
+		// Initialize created meta-data
+    <%if (!genPackage.isLoadedInitialization()) {%>
+		the<%=genPackage.getBasicPackageName()%>.initializePackageContents();
+    <%}%>
+    <%for (GenPackage interdep : genPackage.getPackageBuildInterDependencies()) {%>
+		<%=genPackage.getPackageInstanceVariable(interdep)%>.initializePackageContents();
+    <%}%>
+
+  <%}%>
+  <%if (genPackage.isLoadedInitialization() || !genPackage.getPackageLoadInterDependencies().isEmpty()) {%>
+		// Fix loaded packages
+    <%if (genPackage.isLoadedInitialization()) {%>
+		the<%=genPackage.getBasicPackageName()%>.fixPackageContents();
+    <%}%>
+    <%for (GenPackage interdep : genPackage.getPackageLoadInterDependencies()) {%>
+		<%=genPackage.getPackageInstanceVariable(interdep)%>.fixPackageContents();
+    <%}%>
+
+  <%}%>
+  <%if (genPackage.hasConstraints()) {%>
+		// Register package validator
+		<%=genModel.getImportedName("org.eclipse.emf.ecore.EValidator")%>.Registry.INSTANCE.put
+			(the<%=genPackage.getBasicPackageName()%>,
+			 new <%=genModel.getImportedName("org.eclipse.emf.ecore.EValidator")%>.Descriptor()
+			 {
+ <%if (genModel.useInterfaceOverrideAnnotation()) {%>
+				 @Override
+ <%}%>
+				 public <%=genModel.getImportedName("org.eclipse.emf.ecore.EValidator")%> getEValidator()
+				 {
+					 return <%=genPackage.getImportedValidatorClassName()%>.INSTANCE;
+				 }
+			 });
+
+  <%}%>
+  <%if (!genPackage.isEcorePackage()) {%>
+		// Mark meta-data to indicate it can't be changed
+		the<%=genPackage.getBasicPackageName()%>.freeze();
+
+  <%}%>
+		// Update the registry and return the package
+		<%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE.put(<%=genPackage.getImportedPackageInterfaceName()%>.eNS_URI, the<%=genPackage.getBasicPackageName()%>);
+		return the<%=genPackage.getBasicPackageName()%>;
+	}
+  <%if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {%>
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void initializeRegistryHelpers()
+	{
+    <%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)) {%>
+		<%=genModel.getImportedName("org.eclipse.emf.common.util.Reflect")%>.register
+			(<%=theClass%>.class,
+			 new <%=genModel.getImportedName("org.eclipse.emf.common.util.Reflect")%>.Helper()
+			 {
+				 public boolean isInstance(Object instance)
+				 {
+					 return instance instanceof <%=genClass.isMapEntry() ? genClass.getImportedClassName() : genClass.getRawImportedInterfaceName() + genClass.getInterfaceWildTypeArguments()%>;
+				 }
+
+				 public Object newArrayInstance(int size)
+				 {
+					 return new <%=theClass%>[size];
+				 }
+			 });
+        <%}}%>
+      <%} else if (genClassifier instanceof GenDataType) { GenDataType genDataType = (GenDataType)genClassifier;%>
+        <%if (!genDataType.isPrimitiveType() && !genDataType.isObjectType()) { String theClass = genDataType.getRawImportedInstanceClassName(); if (helpers.add(theClass)) { %>
+		<%=genModel.getImportedName("org.eclipse.emf.common.util.Reflect")%>.register
+			(<%=theClass%>.class,
+			 new <%=genModel.getImportedName("org.eclipse.emf.common.util.Reflect")%>.Helper()
+			 {
+				 public boolean isInstance(Object instance)
+				 {
+					 return instance instanceof <%=theClass%>;
+				 }
+
+				 public Object newArrayInstance(int size)
+				 {
+        <%if (genDataType.isArrayType()) { String componentType = theClass; String indices = ""; while(componentType.endsWith("[]")) { componentType = componentType.substring(0, componentType.length() - 2); indices += "[]";}%>
+					 return new <%=componentType%>[size]<%=indices%>;
+        <%} else {%>
+					 return new <%=theClass%>[size];
+        <%}%>
+				 }
+		});
+        <%}}%>
+      <%}%>
+    <%}%>
+	}
+
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static class WhiteList implements <%=genModel.getImportedName("com.google.gwt.user.client.rpc.IsSerializable")%>, EBasicWhiteList
+	{
+    <%for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {%>
+      <%if (genClassifier instanceof GenClass) { GenClass genClass = (GenClass)genClassifier;%>
+        <%if (!genClass.isDynamic()) {%>
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected <%=genClass.isMapEntry() ? genClass.getImportedClassName() : genClass.getImportedWildcardInstanceClassName()%> <%=genClass.getSafeUncapName()%>;
+
+        <%}%>
+      <%} else if (genClassifier instanceof GenDataType) { GenDataType genDataType = (GenDataType)genClassifier;%>
+        <%if (!genDataType.isObjectType() && genDataType.isSerializable()) {%>
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected <%=genDataType.getImportedWildcardInstanceClassName()%> <%=genDataType.getSafeUncapName()%>;
+
+        <%}%>
+      <%}%>
+    <%}%>
+	}
+  <%}%>
+
+<%}%>
+<%if (isInterface) { // TODO REMOVE THIS BOGUS EMPTY LINE%>
+
+<%}%>
+  <%for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {%>
+<%if (isInterface) {%>
+	/**
+    <%if (genClassifier instanceof GenClass) { GenClass genClass = (GenClass)genClassifier;%>
+	 * Returns the meta object for class '{@link <%=genClass.getRawQualifiedInterfaceName()%> <em><%=genClass.getFormattedName()%></em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em><%=genClass.getFormattedName()%></em>'.
+	 * @see <%=genClass.getRawQualifiedInterfaceName()%>
+      <%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;%>
+	 * @model <%=modelInfo%>
+        <%} else {%>
+	 *        <%=modelInfo%>
+        <%}} if (first) {%>
+	 * @model
+      <%}}%>
+    <%} else if (genClassifier instanceof GenEnum) { GenEnum genEnum = (GenEnum)genClassifier;%>
+	 * Returns the meta object for enum '{@link <%=genEnum.getQualifiedName()%> <em><%=genEnum.getFormattedName()%></em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for enum '<em><%=genEnum.getFormattedName()%></em>'.
+	 * @see <%=genEnum.getQualifiedName()%>
+    <%} else if (genClassifier instanceof GenDataType) { GenDataType genDataType = (GenDataType)genClassifier;%>
+      <%if (genDataType.isPrimitiveType() || genDataType.isArrayType()) {%>
+	 * Returns the meta object for data type '<em><%=genDataType.getFormattedName()%></em>'.
+      <%} else {%>
+	 * Returns the meta object for data type '{@link <%=genDataType.getRawInstanceClassName()%> <em><%=genDataType.getFormattedName()%></em>}'.
+      <%}%>
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+      <%if (genDataType.hasDocumentation()) {%>
+     * <!-- begin-model-doc -->
+     * <%=genDataType.getDocumentation(genModel.getIndentation(stringBuffer))%>
+     * <!-- end-model-doc -->
+      <%}%>
+	 * @return the meta object for data type '<em><%=genDataType.getFormattedName()%></em>'.
+      <%if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {%>
+	 * @see <%=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;%>
+	 * @model <%=modelInfo%>
+      <%} else {%>
+	 *        <%=modelInfo%>
+      <%}} if (first) {%>
+	 * @model
+      <%}}%>
+    <%}%>
+  <%if ((genClassifier instanceof GenClass || genClassifier instanceof GenEnum) && genClassifier.hasAPITags()) {%>
+	 * <%=genClassifier.getAPITags(genModel.getIndentation(stringBuffer))%>
+  <%}%>
+	 * @generated
+	 */
+<%} else {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+  <%if (genClassifier.hasAPITags()) {%>
+	 * <%=genClassifier.getAPITags(genModel.getIndentation(stringBuffer))%>
+  <%}%>
+	 * @generated
+	 */
+<%}%>
+  <%if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+  <%}%>
+<%if (isImplementation) {%>
+ <%if (useInterfaceOverrideAnnotation) {%>
+	@Override
+ <%}%>
+	public <%=genClassifier.getImportedMetaType()%> get<%=genClassifier.getClassifierAccessorName()%>()
+	{
+    <%if (genPackage.isLoadedInitialization()) {%>
+		if (<%=genClassifier.getClassifierInstanceName()%> == null)
+		{
+			<%=genClassifier.getClassifierInstanceName()%> = (<%=genClassifier.getImportedMetaType()%>)<%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE.getEPackage(<%=genPackage.getImportedPackageInterfaceName()%>.eNS_URI).getEClassifiers().get(<%=genPackage.getLocalClassifierIndex(genClassifier)%>);
+		}
+    <%}%>
+		return <%=genClassifier.getClassifierInstanceName()%>;
+	}
+
+<%} else {%>
+	<%=genClassifier.getImportedMetaType()%> get<%=genClassifier.getClassifierAccessorName()%>();
+
+<%}%>
+    <%if (genClassifier instanceof GenClass) { GenClass genClass = (GenClass)genClassifier;%>
+      <%for (GenFeature genFeature : genClass.getGenFeatures()) {%>
+<%if (isInterface) {%>
+	/**
+	 * Returns the meta object for the <%=genFeature.getFeatureKind()%> '{@link <%=genClass.getRawQualifiedInterfaceName()%><%if (!genClass.isMapEntry() && !genFeature.isSuppressedGetVisibility()) {%>#<%=genFeature.getGetAccessor()%><%}%> <em><%=genFeature.getFormattedName()%></em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the <%=genFeature.getFeatureKind()%> '<em><%=genFeature.getFormattedName()%></em>'.
+	 * @see <%=genClass.getRawQualifiedInterfaceName()%><%if (!genClass.isMapEntry() && !genFeature.isSuppressedGetVisibility()) {%>#<%=genFeature.getGetAccessor()%>()<%}%>
+	 * @see #get<%=genClass.getClassifierAccessorName()%>()
+    <%if (genFeature.hasImplicitAPITags()) {%>
+	 * <%=genFeature.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
+<%} else {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+    <%if (genFeature.hasImplicitAPITags()) {%>
+	 * <%=genFeature.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
+<%}%>
+<%if (isJDK50 && genFeature.hasImplicitAPIDeprecatedTag()) {%>
+	@Deprecated
+<%}%>
+<%if (isImplementation) {%>
+   <%if (useInterfaceOverrideAnnotation) {%>
+	@Override
+   <%}%>
+	public <%=genFeature.getImportedMetaType()%> get<%=genFeature.getFeatureAccessorName()%>()
+	{
+        <%if (!genPackage.isLoadedInitialization()) {%>
+		return (<%=genFeature.getImportedMetaType()%>)<%=genClass.getClassifierInstanceName()%>.getEStructuralFeatures().get(<%=genClass.getLocalFeatureIndex(genFeature)%>);
+        <%} else {%>
+        return (<%=genFeature.getImportedMetaType()%>)get<%=genClassifier.getClassifierAccessorName()%>().getEStructuralFeatures().get(<%=genClass.getLocalFeatureIndex(genFeature)%>);
+        <%}%>
+	}
+<%} else {%>
+	<%=genFeature.getImportedMetaType()%> get<%=genFeature.getFeatureAccessorName()%>();
+<%}%>
+
+      <%}%>
+      <%if (genModel.isOperationReflection()) {%>
+        <%for (GenOperation genOperation : genClass.getGenOperations()) {%>
+<%if (isInterface) {%>
+	/**
+	 * Returns the meta object for the '{@link <%=genClass.getRawQualifiedInterfaceName()%>#<%=genOperation.getName()%>(<%=genOperation.getParameterTypes(", ")%>) <em><%=genOperation.getFormattedName()%></em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the '<em><%=genOperation.getFormattedName()%></em>' operation.
+	 * @see <%=genClass.getRawQualifiedInterfaceName()%>#<%=genOperation.getName()%>(<%=genOperation.getParameterTypes(", ")%>)
+    <%if (genOperation.hasImplicitAPITags()) {%>
+	 * <%=genOperation.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
+<%} else {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+    <%if (genOperation.hasImplicitAPITags()) {%>
+	 * <%=genOperation.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
+<%}%>
+<%if (isJDK50 && genOperation.hasImplicitAPIDeprecatedTag()) {%>
+	@Deprecated
+<%}%>
+<%if (isImplementation) {%>
+   <%if (useInterfaceOverrideAnnotation) {%>
+	@Override
+   <%}%>
+	public <%=genOperation.getImportedMetaType()%> get<%=genOperation.getOperationAccessorName()%>()
+	{
+        <%if (!genPackage.isLoadedInitialization()) {%>
+		return <%=genClass.getClassifierInstanceName()%>.getEOperations().get(<%=genClass.getLocalOperationIndex(genOperation)%>);
+        <%} else {%>
+        return get<%=genClassifier.getClassifierAccessorName()%>().getEOperations().get(<%=genClass.getLocalOperationIndex(genOperation)%>);
+        <%}%>
+	}
+<%} else {%>
+	<%=genOperation.getImportedMetaType()%> get<%=genOperation.getOperationAccessorName()%>();
+<%}%>
+
+        <%}%>
+      <%}%>
+    <%}%>
+  <%}%>
+<%if (isInterface) {%>
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+<%} else {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%}%>
+<%if (isImplementation) {%>
+   <%if (useInterfaceOverrideAnnotation) {%>
+	@Override
+   <%}%>
+	public <%=genPackage.getImportedFactoryInterfaceName()%> get<%=genPackage.getFactoryName()%>()
+	{
+		return (<%=genPackage.getImportedFactoryInterfaceName()%>)getEFactoryInstance();
+	}
+<%} else {%>
+	<%=genPackage.getFactoryInterfaceName()%> get<%=genPackage.getFactoryName()%>();
+<%}%>
+
+<%if (isImplementation) {%>
+  <%if (!genPackage.isLoadedInitialization()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+    <%{boolean needsSuppressDeprecation = false; if (!packageNeedsSuppressDeprecation && isJDK50 && !genModel.isSuppressEMFMetaData()) { LOOP: for (GenClass genClass : genPackage.getGenClasses()) { for (GenFeature genFeature : genClass.getGenFeatures()) { if (genFeature.hasAPIDeprecatedTag()) { needsSuppressDeprecation = true; break LOOP; }}
+      for (GenOperation genOperation : genClass.getGenOperations()) { if (genOperation.hasAPIDeprecatedTag()) { needsSuppressDeprecation = true; break LOOP; }}} if (needsSuppressDeprecation) {%>
+	@SuppressWarnings("deprecation")
+    <%}}}%>
+	public void createPackageContents()
+	{
+		if (isCreated) return;
+		isCreated = true;
+    <%if (!genPackage.getGenClasses().isEmpty()) {%>
+
+		// Create classes and their features
+      <%for (Iterator<GenClass> c=genPackage.getGenClasses().iterator(); c.hasNext();) { GenClass genClass = c.next();%>
+		<%=genClass.getClassifierInstanceName()%> = create<%=genClass.getMetaType()%>(<%=genClass.getClassifierID()%>);
+        <%for (GenFeature genFeature : genClass.getGenFeatures()) {%>
+		create<%=genFeature.getMetaType()%>(<%=genClass.getClassifierInstanceName()%>, <%=genClass.getFeatureID(genFeature)%>);
+        <%}%>
+        <%if (genModel.isOperationReflection()) {%>
+          <%for (GenOperation genOperation : genClass.getGenOperations()) {%>
+		createEOperation(<%=genClass.getClassifierInstanceName()%>, <%=genClass.getOperationID(genOperation, false)%>);
+          <%}%>
+        <%}%>
+        <%if (c.hasNext()) {%>
+
+        <%}%>
+      <%}%>
+    <%}%>
+    <%if (!genPackage.getGenEnums().isEmpty()) {%>
+
+		// Create enums
+      <%for (GenEnum genEnum : genPackage.getGenEnums()) {%>
+		<%=genEnum.getClassifierInstanceName()%> = createEEnum(<%=genEnum.getClassifierID()%>);
+      <%}%>
+    <%}%>
+    <%if (!genPackage.getGenDataTypes().isEmpty()) {%>
+
+		// Create data types
+      <%for (GenDataType genDataType : genPackage.getGenDataTypes()) {%>
+		<%=genDataType.getClassifierInstanceName()%> = createEDataType(<%=genDataType.getClassifierID()%>);
+      <%}%>
+    <%}%>
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+<%
+///////////////////////
+class Information
+{
+  @SuppressWarnings("unused")
+  EGenericType eGenericType;
+  int depth;
+  String type;
+  String accessor;
+}
+
+class InformationIterator
+{
+  Iterator<Object> 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;
+%>
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+    <%{boolean needsSuppressDeprecation = false; if (!packageNeedsSuppressDeprecation && isJDK50) { LOOP: for (GenEnum genEnum : genPackage.getGenEnums()) { for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) { if (genEnumLiteral.hasAPIDeprecatedTag()) { needsSuppressDeprecation = true; break LOOP; }}} if (needsSuppressDeprecation) {%>
+	@SuppressWarnings("deprecation")
+    <%}}}%>
+	public void initializePackageContents()
+	{
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+    <%if (!genPackage.getPackageInitializationDependencies().isEmpty()) {%>
+
+		// Obtain other dependent packages
+      <%for (GenPackage dep : genPackage.getPackageInitializationDependencies()) {%>
+		<%=dep.getImportedPackageInterfaceName()%> <%=genPackage.getPackageInstanceVariable(dep)%> = (<%=dep.getImportedPackageInterfaceName()%>)<%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE.getEPackage(<%=dep.getImportedPackageInterfaceName()%>.eNS_URI);
+      <%}%>
+    <%}%>
+    <%if (!genPackage.getSubGenPackages().isEmpty()) {%>
+
+		// Add subpackages
+      <%for (GenPackage sub : genPackage.getSubGenPackages()) {%>
+		getESubpackages().add(<%=genPackage.getPackageInstanceVariable(sub)%>);
+      <%}%>
+    <%}%>
+    <%if (!genPackage.getGenClasses().isEmpty()) { boolean firstOperationAssignment = true; int maxTypeParameterAssignment = 0;%>
+      <%if (genModel.useGenerics()) {%>
+
+		// Create type parameters
+        <%for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {%>
+          <%for (GenTypeParameter genTypeParameter : genClassifier.getGenTypeParameters()) {%>
+            <%if (!genTypeParameter.getEcoreTypeParameter().getEBounds().isEmpty() || genTypeParameter.isUsed()) {%>
+		<%=genModel.getImportedName("org.eclipse.emf.ecore.ETypeParameter")%> <%=genClassifier.getClassifierInstanceName()%>_<%=genTypeParameter.getName()%> = addETypeParameter(<%=genClassifier.getClassifierInstanceName()%>, "<%=genTypeParameter.getName()%>");<%=genModel.getNonNLS()%>
+            <%} else {%>
+		addETypeParameter(<%=genClassifier.getClassifierInstanceName()%>, "<%=genTypeParameter.getName()%>");<%=genModel.getNonNLS()%>
+            <%}%>
+          <%}%>
+        <%}%>
+      <%}%>
+      <%if (genModel.useGenerics()) {%>
+
+		// Set bounds for type parameters
+        <%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") + " "; }%>
+		<%=prefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
+                <%if (info.depth > 0) {%>
+		g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
+                <%}%>
+              <%}%>
+		<%=genClassifier.getClassifierInstanceName()%>_<%=genTypeParameter.getName()%>.getEBounds().add(g1);
+            <%}%>
+          <%}%>
+        <%}%>
+      <%}%>
+
+		// Add supertypes to classes
+      <%for (GenClass genClass : genPackage.getGenClasses()) {%>
+        <%if (!genClass.hasGenericSuperTypes()) {%>
+          <%for (GenClass baseGenClass : genClass.getBaseGenClasses()) {%>
+		<%=genClass.getClassifierInstanceName()%>.getESuperTypes().add(<%=genPackage.getPackageInstanceVariable(baseGenClass.getGenPackage())%>.get<%=baseGenClass.getClassifierAccessorName()%>());
+          <%}%>
+        <%} 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") + " "; }%>
+		<%=prefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
+              <%if (info.depth > 0) {%>
+		g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
+              <%}%>
+            <%}%>
+		<%=genClass.getClassifierInstanceName()%>.getEGenericSuperTypes().add(g1);
+          <%}%>
+        <%}%>
+      <%}%>
+
+		// Initialize classes<%if (genModel.isOperationReflection()) {%>, features, and operations; add parameters<%} else {%> and features; add operations and parameters<%}%>
+      <%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("<");%>
+		initEClass(<%=genClass.getClassifierInstanceName()%>, <%if (genClass.isDynamic()) {%>null<%} else {%><%=genClass.getRawImportedInterfaceName()%>.class<%}%>, "<%=genClass.getName()%>", <%=genClass.getAbstractFlag()%>, <%=genClass.getInterfaceFlag()%>, <%=genClass.getGeneratedInstanceClassFlag()%><%if (hasInstanceTypeName) {%>, "<%=genClass.getEcoreClass().getInstanceTypeName()%>"<%}%>);<%=genModel.getNonNLS()%><%if (hasInstanceTypeName) {%><%=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") + " "; }%>
+		<%=prefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
+              <%if (info.depth > 0) {%>
+		g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
+              <%}%>
+            <%}%>
+          <%}%>
+          <%if (genFeature.isReferenceType()) { GenFeature reverseGenFeature = genFeature.getReverse();%>
+          <%String reverse = reverseGenFeature == null ? "null" : genPackage.getPackageInstanceVariable(reverseGenFeature.getGenPackage()) + ".get" + reverseGenFeature.getFeatureAccessorName() + "()";%>
+		initEReference(get<%=genFeature.getFeatureAccessorName()%>(), <%if (genFeature.hasGenericType()) {%>g1<%} else {%><%=genPackage.getPackageInstanceVariable(genFeature.getTypeGenPackage())%>.get<%=genFeature.getTypeClassifierAccessorName()%>()<%}%>, <%=reverse%>, "<%=genFeature.getName()%>", <%=genFeature.getDefaultValue()%>, <%=genFeature.getLowerBound()%>, <%=genFeature.getUpperBound()%>, <%=genFeature.getContainerClass()%>, <%=genFeature.getTransientFlag()%>, <%=genFeature.getVolatileFlag()%>, <%=genFeature.getChangeableFlag()%>, <%=genFeature.getContainmentFlag()%>, <%=genFeature.getResolveProxiesFlag()%>, <%=genFeature.getUnsettableFlag()%>, <%=genFeature.getUniqueFlag()%>, <%=genFeature.getDerivedFlag()%>, <%=genFeature.getOrderedFlag()%>);<%=genModel.getNonNLS()%><%=genModel.getNonNLS(genFeature.getDefaultValue(), 2)%>
+            <%for (GenFeature keyFeature : genFeature.getKeys()) {%>
+		get<%=genFeature.getFeatureAccessorName()%>().getEKeys().add(<%=genPackage.getPackageInstanceVariable(keyFeature.getGenPackage())%>.get<%=keyFeature.getFeatureAccessorName()%>());
+            <%}%>
+          <%} else {%>
+		initEAttribute(get<%=genFeature.getFeatureAccessorName()%>(), <%if (genFeature.hasGenericType()) {%>g1<%} else {%><%=genPackage.getPackageInstanceVariable(genFeature.getTypeGenPackage())%>.get<%=genFeature.getTypeClassifierAccessorName()%>()<%}%>, "<%=genFeature.getName()%>", <%=genFeature.getDefaultValue()%>, <%=genFeature.getLowerBound()%>, <%=genFeature.getUpperBound()%>, <%=genFeature.getContainerClass()%>, <%=genFeature.getTransientFlag()%>, <%=genFeature.getVolatileFlag()%>, <%=genFeature.getChangeableFlag()%>, <%=genFeature.getUnsettableFlag()%>, <%=genFeature.getIDFlag()%>, <%=genFeature.getUniqueFlag()%>, <%=genFeature.getDerivedFlag()%>, <%=genFeature.getOrderedFlag()%>);<%=genModel.getNonNLS()%><%=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 = "; }} %>
+
+          <%if (genModel.useGenerics()) {%>
+		<%=prefix%><%if (genModel.isOperationReflection()) {%>initEOperation(get<%=genOperation.getOperationAccessorName()%>()<%} else {%>addEOperation(<%=genClass.getClassifierInstanceName()%><%}%>, <%if (genOperation.isVoid() || genOperation.hasGenericType()) {%>null<%} else {%><%=genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage())%>.get<%=genOperation.getTypeClassifierAccessorName()%>()<%}%>, "<%=genOperation.getName()%>", <%=genOperation.getLowerBound()%>, <%=genOperation.getUpperBound()%>, <%=genOperation.getUniqueFlag()%>, <%=genOperation.getOrderedFlag()%>);<%=genModel.getNonNLS()%>
+          <%} else if (!genOperation.isVoid()) {%>
+            <%if (!genOperation.getEcoreOperation().isOrdered() || !genOperation.getEcoreOperation().isUnique()) { needsAddEOperation = true;%>
+		<%=prefix%><%if (genModel.isOperationReflection()) {%>initEOperation(get<%=genOperation.getOperationAccessorName()%>()<%} else {%>addEOperation(<%=genClass.getClassifierInstanceName()%><%}%>, <%=genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage())%>.get<%=genOperation.getTypeClassifierAccessorName()%>(), "<%=genOperation.getName()%>", <%=genOperation.getLowerBound()%>, <%=genOperation.getUpperBound()%>, <%=genOperation.getUniqueFlag()%>, <%=genOperation.getOrderedFlag()%>);<%=genModel.getNonNLS()%>
+            <%} else {%>
+		<%=prefix%><%if (genModel.isOperationReflection()) {%>initEOperation(get<%=genOperation.getOperationAccessorName()%>()<%} else {%>addEOperation(<%=genClass.getClassifierInstanceName()%><%}%>, <%=genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage())%>.get<%=genOperation.getTypeClassifierAccessorName()%>(), "<%=genOperation.getName()%>", <%=genOperation.getLowerBound()%>, <%=genOperation.getUpperBound()%>);<%=genModel.getNonNLS()%>
+            <%}%>
+          <%} else {%>
+		<%=prefix%><%if (genModel.isOperationReflection()) {%>initEOperation(get<%=genOperation.getOperationAccessorName()%>()<%} else {%>addEOperation(<%=genClass.getClassifierInstanceName()%><%}%>, null, "<%=genOperation.getName()%>");<%=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() + " = "; }} %>
+		<%=typeParameterVariable%>addETypeParameter(op, "<%=genTypeParameter.getName()%>");<%=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") + " "; }%>
+		<%=typePrefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
+                  <%if (info.depth > 0) {%>
+		g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
+                  <%}%>
+                <%}%>
+		t<%=t.nextIndex()%>.getEBounds().add(g1);
+              <%}%>
+            <%}%>
+          <%}%>
+          <%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") + " "; }%>
+		<%=typePrefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
+                <%if (info.depth > 0) {%>
+		g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
+                <%}%>
+              <%}%>
+            <%}%>
+            <%if (genModel.useGenerics()) {%>
+		addEParameter(op, <%if (genParameter.hasGenericType()){%>g1<%} else {%><%=genPackage.getPackageInstanceVariable(genParameter.getTypeGenPackage())%>.get<%=genParameter.getTypeClassifierAccessorName()%>()<%}%>, "<%=genParameter.getName()%>", <%=genParameter.getLowerBound()%>, <%=genParameter.getUpperBound()%>, <%=genParameter.getUniqueFlag()%>, <%=genParameter.getOrderedFlag()%>);<%=genModel.getNonNLS()%>
+            <%} else if (!genParameter.getEcoreParameter().isOrdered() || !genParameter.getEcoreParameter().isUnique()) { needsAddEParameter = true;%>
+		addEParameter(op, <%if (genParameter.hasGenericType()){%>g1<%} else {%><%=genPackage.getPackageInstanceVariable(genParameter.getTypeGenPackage())%>.get<%=genParameter.getTypeClassifierAccessorName()%>()<%}%>, "<%=genParameter.getName()%>", <%=genParameter.getLowerBound()%>, <%=genParameter.getUpperBound()%>, <%=genParameter.getUniqueFlag()%>, <%=genParameter.getOrderedFlag()%>);<%=genModel.getNonNLS()%>
+            <%} else {%>
+		addEParameter(op, <%if (genParameter.hasGenericType()){%>g1<%} else {%><%=genPackage.getPackageInstanceVariable(genParameter.getTypeGenPackage())%>.get<%=genParameter.getTypeClassifierAccessorName()%>()<%}%>, "<%=genParameter.getName()%>", <%=genParameter.getLowerBound()%>, <%=genParameter.getUpperBound()%>);<%=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") + " "; }%>
+		<%=typePrefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
+                  <%if (info.depth > 0) {%>
+		g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
+                  <%}%>
+		addEException(op, g<%=info.depth + 1%>);
+                <%}%>
+              <%}%>
+          <%} else {%>
+            <%for (GenClassifier genException : genOperation.getGenExceptions()) {%>
+		addEException(op, <%=genPackage.getPackageInstanceVariable(genException.getGenPackage())%>.get<%=genException.getClassifierAccessorName()%>());
+            <%}%>
+          <%}%>
+          <%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") + " "; }%>
+		<%=typePrefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
+              <%if (info.depth > 0) {%>
+		g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
+              <%}%>
+            <%}%>
+		initEOperation(op, g1);
+          <%}%>
+        <%}%>
+        <%if (c.hasNext()) {%>
+
+        <%}%>
+      <%}%>
+    <%}%>
+    <%if (!genPackage.getGenEnums().isEmpty()) {%>
+
+		// Initialize enums and add enum literals
+      <%for (Iterator<GenEnum> e=genPackage.getGenEnums().iterator(); e.hasNext();) { GenEnum genEnum = e.next();%>
+		initEEnum(<%=genEnum.getClassifierInstanceName()%>, <%=genEnum.getImportedName()%>.class, "<%=genEnum.getName()%>");<%=genModel.getNonNLS()%>
+        <%for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {%>
+		addEEnumLiteral(<%=genEnum.getClassifierInstanceName()%>, <%=genEnum.getImportedName().equals(genEnum.getClassifierID()) ? genEnum.getQualifiedName() : genEnum.getImportedName()%>.<%=genEnumLiteral.getEnumLiteralInstanceConstantName()%>);
+        <%}%>
+        <%if (e.hasNext()) {%>
+
+        <%}%>
+      <%}%>
+    <%}%>
+    <%if (!genPackage.getGenDataTypes().isEmpty()) {%>
+
+		// Initialize data types
+      <%for (GenDataType genDataType : genPackage.getGenDataTypes()) {boolean hasInstanceTypeName = genModel.useGenerics() && genDataType.getEcoreDataType().getInstanceTypeName() != null && genDataType.getEcoreDataType().getInstanceTypeName().contains("<");%>
+		initEDataType(<%=genDataType.getClassifierInstanceName()%>, <%=genDataType.getRawImportedInstanceClassName()%>.class, "<%=genDataType.getName()%>", <%=genDataType.getSerializableFlag()%>, <%=genDataType.getGeneratedInstanceClassFlag()%><%if (hasInstanceTypeName) {%>, "<%=genDataType.getEcoreDataType().getInstanceTypeName()%>"<%}%>);<%=genModel.getNonNLS()%><%if (hasInstanceTypeName) {%><%=genModel.getNonNLS(2)%><%}%>
+      <%}%>
+    <%}%>
+    <%if (genPackage.getSuperGenPackage() == null) {%>
+
+		// Create resource
+		createResource(<%=genPackage.getSchemaLocation()%>);
+    <%}%>
+    <%if (!genPackage.isEcorePackage() && !genPackage.getAnnotationSources().isEmpty()) {%>
+
+		// Create annotations
+      <%for (String annotationSource : genPackage.getAnnotationSources()) {%>
+		// <%=annotationSource%>
+		create<%=genPackage.getAnnotationSourceIdentifier(annotationSource)%>Annotations();
+      <%}%>
+    <%}%>
+	}
+
+    <%for (String annotationSource : genPackage.getAnnotationSources()) {%>
+	/**
+	 * Initializes the annotations for <b><%=annotationSource%></b>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void create<%=genPackage.getAnnotationSourceIdentifier(annotationSource)%>Annotations()
+	{
+		String source = <%if (annotationSource == null) {%>null;<%} else {%>"<%=annotationSource%>";<%=genModel.getNonNLS()%><%}%>
+      <%for (EAnnotation eAnnotation : genPackage.getAllAnnotations()) { List<GenPackage.AnnotationReferenceData> annotationReferenceDataList = genPackage.getReferenceData(eAnnotation);%>
+        <%if (annotationSource == null ? eAnnotation.getSource() == null : annotationSource.equals(eAnnotation.getSource())) {%>
+		addAnnotation
+		  (<%=genPackage.getAnnotatedModelElementAccessor(eAnnotation)%>,
+		   source,
+		   new String[]
+		   {
+          <%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);%>
+			   <%=key%>, <%=value%><%=k.hasNext() ? "," : ""%><%=genModel.getNonNLS(key + value)%>
+          <%}%>
+		   }<%if (annotationReferenceDataList.isEmpty()) {%>);<%} else {%>,<%}%>
+          <%if (!annotationReferenceDataList.isEmpty()) {%>
+		   new <%=genModel.getImportedName("org.eclipse.emf.common.util.URI")%>[]
+		   {
+            <%for (Iterator<GenPackage.AnnotationReferenceData> k = annotationReferenceDataList.iterator(); k.hasNext();) { GenPackage.AnnotationReferenceData annotationReferenceData = k.next();%>
+			 <%=genModel.getImportedName("org.eclipse.emf.common.util.URI")%>.createURI(<%if (annotationReferenceData.containingGenPackage != genPackage) {%><%=annotationReferenceData.containingGenPackage.getImportedPackageInterfaceName()%>.<%}%>eNS_URI).appendFragment("<%=annotationReferenceData.uriFragment%>")<%if (k.hasNext()) {%>,<%}%><%=genModel.getNonNLS()%>
+            <%}%>
+		   });
+          <%}%>
+          <%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);%>
+		addAnnotation
+		  (<%=genPackage.getAnnotatedModelElementAccessor(eAnnotation)%>,
+		   <%if (nonContentAnnotation && genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF210_VALUE) {%>new boolean[] { <%=path.toString()%> }<%} else {%><%=depth%><%}%>,
+		   <%if (nestedAnnotationSource == null) {%>null,<%} else {%>"<%=nestedAnnotationSource%>",<%=genModel.getNonNLS()%><%}%>
+		   new String[]
+		   {
+            <%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);%>
+			   <%=key%>, <%=value%><%=l.hasNext() ? "," : ""%><%=genModel.getNonNLS(key + value)%>
+            <%}%>
+		   }<%if (nestedAnnotationReferenceDataList.isEmpty()) {%>);<%} else {%>,<%}%>
+            <%if (!nestedAnnotationReferenceDataList.isEmpty()) {%>
+		   new <%=genModel.getImportedName("org.eclipse.emf.common.util.URI")%>[]
+		   {
+            <%for (Iterator<GenPackage.AnnotationReferenceData> l = nestedAnnotationReferenceDataList.iterator(); l.hasNext();) { GenPackage.AnnotationReferenceData annotationReferenceData = l.next();%>
+			 <%=genModel.getImportedName("org.eclipse.emf.common.util.URI")%>.createURI(<%if (annotationReferenceData.containingGenPackage != genPackage) {%><%=annotationReferenceData.containingGenPackage.getImportedPackageInterfaceName()%>.<%}%>eNS_URI).appendFragment("<%=annotationReferenceData.uriFragment%>")<%if (l.hasNext()) {%>,<%}%><%=genModel.getNonNLS()%>
+            <%}%>
+		   });
+            <%}%>
+          <%}%>
+        <%}%>
+      <%}%>
+	}
+
+    <%}%>
+  <%} else {%>
+    <%if (genPackage.isLoadingInitialization()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isLoaded = false;
+
+	/**
+	 * Laods the package and any sub-packages from their serialized form.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void loadPackage()
+	{
+		if (isLoaded) return;
+		isLoaded = true;
+
+		<%=genModel.getImportedName("java.net.URL")%> url = getClass().getResource(packageFilename);
+		if (url == null)
+		{
+			throw new RuntimeException("Missing serialized package: " + packageFilename);<%=genModel.getNonNLS()%>
+		}
+		<%=genModel.getImportedName("org.eclipse.emf.common.util.URI")%> uri = <%=genModel.getImportedName("org.eclipse.emf.common.util.URI")%>.createURI(url.toString());
+		<%=genModel.getImportedName("org.eclipse.emf.ecore.resource.Resource")%> resource = new <%=genModel.getImportedName("org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl")%>().createResource(uri);
+		try
+		{
+			resource.load(null);
+		}
+		catch (<%=genModel.getImportedName("java.io.IOException")%> exception)
+		{
+			throw new <%=genModel.getImportedName("org.eclipse.emf.common.util.WrappedException")%>(exception);
+		}
+		initializeFromLoadedEPackage(this, (<%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>)resource.getContents().get(0));
+		createResource(eNS_URI);
+	}
+
+    <%}%>
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isFixed = false;
+
+	/**
+	 * Fixes up the loaded package, to make it appear as if it had been programmatically built.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void fixPackageContents()
+	{
+		if (isFixed) return;
+		isFixed = true;
+		fixEClassifiers();
+	}
+
+	/**
+	 * Sets the instance class on the given classifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+    <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+    <%}%>
+	protected void fixInstanceClass(<%=genModel.getImportedName("org.eclipse.emf.ecore.EClassifier")%> eClassifier)
+	{
+		if (eClassifier.getInstanceClassName() == null)
+		{
+    <%ArrayList<GenClass> dynamicGenClasses = new ArrayList<GenClass>(); for (GenClass genClass : genPackage.getGenClasses()) { if (genClass.isDynamic()) { dynamicGenClasses.add(genClass); } }%>
+    <%if (dynamicGenClasses.isEmpty()) {%>
+			eClassifier.setInstanceClassName("<%=genPackage.getInterfacePackageName()%>." + eClassifier.getName());<%=genModel.getNonNLS()%>
+			setGeneratedClassName(eClassifier);
+    <%} else {%>
+			switch (eClassifier.getClassifierID())
+			{
+      <%for (GenClass genClass : dynamicGenClasses) {%>
+        <%if (genClass.isDynamic()) {%>
+				case <%=genPackage.getClassifierID(genClass)%>:
+        <%}%>
+      <%}%>
+				{
+					break;
+				}
+				default:
+				{
+					eClassifier.setInstanceClassName("<%=genPackage.getInterfacePackageName()%>." + eClassifier.getName());<%=genModel.getNonNLS()%>
+					setGeneratedClassName(eClassifier);
+					break;
+				}
+			}
+    <%}%>
+		}
+	}
+
+  <%}%>
+  <%if (needsAddEOperation) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected <%=genModel.getImportedName("org.eclipse.emf.ecore.EOperation")%> addEOperation(<%=genModel.getImportedName("org.eclipse.emf.ecore.EClass")%> owner, <%=genModel.getImportedName("org.eclipse.emf.ecore.EClassifier")%> type, String name, int lowerBound, int upperBound, boolean isUnique, boolean isOrdered)
+	{
+		<%=genModel.getImportedName("org.eclipse.emf.ecore.EOperation")%> o = addEOperation(owner, type, name, lowerBound, upperBound);
+		o.setUnique(isUnique);
+		o.setOrdered(isOrdered);
+		return o;
+	}
+
+  <%}%>
+  <%if (needsAddEParameter) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected <%=genModel.getImportedName("org.eclipse.emf.ecore.EParameter")%> addEParameter(<%=genModel.getImportedName("org.eclipse.emf.ecore.EOperation")%> owner, <%=genModel.getImportedName("org.eclipse.emf.ecore.EClassifier")%> type, String name, int lowerBound, int upperBound, boolean isUnique, boolean isOrdered)
+	{
+		<%=genModel.getImportedName("org.eclipse.emf.ecore.EParameter")%> p = ecoreFactory.createEParameter();
+		p.setEType(type);
+		p.setName(name);
+		p.setLowerBound(lowerBound);
+		p.setUpperBound(upperBound);
+		p.setUnique(isUnique);
+		p.setOrdered(isOrdered);
+		owner.getEParameters().add(p);
+		return p;
+	}
+
+  <%}%>
+<%}%>
+<%if (isInterface && genPackage.isLiteralsInterface()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+  <%if (genModel.isOperationReflection()) {%>
+	 *   <li>each operation of each class,</li>
+  <%}%>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	<%if (isImplementation) {%>public <%}%>interface Literals
+	{
+  <%for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {%>
+		/**
+    <%if (genClassifier instanceof GenClass) { GenClass genClass = (GenClass)genClassifier;%>
+      <%if (!genClass.isInterface()) {%>
+		 * The meta object literal for the '{@link <%=genClass.getQualifiedClassName()%> <em><%=genClass.getFormattedName()%></em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see <%=genClass.getQualifiedClassName()%>
+      <%} else {%>
+		 * The meta object literal for the '{@link <%=genClass.getRawQualifiedInterfaceName()%> <em><%=genClass.getFormattedName()%></em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see <%=genClass.getRawQualifiedInterfaceName()%>
+      <%}%>
+    <%} else if (genClassifier instanceof GenEnum) { GenEnum genEnum = (GenEnum)genClassifier;%>
+		 * The meta object literal for the '{@link <%=genEnum.getQualifiedName()%> <em><%=genEnum.getFormattedName()%></em>}' enum.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see <%=genEnum.getQualifiedName()%>
+    <%} else if (genClassifier instanceof GenDataType) { GenDataType genDataType = (GenDataType)genClassifier;%>
+		 * The meta object literal for the '<em><%=genDataType.getFormattedName()%></em>' data type.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+      <%if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {%>
+		 * @see <%=genDataType.getRawInstanceClassName()%>
+      <%}%>
+    <%}%>
+		 * @see <%=genPackage.getQualifiedPackageClassName()%>#get<%=genClassifier.getClassifierAccessorName()%>()
+    <%if (genClassifier.hasAPITags()) {%>
+		 * <%=genClassifier.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+		 * @generated
+		 */
+  <%if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) {%>
+		@Deprecated
+  <%}%>
+		<%=publicStaticFinalFlag%><%=genClassifier.getImportedMetaType()%> <%=genPackage.getClassifierID(genClassifier)%> = eINSTANCE.get<%=genClassifier.getClassifierAccessorName()%>();
+
+    <%if (genClassifier instanceof GenClass) { GenClass genClass = (GenClass)genClassifier;%>
+      <%for (GenFeature genFeature : genClass.getGenFeatures()) {%>
+		/**
+		 * The meta object literal for the '<em><b><%=genFeature.getFormattedName()%></b></em>' <%=genFeature.getFeatureKind()%> feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+        <%if (genFeature.hasImplicitAPITags()) {%>
+		 * <%=genFeature.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+        <%}%>
+		 * @generated
+		 */
+        <%if (isJDK50 && genFeature.hasImplicitAPIDeprecatedTag()) {%>
+		@Deprecated
+        <%}%>
+		<%=publicStaticFinalFlag%><%=genFeature.getImportedMetaType()%> <%=genClass.getFeatureID(genFeature)%> = eINSTANCE.get<%=genFeature.getFeatureAccessorName()%>();
+
+      <%}%>
+      <%if (genModel.isOperationReflection()) {%>
+        <%for (GenOperation genOperation : genClass.getGenOperations()) {%>
+		/**
+		 * The meta object literal for the '<em><b><%=genOperation.getFormattedName()%></b></em>' operation.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+          <%if (genOperation.hasImplicitAPITags()) {%>
+		 * <%=genOperation.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+          <%}%>
+		 * @generated
+		 */
+        <%if (isJDK50 && genOperation.hasImplicitAPIDeprecatedTag()) {%>
+		@Deprecated
+        <%}%>
+		<%=publicStaticFinalFlag%><%=genOperation.getImportedMetaType()%> <%=genClass.getOperationID(genOperation, false)%> = eINSTANCE.get<%=genOperation.getOperationAccessorName()%>();
+
+        <%}%>
+      <%}%>
+    <%}%>
+  <%}%>
+	}
+
+<%}%>
+} //<%=isInterface ? genPackage.getPackageInterfaceName() : genPackage.getPackageClassName()%>
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._Ssf88WKPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._Ssf88WKPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..e7f37b3
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._Ssf88WKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenPackage genPackage = parameter;
+argument = ((Object[]) new Object[]{new Object[]{genPackage,Boolean.TRUE,Boolean.FALSE}})[0];
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._08N1-WKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._08N1-WKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..24cd6fc
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._08N1-WKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel, GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._9HAxZHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._9HAxZHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..c61438f
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._9HAxZHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnIjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnIjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnIjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnIzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnIzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnIzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnJTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnJTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnJTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnJzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnJzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..ac93343
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnJzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenPackage genPackage = parameter;
+targetPath = genPackage.getGenModel().getModelDirectory();
+packageName = genPackage.getReflectionPackageName();
+className = genPackage.getFactoryInterfaceName();
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnKTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnKTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..0848dae
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnKTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,792 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.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();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%boolean isInterface = Boolean.TRUE.equals(((Object[])argument)[1]); boolean isImplementation = Boolean.TRUE.equals(((Object[])argument)[2]); boolean useInterfaceOverrideAnnotation = genModel.useInterfaceOverrideAnnotation() && !(isInterface && isImplementation);%>
+<%String publicStaticFinalFlag = isImplementation ? "public static final " : "";%>
+<%@ 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"%>
+<%if (isInterface || genModel.isSuppressInterfaces()) {%>
+package <%=genPackage.getReflectionPackageName()%>;
+<%} else {%>
+package <%=genPackage.getClassPackageName()%>;
+<%}%>
+
+<%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);%>
+
+<%if (isInterface) {%>
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+<%if (!genModel.isSuppressEMFMetaData()) {%>
+ * @see <%=genPackage.getQualifiedPackageInterfaceName()%>
+<%}%>
+<%if (genPackage.hasAPITags()) {%>
+ * <%=genPackage.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%} else {%>
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+<%if (genPackage.hasAPITags()) {%>
+ * <%=genPackage.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%}%>
+<%if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%}%>
+<%if (isImplementation) {%>
+  <%if (isJDK50 && !genPackage.hasAPIDeprecatedTag()) { List<GenClassifier> genClassifiers = new ArrayList<GenClassifier>(genPackage.getGenClassifiers()); for (Iterator<GenClassifier> i = genClassifiers.iterator(); i.hasNext(); ) { GenClassifier genClassifier = i.next(); if (genClassifier instanceof GenClass && ((GenClass)genClassifier).isAbstract()) i.remove(); } if (GenModelUtil.hasAPIDeprecatedTag(genClassifiers)) {%>
+@SuppressWarnings("deprecation")
+  <%}}%>
+public class <%=genPackage.getFactoryClassName()%> extends <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.EFactoryImpl")%><%if (!genModel.isSuppressInterfaces()) {%> implements <%=genPackage.getImportedFactoryInterfaceName()%><%}%>
+<%} else {%>
+public interface <%=genPackage.getFactoryInterfaceName()%><%if (!genModel.isSuppressEMFMetaData()) {%> extends <%=genModel.getImportedName("org.eclipse.emf.ecore.EFactory")%><%}%>
+<%}%>
+{
+<%if (genModel.hasCopyrightField()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	<%=publicStaticFinalFlag%><%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+<%if (isImplementation && (genModel.isSuppressEMFMetaData() || genModel.isSuppressInterfaces())) {%>
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	<%=publicStaticFinalFlag%><%=genPackage.getFactoryClassName()%> eINSTANCE = init();
+
+<%}%>
+<%if (isInterface && genModel.isSuppressEMFMetaData()) {%>
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	<%=publicStaticFinalFlag%><%=genPackage.getFactoryInterfaceName()%> INSTANCE = <%=genPackage.getQualifiedFactoryClassName()%>.eINSTANCE;
+
+<%} else if (isInterface && !genModel.isSuppressInterfaces()) {%>
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	<%=publicStaticFinalFlag%><%=genPackage.getFactoryInterfaceName()%> eINSTANCE = <%=genPackage.getQualifiedFactoryClassName()%>.init();
+
+<%}%>
+<%if (isImplementation) {%>
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%String factoryType = genModel.isSuppressEMFMetaData() ? genPackage.getFactoryClassName() : genPackage.getImportedFactoryInterfaceName();%>
+	public static <%=factoryType%> init()
+	{
+		try
+		{
+			<%=factoryType%> the<%=genPackage.getFactoryName()%> = (<%=factoryType%>)<%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE.getEFactory(<%=genPackage.getPackageInterfaceName()%>.eNS_URI);
+			if (the<%=genPackage.getFactoryName()%> != null)
+			{
+				return the<%=genPackage.getFactoryName()%>;
+			}
+		}
+		catch (Exception exception)
+		{
+			<%=genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin")%>.INSTANCE.log(exception);
+		}
+		return new <%=genPackage.getImportedFactoryClassName()%>();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public <%=genPackage.getFactoryClassName()%>()
+	{
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	public EObject create(EClass eClass)
+	{
+		switch (eClass.getClassifierID())
+		{
+<%for (GenClass genClass : genPackage.getGenClasses()) {%>
+<%if (!genClass.isAbstract()) {%>
+			case <%=genPackage.getImportedPackageInterfaceName()%>.<%=genClass.getClassifierID()%>: return <%=!genClass.isEObjectExtension() ? "(EObject)" : "" %>create<%=genClass.getName()%>();
+<%}%>
+<%}%>
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+		}
+	}
+
+<%if (!genPackage.getAllGenDataTypes().isEmpty()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	public Object createFromString(<%=genModel.getImportedName("org.eclipse.emf.ecore.EDataType")%> eDataType, String initialValue)
+	{
+		switch (eDataType.getClassifierID())
+		{
+<%for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {%>
+  <%if (genDataType.isSerializable()) {%>
+			case <%=genPackage.getImportedPackageInterfaceName()%>.<%=genDataType.getClassifierID()%>:
+				return create<%=genDataType.getName()%>FromString(eDataType, initialValue);
+  <%}%>
+<%}%>
+			default:
+				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	public String convertToString(<%=genModel.getImportedName("org.eclipse.emf.ecore.EDataType")%> eDataType, Object instanceValue)
+	{
+		switch (eDataType.getClassifierID())
+		{
+<%for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {%>
+  <%if (genDataType.isSerializable()) {%>
+			case <%=genPackage.getImportedPackageInterfaceName()%>.<%=genDataType.getClassifierID()%>:
+				return convert<%=genDataType.getName()%>ToString(eDataType, instanceValue);
+  <%}%>
+<%}%>
+			default:
+				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+		}
+	}
+
+<%}%>
+<%for (GenClass genClass : genPackage.getGenClasses()) {%>
+  <%if (!genClass.isAbstract()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+    <%if (genClass.hasAPITags()) {%>
+	 * <%=genClass.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
+<%if (isJDK50 && genClass.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+<%}%>
+<%if (useInterfaceOverrideAnnotation && !genClass.isMapEntry()) {%>
+	@Override
+<%}%>
+	public <%=genClass.getTypeParameters()%><%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceTypeArguments()%> create<%=genClass.getName()%>()
+	{
+    <%if (genClass.isDynamic()) {%>
+		<%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceTypeArguments()%> <%=genClass.getSafeUncapName()%> = <%=genClass.getCastFromEObject()%>super.create(<%=genClass.getQualifiedClassifierAccessor()%>);
+    <%} else {%>
+		<%=genClass.getImportedClassName()%><%=genClass.getClassTypeArguments()%> <%=genClass.getSafeUncapName()%> = new <%=genClass.getImportedClassName()%><%=genClass.getClassTypeArguments()%>()<%if (genModel.isSuppressInterfaces() && !genPackage.getReflectionPackageName().equals(genPackage.getInterfacePackageName())) {%>{}<%}%>;
+    <%}%>
+		return <%=genClass.getSafeUncapName()%>;
+	}
+
+  <%}%>
+<%}%>
+<%for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {%>
+  <%if (genDataType.isSerializable()) {%>
+<%if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) { String eDataType = genDataType.getQualifiedClassifierAccessor();%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+  <%if (genDataType.hasAPITags()) {%>
+	 * <%=genDataType.getAPITags(genModel.getIndentation(stringBuffer))%>
+  <%}%>
+	 * @generated
+	 */
+    <%if (genModel.useGenerics() && genDataType.isUncheckedCast() && !genDataType.hasCreatorBody()) {%>
+	@SuppressWarnings("unchecked")
+    <%}%>
+    <%if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+    <%}%>
+  <%if (genPackage.isDataTypeConverters() && useInterfaceOverrideAnnotation) {%>
+	@Override
+  <%}%>
+	public <%=genDataType.getImportedParameterizedInstanceClassName()%> create<%=genDataType.getName()%>(<%if (genDataType.hasCreatorBody()) {%>final <%}%>String <%if (genDataType.hasCreatorBody()) {%>it<%} else {%>literal<%}%>)
+	{
+    <%if (genDataType.hasCreatorBody()) {%>
+		<%=genDataType.getCreatorBody(genModel.getIndentation(stringBuffer))%>
+    <%} else if (genDataType instanceof GenEnum) {%>
+		<%=genDataType.getImportedInstanceClassName()%> result = <%=genDataType.getImportedInstanceClassName()%>.get(literal);
+		if (result == null) throw new IllegalArgumentException("The value '" + literal + "' is not a valid enumerator of '" + <%=eDataType%>.getName() + "'");<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%><%=genModel.getNonNLS(3)%>
+		return result;
+    <%} else if (genDataType.getBaseType() != null) { GenDataType genBaseType = genDataType.getBaseType(); boolean isPrimitiveConversion = !genDataType.isPrimitiveType() && genBaseType.isPrimitiveType();%>
+      <%if (genBaseType.getGenPackage() == genPackage) {%>
+        <%if (isPrimitiveConversion && !isJDK50) {%>
+		return new <%=genDataType.getObjectInstanceClassName()%>(create<%=genBaseType.getName()%>(literal));
+        <%} else {%>
+		return create<%=genBaseType.getName()%>(literal);
+        <%}%>
+      <%} else if (genBaseType.getGenPackage().isDataTypeConverters()) {%>
+        <%if (isPrimitiveConversion && !isJDK50) {%>
+		return new <%=genDataType.getObjectInstanceClassName()%>(<%=genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.create<%=genBaseType.getName()%>(literal));
+        <%} else {%>
+		return <%=genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.create<%=genBaseType.getName()%>(literal);
+        <%}%>
+      <%} else {%>
+		return <%if (!genDataType.isObjectType()) {%>(<%=genDataType.getObjectInstanceClassName()%>)<%}%><%=genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.createFromString(<%=genBaseType.getQualifiedClassifierAccessor()%>, literal);
+      <%}%>
+    <%} else if (genDataType.getItemType() != null) { GenDataType genItemType = genDataType.getItemType(); %>
+		if (literal == null) return null;
+		<%=genDataType.getImportedParameterizedInstanceClassName()%> result = new <%=genModel.getImportedName("java.util.ArrayList")%><%if (genModel.useGenerics()) {%><<%=genItemType.getObjectType().getImportedParameterizedInstanceClassName()%>><%}%>();
+      <%if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {%>
+		for (<%=genModel.getImportedName("java.util.StringTokenizer")%> stringTokenizer = new <%=genModel.getImportedName("java.util.StringTokenizer")%>(literal); stringTokenizer.hasMoreTokens(); )
+      <%} else {%>
+		for (String item : split(literal))
+      <%}%>
+		{
+      <%if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {%>
+			String item = stringTokenizer.nextToken();
+      <%}%>
+      <%if (genItemType.getGenPackage() == genPackage) {%>
+        <%if (genPackage.isDataTypeConverters()) { genItemType = genItemType.getObjectType();%>
+			result.add(create<%=genItemType.getName()%>(item));
+        <%} else {%>
+			result.add(create<%=genItemType.getName()%>FromString(<%=genItemType.getQualifiedClassifierAccessor()%>, item));
+        <%}%>
+      <%} else {%>
+        <%if (genItemType.getGenPackage().isDataTypeConverters()) { genItemType = genItemType.getObjectType();%>
+			result.add(<%=genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.create<%=genItemType.getName()%>(item));
+        <%} else {%>
+			result.add(<%=genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.createFromString(<%=genItemType.getQualifiedClassifierAccessor()%>, item));
+        <%}%>
+      <%}%>
+		}
+		return result;
+    <%} else if (!genDataType.getMemberTypes().isEmpty()) {%>
+		if (literal == null) return <%=genDataType.getStaticValue(null)%>;
+		<%=genDataType.getImportedInstanceClassName()%> result = <%=genDataType.getStaticValue(null)%>;
+		RuntimeException exception = null;
+      <%for (GenDataType genMemberType : genDataType.getMemberTypes()) {%>
+		try
+		{
+      <%if (genMemberType.getGenPackage() == genPackage) {%>
+        <%if (genPackage.isDataTypeConverters()) { if (!genDataType.isPrimitiveType()) genMemberType = genMemberType.getObjectType();%>
+			result = create<%=genMemberType.getName()%>(literal);
+        <%} else {%>
+			result = (<%=genDataType.getObjectInstanceClassName()%>)create<%=genMemberType.getName()%>FromString(<%=genMemberType.getQualifiedClassifierAccessor()%>, literal);
+        <%}%>
+      <%} else {%>
+        <%if (genPackage.isDataTypeConverters()) { if (!genDataType.isPrimitiveType()) genMemberType = genMemberType.getObjectType();%>
+			result = <%=genMemberType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.create<%=genMemberType.getName()%>(literal);
+        <%} else {%>
+			result = (<%=genDataType.getObjectInstanceClassName()%>)<%=genMemberType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.createFromString(<%=genMemberType.getQualifiedClassifierAccessor()%>, literal);
+        <%}%>
+      <%}%>
+			if (<%if (!genDataType.isPrimitiveType()) {%>result != null && <%}%><%=genModel.getImportedName("org.eclipse.emf.ecore.util.Diagnostician")%>.INSTANCE.validate(<%=eDataType%>, <%if (genDataType.isPrimitiveType() && !isJDK50) {%>new <%=genDataType.getObjectInstanceClassName()%>(result)<%} else {%>result<%}%>, null, null))
+			{
+				return result;
+			}
+		}
+		catch (RuntimeException e)
+		{
+			exception = e;
+		}
+      <%}%>
+		if (<%if (!genDataType.isPrimitiveType()) {%>result != null || <%}%>exception == null) return result;
+    
+		throw exception;
+    <%} else if (!genDataType.hasConversionDelegate() && genModel.useGenerics() && (genDataType.isArrayType() || !genDataType.getEcoreDataType().getETypeParameters().isEmpty() || genDataType.getEcoreDataType().getInstanceTypeName().contains("<"))) {%>
+		return (<%=genDataType.getImportedParameterizedObjectInstanceClassName()%>)super.createFromString(literal);
+    <%} else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {%>
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new <%=genModel.getImportedName("java.lang.UnsupportedOperationException")%>();
+    <%} else if (genDataType.isPrimitiveType() && !isJDK50) {%>
+		return ((<%=genDataType.getObjectInstanceClassName()%>)super.createFromString(<%=eDataType%>, literal)).<%=genDataType.getPrimitiveValueFunction()%>();
+    <%} else {%>
+		return <%if (!genDataType.isObjectType()) {%>(<%=genDataType.getImportedParameterizedObjectInstanceClassName()%>)<%}%>super.createFromString(<%=eDataType%>, literal);
+    <%}%>
+	}
+
+<%}%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+  <%if (genDataType.hasAPITags()) {%>
+	 * <%=genDataType.getAPITags(genModel.getIndentation(stringBuffer))%>
+  <%}%>
+	 * @generated
+	 */
+    <%if (!genPackage.isDataTypeConverters() && genModel.useGenerics() && genDataType.isUncheckedCast() && !genDataType.hasCreatorBody()) {%>
+	@SuppressWarnings("unchecked")
+    <%}%>
+    <%if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+    <%}%>
+	public <%=genDataType.getImportedParameterizedObjectInstanceClassName()%> create<%=genDataType.getName()%>FromString(<%=genModel.getImportedName("org.eclipse.emf.ecore.EDataType")%> eDataType, String initialValue)
+	{
+    <%if (genDataType instanceof GenEnum) {%>
+      <%if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {%>
+		return create<%=genDataType.getName()%>(initialValue);
+      <%} else {%>
+		<%=((GenEnum)genDataType).getImportedInstanceClassName()%> result = <%=((GenEnum)genDataType).getImportedInstanceClassName()%>.get(initialValue);
+		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%><%=genModel.getNonNLS(3)%>
+		return result;
+      <%}%>
+    <%} else if (genDataType.getBaseType() != null) { GenDataType genBaseType = genDataType.getBaseType(); %>
+      <%if (genBaseType.getGenPackage() == genPackage) {%>
+		return <%if (!genDataType.getObjectInstanceClassName().equals(genBaseType.getObjectInstanceClassName())) {%>(<%=genDataType.getObjectInstanceClassName()%>)<%}%>create<%=genBaseType.getName()%>FromString(<%=genBaseType.getQualifiedClassifierAccessor()%>, initialValue);
+      <%} else {%>
+		return <%if (!genDataType.isObjectType()) {%>(<%=genDataType.getObjectInstanceClassName()%>)<%}%><%=genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.createFromString(<%=genBaseType.getQualifiedClassifierAccessor()%>, initialValue);
+      <%}%>
+    <%} else if (genDataType.getItemType() != null) { GenDataType genItemType = genDataType.getItemType(); %>
+      <%if (genPackage.isDataTypeConverters()) {%>
+		return create<%=genDataType.getName()%>(initialValue);
+      <%} else {%>
+		if (initialValue == null) return null;
+		<%=genDataType.getImportedParameterizedObjectInstanceClassName()%> result = new <%=genModel.getImportedName("java.util.ArrayList")%><%if (genModel.useGenerics()) {%><<%=genItemType.getObjectType().getImportedParameterizedInstanceClassName()%>><%}%>();
+        <%if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {%>
+		for (<%=genModel.getImportedName("java.util.StringTokenizer")%> stringTokenizer = new <%=genModel.getImportedName("java.util.StringTokenizer")%>(initialValue); stringTokenizer.hasMoreTokens(); )
+        <%} else {%>
+		for (String item : split(initialValue))
+        <%}%>
+		{
+        <%if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {%>
+			String item = stringTokenizer.nextToken();
+        <%}%>
+      <%if (genItemType.getGenPackage() == genPackage) {%>
+			result.add(create<%=genItemType.getName()%>FromString(<%=genItemType.getQualifiedClassifierAccessor()%>, item));
+      <%} else {%>
+			result.add(<%if (!genItemType.isObjectType()) {%>(<%=genItemType.getObjectInstanceClassName()%>)<%}%><%=genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.createFromString(<%=genItemType.getQualifiedClassifierAccessor()%>, item));
+      <%}%>
+		}
+		return result;
+      <%}%>
+    <%} else if (!genDataType.getMemberTypes().isEmpty()) {%>
+      <%if (genPackage.isDataTypeConverters()) {%>
+        <%if (genDataType.isPrimitiveType() && !isJDK50) {%>
+		return new <%=genDataType.getObjectInstanceClassName()%>(create<%=genDataType.getName()%>(initialValue));
+        <%} else {%>
+		return create<%=genDataType.getName()%>(initialValue);
+        <%}%>
+      <%} else {%>
+		if (initialValue == null) return null;
+		<%=genDataType.getObjectInstanceClassName()%> result = null;
+		RuntimeException exception = null;
+      <%for (GenDataType genMemberType : genDataType.getMemberTypes()) {%>
+		try
+		{
+      <%if (genMemberType.getGenPackage() == genPackage) {%>
+			result = <%if (!genDataType.isObjectType() && !genDataType.getObjectInstanceClassName().equals(genMemberType.getObjectInstanceClassName())) {%>(<%=genDataType.getObjectInstanceClassName()%>)<%}%>create<%=genMemberType.getName()%>FromString(<%=genMemberType.getQualifiedClassifierAccessor()%>, initialValue);
+      <%} else {%>
+			result = <%if (!genDataType.isObjectType()) {%>(<%=genDataType.getObjectInstanceClassName()%>)<%}%><%=genMemberType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.createFromString(<%=genMemberType.getQualifiedClassifierAccessor()%>, initialValue);
+      <%}%>
+			if (result != null && <%=genModel.getImportedName("org.eclipse.emf.ecore.util.Diagnostician")%>.INSTANCE.validate(eDataType, result, null, null))
+			{
+				return result;
+			}
+		}
+		catch (RuntimeException e)
+		{
+			exception = e;
+		}
+      <%}%>
+		if (result != null || exception == null) return result;
+    
+		throw exception;
+      <%}%>
+    <%} else if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {%>
+		return create<%=genDataType.getName()%>(initialValue);
+    <%} else if (!genDataType.hasConversionDelegate() && genModel.useGenerics() && (genDataType.isArrayType() || !genDataType.getEcoreDataType().getETypeParameters().isEmpty() || genDataType.getEcoreDataType().getInstanceTypeName().contains("<"))) {%>
+		return <%if (!genDataType.isObjectType()) {%>(<%=genDataType.getImportedParameterizedObjectInstanceClassName()%>)<%}%>super.createFromString(initialValue);
+    <%} else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {%>
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new <%=genModel.getImportedName("java.lang.UnsupportedOperationException")%>();
+    <%} else {%>
+		return <%if (!genDataType.isObjectType()) {%>(<%=genDataType.getImportedParameterizedObjectInstanceClassName()%>)<%}%>super.createFromString(eDataType, initialValue);
+    <%}%>
+	}
+
+<%if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) { String eDataType = genDataType.getQualifiedClassifierAccessor();%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+  <%if (genDataType.hasAPITags()) {%>
+	 * <%=genDataType.getAPITags(genModel.getIndentation(stringBuffer))%>
+  <%}%>
+	 * @generated
+	 */
+  <%if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+  <%}%>
+  <%if (genPackage.isDataTypeConverters() && useInterfaceOverrideAnnotation) {%>
+	@Override
+  <%}%>
+	public String convert<%=genDataType.getName()%>(<%if (genDataType.hasCreatorBody()) {%>final <%}%><%=genDataType.getImportedBoundedWildcardInstanceClassName()%> <%if (genDataType.hasConverterBody()) {%>it<%} else {%>instanceValue<%}%>)
+	{
+    <%if (genDataType.hasConverterBody()) {%>
+		<%=genDataType.getConverterBody(genModel.getIndentation(stringBuffer))%>
+    <%} else if (genDataType instanceof GenEnum) {%>
+		return instanceValue == null ? null : instanceValue.toString();
+    <%} else if (genDataType.getBaseType() != null) { GenDataType genBaseType = genDataType.getBaseType(); boolean isPrimitiveConversion = !genDataType.isPrimitiveType() && genBaseType.isPrimitiveType();%>
+      <%if (genBaseType.getGenPackage() == genPackage) {%>
+        <%if (isPrimitiveConversion) {%>
+		return instanceValue == null ? null : convert<%=genBaseType.getName()%>(instanceValue<%if (!isJDK50) {%>.<%=genBaseType.getPrimitiveValueFunction()%>()<%}%>);
+        <%} else {%>
+		return convert<%=genBaseType.getName()%>(instanceValue);
+        <%}%>
+      <%} else if (genBaseType.getGenPackage().isDataTypeConverters()) {%>
+		return <%=genBaseType.getGenPackage().getQualifiedFactoryInstanceAccessor()%>.convert<%=genBaseType.getName()%>(instanceValue);
+      <%} else {%>
+		return <%=genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.convertToString(<%=genBaseType.getQualifiedClassifierAccessor()%>, instanceValue);
+      <%}%>
+    <%} else if (genDataType.getItemType() != null) { GenDataType genItemType = genDataType.getItemType(); %>
+		if (instanceValue == null) return null;
+		if (instanceValue.isEmpty()) return "";
+		<%=genModel.getImportedName(genModel.useGenerics() ? "java.lang.StringBuilder" : "java.lang.StringBuffer")%> result = new <%=genModel.getImportedName(genModel.useGenerics() ? "java.lang.StringBuilder" : "java.lang.StringBuffer")%>();
+        <%String item; if (!genModel.useGenerics()) { item = "i.next()"; %>
+		for (<%=genModel.getImportedName("java.util.Iterator")%> i = instanceValue.iterator(); i.hasNext(); )
+        <%} else { item = "item";%>
+		for (<%=genModel.getImportedName("java.lang.Object")%> item : instanceValue)
+        <%}%>
+		{
+      <%if (genItemType.getGenPackage() == genPackage) {%>
+        <%if (genPackage.isDataTypeConverters()) { genItemType = genItemType.getObjectType();%>
+			result.append(convert<%=genItemType.getName()%>((<%=genItemType.getObjectInstanceClassName()%>)<%=item%>));
+        <%} else {%>
+			result.append(convert<%=genItemType.getName()%>ToString(<%=genItemType.getQualifiedClassifierAccessor()%>, <%=item%>));
+        <%}%>
+      <%} else {%>
+        <%if (genItemType.getGenPackage().isDataTypeConverters()) { genItemType = genItemType.getObjectType();%>
+			result.append(<%=genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.convert<%=genItemType.getName()%>((<%=genItemType.getObjectInstanceClassName()%>)<%=item%>));
+        <%} else {%>
+			result.append(<%=genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.convertToString(<%=genItemType.getQualifiedClassifierAccessor()%>, <%=item%>));
+        <%}%>
+      <%}%>
+			result.append(' ');
+		}
+		return result.substring(0, result.length() - 1);
+    <%} else if (!genDataType.getMemberTypes().isEmpty()) {%>
+      <%if (!genDataType.isPrimitiveType()) {%>
+		if (instanceValue == null) return null;
+        <%for (GenDataType genMemberType : genDataType.getMemberTypes()) {%>
+		if (<%=genMemberType.getQualifiedClassifierAccessor()%>.isInstance(instanceValue))
+		{
+			try
+			{
+          <%if (genMemberType.getGenPackage() == genPackage) {%>
+            <%if (genPackage.isDataTypeConverters()) {%>
+              <%if (genMemberType.getQualifiedInstanceClassName().equals(genDataType.getQualifiedInstanceClassName())) {%>
+				String value = convert<%=genMemberType.getName()%>(instanceValue);
+              <%} else if (genMemberType.isPrimitiveType() && !isJDK50) {%>
+				String value = convert<%=genMemberType.getName()%>(((<%=genMemberType.getObjectType().getImportedInstanceClassName()%>)instanceValue).<%=genMemberType.getPrimitiveValueFunction()%>());
+              <%} else {%>
+				String value = convert<%=genMemberType.getName()%>((<%=genMemberType.getObjectType().getImportedBoundedWildcardInstanceClassName()%>)instanceValue);
+              <%}%>
+            <%} else {%>
+				String value = convert<%=genMemberType.getName()%>ToString(<%=genMemberType.getQualifiedClassifierAccessor()%>, instanceValue);
+            <%}%>
+          <%} else {%>
+            <%if (genMemberType.getGenPackage().isDataTypeConverters()) { genMemberType = genMemberType.getObjectType();%>
+				String value = <%=genMemberType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.convert<%=genMemberType.getName()%>((<%=genMemberType.getObjectInstanceClassName()%>)instanceValue);
+            <%} else {%>
+				String value = <%=genMemberType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.convertToString(<%=genMemberType.getQualifiedClassifierAccessor()%>, instanceValue);
+            <%}%>
+          <%}%>
+				if (value != null) return value;
+			}
+			catch (Exception e)
+			{
+				// Keep trying other member types until all have failed.
+			}
+		}
+        <%}%>
+      <%} else {%>
+        <%for (GenDataType genMemberType : genDataType.getMemberTypes()) {%>
+		try
+		{
+          <%if (genMemberType.getGenPackage() == genPackage) {%>
+            <%if (genPackage.isDataTypeConverters()) {%>
+			String value = convert<%=genMemberType.getName()%>(instanceValue);
+            <%} else {%>
+			String value = convert<%=genMemberType.getName()%>ToString(<%=genMemberType.getQualifiedClassifierAccessor()%>, <%if (!isJDK50) {%>new <%=genMemberType.getObjectInstanceClassName()%>(instanceValue)<%} else {%>instanceValue<%}%>);
+            <%}%>
+          <%} else {%>
+            <%if (genMemberType.getGenPackage().isDataTypeConverters()) {%>
+			String value = <%=genMemberType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.convert<%=genMemberType.getName()%>(instanceValue);
+            <%} else {%>
+			String value = <%=genMemberType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.convertToString(<%=genMemberType.getQualifiedClassifierAccessor()%>, <%if (!isJDK50) {%>new <%=genMemberType.getObjectInstanceClassName()%>(instanceValue)<%} else {%>instanceValue<%}%>);
+            <%}%>
+          <%}%>
+			if (value != null) return value;
+		}
+		catch (Exception e)
+		{
+			// Keep trying other member types until all have failed.
+		}
+        <%}%>
+      <%}%>
+		throw new IllegalArgumentException("Invalid value: '"+instanceValue+"' for datatype :"+<%=eDataType%>.getName());
+    <%} else if (!genDataType.hasConversionDelegate() && genModel.useGenerics() && (genDataType.isArrayType() || !genDataType.getEcoreDataType().getETypeParameters().isEmpty() || genDataType.getEcoreDataType().getInstanceTypeName().contains("<"))) {%>
+		return super.convertToString(instanceValue);
+    <%} else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {%>
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new <%=genModel.getImportedName("java.lang.UnsupportedOperationException")%>();
+    <%} else if (genDataType.isPrimitiveType() && !isJDK50) {%>
+		return super.convertToString(<%=eDataType%>, new <%=genDataType.getObjectInstanceClassName()%>(instanceValue));
+    <%} else {%>
+		return super.convertToString(<%=eDataType%>, instanceValue);
+    <%}%>
+	}
+
+<%}%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+  <%if (genDataType.hasAPITags()) {%>
+	 * <%=genDataType.getAPITags(genModel.getIndentation(stringBuffer))%>
+  <%}%>
+	 * @generated
+	 */
+    <%if (genModel.useGenerics() && (genDataType.getItemType() != null || genDataType.isUncheckedCast()) && (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody())) {%>
+	@SuppressWarnings("unchecked")
+    <%}%>
+  <%if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+  <%}%>
+	public String convert<%=genDataType.getName()%>ToString(<%=genModel.getImportedName("org.eclipse.emf.ecore.EDataType")%> eDataType, Object instanceValue)
+	{
+    <%if (genDataType instanceof GenEnum) {%>
+      <%if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {%>
+		return convert<%=genDataType.getName()%>((<%=genDataType.getImportedInstanceClassName()%>)instanceValue);
+      <%} else {%>
+		return instanceValue == null ? null : instanceValue.toString();
+      <%}%>
+    <%} else if (genDataType.getBaseType() != null) { GenDataType genBaseType = genDataType.getBaseType(); %>
+      <%if (genBaseType.getGenPackage() == genPackage) {%>
+		return convert<%=genBaseType.getName()%>ToString(<%=genBaseType.getQualifiedClassifierAccessor()%>, instanceValue);
+      <%} else {%>
+		return <%=genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.convertToString(<%=genBaseType.getQualifiedClassifierAccessor()%>, instanceValue);
+      <%}%>
+    <%} else if (genDataType.getItemType() != null) { GenDataType genItemType = genDataType.getItemType(); %>
+      <%if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {%>
+		return convert<%=genDataType.getName()%>((<%=genDataType.getImportedBoundedWildcardInstanceClassName()%>)instanceValue);
+      <%} else { final String singleWildcard = genModel.useGenerics() ? "<?>" : "";%>
+		if (instanceValue == null) return null;
+		<%=genModel.getImportedName("java.util.List")%><%=singleWildcard%> list = (<%=genModel.getImportedName("java.util.List")%><%=singleWildcard%>)instanceValue;
+		if (list.isEmpty()) return "";
+		<%=genModel.getImportedName("java.lang.StringBuffer")%> result = new <%=genModel.getImportedName("java.lang.StringBuffer")%>();
+        <%String item; if (!genModel.useGenerics()) { item = "i.next()"; %>
+		for (<%=genModel.getImportedName("java.util.Iterator")%> i = list.iterator(); i.hasNext(); )
+        <%} else { item = "item";%>
+		for (<%=genModel.getImportedName("java.lang.Object")%> item : list)
+        <%}%>
+		{
+        <%if (genItemType.getGenPackage() == genPackage) {%>
+			result.append(convert<%=genItemType.getName()%>ToString(<%=genItemType.getQualifiedClassifierAccessor()%>, <%=item%>));
+        <%} else {%>
+			result.append(<%=genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.convertToString(<%=genItemType.getQualifiedClassifierAccessor()%>, <%=item%>));
+        <%}%>
+			result.append(' ');
+		}
+		return result.substring(0, result.length() - 1);
+      <%}%>
+    <%} else if (!genDataType.getMemberTypes().isEmpty()) {%>
+      <%if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {%>
+        <%if (genDataType.isPrimitiveType()) {%>
+		return instanceValue == null ? null : convert<%=genDataType.getName()%>(((<%=genDataType.getObjectInstanceClassName()%>)instanceValue)<%if (!isJDK50) {%>.<%=genDataType.getPrimitiveValueFunction()%>()<%}%>);
+        <%} else {%>
+		return convert<%=genDataType.getName()%>(instanceValue);
+        <%}%>
+      <%} else {%>
+		if (instanceValue == null) return null;
+        <%for (GenDataType genMemberType : genDataType.getMemberTypes()) {%>
+		if (<%=genMemberType.getQualifiedClassifierAccessor()%>.isInstance(instanceValue))
+		{
+			try
+			{
+        <%if (genMemberType.getGenPackage() == genPackage) {%>
+				String value = convert<%=genMemberType.getName()%>ToString(<%=genMemberType.getQualifiedClassifierAccessor()%>, instanceValue);
+        <%} else {%>
+				String value = <%=genMemberType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.convertToString(<%=genMemberType.getQualifiedClassifierAccessor()%>, instanceValue);
+        <%}%>
+				if (value != null) return value;
+			}
+			catch (Exception e)
+			{
+				// Keep trying other member types until all have failed.
+			}
+		}
+        <%}%>
+		throw new IllegalArgumentException("Invalid value: '"+instanceValue+"' for datatype :"+eDataType.getName());
+      <%}%>
+    <%} else if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {%>
+        <%if (genDataType.isPrimitiveType()) {%>
+		return instanceValue == null ? null : convert<%=genDataType.getName()%>(<%if (!isJDK50) {%>(<%}%>(<%=genDataType.getObjectInstanceClassName()%>)instanceValue<%if (!isJDK50) {%>).<%=genDataType.getPrimitiveValueFunction()%>()<%}%>);
+        <%} else {%>
+		return convert<%=genDataType.getName()%>((<%=genDataType.getImportedBoundedWildcardInstanceClassName()%>)instanceValue);
+        <%}%>
+    <%} else if (!genDataType.hasConversionDelegate() && genModel.useGenerics() && (genDataType.isArrayType() || !genDataType.getEcoreDataType().getETypeParameters().isEmpty() || genDataType.getEcoreDataType().getInstanceTypeName().contains("<"))) {%>
+		return super.convertToString(instanceValue);
+    <%} else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {%>
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new <%=genModel.getImportedName("java.lang.UnsupportedOperationException")%>();
+    <%} else {%>
+		return super.convertToString(eDataType, instanceValue);
+    <%}%>
+	}
+
+  <%}%>
+<%}%>
+<%} else {%>
+  <%for (GenClass genClass : genPackage.getGenClasses()) {%>
+    <%if (genClass.hasFactoryInterfaceCreateMethod()) {%>
+	/**
+	 * Returns a new object of class '<em><%=genClass.getFormattedName()%></em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em><%=genClass.getFormattedName()%></em>'.
+      <%if (genClass.hasAPITags()) {%>
+	 * <%=genClass.getAPITags(genModel.getIndentation(stringBuffer))%>
+      <%}%>
+	 * @generated
+	 */
+<%if (isJDK50 && genClass.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+<%}%>
+	<%=genClass.getTypeParameters()%><%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceTypeArguments()%> create<%=genClass.getName()%>();
+
+    <%}%>
+  <%}%>
+  <%if (genPackage.isDataTypeConverters()) {%>
+    <%for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {%>
+      <%if (genDataType.isSerializable()) {%>
+	/**
+	 * Returns an instance of data type '<em><%=genDataType.getFormattedName()%></em>' corresponding the given literal.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param literal a literal of the data type.
+	 * @return a new instance value of the data type.
+  <%if (genDataType.hasAPITags()) {%>
+	 * <%=genDataType.getAPITags(genModel.getIndentation(stringBuffer))%>
+  <%}%>
+	 * @generated
+	 */
+  <%if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+  <%}%>
+	<%=genDataType.getImportedParameterizedInstanceClassName()%> create<%=genDataType.getName()%>(String literal);
+
+	/**
+	 * Returns a literal representation of an instance of data type '<em><%=genDataType.getFormattedName()%></em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param instanceValue an instance value of the data type.
+	 * @return a literal representation of the instance value.
+  <%if (genDataType.hasAPITags()) {%>
+	 * <%=genDataType.getAPITags(genModel.getIndentation(stringBuffer))%>
+  <%}%>
+	 * @generated
+	 */
+  <%if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+  <%}%>
+	String convert<%=genDataType.getName()%>(<%=genDataType.getImportedBoundedWildcardInstanceClassName()%> instanceValue);
+
+      <%}%>
+    <%}%>
+  <%}%>
+<%}%>
+<%if (!isImplementation && !genModel.isSuppressEMFMetaData()) {%>
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	<%=genPackage.getPackageInterfaceName()%> get<%=genPackage.getBasicPackageName()%>();
+
+<%} else if (isImplementation) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+ <%if (useInterfaceOverrideAnnotation && !genModel.isSuppressEMFMetaData()) {%>
+	@Override
+ <%}%>
+	public <%=genPackage.getImportedPackageInterfaceName()%> get<%=genPackage.getBasicPackageName()%>()
+	{
+		return (<%=genPackage.getImportedPackageInterfaceName()%>)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Deprecated
+  <%}%>
+	public static <%=genPackage.getImportedPackageInterfaceName()%> getPackage()
+	{
+		return <%=genPackage.getImportedPackageInterfaceName()%>.eINSTANCE;
+	}
+
+<%}%>
+} //<%=isInterface ? genPackage.getFactoryInterfaceName() : genPackage.getFactoryClassName()%>
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._StsPyGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._StsPyGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..e7f37b3
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._StsPyGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenPackage genPackage = parameter;
+argument = ((Object[]) new Object[]{new Object[]{genPackage,Boolean.TRUE,Boolean.FALSE}})[0];
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._08qh6WKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._08qh6WKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..24cd6fc
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._08qh6WKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel, GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._85wYhHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._85wYhHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..1e675a3
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._85wYhHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiEjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiEjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiEjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiEzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiEzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiEzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiFTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiFTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiFTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiFzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiFzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..f6dd7fe
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiFzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenPackage genPackage = parameter;
+targetPath = genPackage.getGenModel().getModelDirectory();
+packageName = genPackage.getUtilitiesPackageName();
+className = genPackage.getResourceClassName();
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiGTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiGTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..170637d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiGTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,462 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ *   IBM - Initial API and implementation
+ */
+%>
+<%GenPackage genPackage = (GenPackage)argument; GenModel genModel=genPackage.getGenModel(); ExtendedMetaData extendedMetaData= genModel.getExtendedMetaData();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%@ 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"%>
+package <%=genPackage.getUtilitiesPackageName()%>;
+
+<%genModel.getImportedName("org.eclipse.emf.common.util.URI");%>
+<%genModel.markImportLocation(stringBuffer);%>
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see <%=genPackage.getQualifiedResourceFactoryClassName()%>
+<%if (genPackage.hasAPITags()) {%>
+ * <%=genPackage.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%}%>
+public class <%=genPackage.getResourceClassName()%> extends <%=genPackage.getImportedResourceBaseClassName()%>
+{
+<%if (genModel.hasCopyrightField()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final <%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param uri the URI of the new resource.
+	 * @generated
+	 */
+	public <%=genPackage.getResourceClassName()%>(URI uri)
+	{
+		super(uri);
+<%if (genPackage.getResource() == GenResourceKind.XML_LITERAL) { // Do nothing%>
+<%}%>
+	}
+
+<%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) {%>
+	/**
+	 * A load option that turns of the use of the generate data converters.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String OPTION_USE_DATA_CONVERTER = "USE_DATA_CONVERTER";
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	public void doLoad(InputStream inputStream, <%=_Map%> options) throws IOException
+	{
+		if (options != null && Boolean.TRUE.equals(options.get(OPTION_USE_DATA_CONVERTER)))
+		{
+		  getContents().add
+			 (load
+				 (new InputSource(inputStream), 
+				  (<%=_MapStringBoolean%>)options.get(XMLResource.OPTION_PARSER_FEATURES), 
+				  (<%=_MapStringWildcard%>)options.get(XMLResource.OPTION_PARSER_PROPERTIES), 
+				  Boolean.TRUE.equals(options.get(XMLResource.OPTION_USE_LEXICAL_HANDLER))).eContainer());
+		}
+		else
+		{  
+			super.doLoad(inputStream, options);
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	public void doLoad(InputSource inputSource, <%=_Map%> options) throws IOException
+	{
+		if (options != null && Boolean.TRUE.equals(options.get(OPTION_USE_DATA_CONVERTER)))
+		{
+		  getContents().add
+			 (load
+				 (inputSource,
+				  (<%=_MapStringBoolean%>)options.get(XMLResource.OPTION_PARSER_FEATURES), 
+				  (<%=_MapStringWildcard%>)options.get(XMLResource.OPTION_PARSER_PROPERTIES), 
+				  Boolean.TRUE.equals(options.get(XMLResource.OPTION_USE_LEXICAL_HANDLER))).eContainer());
+		}
+		else
+		{  
+			super.doLoad(inputSource, options);
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static final XMLParserPool parserPool = new XMLParserPoolImpl();
+
+	/**
+	 * Loads an instance from the input.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param inputSource the input from which to load.
+	 * @param features a map of the parser features and their values.
+	 * @param properties a map of a parser properties and their values.
+	 * @param useLexicalHandler whether a lexical handler should be used during loading.
+	 * @return the root object; for the case of a document root, the child of that document root is return.
+	 * @throws ParserConfigurationException
+	 * @throws SAXException
+	 * @generated
+	 */
+	public static EObject load(InputSource inputSource, <%=_MapStringBoolean%> features, <%=_MapStringWildcard%> properties, boolean useLexicalHandler) throws IOException
+	{
+		<%=_MapStringBoolean%> requiredFeatures = new <%=_MapStringBoolean.replaceAll("Map","HashMap")%>();
+		requiredFeatures.put("http://xml.org/sax/features/namespaces", Boolean.TRUE); 
+		if (features != null)
+		{
+			requiredFeatures.putAll(features);
+		}
+		
+		if (properties == null)
+		{
+			properties = Collections.<%if (genModel.useGenerics()) {%>emptyMap()<%} else {%>EMPTY_MAP<%}%>;
+		}
+		
+		SAXParser saxParser = null;
+		try
+		{
+			saxParser = parserPool.get(requiredFeatures, properties, useLexicalHandler);
+			final FrameFactory.DocumentRootStackFrame documentRoot = FrameFactory.INSTANCE.pushDocumentRoot(null, null);
+			XMLTypeResourceImpl.Handler handler = new XMLTypeResourceImpl.Handler(documentRoot);
+			saxParser.parse(inputSource, handler);
+<%if (genModel.isSuppressEMFTypes()) {%>
+			return (EObject)((EObject)FrameFactory.INSTANCE.popDocumentRoot(documentRoot)).eContents().get(0);
+<%} else {%>
+			return FrameFactory.INSTANCE.popDocumentRoot(documentRoot).eContents().get(0);
+<%}%>
+		}
+		catch (Exception exception)
+		{
+			throw new IOWrappedException(exception);
+		}
+		finally
+		{
+			parserPool.release(saxParser, requiredFeatures, properties, useLexicalHandler);
+		}
+	}
+
+<%}%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public final static class FrameFactory
+	{
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public static final FrameFactory INSTANCE = new FrameFactory();
+	
+<%for (GenClass genClass : genPackage.getGenClasses()) {%>
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected <%=genClass.getName()%>StackFrame <%=genClass.getSafeUncapName()%>;
+
+<%}%>
+<%for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {%>
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected <%=_DataFrame%> <%=genDataType.getSafeUncapName()%>;
+
+<%}%>
+<%for (GenClass genClass : genPackage.getGenClasses()) {%>
+<%List<EStructuralFeature> attributes = extendedMetaData.getAllAttributes(genClass.getEcoreClass());%>
+<%List<EStructuralFeature> elements = extendedMetaData.getAllElements(genClass.getEcoreClass());%>
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public <%=genClass.getName()%>StackFrame push<%=genClass.getName()%>(<%=_StackFrame%> previous, Attributes attributes)
+		{
+			 <%=genClass.getName()%>StackFrame result<%=genClass.getName()%> = <%=genClass.getSafeUncapName()%> == null ? new <%=genClass.getName()%>StackFrame() : <%=genClass.getSafeUncapName()%>;
+			 <%=genClass.getSafeUncapName()%> = null;
+			 result<%=genClass.getName()%>.pushOnto(previous);
+			 result<%=genClass.getName()%>.handleAttributes(attributes);
+			 return result<%=genClass.getName()%>;
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public <%=genClass.getImportedInterfaceName()%> pop<%=genClass.getName()%>(<%=genClass.getName()%>StackFrame <%=genClass.getSafeUncapName()%>)
+		{
+			<%=genClass.getImportedInterfaceName()%> result<%=genClass.getName()%>Value = <%=genClass.getSafeUncapName()%>.pop<%=genClass.getName()%>();
+			this.<%=genClass.getSafeUncapName()%> = <%=genClass.getSafeUncapName()%>;
+			return result<%=genClass.getName()%>Value;
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public static class <%=genClass.getName()%>StackFrame extends <%=_StackFrame%>
+		{
+			/**
+			 * <!-- begin-user-doc -->
+			 * <!-- end-user-doc -->
+			 * @generated
+			 */
+			protected <%=genClass.getImportedInterfaceName()%> the<%=genClass.getName()%>;
+		
+<%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()) {%>
+			/**
+			 * <!-- begin-user-doc -->
+			 * <!-- end-user-doc -->
+			 * @generated
+			 */
+			protected <%=genFeature.getTypeGenClass().getGenPackage().getImportedResourceClassName()%>.FrameFactory.<%=genFeature.getTypeGenClass().getName()%>StackFrame <%=genFeature.getSafeName()%>;
+
+<%} else {%>
+			/**
+			 * <!-- begin-user-doc -->
+			 * <!-- end-user-doc -->
+			 * @generated
+			 */
+			protected <%=_DataFrame%> <%=genFeature.getSafeName()%>;
+		
+<%}%>
+<%}%>
+<%}%>
+			/**
+			 * <!-- begin-user-doc -->
+			 * <!-- end-user-doc -->
+			 * @generated
+			 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+			@Override
+  <%}%>
+			public void handleAttributes(Attributes attributes)
+			{
+<%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) {%>
+				String theValue = attributes.getValue(<%=namespace%>, "<%=name%>");
+<%} else {%>
+				theValue = attributes.getValue(<%=namespace%>, "<%=name%>");
+<%}%>
+				if (theValue != null)
+				{
+<%if (genClassifier.getGenPackage().isDataTypeConverters()) {%>
+					the<%=genClass.getName()%>.set<%=genFeature.getAccessorName()%>(<%=genClassifier.getGenPackage().getQualifiedFactoryInstanceAccessor()%>.create<%=genClassifier.getName()%>(theValue));
+<%} else {%>
+					the<%=genClass.getName()%>.set<%=genFeature.getAccessorName()%>((<%=genFeature.getImportedType(null)%>)<%=genClassifier.getGenPackage().getQualifiedEFactoryInstanceAccessor()%>.createFromString(<%=genClassifier.getQualifiedClassifierAccessor()%>, theValue));
+<%}%>
+				}
+<%}%>
+<%}%>
+<%}%>
+<%if (count == 0) {%>
+				// There are attributes to handle.
+<%}%>
+			}
+		
+			/**
+			 * <!-- begin-user-doc -->
+			 * <!-- end-user-doc -->
+			 * @generated
+			 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+			@Override
+  <%}%>
+			public <%=_StackFrame%> startElement(String namespace, String localName, String qName, Attributes attributes) throws SAXException
+			{
+<%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 = "\"\"";%>
+				<%if (count++ != 0) {%>else <%}%>if ("<%=name%>".equals(localName) && <%=namespace%>.equals(namespace))
+				{
+					return <%=genFeature.getSafeName()%> = <%=genFeature.getTypeGenClassifier().getGenPackage().getImportedResourceClassName()%>.FrameFactory.INSTANCE.push<%=genFeature.getTypeGenClassifier().getName()%>(this, attributes);
+				}
+<%}%>
+<%}%>
+<%if (count == 0) {%>
+				return super.startElement(namespace, localName, qName, attributes);
+<%} else {%>
+				else
+				{
+					return super.startElement(namespace, localName, qName, attributes);
+				}
+<%}%>
+			}
+
+			/**
+			 * <!-- begin-user-doc -->
+			 * <!-- end-user-doc -->
+			 * @generated
+			 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+			@Override
+  <%}%>
+			public void endElement(<%=_StackFrame%> child) throws SAXException
+			{
+<%count = 0; for (GenFeature genFeature : genClass.getAllGenFeatures()) {%>
+<%String name = extendedMetaData.getName(genFeature.getEcoreFeature());%>
+<%if (elements.contains(genFeature.getEcoreFeature()) && name.indexOf(":") == -1) {%>
+				<%if (count++ != 0) {%>else <%}%>if (child == <%=genFeature.getSafeName()%>)
+				{
+<%if (genFeature.isListType()) {%>
+					the<%=genClass.getName()%>.<%=genFeature.getGetAccessor()%>().add(<%=genFeature.getTypeGenClassifier().getGenPackage().getImportedResourceClassName()%>.FrameFactory.INSTANCE.pop<%=genFeature.getTypeGenClassifier().getName()%>(<%=genFeature.getSafeName()%>));
+<%} else {%>
+					the<%=genClass.getName()%>.set<%=genFeature.getAccessorName()%>(<%=genFeature.getTypeGenClassifier().getGenPackage().getImportedResourceClassName()%>.FrameFactory.INSTANCE.pop<%=genFeature.getTypeGenClassifier().getName()%>(<%=genFeature.getSafeName()%>));
+<%}%>
+					<%=genFeature.getSafeName()%> = null;
+				}
+<%}%>
+<%}%>
+<%if (count == 0) {%>
+				super.endElement(child);
+<%} else {%>
+				else
+				{
+					super.endElement(child);
+				}
+<%}%>
+			}
+
+			/**
+			 * <!-- begin-user-doc -->
+			 * <!-- end-user-doc -->
+			 * @generated
+			 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+			@Override
+  <%}%>
+			public void create()
+			{
+				the<%=genClass.getName()%> = <%=genPackage.getQualifiedFactoryInstanceAccessor()%>.create<%=genClass.getName()%>();
+			}
+		
+			/**
+			 * <!-- begin-user-doc -->
+			 * <!-- end-user-doc -->
+			 * @generated
+			 */
+			protected <%=genClass.getImportedInterfaceName()%> pop<%=genClass.getName()%>()
+			{
+				pop();
+				<%=genClass.getImportedInterfaceName()%> result<%=genClass.getName()%>Value = the<%=genClass.getName()%>;
+				the<%=genClass.getName()%> = null;
+				return result<%=genClass.getName()%>Value;
+			}
+		
+		}
+
+<%}%>
+<%for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {%>
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public <%=_DataFrame%> push<%=genDataType.getName()%>(<%=_StackFrame%> previous, Attributes attributes)
+		{
+			 <%=_DataFrame%> result<%=genDataType.getName()%> = <%=genDataType.getSafeUncapName()%> == null ? new <%=_DataFrame%>() : <%=genDataType.getSafeUncapName()%>;
+			 <%=genDataType.getSafeUncapName()%> = null;
+			 result<%=genDataType.getName()%>.pushOnto(previous);
+			 result<%=genDataType.getName()%>.handleAttributes(attributes);
+			 return result<%=genDataType.getName()%>;
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public <%=genDataType.getImportedParameterizedInstanceClassName()%> pop<%=genDataType.getName()%>(<%=_DataFrame%> <%=genDataType.getSafeUncapName()%>)
+		{
+<%if (genDataType.getGenPackage().isDataTypeConverters()) {%>
+			<%=genDataType.getImportedParameterizedInstanceClassName()%> result<%=genDataType.getName()%>Value = <%=genDataType.getGenPackage().getQualifiedFactoryInstanceAccessor()%>.create<%=genDataType.getName()%>(<%=genDataType.getSafeUncapName()%>.popValue());
+<%} else if (genDataType.isPrimitiveType() && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {%>
+			<%=genDataType.getImportedInstanceClassName()%> result<%=genDataType.getName()%>Value = ((<%=genDataType.getObjectInstanceClassName()%>)<%=genDataType.getGenPackage().getQualifiedEFactoryInstanceAccessor()%>.createFromString(<%=genDataType.getQualifiedClassifierAccessor()%>, <%=genDataType.getSafeUncapName()%>.popValue())).<%=genDataType.getPrimitiveValueFunction()%>();
+<%} else {%>
+			<%=genDataType.getImportedInstanceClassName()%> result<%=genDataType.getName()%>Value = (<%=genDataType.getObjectInstanceClassName()%>)<%=genDataType.getGenPackage().getQualifiedEFactoryInstanceAccessor()%>.createFromString(<%=genDataType.getQualifiedClassifierAccessor()%>, <%=genDataType.getSafeUncapName()%>.popValue());
+<%}%>
+			this.<%=genDataType.getSafeUncapName()%> = <%=genDataType.getSafeUncapName()%>;
+			return result<%=genDataType.getName()%>Value;
+		}
+
+<%}%>
+	}
+
+<%}%>
+} //<%=genPackage.getResourceClassName()%>
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._SsDRCGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._SsDRCGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..6c7369f
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._SsDRCGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenPackage genPackage = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._07ePGWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._07ePGWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..24cd6fc
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._07ePGWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel, GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._9Nt2VHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._9Nt2VHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..93d098d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._9Nt2VHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph004jG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph004jG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph004jG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph004zG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph004zG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph004zG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph005TG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph005TG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph005TG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph005zG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph005zG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..400775a
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph005zG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenPackage genPackage = parameter;
+targetPath = genPackage.getGenModel().getModelDirectory();
+packageName = genPackage.getUtilitiesPackageName();
+className = genPackage.getValidatorClassName();
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph006TG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph006TG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..99d091d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph006TG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,678 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ *   IBM - Initial API and implementation
+ */
+%>
+<%GenPackage genPackage = (GenPackage)argument; GenModel genModel=genPackage.getGenModel();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%final String singleWildcard = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50 ? "<?>" : "";%>
+<%@ 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"%>
+package <%=genPackage.getUtilitiesPackageName()%>;
+
+<%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");%>
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Validator</b> for the model.
+ * <!-- end-user-doc -->
+ * @see <%=genPackage.getQualifiedPackageInterfaceName()%>
+<%if (genPackage.hasAPITags()) {%>
+ * <%=genPackage.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%} else if (isJDK50 && GenModelUtil.hasAPIDeprecatedTag(genPackage.getGenClassifiers())) {%>
+@SuppressWarnings("deprecation")
+<%}%>
+public class <%=genPackage.getValidatorClassName()%> extends <%=genModel.getImportedName("org.eclipse.emf.ecore.util.EObjectValidator")%>
+{
+<%if (genModel.hasCopyrightField()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final <%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final <%=genPackage.getValidatorClassName()%> INSTANCE = new <%=genPackage.getValidatorClassName()%>();
+
+	/**
+	 * 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.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.common.util.Diagnostic#getSource()
+	 * @see org.eclipse.emf.common.util.Diagnostic#getCode()
+	 * @generated
+	 */
+	public static final String DIAGNOSTIC_SOURCE = "<%=genPackage.getInterfacePackageName()%>";<%=genModel.getNonNLS()%>
+
+<%int count = 0; for (GenClass genClass : genPackage.getGenClasses()) {%>
+<%for (GenOperation genOperation : genClass.getInvariantOperations()) {%>
+	/**
+	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint '<%=genOperation.getFormattedName()%>' of '<%=genClass.getFormattedName()%>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final int <%=genClass.getOperationID(genOperation)%> = <%=++count%>;
+
+<%}}%>
+	/**
+	 * A constant with a fixed name that can be used as the base value for additional hand written constants.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final int GENERATED_DIAGNOSTIC_CODE_COUNT = <%=count%>;
+
+	/**
+	 * A constant with a fixed name that can be used as the base value for additional hand written constants in a derived class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static final int DIAGNOSTIC_CODE_COUNT = GENERATED_DIAGNOSTIC_CODE_COUNT;
+
+<%for (GenPackage baseGenPackage : genPackage.getAllValidatorBaseGenPackages()) {%>
+	/**
+	 * The cached base package validator.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected <%=baseGenPackage.getImportedValidatorClassName()%> <%=genPackage.getValidatorPackageUniqueSafeName(baseGenPackage)%>Validator;
+
+<%}%>
+<%if (genPackage.hasInvariantExpressions()) {%>
+	/**
+	 * Delegates evaluation of the given invariant expression against the object in the given context.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static boolean validate(<%=genModel.getImportedName("org.eclipse.emf.ecore.EClass")%> eClass, <%=genModel.getImportedName("org.eclipse.emf.ecore.EObject")%> eObject, DiagnosticChain diagnostics, <%=_Map%> context, <%=genModel.getImportedName("java.lang.String")%> validationDelegate, <%=genModel.getImportedName("org.eclipse.emf.ecore.EOperation")%> invariant, <%=genModel.getImportedName("java.lang.String")%> expression, int severity, <%=genModel.getImportedName("java.lang.String")%> source, int code)
+	{
+		return <%=genModel.getImportedName("org.eclipse.emf.ecore.util.EObjectValidator")%>.validate(eClass, eObject, diagnostics, context, validationDelegate, invariant, expression, severity, source, code);
+	}
+
+<%}%>
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public <%=genPackage.getValidatorClassName()%>()
+	{
+		super();
+<%for (GenPackage baseGenPackage : genPackage.getAllValidatorBaseGenPackages()) {%>
+		<%=genPackage.getValidatorPackageUniqueSafeName(baseGenPackage)%>Validator = <%=baseGenPackage.getImportedValidatorClassName()%>.INSTANCE;
+<%}%>
+	}
+
+	/**
+	 * Returns the package of this validator switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	protected EPackage getEPackage()
+	{
+	  return <%=genPackage.getImportedPackageInterfaceName()%>.eINSTANCE;
+	}
+
+	/**
+	 * Calls <code>validateXXX</code> for the corresponding classifier of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+  <%for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {%>
+    <%if (genClassifier.isUncheckedCast()) {%>
+	@SuppressWarnings("unchecked")
+    <%break; }%>
+  <%}%>
+	protected boolean validate(int classifierID, Object value, DiagnosticChain diagnostics, <%=_Map%> context)
+	{
+		switch (classifierID)
+		{
+<%for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {%>
+			case <%=genPackage.getImportedPackageInterfaceName()%>.<%=genPackage.getClassifierID(genClassifier)%>:
+  <%if (genClassifier instanceof GenDataType) { GenDataType genDataType = (GenDataType)genClassifier;%>
+    <%if (genDataType.isPrimitiveType()) {%>
+      <%if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {%>
+				return validate<%=genDataType.getName()%>(((<%=genDataType.getObjectInstanceClassName()%>)value).<%=genDataType.getPrimitiveValueFunction()%>(), diagnostics, context);
+      <%} else {%>
+				return validate<%=genDataType.getName()%>((<%=genDataType.getObjectInstanceClassName()%>)value, diagnostics, context);
+      <%}%>
+    <%} else if (genDataType.isObjectType()) {%>
+				return validate<%=genDataType.getName()%>(value, diagnostics, context);
+    <%} else {%>
+				return validate<%=genDataType.getName()%>((<%=genDataType.getObjectType().getImportedWildcardInstanceClassName()%>)value, diagnostics, context);
+    <%}%>
+  <%} else { GenClass genClass = (GenClass)genClassifier;%>
+				return validate<%=genClass.getName()%>((<%=genClass.getImportedWildcardInstanceClassName()%>)value, diagnostics, context);
+  <%}%>
+<%}%>
+			default:
+				return true;
+		}
+	}
+
+<%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";%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+    <%if (genClassifier.hasAPITags()) {%>
+	 * <%=genClassifier.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
+  <%if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+  <%}%>
+	public boolean validate<%=genClassifier.getName()%>(<%=genClassifier.getImportedWildcardInstanceClassName()%> <%=genClassifier.getSafeUncapName()%>, DiagnosticChain <%=diagnostics%>, <%=_Map%> <%=context%>)
+	{
+<%if (genClassifier.getAllGenConstraints().isEmpty()) {%>
+		return true;
+<%} else if (genClassifier.hasOnlyDefaultConstraints()) {%>
+		return validate_EveryDefaultConstraint(<%if (!((GenClass)genClassifier).isEObjectExtension()){%>(<%=genModel.getImportedName("org.eclipse.emf.ecore.EObject")%>)<%}%><%=genClassifier.getSafeUncapName()%>, <%=diagnostics%>, <%=context%>);
+<%} 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)) {%>
+		if (!validate_NoCircularContainment(<%if (!((GenClass)genClassifier).isEObjectExtension()){%>(<%=genModel.getImportedName("org.eclipse.emf.ecore.EObject")%>)<%}%><%=genClassifier.getSafeUncapName()%>, <%=diagnostics%>, <%=context%>)) return false;
+<%} else if (first) { first = false;%>
+		boolean <%=result%> = <%=delegate%>validate<%=constraintImplementor == null ? "" : constraintImplementor.getName()%>_<%=constraint%>(<%=cast%><%=genClassifier.getSafeUncapName()%><%=accessor%>, <%=diagnostics%>, <%=context%>);
+<%} else {%>
+		if (<%=result%> || <%=diagnostics%> != null) <%=result%> &= <%=delegate%>validate<%=constraintImplementor == null ? "" : constraintImplementor.getName()%>_<%=constraint%>(<%=cast%><%=genClassifier.getSafeUncapName()%><%=accessor%>, <%=diagnostics%>, <%=context%>);
+<%}%>
+<%}%>
+		return <%=result%>;
+<%}%>
+	}
+
+<%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) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @see #validate<%=genDataType.getName()%>_<%=constraint%>
+	 */
+	public static final <%=genDataType.getImportedInstanceClassName()%> <%=constant%>__VALUE = <%=genDataType.getStaticValue(genDataType.getMinLiteral())%>;
+
+<%} else if (constraint.equals("Max") && genDataType.getMaxLiteral() != null) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @see #validate<%=genDataType.getName()%>_<%=constraint%>
+	 */
+	public static final <%=genDataType.getImportedInstanceClassName()%> <%=constant%>__VALUE = <%=genDataType.getStaticValue(genDataType.getMaxLiteral())%>;
+
+<%} 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"; %>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @see #validate<%=genDataType.getName()%>_<%=constraint%>
+	 */
+	public static final <%=genDataType.getImportedInstanceClassName()%> <%=constant%>__UPPER_BOUND = <%=genDataType.getStaticValue(value)%>;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @see #validate<%=genDataType.getName()%>_<%=constraint%>
+	 */
+	public static final <%=genDataType.getImportedInstanceClassName()%> <%=constant%>__LOWER_BOUND = <%=genDataType.getStaticValue("-" + value)%>;
+
+<%} else if (constraint.equals("Pattern") && !genDataType.getPatterns().isEmpty()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @see #validate<%=genDataType.getName()%>_<%=constraint%>
+	 */
+	public static final  PatternMatcher [][] <%=constant%>__VALUES =
+		new PatternMatcher [][]
+		{
+<%for (Iterator<List<String>> k = genDataType.getPatterns().iterator(); k.hasNext(); ) { List<String> patternList = k.next();%>
+			new PatternMatcher []
+			{
+<%for (Iterator<String> p = patternList.iterator(); p.hasNext(); ) { String pattern = p.next();%>
+				<%=genModel.getImportedName("org.eclipse.emf.ecore.xml.type.util.XMLTypeUtil")%>.createPatternMatcher(<%=pattern%>)<%=p.hasNext() ? "," : ""%>
+<%}%>
+			}<%=k.hasNext() ? "," : ""%>
+<%}%>
+		};
+
+<%} else if (constraint.equals("Enumeration") && !genDataType.getEnumerationLiterals().isEmpty()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @see #validate<%=genDataType.getName()%>_<%=constraint%>
+	 */
+  <%if (genDataType.isUncheckedCast()) {%>
+	@SuppressWarnings("unchecked")
+  <%}%>
+	public static final <%=genModel.getImportedName("java.util.Collection")%><%=objectArgument%> <%=constant%>__VALUES =
+		wrapEnumerationValues
+			(new Object[]
+			 {
+<%for (Iterator<String> k = genDataType.getEnumerationLiterals().iterator(); k.hasNext(); ) { String literal = k.next();%>
+				 <%if (genDataType.isPrimitiveType() && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {%>new <%=genDataType.getObjectInstanceClassName()%>(<%}%><%=genDataType.getStaticValue(literal, false)%><%if (genDataType.isPrimitiveType() && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {%>)<%}%><%=k.hasNext() ? "," : ""%>
+<%}%>
+			 });
+
+<%}%>
+<%}%>
+<%if (genClassifier.hasConstraintExpression(constraint)) {%>
+	/**
+	 * The cached validation expression for the <%=constraint%> constraint of '<em><%=genClassifier.getFormattedName()%></em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static final <%=genModel.getImportedName("java.lang.String")%> <%=genClassifier.getClassifierID()%>__<%=CodeGenUtil.upperName(constraint)%>__EEXPRESSION = "<%=genClassifier.getConstraintExpression(constraint, "\t\t")%>";<%=genModel.getNonNLS()%>
+
+<%}%>
+	/**
+	 * Validates the <%=constraint%> constraint of '<em><%=genClassifier.getFormattedName()%></em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean validate<%=genClassifier.getName()%>_<%=constraint%>(<%=genClassifier.getImportedWildcardInstanceClassName()%> <%=genClassifier.getSafeUncapName()%>, DiagnosticChain <%=diagnostics%>, <%=_Map%> <%=context%>)
+	{
+<%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.";%>
+		boolean <%=result%> = true;
+		for (<%=genModel.getImportedName("java.util.Iterator")%><%=singleWildcard%> i = <%=genClassifier.getSafeUncapName()%>.iterator(); i.hasNext() && (result || diagnostics != null); )
+		{
+			Object item = i.next();
+  <%if (itemType.getGenPackage().hasConstraints()) {%>
+			if (<%=itemType.getQualifiedClassifierAccessor()%>.isInstance(item))
+			{
+				result &= <%=itemDelegate%>validate<%=itemType.getName()%>(<%if (itemType.isPrimitiveType() && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {%>(<%}%><%if (!itemType.isObjectType()) {%>(<%=itemType.getObjectInstanceClassName()%>)<%}%><%=item%><%if (itemType.isPrimitiveType() && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {%>).<%=itemType.getPrimitiveValueFunction()%>()<%}%>, <%=diagnostics%>, <%=context%>);
+			}
+			else
+  <%} else {%>
+			if (!<%=itemType.getQualifiedClassifierAccessor()%>.isInstance(item))
+  <%}%>
+			{
+				result = false;
+				reportDataValueTypeViolation(<%=itemType.getQualifiedClassifierAccessor()%>, item, <%=diagnostics%>, <%=context%>);
+			}
+		}
+		return result;
+<%} else if (constraint.equals("MemberTypes") && !genDataType.getMemberTypes().isEmpty()) {%>
+		if (diagnostics != null)
+		{
+			<%=genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic")%> tempDiagnostics = new BasicDiagnostic();
+<%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()) {%>
+			if (<%=memberDelegate%>validate<%=memberType.getName()%>(<%=genClassifier.getSafeUncapName()%>, tempDiagnostics, <%=context%>)) return true;
+  <%} else {%>
+			if (<%=memberType.getQualifiedClassifierAccessor()%>.isInstance(<%=genClassifier.getSafeUncapName()%>))
+			{
+				<%if (memberType.getGenPackage().hasConstraints()) {%>if (<%=memberDelegate%>validate<%=memberType.getName()%>(<%if (memberType.isPrimitiveType() && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {%>(<%}%><%if (!memberType.isObjectType() && !memberType.getQualifiedInstanceClassName().equals(genDataType.getQualifiedInstanceClassName())) {%>(<%=memberType.getImportedWildcardObjectInstanceClassName()%>)<%}%><%=genClassifier.getSafeUncapName()%><%if (memberType.isPrimitiveType() && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {%>).<%=memberType.getPrimitiveValueFunction()%>()<%}%>, tempDiagnostics, <%=context%>)) <%}%>return true;
+			}
+  <%}%>
+<%}%>
+<%if (genModel.useGenerics()) {%>
+			for (<%=genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")%> diagnostic : tempDiagnostics.getChildren())
+			{
+				diagnostics.add(diagnostic);
+			}
+<%} else {%>
+			<%=genModel.getImportedName("java.util.List")%> children = tempDiagnostics.getChildren();
+			for (int i = 0; i < children.size(); i++)
+			{
+				diagnostics.add((<%=genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")%>)children.get(i));
+			}
+<%}%>
+		}
+		else
+		{
+<%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()) {%>
+			if (<%=memberDelegate%>validate<%=memberType.getName()%>(<%=genClassifier.getSafeUncapName()%>, null, <%=context%>)) return true;
+  <%} else {%>
+			if (<%=memberType.getQualifiedClassifierAccessor()%>.isInstance(<%=genClassifier.getSafeUncapName()%>))
+			{
+				<%if (memberType.getGenPackage().hasConstraints()) {%>if (<%=memberDelegate%>validate<%=memberType.getName()%>(<%if (memberType.isPrimitiveType() && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {%>(<%}%><%if (!memberType.isObjectType() && !memberType.getQualifiedInstanceClassName().equals(genDataType.getQualifiedInstanceClassName())) {%>(<%=memberType.getImportedWildcardObjectInstanceClassName()%>)<%}%><%=genClassifier.getSafeUncapName()%><%if (memberType.isPrimitiveType() && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {%>).<%=memberType.getPrimitiveValueFunction()%>()<%}%>, null, <%=context%>)) <%}%>return true;
+			}
+  <%}%>
+<%}%>
+		}
+		return false;
+<%} else if (constraint.equals("Pattern") && !genDataType.getPatterns().isEmpty()) {%>
+		return validatePattern(<%=genDataType.getQualifiedClassifierAccessor()%>, <%if (genDataType.isPrimitiveType() && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {%>new <%=genDataType.getObjectInstanceClassName()%>(<%}%><%=genDataType.getSafeUncapName()%><%if (genDataType.isPrimitiveType() && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {%>)<%}%>, <%=constant%>__VALUES, <%=diagnostics%>, <%=context%>);
+<%} else if (constraint.equals("Enumeration") && !genDataType.getEnumerationLiterals().isEmpty()) { String variable = genDataType.getSafeUncapName();%>
+<%if (genDataType.isPrimitiveType() && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) { variable = variable + "Object";%>
+		<%=genDataType.getObjectInstanceClassName()%> <%=variable%> = new <%=genDataType.getObjectInstanceClassName()%>(<%=genDataType.getSafeUncapName()%>);
+<%}%>
+		boolean <%=result%> = <%=constant%>__VALUES.contains(<%=variable%>);
+		if (!<%=result%> && <%=diagnostics%> != null)
+			reportEnumerationViolation(<%=genDataType.getQualifiedClassifierAccessor()%>, <%=variable%>, <%=constant%>__VALUES, <%=diagnostics%>, <%=context%>);
+		return <%=result%>;
+<%} else if (constraint.equals("Min") && genDataType.getMinLiteral() != null) {%>
+<%if (genDataType.isPrimitiveType()) {%>
+		boolean <%=result%> = <%=genDataType.getSafeUncapName()%> <%=genDataType.isMinInclusive() ? ">=" : ">"%> <%=constant%>__VALUE;
+		if (!<%=result%> && <%=diagnostics%> != null)
+<%if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {%>
+			reportMinViolation(<%=genDataType.getQualifiedClassifierAccessor()%>, new <%=genDataType.getObjectInstanceClassName()%>(<%=genDataType.getSafeUncapName()%>), new <%=genDataType.getObjectInstanceClassName()%>(<%=constant%>__VALUE), <%=genDataType.isMinInclusive() ? "true" : "false"%>, <%=diagnostics%>, <%=context%>);
+<%} else {%>
+			reportMinViolation(<%=genDataType.getQualifiedClassifierAccessor()%>, <%=genDataType.getSafeUncapName()%>, <%=constant%>__VALUE, <%=genDataType.isMinInclusive() ? "true" : "false"%>, <%=diagnostics%>, <%=context%>);
+<%}%>
+		return <%=result%>;
+<%} else { String comparison = "comparison".equals(genClassifier.getSafeUncapName()) ? "theComparison" : "comparison";%>
+<%if (genDataType.isXMLCalendar()) {%>
+		int <%=comparison%> = <%=genModel.getImportedName("org.eclipse.emf.ecore.xml.type.util.XMLTypeUtil")%>.compareCalendar(<%=genDataType.getSafeUncapName()%>, <%=constant%>__VALUE);
+		boolean <%=result%> = <%if (genDataType.isMinInclusive()) {%><%=comparison%> == 0 || <%}%><%=comparison%> == 1;
+<%} else if (genDataType.isXMLDuration()) {%>
+		int <%=comparison%> = <%=genModel.getImportedName("org.eclipse.emf.ecore.xml.type.util.XMLTypeUtil")%>.compareDuration(<%=genDataType.getSafeUncapName()%>, <%=constant%>__VALUE);
+		boolean <%=result%> = <%if (genDataType.isMinInclusive()) {%><%=comparison%> == 0 || <%}%><%=comparison%> == 1;
+<%} else {%>
+		boolean <%=result%> = <%=genDataType.getSafeUncapName()%>.compareTo(<%=constant%>__VALUE) <%=genDataType.isMinInclusive() ? ">=" : ">"%> 0;
+<%}%>
+		if (!<%=result%> && <%=diagnostics%> != null)
+			reportMinViolation(<%=genDataType.getQualifiedClassifierAccessor()%>, <%=genDataType.getSafeUncapName()%>, <%=constant%>__VALUE, <%=genDataType.isMinInclusive() ? "true" : "false"%>, <%=diagnostics%>, <%=context%>);
+		return <%=result%>;
+<%}%>
+<%} else if (constraint.equals("Max") && genDataType.getMaxLiteral() != null) {%>
+<%if (genDataType.isPrimitiveType()) {%>
+		boolean <%=result%> = <%=genDataType.getSafeUncapName()%> <%=genDataType.isMaxInclusive() ? "<=" : "<"%> <%=constant%>__VALUE;
+		if (!<%=result%> && <%=diagnostics%> != null)
+<%if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {%>
+			reportMaxViolation(<%=genDataType.getQualifiedClassifierAccessor()%>, new <%=genDataType.getObjectInstanceClassName()%>(<%=genDataType.getSafeUncapName()%>), new <%=genDataType.getObjectInstanceClassName()%>(<%=constant%>__VALUE), <%=genDataType.isMaxInclusive() ? "true" : "false"%>, <%=diagnostics%>, <%=context%>);
+<%} else {%>
+			reportMaxViolation(<%=genDataType.getQualifiedClassifierAccessor()%>, <%=genDataType.getSafeUncapName()%>, <%=constant%>__VALUE, <%=genDataType.isMaxInclusive() ? "true" : "false"%>, <%=diagnostics%>, <%=context%>);
+<%}%>
+		return <%=result%>;
+<%} else { String comparison = "comparison".equals(genClassifier.getSafeUncapName()) ? "theComparison" : "comparison";%>
+<%if (genDataType.isXMLCalendar()) {%>
+		int <%=comparison%> = <%=genModel.getImportedName("org.eclipse.emf.ecore.xml.type.util.XMLTypeUtil")%>.compareCalendar(<%=genDataType.getSafeUncapName()%>, <%=constant%>__VALUE);
+		boolean <%=result%> = <%if (genDataType.isMaxInclusive()) {%><%=comparison%> == 0 || <%}%><%=comparison%> == -1;
+<%} else if (genDataType.isXMLDuration()) {%>
+		int <%=comparison%> = <%=genModel.getImportedName("org.eclipse.emf.ecore.xml.type.util.XMLTypeUtil")%>.compareDuration(<%=genDataType.getSafeUncapName()%>, <%=constant%>__VALUE);
+		boolean <%=result%> = <%if (genDataType.isMaxInclusive()) {%><%=comparison%> == 0 || <%}%><%=comparison%> == -1;
+<%} else {%>
+		boolean <%=result%> = <%=genDataType.getSafeUncapName()%>.compareTo(<%=constant%>__VALUE) <%=genDataType.isMaxInclusive() ? "<=" : "<"%> 0;
+<%}%>
+		if (!<%=result%> && <%=diagnostics%> != null)
+			reportMaxViolation(<%=genDataType.getQualifiedClassifierAccessor()%>, <%=genDataType.getSafeUncapName()%>, <%=constant%>__VALUE, <%=genDataType.isMaxInclusive() ? "true" : "false"%>, <%=diagnostics%>, <%=context%>);
+		return <%=result%>;
+<%}%>
+<%} else if (constraint.equals("MinLength") && genDataType.getMinLength() != -1) {%>
+		int length = <%=genDataType.getSafeUncapName()%>.<%=genDataType.getLengthAccessorFunction()%>;
+		boolean <%=result%> = length >= <%=genDataType.getMinLength()%>;
+		if (!<%=result%> && <%=diagnostics%> != null)
+			reportMinLengthViolation(<%=genDataType.getQualifiedClassifierAccessor()%>, <%=genDataType.getSafeUncapName()%>, length, <%=genDataType.getMinLength()%>, <%=diagnostics%>, <%=context%>);
+		return <%=result%>;
+<%} else if (constraint.equals("MaxLength") && genDataType.getMaxLength() != -1) {%>
+		int length = <%=genDataType.getSafeUncapName()%>.<%=genDataType.getLengthAccessorFunction()%>;
+		boolean <%=result%> = length <= <%=genDataType.getMaxLength()%>;
+		if (!<%=result%> && <%=diagnostics%> != null)
+			reportMaxLengthViolation(<%=genDataType.getQualifiedClassifierAccessor()%>, <%=genDataType.getSafeUncapName()%>, length, <%=genDataType.getMaxLength()%>, <%=diagnostics%>, <%=context%>);
+		return <%=result%>;
+<%} else if (constraint.equals("TotalDigits") && genDataType.getTotalDigits() != -1) {%>
+<%if (genDataType.isPrimitiveType()) {%>
+		boolean <%=result%> = <%=genDataType.getSafeUncapName()%> > <%=constant%>__LOWER_BOUND && <%=genDataType.getSafeUncapName()%> < <%=constant%>__UPPER_BOUND;
+		if (!<%=result%> && <%=diagnostics%> != null)
+<%if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {%>
+			reportTotalDigitsViolation(<%=genDataType.getQualifiedClassifierAccessor()%>, new <%=genDataType.getObjectInstanceClassName()%>(<%=genDataType.getSafeUncapName()%>), <%=genDataType.getTotalDigits()%>, <%=diagnostics%>, <%=context%>);
+<%} else {%>
+			reportTotalDigitsViolation(<%=genDataType.getQualifiedClassifierAccessor()%>, <%=genDataType.getSafeUncapName()%>, <%=genDataType.getTotalDigits()%>, <%=diagnostics%>, <%=context%>);
+<%}%>
+<%} else if ("java.math.BigDecimal".equals(genDataType.getQualifiedInstanceClassName())) {%>
+		int scale = <%=genDataType.getSafeUncapName()%>.scale();
+		int totalDigits = scale < 0 ? <%=genDataType.getSafeUncapName()%>.precision() - scale : <%=genDataType.getSafeUncapName()%>.precision();
+		boolean <%=result%> = totalDigits <= <%=genDataType.getTotalDigits()%>;
+		if (!<%=result%> && <%=diagnostics%> != null)
+			reportTotalDigitsViolation(<%=genDataType.getQualifiedClassifierAccessor()%>, <%=genDataType.getSafeUncapName()%>, <%=genDataType.getTotalDigits()%>, <%=diagnostics%>, <%=context%>);
+<%} else {%>
+		boolean <%=result%> = <%=genDataType.getSafeUncapName()%>.compareTo(<%=constant%>__LOWER_BOUND) > 0 && <%=genDataType.getSafeUncapName()%>.compareTo(<%=constant%>__UPPER_BOUND) < 0;
+		if (!<%=result%> && <%=diagnostics%> != null)
+			reportTotalDigitsViolation(<%=genDataType.getQualifiedClassifierAccessor()%>, <%=genDataType.getSafeUncapName()%>, <%=genDataType.getTotalDigits()%>, <%=diagnostics%>, <%=context%>);
+<%}%>
+		return <%=result%>;
+<%} else if (constraint.equals("FractionDigits") && genDataType.getFractionDigits() != -1 && "java.math.BigDecimal".equals(genDataType.getQualifiedInstanceClassName())) {%>
+		boolean <%=result%> = <%=genDataType.getSafeUncapName()%>.scale() <= <%=genDataType.getFractionDigits()%>;
+		if (!<%=result%> && <%=diagnostics%> != null)
+			reportFractionDigitsViolation(<%=genDataType.getQualifiedClassifierAccessor()%>, <%=genDataType.getSafeUncapName()%>, <%=genDataType.getFractionDigits()%>, <%=diagnostics%>, <%=context%>);
+		return <%=result%>;
+<%} else if (constraintDelegate != null) {%>
+		// TODO override the constraint, if desired
+		// -> uncomment the scaffolding
+		// -> specify the condition that violates the constraint
+		// -> verify the diagnostic details, including severity, code, and message
+		// Ensure that you remove @generated or mark it @generated NOT
+		if (false)
+		{
+			if (<%=diagnostics%> != null)
+			{
+				<%=diagnostics%>.add
+<%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {%>
+					(createDiagnostic
+						(<%=genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")%>.ERROR,
+						 DIAGNOSTIC_SOURCE,
+						 0,
+						 "_UI_GenericConstraint_diagnostic",<%=genModel.getNonNLS()%>
+						 new Object[] { "<%=constraint%>", getValueLabel(<%=genDataType.getQualifiedClassifierAccessor()%>, <%=genClassifier.getSafeUncapName()%>, <%=context%>) },<%=genModel.getNonNLS()%>
+						 new Object[] { <%=genClassifier.getSafeUncapName()%> },
+						 context));
+<%} else {%>
+					(new <%=genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic")%>
+						(<%=genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")%>.ERROR,
+						 DIAGNOSTIC_SOURCE,
+						 0,
+						 <%=genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin")%>.INSTANCE.getString("_UI_GenericConstraint_diagnostic", new Object[] { "<%=constraint%>", getValueLabel(<%=genDataType.getQualifiedClassifierAccessor()%>, <%=genClassifier.getSafeUncapName()%>, <%=context%>) }),<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+						 new Object[] { <%=genClassifier.getSafeUncapName()%> }));
+<%}%>
+			}
+			return false;
+		}
+		return <%=delegate%>validate<%=constraintDelegate.getName()%>_<%=constraint%>(<%=genClassifier.getSafeUncapName()%><%=accessor%>, <%=diagnostics%>, <%=context%>);
+<%} else {%>
+  <%if (genClassifier.hasConstraintExpression(constraint)) {%>
+		return
+			validate
+				(<%=genClassifier.getQualifiedClassifierAccessor()%>,
+				 <%=genClassifier.getSafeUncapName()%>,
+				 <%=diagnostics%>,
+				 <%=context%>,
+				 "<%=genClassifier.getValidationDelegate(constraint)%>",<%=genModel.getNonNLS()%>
+				 "<%=constraint%>",<%=genModel.getNonNLS()%>
+				 <%=genClassifier.getClassifierID()%>__<%=CodeGenUtil.upperName(constraint)%>__EEXPRESSION,
+				 <%=genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")%>.ERROR,
+				 DIAGNOSTIC_SOURCE,
+				 0);
+  <%} else {%>
+		// TODO implement the constraint
+		// -> specify the condition that violates the constraint
+		// -> verify the diagnostic details, including severity, code, and message
+		// Ensure that you remove @generated or mark it @generated NOT
+		if (false)
+		{
+			if (<%=diagnostics%> != null)
+			{
+				<%=diagnostics%>.add
+    <%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {%>
+					(createDiagnostic
+						(<%=genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")%>.ERROR,
+						 DIAGNOSTIC_SOURCE,
+						 0,
+						 "_UI_GenericConstraint_diagnostic",<%=genModel.getNonNLS()%>
+						 new Object[] { "<%=constraint%>", getValueLabel(<%=genDataType.getQualifiedClassifierAccessor()%>, <%=genClassifier.getSafeUncapName()%>, <%=context%>) },<%=genModel.getNonNLS()%>
+						 new Object[] { <%=genClassifier.getSafeUncapName()%> },
+						 context));
+    <%} else {%>
+					(new <%=genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic")%>
+						(<%=genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")%>.ERROR,
+						 DIAGNOSTIC_SOURCE,
+						 0,
+						 <%=genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin")%>.INSTANCE.getString("_UI_GenericConstraint_diagnostic", new Object[] { "<%=constraint%>", getValueLabel(<%=genDataType.getQualifiedClassifierAccessor()%>, <%=genClassifier.getSafeUncapName()%>, <%=context%>) }),<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+						 new Object[] { <%=genClassifier.getSafeUncapName()%> }));
+    <%}%>
+			}
+			return false;
+		}
+		return true;
+  <%}%>
+<%}%>
+<%} else { GenOperation genOperation = ((GenClass)genClassifier).getInvariantOperation(constraint); if (genOperation != null) {%>
+		return <%=genClassifier.getSafeUncapName()%>.<%=constraint%>(<%=diagnostics%>, <%=context%>);
+<%} else if (constraintDelegate != null) {%>
+		// TODO override the constraint, if desired
+		// -> uncomment the scaffolding
+		// -> specify the condition that violates the constraint
+		// -> verify the diagnostic details, including severity, code, and message
+		// Ensure that you remove @generated or mark it @generated NOT
+		if (false)
+		{
+			if (<%=diagnostics%> != null)
+			{
+				<%=diagnostics%>.add
+  <%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {%>
+					(createDiagnostic
+						(<%=genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")%>.ERROR,
+						 DIAGNOSTIC_SOURCE,
+						 0,
+						 "_UI_GenericConstraint_diagnostic",<%=genModel.getNonNLS()%>
+						 new Object[] { "<%=constraint%>", getObjectLabel(<%=genClassifier.getSafeUncapName()%>, <%=context%>) },<%=genModel.getNonNLS()%>
+						 new Object[] { <%=genClassifier.getSafeUncapName()%> },
+						 context));
+  <%} else {%>
+					(new <%=genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic")%>
+						(<%=genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")%>.ERROR,
+						 DIAGNOSTIC_SOURCE,
+						 0,
+						 <%=genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin")%>.INSTANCE.getString("_UI_GenericConstraint_diagnostic", new Object[] { "<%=constraint%>", getObjectLabel(<%=genClassifier.getSafeUncapName()%>, <%=context%>) }),<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+						 new Object[] { <%=genClassifier.getSafeUncapName()%> }));
+  <%}%>
+			}
+			return false;
+		}
+		return <%=delegate%>validate<%=constraintDelegate.getName()%>_<%=constraint%>(<%=cast%><%=genClassifier.getSafeUncapName()%>, <%=diagnostics%>, <%=context%>);
+<%} else {%>
+  <%if (genClassifier.hasConstraintExpression(constraint)) {%>
+		return
+			validate
+				(<%=genClassifier.getQualifiedClassifierAccessor()%>,
+				 <%if (!((GenClass)genClassifier).isEObjectExtension()) {%>(<%=genModel.getImportedName("org.eclipse.emf.ecore.EObject")%>)<%}%><%=genClassifier.getSafeUncapName()%>,
+				 <%=diagnostics%>,
+				 <%=context%>,
+				 "<%=genClassifier.getValidationDelegate(constraint)%>",<%=genModel.getNonNLS()%>
+				 "<%=constraint%>",<%=genModel.getNonNLS()%>
+				 <%=genClassifier.getClassifierID()%>__<%=CodeGenUtil.upperName(constraint)%>__EEXPRESSION,
+				 <%=genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")%>.ERROR,
+				 DIAGNOSTIC_SOURCE,
+				 0);
+  <%} else {%>
+		// TODO implement the constraint
+		// -> specify the condition that violates the constraint
+		// -> verify the diagnostic details, including severity, code, and message
+		// Ensure that you remove @generated or mark it @generated NOT
+		if (false)
+		{
+			if (<%=diagnostics%> != null)
+			{
+				<%=diagnostics%>.add
+    <%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {%>
+					(createDiagnostic
+						(<%=genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")%>.ERROR,
+						 DIAGNOSTIC_SOURCE,
+						 0,
+						 "_UI_GenericConstraint_diagnostic",<%=genModel.getNonNLS()%>
+						 new Object[] { "<%=constraint%>", getObjectLabel(<%=genClassifier.getSafeUncapName()%>, <%=context%>) },<%=genModel.getNonNLS()%>
+						 new Object[] { <%=genClassifier.getSafeUncapName()%> },
+						 context));
+    <%} else {%>
+					(new <%=genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic")%>
+						(<%=genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")%>.ERROR,
+						 DIAGNOSTIC_SOURCE,
+						 0,
+						 <%=genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin")%>.INSTANCE.getString("_UI_GenericConstraint_diagnostic", new Object[] { "<%=constraint%>", getObjectLabel(<%=genClassifier.getSafeUncapName()%>, <%=context%>) }),<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+						 new Object[] { <%=genClassifier.getSafeUncapName()%> }));
+    <%}%>
+			}
+			return false;
+		}
+		return true;
+  <%}%>
+<%}}%>
+	}
+
+<%}%>
+<%}%>
+<%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {%>
+	/**
+	 * Returns the resource locator that will be used to fetch messages for this validator's diagnostics.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	public <%=genModel.getImportedName("org.eclipse.emf.common.util.ResourceLocator")%> getResourceLocator()
+	{
+  <%if (genModel.hasModelPluginClass()) {%>
+		return <%=genModel.getImportedName(genModel.getQualifiedModelPluginClassName())%>.INSTANCE;
+  <%} else {%>
+		// TODO
+		// Specialize this to return a resource locator for messages specific to this validator.
+		// Ensure that you remove @generated or mark it @generated NOT
+		return super.getResourceLocator();
+  <%}%>
+	}
+
+<%}%>
+<%@ 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,isJDK50:isJDK50,singleWildcard:singleWildcard,_Map:_Map,objectArgument:objectArgument,count:count"%>
+} //<%=genPackage.getValidatorClassName()%>
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._SspG8mKPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._SspG8mKPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..6c7369f
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._SspG8mKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenPackage genPackage = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._089c2WKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._089c2WKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..24cd6fc
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._089c2WKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel, GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._9Wzg5HLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._9Wzg5HLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..24600c9
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._9Wzg5HLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_AjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_AjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_AjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_AzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_AzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_AzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_BTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_BTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_BTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_BzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_BzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..ed70464
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_BzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenPackage genPackage = parameter;
+targetPath = genPackage.getGenModel().getModelDirectory();
+packageName = genPackage.getUtilitiesPackageName();
+className = genPackage.getAdapterFactoryClassName();
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_CTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_CTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..1093c97
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_CTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,183 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.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();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%@ 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"%>
+package <%=genPackage.getUtilitiesPackageName()%>;
+
+<%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);%>
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see <%=genPackage.getQualifiedPackageInterfaceName()%>
+<%if (genPackage.hasAPITags()) {%>
+ * <%=genPackage.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%} else if (isJDK50 && GenModelUtil.hasAPIDeprecatedTag(genPackage.getAllSwitchGenClasses())) {%>
+@SuppressWarnings("deprecation")
+<%}%>
+public class <%=genPackage.getAdapterFactoryClassName()%> extends AdapterFactoryImpl
+{
+<%if (genModel.hasCopyrightField()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final <%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static <%=genPackage.getImportedPackageInterfaceName()%> modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public <%=genPackage.getAdapterFactoryClassName()%>()
+	{
+		if (modelPackage == null)
+		{
+			modelPackage = <%=genPackage.getImportedPackageInterfaceName()%>.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	public boolean isFactoryForType(Object object)
+	{
+		if (object == modelPackage)
+		{
+			return true;
+		}
+		if (object instanceof EObject)
+		{
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected <%=genPackage.getSwitchClassName()%><%=typeArgument%> modelSwitch =
+		new <%=genPackage.getSwitchClassName()%><%=typeArgument%>()
+		{
+<%for (GenClass genClass : genPackage.getAllSwitchGenClasses()) {%>
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+			@Override
+  <%}%>
+			public <%=genClass.getTypeParameters()%><%=returnType%> case<%=genPackage.getClassUniqueName(genClass)%>(<%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceTypeArguments()%> object)
+			{
+				return create<%=genPackage.getClassUniqueName(genClass)%>Adapter();
+			}
+<%}%>
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+			@Override
+  <%}%>
+			public <%=returnType%> defaultCase(EObject object)
+			{
+				return create<%=genPackage.getClassUniqueName(null)%>Adapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	public Adapter createAdapter(Notifier target)
+	{
+		return <%=adapterCast%>modelSwitch.doSwitch((EObject)target);
+	}
+
+<%for (GenClass genClass : genPackage.getAllSwitchGenClasses()) {%>
+
+	/**
+	 * Creates a new adapter for an object of class '{@link <%=genClass.getRawQualifiedInterfaceName()%> <em><%=genClass.getFormattedName()%></em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see <%=genClass.getRawQualifiedInterfaceName()%>
+  <%if (genClass.hasAPITags()) {%>
+	 * <%=genClass.getAPITags(genModel.getIndentation(stringBuffer))%>
+  <%}%>
+	 * @generated
+	 */
+  <%if (isJDK50 && genClass.hasAPIDeprecatedTag()) {%>
+		@Deprecated
+  <%}%>
+	public Adapter create<%=genPackage.getClassUniqueName(genClass)%>Adapter()
+	{
+		return null;
+	}
+<%}%>
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter create<%=genPackage.getClassUniqueName(null)%>Adapter()
+	{
+		return null;
+	}
+
+} //<%=genPackage.getAdapterFactoryClassName()%>
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._Ssy372KPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._Ssy372KPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..6c7369f
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._Ssy372KPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenPackage genPackage = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._07BjKWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._07BjKWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..24cd6fc
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._07BjKWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel, GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._82LgFHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._82LgFHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..24600c9
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._82LgFHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh5-TG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh5-TG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..2badca5
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh5-TG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,245 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ *   IBM - Initial API and implementation
+ */
+%>
+<%GenPackage genPackage = (GenPackage)argument; GenModel genModel=genPackage.getGenModel();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%boolean supportsComposition = genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF27_VALUE;%>
+<%@ 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"%>
+package <%=genPackage.getUtilitiesPackageName()%>;
+
+<%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);%>
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see <%=genPackage.getQualifiedPackageInterfaceName()%>
+<%if (genPackage.hasAPITags()) {%>
+ * <%=genPackage.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%} else if (isJDK50 && GenModelUtil.hasAPIDeprecatedTag(genPackage.getGenClasses())) {%>
+	@SuppressWarnings("deprecation")
+<%}%>
+public class <%=genPackage.getSwitchClassName()%><%=templateParameters%><%if (supportsComposition){%> extends Switch<%=templateParameters%><%}%>
+{
+<%if (genModel.hasCopyrightField()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final <%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static <%=genPackage.getImportedPackageInterfaceName()%> modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public <%=genPackage.getSwitchClassName()%>()
+	{
+		if (modelPackage == null)
+		{
+			modelPackage = <%=genPackage.getImportedPackageInterfaceName()%>.eINSTANCE;
+		}
+	}
+
+<%if (supportsComposition) {%>
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage)
+	{
+		return ePackage == modelPackage;
+	}
+<%} else { boolean isUnnecessaryElse = genModel.isUnnecessaryElse(); String indent = isUnnecessaryElse ? "" : "\t";%>
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	public <%=returnType%> doSwitch(EObject theEObject)
+	{
+		return doSwitch(theEObject.eClass(), theEObject);
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	protected <%=returnType%> doSwitch(EClass theEClass, EObject theEObject)
+	{
+		if (theEClass.eContainer() == modelPackage)
+		{
+			return doSwitch(theEClass.getClassifierID(), theEObject);
+		}
+  <%if (!isUnnecessaryElse) {%>
+		else
+		{
+  <%}%>
+		<%=indent%><%=genModel.getImportedName("java.util.List")%><%if (genModel.useGenerics()) {%><<%=genModel.getImportedName("org.eclipse.emf.ecore.EClass")%>><%}%> eSuperTypes = theEClass.getESuperTypes();
+		<%=indent%>return
+		<%=indent%>	eSuperTypes.isEmpty() ?
+		<%=indent%>		defaultCase(theEObject) :
+		<%=indent%>		doSwitch(<%if (!genModel.useGenerics()) {%>(EClass)<%}%>eSuperTypes.get(0), theEObject);
+  <%if (!isUnnecessaryElse) {%>
+		}
+  <%}%>
+	}
+<%}%>
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+<%if (supportsComposition) {%>
+	@Override
+<%}%>
+	protected <%=returnType%> doSwitch(int classifierID, EObject theEObject)
+	{
+		switch (classifierID)
+		{
+<%for (GenClass genClass : genPackage.getGenClasses()) {%>
+<%if (!genClass.isEObject()) { String result = "result".equals(genClass.getSafeUncapName()) ? "theResult" : "result"; %>
+			case <%=genPackage.getImportedPackageInterfaceName()%>.<%=genPackage.getClassifierID(genClass)%>:
+			{
+				<%if (genClass.isUncheckedCast() || genClass.isMapEntry() && isJDK50) {%>@SuppressWarnings("unchecked") <%}%><%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceWildTypeArguments()%> <%=genClass.getSafeUncapName()%> = (<%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceWildTypeArguments()%>)theEObject;
+				<%=returnType%> <%=result%> = case<%=genPackage.getClassUniqueName(genClass)%>(<%=genClass.getSafeUncapName()%>);
+<%for (GenClass baseGenClass : genClass.getSwitchGenClasses()) {%>
+				if (<%=result%> == null) <%=result%> = <%if (genClass.isRawBaseClass(baseGenClass)) {%>(<%=returnType%>)<%}%>case<%=genPackage.getClassUniqueName(baseGenClass)%>(<%if (genClass.isMapEntry()) {%>(<%=baseGenClass.getImportedInterfaceName()%><%=baseGenClass.getInterfaceTypeArguments()%>)<%}%><%=genClass.getSafeUncapName()%>);
+<%}%>
+				if (<%=result%> == null) <%=result%> = defaultCase(theEObject);
+				return <%=result%>;
+			}
+<%}%>
+<%}%>
+			default: return defaultCase(theEObject);
+		}
+	}
+<%for (GenClass genClass : genPackage.getAllSwitchGenClasses()) {%>
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em><%=genClass.getFormattedName()%></em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em><%=genClass.getFormattedName()%></em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+  <%if (genClass.hasAPITags()) {%>
+	 * <%=genClass.getAPITags(genModel.getIndentation(stringBuffer))%>
+  <%}%>
+	 * @generated
+	 */
+  <%if (isJDK50 && genClass.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+  <%}%>
+	public <%=genClass.getTypeParameters()%><%=returnType%> case<%=genPackage.getClassUniqueName(genClass)%>(<%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceTypeArguments()%> object)
+	{
+		return null;
+	}
+<%}%>
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+<%if (supportsComposition) {%>
+	@Override
+<%}%>
+	public <%=returnType%> defaultCase(EObject object)
+	{
+		return null;
+	}
+
+} //<%=genPackage.getSwitchClassName()%>
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh58jG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh58jG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh58jG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh58zG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh58zG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh58zG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh59TG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh59TG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh59TG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh59zG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh59zG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..2998af6
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh59zG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenPackage genPackage = parameter;
+targetPath = genPackage.getGenModel().getModelDirectory();
+packageName = genPackage.getUtilitiesPackageName();
+className = genPackage.getSwitchClassName();
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._StieyGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._StieyGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..6c7369f
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._StieyGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenPackage genPackage = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._0920uWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._0920uWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..a3911c8
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._0920uWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel, GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._9tdGVHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._9tdGVHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..5d95e6c
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._9tdGVHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39wjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39wjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39wjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39wzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39wzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39wzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39xTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39xTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39xTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39xzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39xzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..0634f5b
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39xzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+targetPathName = genModel.getEditProjectDirectory() + "/" + genModel.getEditBundleLocalization()+ ".properties";
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39yTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39yTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..edb321d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39yTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,63 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ * 
+ * Contributors: 
+ *   IBM - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument; /* Trick to import java.util.* without warnings */Iterator.class.getName();%>
+<%@ 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"%>
+
+pluginName = <%=genModel.getEditBundleName()%>
+providerName = <%=genModel.getEditBundleVendorName()%>
+<%if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {%>
+
+<%if (genModel.isCreationCommands()) {%>
+_UI_CreateChild_text = {0}
+_UI_CreateChild_text2 = {1} <%if (genModel.isCreationSubmenus()) {%>| <%}%>{0}
+_UI_CreateChild_text3 = {1}
+_UI_CreateChild_tooltip = Create New {0} Under {1} Feature
+_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}.
+_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.
+
+<%}%>
+_UI_PropertyDescriptor_description = The {0} of the {1}
+
+<%for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {%>
+  <%if (genPackage.getGenModel() == genModel || !genPackage.getGenModel().hasEditSupport()) { %>
+    <%for (GenClass genClass : genPackage.getGenClasses()) {%>
+_UI_<%=genClass.getName()%>_type = <%=genClass.getFormattedName()%>
+    <%}%>
+  <%}%>
+<%}%>
+_UI_Unknown_type = Object
+
+_UI_Unknown_datatype= Value
+
+<%for (GenFeature genFeature : genModel.getFilteredAllGenFeatures()) { String description = genFeature.getPropertyDescription();%>
+_UI_<%=genFeature.getGenClass().getName()%>_<%=genFeature.getName()%>_feature = <%=genFeature.getFormattedName()%>
+  <%if (description != null && description.length() > 0) {%>
+_UI_<%=genFeature.getGenClass().getName()%>_<%=genFeature.getName()%>_description = <%=description%>
+  <%}%>
+<%}%>
+_UI_Unknown_feature = Unspecified
+
+<%for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {%>
+  <%if (genPackage.getGenModel() == genModel || !genPackage.getGenModel().hasEditSupport()) {%>
+    <%for (GenEnum genEnum : genPackage.getGenEnums()) {%>
+      <%for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {%>
+_UI_<%=genEnum.getName()%>_<%=genEnumLiteral.getName()%>_literal = <%=genEnumLiteral.getLiteral()%>
+      <%}%>
+    <%}%>
+  <%}%>
+<%}%>
+<%for (String category : genModel.getPropertyCategories()) {%>
+<%=genModel.getPropertyCategoryKey(category)%> = <%=category%>
+<%}%>
+<%}%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Sub2qGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Sub2qGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..76ca0ef
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Sub2qGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._09tDuWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._09tDuWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..a3911c8
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._09tDuWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel, GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._9qU51HLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._9qU51HLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..2c9ac31
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._9qU51HLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW5jG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW5jG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW5jG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW5zG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW5zG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW5zG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW6TG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW6TG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW6TG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW6zG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW6zG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..5619577
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW6zG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPathName = genModel.getEditProjectDirectory() + "/plugin.xml";
+overwrite = true;
+encoding = "UTF-8";
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW7TG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW7TG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..a3910da
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW7TG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,141 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ * 
+ * Contributors: 
+ *   IBM - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument; String key = genModel.getPluginKey(); boolean hasKey = key != null && !key.equals("");%>
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<%@ 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"%>
+
+<%if (genModel.isBundleManifest()) {%>
+<plugin>
+<%} else {%>
+<plugin
+      name="%pluginName"
+      id="<%=genModel.getEditPluginID()%>"
+      version="1.0.0"
+      provider-name="%providerName"
+      class="<%=genModel.getQualifiedEditPluginClassName()%>$Implementation">
+
+   <requires>
+  <%for (String pluginID : genModel.getEditRequiredPlugins()) {%>
+      <import plugin="<%=pluginID%>"<%if (!pluginID.startsWith("org.eclipse.core.runtime")) {%> export="true"<%}%>/>
+  <%}%>
+   </requires>
+
+   <runtime>
+  <%if (genModel.isRuntimeJar()) {%>
+      <library name="<%=genModel.getEditPluginID()%>.jar">
+  <%} else {%>
+      <library name=".">
+  <%}%>
+         <export name="*"/>
+      </library>
+   </runtime>
+<%}%>
+<%if (genModel.sameModelEditProject()) {%>
+  <%for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {%>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+  <%if (hasKey) {%>
+      <!-- @generated <%=key%> -->
+  <%}%>
+      <package
+            uri="<%=genPackage.getNSURI()%>"
+    <%if (genModel.hasLocalGenModel()) {%>
+            class="<%=genPackage.getQualifiedPackageInterfaceName()%>"
+            genModel="<%=genModel.getRelativeGenModelLocation()%>"/>
+    <%} else {%>
+            class="<%=genPackage.getQualifiedPackageInterfaceName()%>"/>
+    <%}%>
+   </extension>
+    <%if (genPackage.isContentType()) {%>
+
+   <extension point="org.eclipse.emf.ecore.content_parser">
+  <%if (hasKey) {%>
+      <!-- @generated <%=key%> -->
+  <%}%>
+      <parser
+            contentTypeIdentifier="<%=genPackage.getContentTypeIdentifier()%>"
+            class="<%=genPackage.getQualifiedEffectiveResourceFactoryClassName()%>"/>
+   </extension>
+
+   <extension point="org.eclipse.core.contenttype.contentTypes">
+  <%if (hasKey) {%>
+      <!-- @generated <%=key%> -->
+  <%}%>
+      <content-type
+            base-type="<%=genPackage.isXMIResource() ? "org.eclipse.emf.ecore.xmi" : "org.eclipse.core.runtime.xml"%>"
+            file-extensions="<%=genPackage.getFileExtensions()%>"
+            id="<%=genPackage.getContentTypeIdentifier()%>"
+            name="%_UI_<%=genPackage.getPrefix()%>_content_type"
+            priority="normal">
+         <describer class="org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer">
+      <%if (genPackage.hasTargetNamespace()) {%>
+            <parameter name="namespace" value="<%=genPackage.getNSURI()%>"/>
+      <%}%>
+      <%if (genPackage.isXMIResource()) {%>
+            <parameter name="kind" value="xmi"/>
+      <%}%>
+         </describer>
+      </content-type>
+   </extension>
+    <%} else if (genPackage.getResource() != GenResourceKind.NONE_LITERAL) {%>
+
+   <extension point="org.eclipse.emf.ecore.extension_parser">
+      <%if (hasKey) {%>
+      <!-- @generated <%=key%> -->
+      <%}%>
+      <%for (String fileExtension : genPackage.getFileExtensionList()) {%>
+      <parser
+            type="<%=fileExtension%>"
+            class="<%=genPackage.getQualifiedResourceFactoryClassName()%>"/>
+      <%}%>
+   </extension>
+    <%}%>
+  <%}%>
+<%}%>
+<%for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {%>
+  <%if (!genPackage.getGenClasses().isEmpty()) {%>
+
+   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+  <%if (hasKey) {%>
+      <!-- @generated <%=key%> -->
+  <%}%>
+      <factory
+            uri="<%=genPackage.getNSURI()%>"
+            class="<%=genPackage.getQualifiedItemProviderAdapterFactoryClassName()%>"
+            supportedTypes=
+    <%for (ListIterator<?> j = genPackage.getProviderSupportedTypes().listIterator(); j.hasNext(); ) {%>
+              <%=j.hasPrevious() ? " " : "\""%><%=j.next()%><%if (!j.hasNext()) {%>"/><%}%>
+    <%}%>
+   </extension>
+    <%if (genPackage.isChildCreationExtenders()) { Map<GenPackage, Map<GenClass, List<GenClass.ChildCreationData>>> extendedChildCreationData = genPackage.getExtendedChildCreationData();%>
+      <%if (!extendedChildCreationData.isEmpty()) {%>
+
+   <extension point="org.eclipse.emf.edit.childCreationExtenders">
+  <%if (hasKey) {%>
+      <!-- @generated <%=key%> -->
+  <%}%>
+        <%for (Map.Entry<GenPackage, Map<GenClass, List<GenClass.ChildCreationData>>> entry : extendedChildCreationData.entrySet()) {%>
+      <extender
+            uri="<%=entry.getKey().getNSURI()%>"
+            class="<%=genPackage.getQualifiedItemProviderAdapterFactoryClassName()%>$<%=genPackage.getChildCreationExtenderName(entry.getKey())%>"/>
+        <%}%>
+   </extension>
+      <%}%>
+    <%}%>
+  <%}%>
+<%}%>
+
+</plugin>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._SuSFqGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._SuSFqGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..76ca0ef
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._SuSFqGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._09QXzWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._09QXzWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..a3911c8
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._09QXzWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel, GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._9kEg2HLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._9kEg2HLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..72ea78b
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._9kEg2HLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR0jG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR0jG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR0jG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR0zG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR0zG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR0zG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR1TG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR1TG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR1TG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR1zG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR1zG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..3659b46
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR1zG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+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";
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR2TG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR2TG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..494ab7d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR2TG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,37 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ * 
+ * Contributors: 
+ *   IBM - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument;%>
+<%String pluginClassesLocation = genModel.isRuntimeJar() ? genModel.getEditPluginID()+".jar" : ".";%>
+<%List<String> sourceFolders = genModel.getEditSourceFolders();%>
+<%@ 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"%>
+
+bin.includes = <%=pluginClassesLocation%>,\
+<%if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {%>
+               icons/,\
+<%}%>
+<%if (genModel.isBundleManifest()) {%>
+               META-INF/,\
+<%}%>
+<%if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {%>
+               plugin.xml,\
+<%}%>
+<%String editBundleLocalization = genModel.getEditBundleLocalization(); int index = editBundleLocalization.indexOf("/"); if (index == -1) {%>
+               <%=editBundleLocalization%>.properties
+<%} else {%>
+               <%=editBundleLocalization.substring(0, index + 1)%>
+<%}%>
+jars.compile.order = <%=pluginClassesLocation%>
+<% boolean first=true; for (Iterator<String> i = sourceFolders.iterator(); i.hasNext();) { String sourceFolder = i.next(); if (i.hasNext()){sourceFolder +=",\\";} if (first) {%>
+source.<%=pluginClassesLocation%> = <%=sourceFolder%><%first=false;} else {%><%=sourceFolder%><%}}%>
+output.<%=pluginClassesLocation%> = bin/
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._St_KvGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._St_KvGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..76ca0ef
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._St_KvGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._09j5yWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._09j5yWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..a3911c8
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._09j5yWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel, GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._9nWeVHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._9nWeVHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..ff1d18b
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._9nWeVHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMwjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMwjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMwjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMwzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMwzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMwzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMxTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMxTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMxTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMxzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMxzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..2474bfe
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMxzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPathName = genModel.getEditProjectDirectory() + "/META-INF/MANIFEST.MF";
+overwrite = genModel.isUpdateClasspath();
+encoding = "UTF-8";
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMyTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMyTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..1945d4e
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMyTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,54 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ * 
+ * Contributors:
+ *   IBM - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument;%>
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: <%=genModel.getEditBundleNameKey()%>
+Bundle-SymbolicName: <%=genModel.getEditPluginID()%>;singleton:=true
+Automatic-Module-Name: <%=genModel.getEditPluginID()%>
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: <%if (genModel.isRuntimeJar()) {%><%=genModel.getEditPluginID()%>.jar<%}else{%>.<%}%>
+<%if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {%>
+Bundle-Activator: <%=genModel.getQualifiedEditPluginClassName()%>$Implementation<%if (genModel.isOSGiCompatible()) {%>$Activator<%}%>
+<%}%>
+Bundle-Vendor: <%=genModel.getEditBundleVendorKey()%>
+Bundle-Localization: <%=genModel.getEditBundleLocalization()%>
+<%if (genModel.getComplianceLevel() == GenJDKLevel.JDK50_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+<%} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK60_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+<%} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK70_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+<%} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK80_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+<%} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK90_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: JavaSE-9
+<%} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK100_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: JavaSE-10
+<%}%>
+<%Iterator<String> packagesIterator = genModel.getEditQualifiedPackageNames().iterator(); if (packagesIterator.hasNext()) { String pack = packagesIterator.next();%>
+Export-Package: <%=pack%><%while(packagesIterator.hasNext()) { pack = packagesIterator.next();%>,
+ <%=pack%><%}%>
+<%}%>
+<%Iterator<String> requiredPluginIterator = genModel.getEditRequiredPlugins().iterator(); if (requiredPluginIterator.hasNext()) { String pluginID = requiredPluginIterator.next();%>
+Require-Bundle: <%=pluginID%><%if (pluginID.startsWith("org.eclipse.core.runtime")) {if (genModel.isOSGiCompatible()) {%>;resolution:=optional;x-installation:=greedy<%}} else {%>;visibility:=reexport<%} while(requiredPluginIterator.hasNext()) { pluginID = requiredPluginIterator.next();%>,
+ <%=pluginID%><%if (pluginID.startsWith("org.eclipse.core.runtime")) {if (genModel.isOSGiCompatible()) {%>;resolution:=optional;x-installation:=greedy<%}} else if (!pluginID.equals("org.eclipse.xtext.xbase.lib") && !pluginID.equals("org.eclipse.emf.ecore.xcore.lib")) {%>;visibility:=reexport<%}}%>
+<%}%>
+<%if (genModel.isOSGiCompatible()) {%>
+Import-Package: org.osgi.framework
+<%}%>
+<%if (genModel.getRuntimeVersion() == GenRuntimeVersion.EMF22 || genModel.getRuntimeVersion() == GenRuntimeVersion.EMF23) {%>
+Eclipse-LazyStart: true
+<%}%>
+Bundle-ActivationPolicy: lazy
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._SuI7uGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._SuI7uGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..76ca0ef
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._SuI7uGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._0-wMmGKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._0-wMmGKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..a3911c8
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._0-wMmGKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel, GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._97KyNHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._97KyNHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..2c704cd
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._97KyNHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,4 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._PkEQkDG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._PkEQkDG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._PkEQkDG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._PkEQkTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._PkEQkTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._PkEQkTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._PkEQkzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._PkEQkzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._PkEQkzG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._PkEQlzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._PkEQlzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..4e02ee8
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._PkEQlzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,18 @@
+<%
+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);
+        }
+      }
+    }
+  }
+}
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._0-TgqWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._0-TgqWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..a3911c8
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._0-TgqWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel, GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._9wJN9HLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._9wJN9HLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..4d200c7
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._9wJN9HLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4sjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4sjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4sjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4szG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4szG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4szG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4tTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4tTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4tTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4tzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4tzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7680b09
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4tzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenClass genClass = parameter;
+targetPath = genClass.getGenModel().getEditDirectory();
+packageName = genClass.getGenPackage().getProviderPackageName();
+className = genClass.getProviderClassName();
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4uTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4uTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..a876f89
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4uTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,410 @@
+
+<%
+/**
+ * Copyright (c) 2002-2019 IBM Corporation and others.
+ * All rights reserved.   This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ *   IBM - Initial API and implementation
+ *   Alexander Fedorov <alexander.fedorov@arsysop.ru> - Bug 546714
+ */
+%>
+<%GenClass genClass = (GenClass)argument; GenPackage genPackage = genClass.getGenPackage(); GenModel genModel=genPackage.getGenModel();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%final boolean forceDefaultCase = genModel.isSwitchMissingDefaultCase();String indentDefaultCase = forceDefaultCase ? "\t\t" : "";%>
+<%@ 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"%>
+package <%=genPackage.getProviderPackageName()%>;
+
+
+<%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);%>
+
+/**
+ * This is the item provider adapter for a {@link <%=genClass.getRawQualifiedInterfaceName()%>} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+<%if (genClass.hasImplicitAPITags()) {%>
+ * <%=genClass.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+ <%if (isJDK50 && genClass.hasImplicitAPIDeprecatedTag()) {%>
+@Deprecated
+ <%}%>
+public class <%=genClass.getProviderClassName()%> <%if (genClass.getProviderImplementsClassNames().isEmpty()) {%>extends <%=genClass.getProviderBaseClassName() != null ? genClass.getProviderBaseClassName() : genModel.getImportedName("org.eclipse.emf.edit.provider.ItemProviderAdapter")%><%}%>
+<%if (!genClass.getProviderImplementsClassNames().isEmpty()) {%>
+	extends <%=genClass.getProviderBaseClassName() != null ? genClass.getProviderBaseClassName() : genModel.getImportedName("org.eclipse.emf.edit.provider.ItemProviderAdapter")%>
+	implements
+  <%for (Iterator<String> i = genClass.getProviderImplementsClassNames().iterator(); i.hasNext(); ) {%>
+		<%=genModel.getImportedName(i.next())%><%if (i.hasNext()){%>,<%}%>
+  <%}%>
+<%}%>
+{
+<%if (genModel.hasCopyrightField()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final <%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public <%=genClass.getProviderClassName()%>(AdapterFactory adapterFactory)
+	{
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	public <%=_List%> getPropertyDescriptors(Object object)
+	{
+		if (itemPropertyDescriptors == null)
+		{
+			super.getPropertyDescriptors(object);
+
+<%for (GenFeature genFeature : genClass.getPropertyFeatures()) { %>
+			add<%=genFeature.getCapName()%>PropertyDescriptor(object);
+<%}%>
+		}
+		return itemPropertyDescriptors;
+	}
+
+<%for (GenFeature genFeature : genClass.getPropertyFeatures()) { %>
+	/**
+	 * This adds a property descriptor for the <%=genFeature.getFormattedName()%> feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+  <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+  <%}%>
+	 * @generated
+	 */
+  <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+  <%}%>
+	protected void add<%=genFeature.getCapName()%>PropertyDescriptor(Object object)
+	{
+<%@ 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,isJDK50:isJDK50,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,_List:_List"%><%//ItemProvider/addPropertyDescriptor.override.javajetinc%>
+	}
+
+<%}%>
+<%if (!genClass.getChildrenFeatures().isEmpty()) {%>
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	public <%=genModel.getImportedName(genModel.useGenerics() ? "java.util.Collection<? extends org.eclipse.emf.ecore.EStructuralFeature>" : "java.util.Collection")%> getChildrenFeatures(Object object)
+	{
+		if (childrenFeatures == null)
+		{
+			super.getChildrenFeatures(object);
+<%for (GenFeature genFeature : genClass.getChildrenFeatures()) { %>
+			childrenFeatures.add(<%=genFeature.getQualifiedFeatureAccessor()%>);
+<%}%>
+		}
+		return childrenFeatures;
+	}
+
+<%if (!genClass.getChildrenFeatures().isEmpty()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	protected <%=genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature")%> getChildFeature(Object object, Object child)
+	{
+		// Check the type of the specified child object and return the proper feature to use for
+		// adding (see {@link AddCommand}) it as a child.
+
+		return super.getChildFeature(object, child);
+	}
+
+<%}%>
+<%}%>
+<%if (genClass.needsHasChildrenMethodOverride()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	public boolean hasChildren(Object object)
+	{
+		return hasChildren(object, <%=genModel.isOptimizedHasChildren()%>);
+	}
+
+<%}%>
+<%if (genClass.isImage()) {%>
+	/**
+	 * This returns <%=genClass.getName()%>.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	public Object getImage(Object object)
+	{
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/<%=genClass.getName()%>"));<%=genModel.getNonNLS()%>
+	}
+
+<%}%>
+<%if (genClass.getProviderImplementsClassNames().contains("org.eclipse.emf.edit.provider.ITableItemLabelProvider")) {%>
+	/**
+	 * This returns <code>getImage(object)</code> for the column index <code>0</code> or <code>super.getImage(object)</code> otherwise.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getText(Object)
+	 * @see #getColumnText(Object, int)
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	public Object getColumnImage(Object object, int columnIndex)
+	{
+		// TODO: implement this method to return appropriate information for each column.
+		// Ensure that you remove @generated or mark it @generated NOT
+		return columnIndex == 0 ? getImage(object) : super.getImage(object);
+	}
+
+<%}%>
+<%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF26_VALUE && !genModel.isCreationIcons()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	protected boolean shouldComposeCreationImage()
+	{
+		return true;
+	}
+
+<%}%>
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	public String getText(Object object)
+	{
+<%@ 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,isJDK50:isJDK50,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,_List:_List"%><%//ItemProvider/getText.override.javajetinc%>
+	}
+
+<%if (genClass.getProviderImplementsClassNames().contains("org.eclipse.emf.edit.provider.ITableItemLabelProvider")) {%>
+	/**
+	 * This returns <code>getText(object)</code> for the column index <code>0</code> or <code>super.getText(object)</code> otherwise.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getImage(Object)
+	 * @see #getColumnImage(Object, int)
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	public String getColumnText(Object object, int columnIndex)
+	{
+		// TODO: implement this method to return appropriate information for each column.
+		// Ensure that you remove @generated or mark it @generated NOT
+		return columnIndex == 0 ? getText(object) : super.getText(object);
+	}
+
+<%}%>
+<%if (genModel.isStyleProviders()) {%>
+	/**
+	 * This returns the label styled text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	public Object getStyledText(Object object)
+	{
+<%@ 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,isJDK50:isJDK50,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,_List:_List"%><%//ItemProvider/getStyledText.override.javajetinc%>
+	}
+<%}%>
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	public void notifyChanged(Notification notification)
+	{
+		updateChildren(notification);
+<%if (!genClass.getLabelNotifyFeatures().isEmpty() || !genClass.getContentNotifyFeatures().isEmpty() || !genClass.getLabelAndContentNotifyFeatures().isEmpty()) {%>
+
+		switch (notification.getFeatureID(<%=genClass.getRawImportedInterfaceName()%>.class))
+		{
+  <%if (!genClass.getLabelNotifyFeatures().isEmpty()) {%>
+    <%for (GenFeature genFeature : genClass.getLabelNotifyFeatures()) { %>
+			case <%=genClass.getQualifiedFeatureID(genFeature)%>:
+    <%}%>
+				fireNotifyChanged(new <%=genModel.getImportedName("org.eclipse.emf.edit.provider.ViewerNotification")%>(notification, notification.getNotifier(), false, true));
+				return;
+  <%}%>
+  <%if (!genClass.getContentNotifyFeatures().isEmpty()) {%>
+    <%for (GenFeature genFeature : genClass.getContentNotifyFeatures()) { %>
+			case <%=genClass.getQualifiedFeatureID(genFeature)%>:
+    <%}%>
+				fireNotifyChanged(new <%=genModel.getImportedName("org.eclipse.emf.edit.provider.ViewerNotification")%>(notification, notification.getNotifier(), true, false));
+				return;
+  <%}%>
+  <%if (!genClass.getLabelAndContentNotifyFeatures().isEmpty()) {%>
+    <%for (GenFeature genFeature : genClass.getLabelAndContentNotifyFeatures()) { %>
+			case <%=genClass.getQualifiedFeatureID(genFeature)%>:
+    <%}%>
+				fireNotifyChanged(new <%=genModel.getImportedName("org.eclipse.emf.edit.provider.ViewerNotification")%>(notification, notification.getNotifier(), true, true));
+				return;
+  <%}%>
+<%if (forceDefaultCase) {%>
+			default:
+<%} else { // {%>
+		}
+<%}%>
+<%=indentDefaultCase%>		super.notifyChanged(notification);
+<%if (forceDefaultCase) { // {%>
+<%=indentDefaultCase%>		return;
+			}
+<%} // }%>
+<%}%>
+	}
+
+<%if (genModel.isCreationCommands()) {%>
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	protected void collectNewChildDescriptors(<%=genModel.getImportedName(genModel.useGenerics() ? "java.util.Collection<java.lang.Object>" : "java.util.Collection")%> newChildDescriptors, Object object)
+	{
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+    <%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;%>
+<%@ 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,isJDK50:isJDK50"%><%//ItemProvider/newChildDescriptorsReferenceDelegatedFeature.override.javajetinc%>
+        <%} else { GenDataType createDataType = (GenDataType)createClassifier;%>
+<%@ 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,isJDK50:isJDK50"%><%//ItemProvider/newChildDescriptorsAttributeDelegatedFeature.override.javajetinc%>
+        <%}%>
+      <%} else if (createFeature.isReferenceType()) { GenClass createClass = (GenClass)createClassifier;%>
+<%@ 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,isJDK50:isJDK50"%><%//ItemProvider/newChildDescriptorsReferenceFeature.override.javajetinc %>
+      <%} else { GenDataType createDataType = (GenDataType)createClassifier;%>
+<%@ 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,isJDK50:isJDK50"%><%//ItemProvider/newChildDescriptorsAttributeFeature.override.javajetinc%>
+      <%}%>
+    <%}%>
+	}
+
+  <%if (!genClass.getSharedClassCreateChildFeatures().isEmpty()) {%>
+	/**
+	 * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	public String getCreateChildText(Object owner, Object feature, Object child, <%=genModel.getImportedName(genModel.useGenerics() ? "java.util.Collection<?>" : "java.util.Collection")%> selection)
+	{
+		Object childFeature = feature;
+		Object childObject = child;
+
+    <%if (genClass.hasFeatureMapCreateChildFeatures()) {%>
+		if (childFeature instanceof <%=genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature")%> && <%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMapUtil")%>.isFeatureMap((EStructuralFeature)childFeature))
+		{
+			<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Entry entry = (FeatureMap.Entry)childObject;
+			childFeature = entry.getEStructuralFeature();
+			childObject = entry.getValue();
+		}
+
+    <%}%>
+		boolean qualify =
+    <%for (Iterator<GenFeature> i = genClass.getSharedClassCreateChildFeatures().iterator(); i.hasNext();) { GenFeature createFeature = i.next();%>
+			childFeature == <%=createFeature.getQualifiedFeatureAccessor()%><%=i.hasNext() ? " ||" : ";"%>
+    <%}%>
+
+		if (qualify)
+		{
+			return getString
+				("_UI_CreateChild_text2",<%=genModel.getNonNLS()%>
+				 new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) });
+		}
+		return super.getCreateChildText(owner, feature, child, selection);
+	}
+
+  <%}%>
+<%}%>
+<%if (genClass.getProviderExtendsGenClass() == null || genClass.getProviderExtendsGenClass().getGenPackage() != genPackage && (!genPackage.isExtensibleProviderFactory() || genClass.getProviderExtendsGenClass().getGenPackage().isExtensibleProviderFactory() != genPackage.isExtensibleProviderFactory())) {%>
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	public <%=genModel.getImportedName("org.eclipse.emf.common.util.ResourceLocator")%> getResourceLocator()
+	{
+<%if (genPackage.isExtensibleProviderFactory()) {%>
+		return ((<%=genModel.getImportedName("org.eclipse.emf.edit.provider.IChildCreationExtender")%>)adapterFactory).getResourceLocator();
+<%} else {%>
+		return <%=genPackage.getImportedEditPluginClassName()%>.INSTANCE;
+<%}%>
+	}
+
+<%}%>
+<%@ 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,isJDK50:isJDK50,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,_List:_List"%>
+}
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._SuuxqGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._SuuxqGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..671872d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._SuuxqGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenClass genClass = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._09_-qWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._09_-qWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..a3911c8
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._09_-qWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel, GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._92_c1HLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._92_c1HLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..2d0a030
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._92_c1HLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzojG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzojG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzojG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzozG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzozG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzozG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzpTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzpTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzpTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzpzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzpzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..ddc6a80
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzpzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenPackage genPackage = parameter;
+targetPath = genPackage.getGenModel().getEditDirectory();
+packageName = genPackage.getProviderPackageName();
+className = genPackage.getItemProviderAdapterFactoryClassName();
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzqTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzqTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..8588805
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzqTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,556 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.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();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%@ 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"%>
+package <%=genPackage.getProviderPackageName()%>;
+
+<%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);%>
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers.
+ * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
+ * The adapters also support Eclipse property sheets.
+ * Note that most of the adapters are shared among multiple instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+<%if (genPackage.hasAPITags()) {%>
+ * <%=genPackage.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%} else if (isJDK50 && GenModelUtil.hasAPIDeprecatedTag(genPackage.getGenClasses())) {%>
+@SuppressWarnings("deprecation")
+<%}%>
+public class <%=genPackage.getItemProviderAdapterFactoryClassName()%> extends <%=genPackage.getImportedAdapterFactoryClassName()%> implements ComposeableAdapterFactory, IChangeNotifier<%if (genPackage.isDisposableProviderFactory()) {%>, <%=genModel.getImportedName("org.eclipse.emf.edit.provider.IDisposable")%><%}%><%if (genPackage.isExtensibleProviderFactory()) {%>, <%=genModel.getImportedName("org.eclipse.emf.edit.provider.IChildCreationExtender")%><%}%>
+{
+<%if (genModel.hasCopyrightField()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final <%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+	/**
+	 * This keeps track of the root adapter factory that delegates to this adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ComposedAdapterFactory parentAdapterFactory;
+
+	/**
+	 * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+<%if (genPackage.isDisposableProviderFactory() && genPackage.hasStatefulProvider()) {%>
+	/**
+	 * This keeps track of all the item providers created, so that they can be {@link #dispose disposed}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected <%=genModel.getImportedName("org.eclipse.emf.edit.provider.Disposable")%> disposable = new Disposable();
+
+<%}%>
+<%if (genPackage.isExtensibleProviderFactory()) {%>
+	/**
+	 * This helps manage the child creation extenders.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected <%=genModel.getImportedName("org.eclipse.emf.edit.provider.ChildCreationExtenderManager")%> childCreationExtenderManager = new <%=genModel.getImportedName("org.eclipse.emf.edit.provider.ChildCreationExtenderManager")%>(<%=genPackage.getImportedEditPluginClassName()%>.INSTANCE, <%=genPackage.getImportedPackageInterfaceName()%>.eNS_URI);
+
+<%}%>
+	/**
+	 * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected <%=_Collection%> supportedTypes = new <%=_ArrayList%>();
+
+	/**
+	 * This constructs an instance.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public <%=genPackage.getItemProviderAdapterFactoryClassName()%>()
+	{
+<%for (String name : genPackage.getProviderSupportedTypes()) {%>
+		supportedTypes.add(<%=genModel.getImportedName(name)%>.class);
+<%}%>
+	}
+
+<%for (GenPackage genDelegate : genPackage.getAdapterDelegatePackages()) {%>
+	/**
+	 * This keeps track of the factory to which to delegate adapter creation for objects from that package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected <%=genDelegate.getImportedAdapterFactoryClassName()%> <%=genPackage.getUncapAdapterFactoryDelegateName(genDelegate)%> = null;
+
+	/**
+	 * This determines the delegate factory for the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected <%=genDelegate.getImportedAdapterFactoryClassName()%> get<%=genPackage.getAdapterFactoryDelegateName(genDelegate)%>()
+	{
+		if (<%=genPackage.getUncapAdapterFactoryDelegateName(genDelegate)%> == null)
+		{
+			<%=genModel.getImportedName("org.eclipse.emf.common.notify.AdapterFactory")%> rootAdapterFactory = getRootAdapterFactory();
+			if (rootAdapterFactory instanceof ComposedAdapterFactory)
+			{
+				<%=genModel.getImportedName("org.eclipse.emf.common.notify.AdapterFactory")%> delegateAdapterFactory =
+					((ComposedAdapterFactory)rootAdapterFactory).getFactoryForType(<%=genDelegate.getImportedAdapterFactoryClassName()%>.getPackage());
+				if (delegateAdapterFactory instanceof <%=genDelegate.getImportedAdapterFactoryClassName()%>)
+				{
+					<%=genPackage.getUncapAdapterFactoryDelegateName(genDelegate)%> = (<%=genDelegate.getImportedAdapterFactoryClassName()%>)delegateAdapterFactory;
+				}
+			}
+		}
+		return <%=genPackage.getUncapAdapterFactoryDelegateName(genDelegate)%>;
+	}
+
+<%}%>
+<%for (GenClass genClass : genPackage.getGenClasses()) {%>
+<%if (!genClass.isAbstract() && genClass.getProvider() != GenProviderKind.NONE_LITERAL) {%>
+<%if (genClass.isProviderSingleton()) {%>
+	/**
+	 * This keeps track of the one adapter used for all {@link <%=genClass.getRawQualifiedInterfaceName()%>} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+  <%if (genClass.hasAPITags()) {%>
+	 * <%=genClass.getAPITags(genModel.getIndentation(stringBuffer))%>
+  <%}%>
+	 * @generated
+	 */
+  <%if (isJDK50 && genClass.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+  <%}%>
+	protected <%=genClass.getProviderClassName()%> <%=genClass.getUncapName()%>ItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link <%=genClass.getRawQualifiedInterfaceName()%>}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+  <%if (genClass.hasAPITags()) {%>
+	 * <%=genClass.getAPITags(genModel.getIndentation(stringBuffer))%>
+  <%}%>
+	 * @generated
+	 */
+  <%if (isJDK50 && genClass.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+  <%}%>
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	public Adapter create<%=genClass.getName()%>Adapter()
+	{
+		if (<%=genClass.getUncapName()%>ItemProvider == null)
+		{
+			<%=genClass.getUncapName()%>ItemProvider = new <%=genClass.getProviderClassName()%>(this);
+		}
+
+		return <%=genClass.getUncapName()%>ItemProvider;
+	}
+
+<%} else {%>
+	/**
+	 * This creates an adapter for a {@link <%=genClass.getRawQualifiedInterfaceName()%>}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+  <%if (genClass.hasAPITags()) {%>
+	 * <%=genClass.getAPITags(genModel.getIndentation(stringBuffer))%>
+  <%}%>
+	 * @generated
+	 */
+  <%if (isJDK50 && genClass.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+  <%}%>
+  <%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+  <%}%>
+	public Adapter create<%=genClass.getName()%>Adapter()
+	{
+		return new <%=genClass.getProviderClassName()%>(this);
+	}
+
+<%}%>
+<%}%>
+<%}%>
+<%for (GenClass genClass : genPackage.getAdapterDelegateSuperClasses()) {%>
+	/**
+	 * <%=genClass.getName()%> of <%=genClass.getItemProviderAdapterFactoryClassName()%>
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+  <%if (genClass.hasAPITags()) {%>
+	 * <%=genClass.getAPITags(genModel.getIndentation(stringBuffer))%>
+  <%}%>
+	 * @generated
+	 */
+  <%if (isJDK50 && genClass.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+  <%}%>
+	public Adapter create<%=genClass.getName()%>Adapter()
+	{
+		return
+			get<%=genClass.getItemProviderAdapterFactoryClassName()%>() == null ?
+				null :
+				get<%=genClass.getItemProviderAdapterFactoryClassName()%>().create<%=genClass.getName()%>Adapter();
+	}
+
+<%}%>
+	/**
+	 * This returns the root adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useInterfaceOverrideAnnotation()){%>
+	@Override
+<%}%>
+	public ComposeableAdapterFactory getRootAdapterFactory()
+	{
+		return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+	}
+
+	/**
+	 * This sets the composed adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useInterfaceOverrideAnnotation()){%>
+	@Override
+<%}%>
+	public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory)
+	{
+		this.parentAdapterFactory = parentAdapterFactory;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	public boolean isFactoryForType(Object type)
+	{
+		return supportedTypes.contains(type) || super.isFactoryForType(type);
+	}
+
+	/**
+	 * This implementation substitutes the factory itself as the key for the adapter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	public Adapter adapt(Notifier notifier, Object type)
+	{
+		return super.adapt(notifier, this);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	public Object adapt(Object object, Object type)
+	{
+		if (isFactoryForType(type))
+		{
+			Object adapter = super.adapt(object, type);
+			if (!(type instanceof Class<%if (genModel.useGenerics()) {%><?><%}%>) || <%if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {%><%=genModel.getImportedName("org.eclipse.emf.common.util.Reflect")%>.isInstance((Class<%if (genModel.useGenerics()) {%><?><%}%>)type, adapter)<%} else {%>(((Class<%if (genModel.useGenerics()) {%><?><%}%>)type).isInstance(adapter))<%}%>)
+			{
+				return adapter;
+			}
+		}
+
+		return null;
+	}
+
+<%if (genPackage.isDisposableProviderFactory() && genPackage.hasStatefulProvider()) {%>
+	/**
+	 * Associates an adapter with a notifier via the base implementation, then records it to ensure it will be disposed.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	protected void associate(Adapter adapter, Notifier target)
+	{
+		super.associate(adapter, target);
+		if (adapter != null)
+		{
+			disposable.add(adapter);
+		}
+	}
+
+<%}%>
+<%if (genPackage.isExtensibleProviderFactory()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public <%=genModel.getImportedName(useGenerics ? "java.util.List<org.eclipse.emf.edit.provider.IChildCreationExtender>" : "java.util.List")%> getChildCreationExtenders()
+	{
+		return childCreationExtenderManager.getChildCreationExtenders();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public <%=genModel.getImportedName(useGenerics ? "java.util.Collection<?>" : "java.util.Collection")%> getNewChildDescriptors(Object object, <%=genModel.getImportedName("org.eclipse.emf.edit.domain.EditingDomain")%> editingDomain)
+	{
+		return childCreationExtenderManager.getNewChildDescriptors(object, editingDomain);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public <%=genModel.getImportedName("org.eclipse.emf.common.util.ResourceLocator")%> getResourceLocator()
+	{
+		return childCreationExtenderManager;
+	}
+
+<%}%>
+	/**
+	 * This adds a listener.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useInterfaceOverrideAnnotation()){%>
+	@Override
+<%}%>
+	public void addListener(INotifyChangedListener notifyChangedListener)
+	{
+		changeNotifier.addListener(notifyChangedListener);
+	}
+
+	/**
+	 * This removes a listener.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useInterfaceOverrideAnnotation()){%>
+	@Override
+<%}%>
+	public void removeListener(INotifyChangedListener notifyChangedListener)
+	{
+		changeNotifier.removeListener(notifyChangedListener);
+	}
+
+	/**
+	 * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useInterfaceOverrideAnnotation()){%>
+	@Override
+<%}%>
+	public void fireNotifyChanged(Notification notification)
+	{
+		changeNotifier.fireNotifyChanged(notification);
+
+		if (parentAdapterFactory != null)
+		{
+			parentAdapterFactory.fireNotifyChanged(notification);
+		}
+	}
+
+<%if (genPackage.isDisposableProviderFactory()) {%>
+	/**
+	 * This disposes all of the item providers created by this factory. 
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useInterfaceOverrideAnnotation()){%>
+	@Override
+<%}%>
+	public void dispose()
+	{
+<%if (genPackage.hasStatefulProvider()) {%>
+		disposable.dispose();
+<%} else {%>
+<%for (GenClass genClass : genPackage.getGenClasses()) {%>
+<%if (!genClass.isAbstract() && genClass.isProviderSingleton()) {%>
+		if (<%=genClass.getUncapName()%>ItemProvider != null) <%=genClass.getUncapName()%>ItemProvider.dispose();
+<%}%>
+<%}%>
+<%}%>
+	}
+
+<%}%>
+<%if (genPackage.isChildCreationExtenders()) {%>
+  <%for (Map.Entry<GenPackage, Map<GenClass, List<GenClass.ChildCreationData>>> packageEntry : genPackage.getExtendedChildCreationData().entrySet()) {%>
+	/**
+	 * A child creation extender for the {@link <%=packageEntry.getKey().getImportedPackageInterfaceName()%>}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static class <%=genPackage.getChildCreationExtenderName(packageEntry.getKey())%> implements <%=genModel.getImportedName("org.eclipse.emf.edit.provider.IChildCreationExtender")%>
+	{
+		/**
+		 * The switch for creating child descriptors specific to each extended class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected static class CreationSwitch extends <%=genModel.getImportedName(packageEntry.getKey().getQualifiedSwitchClassName())%><%=useGenerics ? "<Object>" : ""%>
+		{
+			/**
+			 * The child descriptors being populated.
+			 * <!-- begin-user-doc -->
+			 * <!-- end-user-doc -->
+			 * @generated
+			 */
+			protected <%=genModel.getImportedName(useGenerics ? "java.util.List<Object>" : "java.util.List")%> newChildDescriptors;
+
+			/**
+			 * The domain in which to create the children.
+			 * <!-- begin-user-doc -->
+			 * <!-- end-user-doc -->
+			 * @generated
+			 */
+			protected <%=genModel.getImportedName("org.eclipse.emf.edit.domain.EditingDomain")%> editingDomain;
+
+			/**
+			 * Creates the a switch for populating child descriptors in the given domain.
+			 * <!-- begin-user-doc -->
+			 * <!-- end-user-doc -->
+			 * @generated
+			 */
+			CreationSwitch(<%=genModel.getImportedName(useGenerics ? "java.util.List<Object>" : "java.util.List")%> newChildDescriptors, <%=genModel.getImportedName("org.eclipse.emf.edit.domain.EditingDomain")%> editingDomain) 
+			{
+				this.newChildDescriptors = newChildDescriptors;
+				this.editingDomain = editingDomain;
+			}
+     <%for (Map.Entry<GenClass, List<GenClass.ChildCreationData>> classEntry : packageEntry.getValue().entrySet()) { GenClass genClass = classEntry.getKey();%>
+			/**
+			 * <!-- begin-user-doc -->
+			 * <!-- end-user-doc -->
+			 * @generated
+			 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+			@Override
+<%}%>
+			public <%=genClass.getTypeParameters()%>Object case<%=genPackage.getClassUniqueName(genClass)%>(<%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceTypeArguments()%> object)
+			{
+     <%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;%>
+<%@ 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,isJDK50:isJDK50"%><%//ItemProvider/newChildDescriptorsReferenceDelegatedFeature.override.javajetinc%>
+        <%} else { GenDataType createDataType = (GenDataType)createClassifier;%>
+<%@ 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,isJDK50:isJDK50"%><%//ItemProvider/newChildDescriptorsAttributeDelegatedFeature.override.javajetinc%>
+        <%}%>
+      <%} else if (createFeature.isReferenceType()) { GenClass createClass = (GenClass)createClassifier;%>
+<%@ 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,isJDK50:isJDK50"%><%//ItemProvider/newChildDescriptorsReferenceFeature.override.javajetinc %>
+      <%} else { GenDataType createDataType = (GenDataType)createClassifier;%>
+<%@ 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,isJDK50:isJDK50"%><%//ItemProvider/newChildDescriptorsAttributeFeature.override.javajetinc%>
+      <%}%>
+
+     <%}%>
+				return null;
+			}
+ 
+     <%}%>
+			/**
+			 * <!-- begin-user-doc -->
+			 * <!-- end-user-doc -->
+			 * @generated
+			 */
+			protected <%=genModel.getImportedName("org.eclipse.emf.edit.command.CommandParameter")%> createChildParameter(Object feature, Object child)
+			{
+				return new <%=genModel.getImportedName("org.eclipse.emf.edit.command.CommandParameter")%>(null, feature, child);
+			}
+
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public <%=_Collection%> getNewChildDescriptors(Object object, <%=genModel.getImportedName("org.eclipse.emf.edit.domain.EditingDomain")%> editingDomain)
+		{
+			<%=_ArrayList%> result = new <%=_ArrayList%>();
+			new CreationSwitch(result, editingDomain).doSwitch((<%=genModel.getImportedName("org.eclipse.emf.ecore.EObject")%>)object);
+			return result;
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public <%=genModel.getImportedName("org.eclipse.emf.common.util.ResourceLocator")%> getResourceLocator()
+		{
+			return <%=genPackage.getImportedEditPluginClassName()%>.INSTANCE;
+		}
+	}
+
+  <%}%>
+<%}%>
+}
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._SulnpGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._SulnpGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..6c7369f
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._SulnpGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenPackage genPackage = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._0-JvqWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._0-JvqWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..a3911c8
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._0-JvqWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel, GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._9y-fhHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._9y-fhHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..a9037a4
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._9y-fhHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwukjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwukjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwukjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwukzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwukzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwukzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwulTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwulTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwulTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwulzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwulzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..f9f4e48
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwulzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPath = genModel.getEditPluginDirectory();
+packageName = genModel.getEditPluginPackageName();
+className = genModel.getEditPluginClassName();
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwumTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwumTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..ac89089
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwumTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,254 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ *   IBM - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument; /* Trick to import java.util.* without warnings */Iterator.class.getName();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%@ 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"%>
+package <%=genModel.getEditPluginPackageName()%>;
+
+<%genModel.addImport("org.eclipse.emf.common.EMFPlugin");%>
+<%genModel.addImport("org.eclipse.emf.common.util.ResourceLocator");%>
+<%genModel.markImportLocation(stringBuffer);%>
+
+/**
+ * This is the central singleton for the <%=genModel.getModelName()%> edit plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+<%if (genModel.hasAPITags()) {%>
+ * <%=genModel.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%if (isJDK50 && genModel.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%}%>
+public final class <%=genModel.getEditPluginClassName()%> extends EMFPlugin
+{
+<%if (genModel.hasCopyrightField()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final <%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+	/**
+	 * Keep track of the singleton.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final <%=genModel.getEditPluginClassName()%> INSTANCE = new <%=genModel.getEditPluginClassName()%>();
+
+<%if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {%>
+	/**
+	 * Keep track of the singleton.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static Implementation plugin;
+
+<%}%>
+	/**
+	 * Create the instance.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public <%=genModel.getEditPluginClassName()%>()
+	{
+		super
+		  (new ResourceLocator [] 
+		   {
+<%for (String pluginClassName : genModel.getEditResourceDelegateImportedPluginClassNames()) {%>
+		     <%=pluginClassName%>.INSTANCE,
+<%}%>
+		   });
+	}
+
+	/**
+	 * Returns the singleton instance of the Eclipse plugin.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the singleton instance.
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	public ResourceLocator getPluginResourceLocator()
+	{
+<%if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {%>
+		return null;
+<%} else {%>
+		return plugin;
+<%}%>
+	}
+
+<%if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {%>
+	/**
+	 * Returns the singleton instance of the Eclipse plugin.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the singleton instance.
+	 * @generated
+	 */
+	public static Implementation getPlugin()
+	{
+		return plugin;
+	}
+
+	/**
+	 * The actual implementation of the Eclipse <b>Plugin</b>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static class Implementation extends EclipsePlugin
+	{
+		/**
+		 * Creates an instance.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+<%if (genModel.needsRuntimeCompatibility()) {%>
+		 * @param descriptor the description of the plugin.
+<%}%>
+		 * @generated
+		 */
+		public Implementation(<%if (genModel.needsRuntimeCompatibility()) {%><%=genModel.getImportedName("org.eclipse.core.runtime.IPluginDescriptor")%> descriptor<%}%>)
+		{
+			super(<%if (genModel.needsRuntimeCompatibility()) {%>descriptor<%}%>);
+
+			// Remember the static instance.
+			//
+			plugin = this;
+		}
+<%if (genModel.isOSGiCompatible()) {%>
+	
+		/**
+		 * The actual implementation of the purely OSGi-compatible <b>Bundle Activator</b>.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public static final class Activator extends <%=genModel.getImportedName("org.eclipse.emf.common.EMFPlugin")%>.OSGiDelegatingBundleActivator
+		{
+<%if (genModel.useClassOverrideAnnotation()) {%>
+			@Override
+<%}%>
+			protected <%=genModel.getImportedName("org.osgi.framework.BundleActivator")%> createBundle()
+			{
+				return new Implementation();
+			}
+		}
+<%}%>
+	}
+
+<%} else {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static final <%=genModel.getImportedName(genModel.getQualifiedEditPluginClassName() + "Properties")%> PROPERTIES = <%=genModel.getImportedName("com.google.gwt.core.client.GWT")%>.create(<%=genModel.getImportedName(genModel.getQualifiedEditPluginClassName() + "Properties")%>.class);
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getString(String key, boolean translate)
+	{
+<%boolean first = true; for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {%>
+  <%if (genPackage.getGenModel() == genModel || !genPackage.getGenModel().hasEditSupport()) { %>
+    <%for (GenClass genClass : genPackage.getGenClasses()) {%>
+		<%if (first) { first = false; } else {%>else <%}%>if ("_UI_<%=genClass.getName()%>_type".equals(key)) return PROPERTIES.<%=genClass.getUncapName()%>Type();
+    <%}%>
+  <%}%>
+<%}%>
+		<%if (first) { first = false; } else {%>else <%}%> if ("_UI_Unknown_type".equals(key)) return PROPERTIES.unknownType();
+		else if ("_UI_Unknown_datatype".equals(key)) return PROPERTIES.unknownDatatype();
+<%for (GenFeature genFeature : genModel.getFilteredAllGenFeatures()) { String description = genFeature.getPropertyDescription();%>
+		else if ("_UI_<%=genFeature.getGenClass().getName()%>_<%=genFeature.getName()%>_feature".equals(key)) return PROPERTIES.<%=genFeature.getGenClass().getUncapName()%>_<%=genFeature.getCapName()%>Feature();
+  <%if (description != null && description.length() > 0) {%>
+		else if ("_UI_<%=genFeature.getGenClass().getName()%>_<%=genFeature.getName()%>_description".equals(key)) return PROPERTIES.<%=genFeature.getGenClass().getUncapName()%>_<%=genFeature.getCapName()%>Description();
+  <%}%>
+<%}%>
+		else if ("_UI_Unknown_feature".equals(key)) return PROPERTIES.unknownFeature();
+<%for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {%>
+  <%if (genPackage.getGenModel() == genModel || !genPackage.getGenModel().hasEditSupport()) {%>
+    <%for (GenEnum genEnum : genPackage.getGenEnums()) {%>
+      <%for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {%>
+		else if ("_UI_<%=genEnum.getName()%>_<%=genEnumLiteral.getName()%>_literal".equals(key)) return PROPERTIES.<%=genEnum.getSafeUncapName()%>_<%=genEnumLiteral.getName()%>Literal();
+      <%}%>
+    <%}%>
+  <%}%>
+<%}%>
+<%for (String category : genModel.getPropertyCategories()) {%>
+<%=genModel.getPropertyCategoryKey(category)%> = <%=category%>
+		else if ("<%=genModel.getPropertyCategoryKey(category)%>".equals(key)) return PROPERTIES.<%=genModel.getPropertyCategoryKey(category)%>();
+<%}%>
+		else return key;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getString(String key, Object [] substitutions, boolean translate)
+	{
+<%if (genModel.isCreationCommands()) {%>
+		if ("_UI_CreateChild_text".equals(key)) return PROPERTIES.createChildText(substitutions[0]);
+		else if ("_UI_CreateChild_text2".equals(key)) return PROPERTIES.createChildText2(substitutions[0], substitutions[1]);
+		else if ("_UI_CreateChild_text3".equals(key)) return PROPERTIES.createChildText3(substitutions[1]);
+		else if ("_UI_CreateChild_tooltip".equals(key)) return PROPERTIES.createChildTooltip(substitutions[0], substitutions[1]);
+		else if ("_UI_CreateChild_description".equals(key)) return PROPERTIES.createChildDescripition(substitutions[0], substitutions[1], substitutions[2]);
+		else if ("_UI_CreateSibling_description".equals(key)) return PROPERTIES.createSiblingDescription(substitutions[0], substitutions[1], substitutions[2]);
+<%}%>
+		<%if (!genModel.isCreationCommands()) {%>else <%}%>if ("_UI_PropertyDescriptor_description".equals(key)) return PROPERTIES.propertyDescriptorDescription(substitutions[0], substitutions[1]);
+		else return key;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static final <%=genModel.getImportedName(genModel.getQualifiedEditPluginClassName() + "Images")%> IMAGES = <%=genModel.getImportedName("com.google.gwt.core.client.GWT")%>.create(<%=genModel.getImportedName(genModel.getQualifiedEditPluginClassName() + "Images")%>.class);
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(String key)
+	{
+<%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); %>
+		<%if (first) { first = false; } else {%>else <%}%>if ("<%=image%>".equals(key)) return IMAGES.<%=genClass.getItemIconAccessorName()%>();
+    <%}%>
+  <%}%>
+<%}%>
+		<%if (first) { first = false; } else {%>else <%}%>return key;
+	}
+
+<%}%>
+}
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._SuuxmGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._SuuxmGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..76ca0ef
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._SuuxmGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._-A1VWHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._-A1VWHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..749b6a5
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._-A1VWHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._0_DHiWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._0_DHiWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..da5fad6
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._0_DHiWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel, GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BYjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BYjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BYjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BYzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BYzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BYzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BZTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BZTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BZTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BZzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BZzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..f747b4d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BZzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPathName = genModel.getEditorProjectDirectory() + "/META-INF/MANIFEST.MF";
+overwrite = genModel.isUpdateClasspath();
+encoding = "UTF-8";
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BaTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BaTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..439335e
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BaTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,88 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ * 
+ * Contributors: 
+ *   IBM - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument;%>
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: <%=genModel.getEditorBundleNameKey()%>
+Bundle-SymbolicName: <%=genModel.getEditorPluginID()%>;singleton:=true
+Automatic-Module-Name: <%=genModel.getEditorPluginID()%>
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: <%if (genModel.isRuntimeJar()) {%><%=genModel.getEditorPluginID()%>.jar<%}else{%>.<%}%>
+<%if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {%>
+Bundle-Activator: <%=genModel.getQualifiedEditorPluginClassName()%>$Implementation
+<%}%>
+Bundle-Vendor: <%=genModel.getEditorBundleVendorKey()%>
+Bundle-Localization: <%=genModel.getEditorBundleLocalization()%>
+<%if (genModel.getComplianceLevel() == GenJDKLevel.JDK50_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+<%} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK60_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+<%} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK70_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+<%} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK80_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+<%} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK90_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: JavaSE-9
+<%} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK100_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: JavaSE-10
+<%}%>
+<%Iterator<String> packagesIterator = genModel.getEditorQualifiedPackageNames().iterator(); if (packagesIterator.hasNext()) { String pack = packagesIterator.next();%>
+Export-Package: <%=pack%><%while(packagesIterator.hasNext()) { pack = packagesIterator.next();%>,
+ <%=pack%><%}%>
+<%}%>
+<%Iterator<String> requiredPluginIterator = genModel.getEditorRequiredPlugins().iterator(); if (requiredPluginIterator.hasNext()) { String pluginID = requiredPluginIterator.next();%>
+Require-Bundle: <%=pluginID%><%if (!pluginID.startsWith("org.eclipse.core.runtime")){%>;visibility:=reexport<%} while(requiredPluginIterator.hasNext()) { pluginID = requiredPluginIterator.next();%>,
+ <%=pluginID%><%if (!pluginID.startsWith("org.eclipse.core.runtime") && !pluginID.equals("org.eclipse.jface.text") && !pluginID.equals("org.eclipse.xtext.xbase.lib") && !pluginID.equals("org.eclipse.emf.ecore.xcore.lib")) {%>;visibility:=reexport<%}}%>
+<%}%>
+<%if (genModel.isRichAjaxPlatform()) {%>
+Import-Package: org.eclipse.emf.common.ui,
+ org.eclipse.emf.common.ui.action,
+ org.eclipse.emf.common.ui.dialogs,
+ org.eclipse.emf.common.ui.editor,
+ org.eclipse.emf.common.ui.viewer,
+ org.eclipse.emf.edit.ui,
+ org.eclipse.emf.edit.ui.action,
+ org.eclipse.emf.edit.ui.celleditor,
+ org.eclipse.emf.edit.ui.dnd,
+ org.eclipse.emf.edit.ui.provider,
+ org.eclipse.emf.edit.ui.util,
+ org.eclipse.emf.edit.ui.view,
+ org.eclipse.jface.action,
+ org.eclipse.jface.dialogs,
+ org.eclipse.jface.operation,
+ org.eclipse.jface.text,
+ org.eclipse.jface.util,
+ org.eclipse.jface.viewers,
+ org.eclipse.jface.window,
+ org.eclipse.jface.wizard,
+ org.eclipse.swt,
+ org.eclipse.swt.custom,
+ org.eclipse.swt.dnd,
+ org.eclipse.swt.events,
+ org.eclipse.swt.graphics,
+ org.eclipse.swt.layout,
+ org.eclipse.swt.widgets,
+ org.eclipse.ui;ui.workbench="split",
+ org.eclipse.ui.actions;ui.workbench="split",
+ org.eclipse.ui.application,
+ org.eclipse.ui.part;ui.workbench="split",
+ org.eclipse.ui.plugin,
+ org.eclipse.ui.views,
+ org.eclipse.ui.views.contentoutline,
+ org.eclipse.ui.views.properties;ui.views="split"
+<%}%>
+<%if (genModel.getRuntimeVersion() == GenRuntimeVersion.EMF22 || genModel.getRuntimeVersion() == GenRuntimeVersion.EMF23) {%>
+Eclipse-LazyStart: true
+<%}%>
+Bundle-ActivationPolicy: lazy
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._SveYeGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._SveYeGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..76ca0ef
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._SveYeGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._0-mbmGKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._0-mbmGKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..a3911c8
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._0-mbmGKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel, GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._99Zm1HLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._99Zm1HLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..1756c42
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._99Zm1HLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,4 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._PkNagjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._PkNagjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._PkNagjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._PkNagzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._PkNagzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._PkNagzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._PkNahTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._PkNahTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._PkNahTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._PkNaiTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._PkNaiTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..b891ef8
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._PkNaiTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,8 @@
+<%
+GenClass genClass = parameter;
+if (genClass.isImage()) {
+new CodegenGeneratorAdapter(parameter).generateGIF("edit/Item.gif", genClass.getItemIconFileName(), genClass.getName(), null, false);
+}
+ else {
+}
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._0-cqmGKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._0-cqmGKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..a3911c8
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._0-cqmGKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel, GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._9_MWlHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._9_MWlHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..1756c42
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._9_MWlHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,4 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._Pkg8gjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._Pkg8gjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._Pkg8gjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._Pkg8gzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._Pkg8gzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._Pkg8gzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._Pkg8hTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._Pkg8hTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._Pkg8hTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._Pkg8iTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._Pkg8iTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..bac4a0d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._Pkg8iTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,11 @@
+<%
+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);
+    }
+  }
+}
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._-G79VHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._-G79VHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..3534f39
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._-G79VHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._0_MReWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._0_MReWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..da5fad6
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._0_MReWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel, GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._PkqGdjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._PkqGdjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._PkqGdjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._PkqGdzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._PkqGdzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._PkqGdzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._PkqGeTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._PkqGeTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._PkqGeTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._Pkz3cDG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._Pkz3cDG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..15eec79
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._Pkz3cDG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPathName = genModel.getEditorProjectDirectory() + "/plugin.xml";
+overwrite = true;
+encoding = "UTF-8";
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._Pkz3cjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._Pkz3cjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..3ffc6f6
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._Pkz3cjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,293 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ * 
+ * Contributors: 
+ *   IBM - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument; String key = genModel.getPluginKey(); boolean hasKey = key != null && !key.equals("");%>
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<%@ 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"%>
+
+<%if (genModel.isBundleManifest()) {%>
+<plugin>
+<%} else {%>
+<plugin
+      name="%pluginName"
+      id="<%=genModel.getEditorPluginID()%>"
+      version="1.0.0"
+      provider-name="%providerName"
+      class="<%=genModel.getQualifiedEditorPluginClassName()%>$Implementation">
+
+   <requires>
+  <%for (String pluginID : genModel.getEditorRequiredPlugins()) { %>
+      <import plugin="<%=pluginID%>"<%if (!pluginID.startsWith("org.eclipse.core.runtime")) {%> export="true"<%}%>/>
+  <%}%>
+   </requires>
+
+   <runtime>
+  <%if (genModel.isRuntimeJar()) {%>
+      <library name="<%=genModel.getEditorPluginID()%>.jar">
+  <%} else {%>
+      <library name=".">
+  <%}%>
+         <export name="*"/>
+      </library>
+   </runtime>
+<%}%>
+<%if (genModel.sameModelEditorProject()) {%>
+  <%for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {%>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+  <%if (hasKey) {%>
+      <!-- @generated <%=key%> -->
+  <%}%>
+      <package
+            uri="<%=genPackage.getNSURI()%>"
+    <%if (genModel.hasLocalGenModel()) {%>
+            class="<%=genPackage.getQualifiedPackageInterfaceName()%>"
+            genModel="<%=genModel.getRelativeGenModelLocation()%>"/>
+    <%} else {%>
+            class="<%=genPackage.getQualifiedPackageInterfaceName()%>"/>
+    <%}%>
+   </extension>
+    <%if (genPackage.isContentType()) {%>
+
+   <extension point="org.eclipse.emf.ecore.content_parser">
+  <%if (hasKey) {%>
+      <!-- @generated <%=key%> -->
+  <%}%>
+      <parser
+            contentTypeIdentifier="<%=genPackage.getContentTypeIdentifier()%>"
+            class="<%=genPackage.getQualifiedEffectiveResourceFactoryClassName()%>"/>
+   </extension>
+
+   <extension point="org.eclipse.core.contenttype.contentTypes">
+  <%if (hasKey) {%>
+      <!-- @generated <%=key%> -->
+  <%}%>
+      <content-type
+            base-type="<%=genPackage.isXMIResource() ? "org.eclipse.emf.ecore.xmi" : "org.eclipse.core.runtime.xml"%>"
+            file-extensions="<%=genPackage.getFileExtensions()%>"
+            id="<%=genPackage.getContentTypeIdentifier()%>"
+            name="%_UI_<%=genPackage.getPrefix()%>_content_type"
+            priority="normal">
+         <describer class="org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer">
+      <%if (genPackage.hasTargetNamespace()) {%>
+            <parameter name="namespace" value="<%=genPackage.getNSURI()%>"/>
+      <%}%>
+      <%if (genPackage.isXMIResource()) {%>
+            <parameter name="kind" value="xmi"/>
+      <%}%>
+         </describer>
+      </content-type>
+   </extension>
+    <%} else if (genPackage.getResource() != GenResourceKind.NONE_LITERAL) {%>
+
+   <extension point="org.eclipse.emf.ecore.extension_parser">
+      <%if (hasKey) {%>
+      <!-- @generated <%=key%> -->
+      <%}%>
+      <%for (String fileExtension : genPackage.getFileExtensionList()) {%>
+      <parser
+            type="<%=fileExtension%>"
+            class="<%=genPackage.getQualifiedResourceFactoryClassName()%>"/>
+      <%}%>
+   </extension>
+    <%}%>
+  <%}%>
+<%}%>
+<%if (genModel.sameEditEditorProject()) {%>
+  <%for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {%>
+    <%if (!genPackage.getGenClasses().isEmpty()) {%>
+
+   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+  <%if (hasKey) {%>
+      <!-- @generated <%=key%> -->
+  <%}%>
+      <factory
+            uri="<%=genPackage.getNSURI()%>"
+            class="<%=genPackage.getQualifiedItemProviderAdapterFactoryClassName()%>"
+            supportedTypes=
+      <%for (ListIterator<?> j = genPackage.getProviderSupportedTypes().listIterator(); j.hasNext(); ) {%>
+              <%=j.hasPrevious() ? " " : "\""%><%=j.next()%><%if (!j.hasNext()) {%>"/><%}%>
+      <%}%>
+   </extension>
+      <%if (genPackage.isChildCreationExtenders()) { Map<GenPackage, Map<GenClass, List<GenClass.ChildCreationData>>> extendedChildCreationData = genPackage.getExtendedChildCreationData();%>
+        <%if (!extendedChildCreationData.isEmpty()) {%>
+
+   <extension point="org.eclipse.emf.edit.childCreationExtenders">
+          <%for (Map.Entry<GenPackage, Map<GenClass, List<GenClass.ChildCreationData>>> entry : extendedChildCreationData.entrySet()) {%>
+  <%if (hasKey) {%>
+      <!-- @generated <%=key%> -->
+  <%}%>
+      <extender
+            uri="<%=entry.getKey().getNSURI()%>"
+            class="<%=genPackage.getQualifiedItemProviderAdapterFactoryClassName()%>$<%=genPackage.getChildCreationExtenderName(entry.getKey())%>"/>
+          <%}%>
+   </extension>
+        <%}%>
+      <%}%>
+    <%}%>
+  <%}%>
+<%}%>
+<%if (genModel.isRichClientPlatform()) {%>
+
+   <extension
+         point="org.eclipse.core.runtime.applications"
+         id="<%=genModel.getEditorAdvisorClassName()%>Application">
+  <%if (hasKey) {%>
+      <!-- @generated <%=key%> -->
+  <%}%>
+      <application>
+         <run class="<%=genModel.getQualifiedEditorAdvisorClassName()%>$Application"/>
+      </application>
+   </extension>
+
+   <extension point="org.eclipse.ui.perspectives">
+  <%if (hasKey) {%>
+      <!-- @generated <%=key%> -->
+  <%}%>
+      <perspective
+            name="%_UI_Perspective_label"
+            class="<%=genModel.getQualifiedEditorAdvisorClassName()%>$Perspective"
+            id="<%=genModel.getQualifiedEditorAdvisorClassName()%>Perspective">
+      </perspective>
+   </extension>
+
+   <extension point="org.eclipse.ui.commands">
+  <%if (hasKey) {%>
+      <!-- @generated <%=key%> -->
+  <%}%>
+      <command
+            name="%_UI_Menu_OpenURI_label"
+            description="%_UI_Menu_OpenURI_description"
+            categoryId="org.eclipse.ui.category.file"
+            id="<%=genModel.getQualifiedEditorAdvisorClassName()%>OpenURICommand"/>
+  <%if (!genModel.isRichAjaxPlatform()) {%>
+      <command
+            name="%_UI_Menu_Open_label"
+            description="%_UI_Menu_Open_description"
+            categoryId="org.eclipse.ui.category.file"
+            id="<%=genModel.getQualifiedEditorAdvisorClassName()%>OpenCommand"/>
+  <%}%>
+   </extension>
+
+<%if (!genModel.isRichAjaxPlatform()) {%>
+   <extension point="org.eclipse.ui.bindings">
+  <%if (hasKey) {%>
+      <!-- @generated <%=key%> -->
+  <%}%>
+      <key
+            commandId="<%=genModel.getQualifiedEditorAdvisorClassName()%>OpenURICommand"
+            sequence="M1+U"
+            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
+      <key
+            commandId="<%=genModel.getQualifiedEditorAdvisorClassName()%>OpenCommand"
+            sequence="M1+O"
+            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
+   </extension>
+<%}%>
+
+   <extension point="org.eclipse.ui.actionSets">
+  <%if (hasKey) {%>
+      <!-- @generated <%=key%> -->
+  <%}%>
+      <actionSet
+            label="%_UI_<%=genModel.getEditorAdvisorClassName()%>_ActionSet_label"
+            visible="true"
+            id="<%=genModel.getEditorAdvisorClassName()%>ActionSet">
+         <action
+               label="%_UI_Menu_About_label"
+               class="<%=genModel.getQualifiedEditorAdvisorClassName()%>$AboutAction"
+               menubarPath="help/additions"
+               id="<%=genModel.getQualifiedEditorAdvisorClassName()%>AboutAction"/>
+         <action
+               label="%_UI_Menu_OpenURI_label"
+               definitionId="<%=genModel.getQualifiedEditorAdvisorClassName()%>OpenURICommand"
+               class="<%=genModel.getQualifiedEditorAdvisorClassName()%>$OpenURIAction"
+               menubarPath="file/additions"
+               id="<%=genModel.getQualifiedEditorAdvisorClassName()%>OpenURIAction"/>
+  <%if (!genModel.isRichAjaxPlatform()) {%>
+         <action
+               label="%_UI_Menu_Open_label"
+               definitionId="<%=genModel.getQualifiedEditorAdvisorClassName()%>OpenCommand"
+               class="<%=genModel.getQualifiedEditorAdvisorClassName()%>$OpenAction"
+               menubarPath="file/additions"
+               id="<%=genModel.getQualifiedEditorAdvisorClassName()%>OpenAction"/>
+  <%}%>
+      </actionSet>
+   </extension>
+<%}%>
+<%for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {%>
+  <%if (genPackage.hasConcreteClasses()){%>
+    <%if (genPackage.isGenerateModelWizard()) {%>
+      <%if (genModel.isRichClientPlatform()) {%>
+
+   <extension point="org.eclipse.ui.actionSets">
+  <%if (hasKey) {%>
+      <!-- @generated <%=key%> -->
+  <%}%>
+      <actionSet
+            label="%_UI_<%=genPackage.getModelWizardClassName()%>_ActionSet_label"
+            visible="true"
+            id="<%=genPackage.getQualifiedActionBarContributorClassName()%>ActionSet">
+         <action
+               label="%_UI_<%=genPackage.getModelWizardClassName()%>_label"
+               class="<%=genPackage.getQualifiedActionBarContributorClassName()%>$NewAction"
+               menubarPath="file/new/additions"
+               id="<%=genPackage.getQualifiedActionBarContributorClassName()%>NewAction"/>
+      </actionSet>
+   </extension>
+      <%} else {%>
+
+   <extension point="org.eclipse.ui.newWizards">
+  <%if (hasKey) {%>
+      <!-- @generated <%=key%> -->
+  <%}%>
+      <category
+            id="org.eclipse.emf.ecore.Wizard.category.ID"
+            name="%_UI_Wizard_category"/>
+      <wizard
+            id="<%=genPackage.getQualifiedModelWizardClassName()%>ID"
+            name="%_UI_<%=genPackage.getModelWizardClassName()%>_label"
+            class="<%=genPackage.getQualifiedModelWizardClassName()%>"
+            category="org.eclipse.emf.ecore.Wizard.category.ID"
+            icon="icons/full/obj16/<%=genPackage.getPrefix()%>ModelFile.gif">
+         <description>%_UI_<%=genPackage.getModelWizardClassName()%>_description</description>
+         <selection class="org.eclipse.core.resources.IResource"/>
+      </wizard>
+   </extension>
+      <%}%>
+    <%}%>
+
+   <extension point="org.eclipse.ui.editors">
+  <%if (hasKey) {%>
+      <!-- @generated <%=key%> -->
+  <%}%>
+      <editor
+            id="<%=genPackage.getQualifiedEditorClassName()%>ID"
+            name="%_UI_<%=genPackage.getEditorClassName()%>_label"
+            icon="icons/full/obj16/<%=genPackage.getPrefix()%>ModelFile.gif"
+    <%if (!genPackage.isContentType()) {%>
+            extensions="<%=genPackage.getFileExtensions()%>"
+    <%}%>
+            class="<%=genPackage.getQualifiedEditorClassName()%>"
+            contributorClass="<%=genPackage.getQualifiedActionBarContributorClassName()%>">
+    <%if (genPackage.isContentType()) {%>
+         <contentTypeBinding contentTypeId="<%=genPackage.getQualifiedContentTypeIdentifier()%>"/>
+    <%}%>
+      </editor>
+   </extension>
+  <%}%>
+<%}%>
+
+</plugin>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._SvoJeGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._SvoJeGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..76ca0ef
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._SvoJeGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._-DEJ9HLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._-DEJ9HLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..6c9a61a
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._-DEJ9HLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._0-5WjWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._0-5WjWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..da5fad6
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._0-5WjWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel, GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjYjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjYjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjYjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjYzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjYzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjYzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjZTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjZTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjZTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjZzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjZzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..3a558d9
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjZzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+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";
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjaTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjaTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..4ec761e
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjaTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,35 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ * 
+ * Contributors: 
+ *   IBM - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument;%>
+<%String pluginClassesLocation = genModel.isRuntimeJar() ? genModel.getEditorPluginID()+".jar" : ".";%>
+<%List<String> sourceFolders = genModel.getEditorSourceFolders();%>
+<%@ 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"%>
+
+bin.includes = <%=pluginClassesLocation%>,\
+               icons/,\
+<%if (genModel.isBundleManifest()) {%>
+               META-INF/,\
+<%}%>
+<%if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {%>
+               plugin.xml,\
+<%}%>
+<%String editorBundleLocalization = genModel.getEditorBundleLocalization(); int index = editorBundleLocalization.indexOf("/"); if (index == -1) {%>
+               <%=editorBundleLocalization%>.properties
+<%} else {%>
+               <%=editorBundleLocalization.substring(0, index + 1)%>
+<%}%>
+jars.compile.order = <%=pluginClassesLocation%>
+<% boolean first=true; for (Iterator<String> i = sourceFolders.iterator(); i.hasNext();) { String sourceFolder = i.next(); if (i.hasNext()){sourceFolder +=",\\";} if (first) {%>
+source.<%=pluginClassesLocation%> = <%=sourceFolder%><%first=false;} else {%><%=sourceFolder%><%}}%>
+output.<%=pluginClassesLocation%> = <%if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {%>bin<%} else {%>war/WEB-INF/classes<%}%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._SvVOjGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._SvVOjGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..76ca0ef
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._SvVOjGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._-K9htHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._-K9htHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..6c9a61a
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._-K9htHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._0_WCeWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._0_WCeWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..da5fad6
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._0_WCeWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel, GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeUjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeUjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeUjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeUzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeUzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeUzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeVTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeVTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeVTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeVzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeVzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..b4340e9
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeVzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+targetPathName = genModel.getEditorProjectDirectory() + "/" + genModel.getEditorBundleLocalization()+ ".properties";
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeWTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeWTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..4edacd9
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeWTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,114 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ * 
+ * Contributors: 
+ *   IBM - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument; /* Trick to import java.util.* without warnings */Iterator.class.getName();%>
+<%@ 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"%>
+
+pluginName = <%=genModel.getEditorBundleName()%>
+providerName = <%=genModel.getEditorBundleVendorName()%>
+<%if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {%>
+
+<%boolean hasMultiPageEditor = false;%>
+<%for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {if (genPackage.isMultipleEditorPages()) { hasMultiPageEditor = true; }%>
+_UI_<%=genPackage.getEditorClassName()%>_menu = &<%=genPackage.getPrefix()%> Editor
+<%}%>
+
+<%if (genModel.isCreationCommands()) {%>
+_UI_CreateChild_menu_item = &New Child
+_UI_CreateSibling_menu_item = N&ew Sibling
+
+<%}%>
+_UI_ShowPropertiesView_menu_item = Show &Properties View
+_UI_RefreshViewer_menu_item = &Refresh
+
+_UI_SelectionPage_label = Selection
+<%if (hasMultiPageEditor) {%>
+_UI_ParentPage_label = Parent
+_UI_ListPage_label = List
+_UI_TreePage_label = Tree
+_UI_TablePage_label = Table
+_UI_TreeWithColumnsPage_label = Tree with Columns
+_UI_ObjectColumn_label = Object
+_UI_SelfColumn_label = Self
+<%}%>
+
+_UI_NoObjectSelected = Selected Nothing
+_UI_SingleObjectSelected = Selected Object: {0}
+_UI_MultiObjectSelected = Selected {0} Objects
+
+_UI_OpenEditorError_label = Open Editor
+
+_UI_Wizard_category = Example EMF Model Creation Wizards
+
+_UI_CreateModelError_message = Problems encountered in file "{0}"
+
+<%for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {%>
+  <%if (genPackage.isGenerateModelWizard()) {%>
+_UI_<%=genPackage.getModelWizardClassName()%>_label = <%=genPackage.getPrefix()%> Model
+_UI_<%=genPackage.getModelWizardClassName()%>_description = Create a new <%=genPackage.getPrefix()%> model
+
+  <%}%>
+_UI_<%=genPackage.getEditorClassName()%>_label = <%=genPackage.getPrefix()%> Model Editor
+
+_UI_<%=genPackage.getEditorClassName()%>FilenameDefaultBase = My
+_UI_<%=genPackage.getEditorClassName()%>FilenameExtensions = <%=genPackage.getFileExtensions()%>
+
+<%}%>
+_UI_Wizard_label = New
+
+_WARN_FilenameExtension = The file name must end in ''.{0}''
+_WARN_FilenameExtensions = The file name must have one of the following extensions: {0}
+
+_UI_ModelObject = &Model Object
+_UI_XMLEncoding = &XML Encoding
+_UI_XMLEncodingChoices = <%=genModel.getXMLEncodingChoices()%>
+<%if (genModel.isRichClientPlatform()) {%>
+_UI_Wizard_initial_object_description = Specify a file name and select a model object to create
+<%} else {%>
+_UI_Wizard_initial_object_description = Select a model object to create
+<%}%>
+
+_UI_FileConflict_label = File Conflict
+_WARN_FileConflict = There are unsaved changes that conflict with changes made outside the editor.  Do you wish to discard this editor's changes?
+
+<%if (genModel.isRichClientPlatform()) {%>
+_UI_<%=genModel.getEditorAdvisorClassName()%>_ActionSet_label = <%=genModel.getModelName()%> Action Set
+_UI_Perspective_label = <%=genModel.getModelName()%>
+
+_UI_Browse_label = &Browse...
+_UI_File_label = &File
+_UI_Question_title = Question
+_WARN_FileConflict = The file "{0}" already exists.  Do you want to replace the existing file?
+_UI_Error_title = Error
+_WARN_No_Editor = There is no editor registered for the file "{0}".
+
+_UI_Application_title = <%=genModel.getModelName()%> Application
+_UI_Menu_File_label = &File
+_UI_Menu_New_label = &New
+_UI_Menu_Open_label = &Open...
+_UI_Menu_Open_description = Opens a model object file
+_UI_Menu_OpenURI_label = &Open URI...
+_UI_Menu_OpenURI_description = Opens a model object loading it from a URI
+_UI_Menu_Edit_label = &Edit
+_UI_Menu_Window_label = &Window
+_UI_Menu_Help_label = &Help
+_UI_Menu_About_label = <%=genModel.getModelName()%> &About...
+_UI_About_title = <%=genModel.getModelName()%> Application
+_UI_About_text = <%=genModel.getModelName()%> Application about box goes here.
+
+<%for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {if (genPackage.isGenerateModelWizard()) {%>
+_UI_<%=genPackage.getModelWizardClassName()%>_ActionSet_label = <%=genPackage.getPrefix()%> Model Action Set
+<%}}%>
+
+<%}%>
+<%}%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._Svx6eGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._Svx6eGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..76ca0ef
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._Svx6eGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._-VjBFHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._-VjBFHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..ceedea9
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._-VjBFHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._1AFpWWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._1AFpWWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..da5fad6
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._1AFpWWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel, GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._Pl2ZQDG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._Pl2ZQDG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..b0570ce
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._Pl2ZQDG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenPackage genPackage = parameter;
+targetPath = genPackage.getGenModel().getEditorDirectory();
+packageName = genPackage.getPresentationPackageName();
+className = genPackage.getActionBarContributorClassName();
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._Pl2ZQjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._Pl2ZQjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..6b7c408
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._Pl2ZQjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,732 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ *   IBM - Initial API and implementation
+ */
+%>
+<%GenPackage genPackage = (GenPackage)argument; GenModel genModel=genPackage.getGenModel();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%
+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 + ">") : "");
+  }
+}
+%>
+<%@ 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"%>
+package <%=genPackage.getPresentationPackageName()%>;
+
+<%genModel.markImportLocation(stringBuffer);%>
+
+/**
+ * This is the action bar contributor for the <%=genPackage.getPrefix()%> model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+<%if (genPackage.hasAPITags()) {%>
+ * <%=genPackage.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%}%>
+public class <%=genPackage.getActionBarContributorClassName()%>
+	extends <%=genModel.getImportedName("org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor")%>
+	implements <%=genModel.getImportedName("org.eclipse.jface.viewers.ISelectionChangedListener")%>
+{
+<%if (genModel.hasCopyrightField()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+<%if (genModel.isRichClientPlatform() && genPackage.isGenerateModelWizard()) {%>
+	/**
+	 * Action to create objects from the <%=genPackage.getPrefix()%> model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static class NewAction extends <%=genModel.getImportedName("org.eclipse.emf.common.ui.action.WorkbenchWindowActionDelegate")%>
+	{
+		/**
+		 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+		@Override
+<%}%>
+		public void run(<%=genModel.getImportedName("org.eclipse.jface.action.IAction")%> action)
+		{
+			<%=genPackage.getModelWizardClassName()%> wizard = new <%=genPackage.getModelWizardClassName()%>();
+			wizard.init(getWindow().getWorkbench(), <%=genModel.getImportedName("org.eclipse.jface.viewers.StructuredSelection")%>.EMPTY);
+			<%=genModel.getImportedName("org.eclipse.jface.wizard.WizardDialog")%> wizardDialog = new <%=genModel.getImportedName("org.eclipse.jface.wizard.WizardDialog")%>(getWindow().getShell(), wizard);
+			wizardDialog.open();
+		}
+	}
+
+<%}%>
+	/**
+	 * This keeps track of the active editor.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected <%=genModel.getImportedName("org.eclipse.ui.IEditorPart")%> activeEditorPart;
+
+	/**
+	 * This keeps track of the current selection provider.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected <%=genModel.getImportedName("org.eclipse.jface.viewers.ISelectionProvider")%> selectionProvider;
+
+	/**
+	 * This action opens the Properties view.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected <%=genModel.getImportedName("org.eclipse.jface.action.IAction")%> showPropertiesViewAction =
+		new <%=genModel.getImportedName("org.eclipse.jface.action.Action")%>(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_ShowPropertiesView_menu_item"))<%=genModel.getNonNLS()%>
+		{
+<%if (genModel.useClassOverrideAnnotation()) {%>
+			@Override
+<%}%>
+			public void run()
+			{
+				try
+				{
+					getPage().showView("org.eclipse.ui.views.PropertySheet");<%=genModel.getNonNLS()%>
+				}
+				catch (<%=genModel.getImportedName("org.eclipse.ui.PartInitException")%> exception)
+				{
+					<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.log(exception);
+				}
+			}
+		};
+
+	/**
+	 * This action refreshes the viewer of the current editor if the editor
+	 * implements {@link org.eclipse.emf.common.ui.viewer.IViewerProvider}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected <%=genModel.getImportedName("org.eclipse.jface.action.IAction")%> refreshViewerAction =
+		new <%=genModel.getImportedName("org.eclipse.jface.action.Action")%>(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_RefreshViewer_menu_item"))<%=genModel.getNonNLS()%>
+		{
+<%if (genModel.useClassOverrideAnnotation()) {%>
+			@Override
+<%}%>
+			public boolean isEnabled()
+			{
+				return activeEditorPart instanceof <%=genModel.getImportedName("org.eclipse.emf.common.ui.viewer.IViewerProvider")%>;
+			}
+
+<%if (genModel.useClassOverrideAnnotation()) {%>
+			@Override
+<%}%>
+			public void run()
+			{
+				if (activeEditorPart instanceof <%=genModel.getImportedName("org.eclipse.emf.common.ui.viewer.IViewerProvider")%>)
+				{
+					<%=genModel.getImportedName("org.eclipse.jface.viewers.Viewer")%> viewer = ((<%=genModel.getImportedName("org.eclipse.emf.common.ui.viewer.IViewerProvider")%>)activeEditorPart).getViewer();
+					if (viewer != null)
+					{
+						viewer.refresh();
+					}
+				}
+			}
+		};
+
+<%if (genModel.isCreationCommands()) {%>
+	/**
+	 * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateChildAction} corresponding to each descriptor
+	 * generated for the current selection by the item provider.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected <%=_CollectionOfIAction%> createChildActions;
+
+  <%if (genModel.isCreationSubmenus()) {%>
+	/**
+	 * This will contain a map of {@link org.eclipse.emf.edit.ui.action.CreateChildAction}s, keyed by sub-menu text.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected <%=_MapOfStringToCollectionOfIAction%> createChildSubmenuActions;
+
+  <%}%>
+	/**
+	 * This is the menu manager into which menu contribution items should be added for CreateChild actions.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected <%=genModel.getImportedName("org.eclipse.jface.action.IMenuManager")%> createChildMenuManager;
+
+	/**
+	 * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} corresponding to each descriptor
+	 * generated for the current selection by the item provider.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected <%=_CollectionOfIAction%> createSiblingActions;
+
+  <%if (genModel.isCreationSubmenus()) {%>
+	/**
+	 * This will contain a map of {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction}s, keyed by submenu text.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected <%=_MapOfStringToCollectionOfIAction%> createSiblingSubmenuActions;
+
+  <%}%>
+	/**
+	 * This is the menu manager into which menu contribution items should be added for CreateSibling actions.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected <%=genModel.getImportedName("org.eclipse.jface.action.IMenuManager")%> createSiblingMenuManager;
+
+<%}%>
+	/**
+	 * This creates an instance of the contributor.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public <%=genPackage.getActionBarContributorClassName()%>()
+	{
+		super(ADDITIONS_LAST_STYLE);
+		loadResourceAction = new <%=genModel.getImportedName("org.eclipse.emf.edit.ui.action.LoadResourceAction")%>();
+		validateAction = new <%=genModel.getImportedName("org.eclipse.emf.edit.ui.action.ValidateAction")%>();
+<%if (genModel.getDecoration() == GenDecoration.LIVE) {%>
+		liveValidationAction = new <%=genModel.getImportedName("org.eclipse.emf.edit.ui.provider.DiagnosticDecorator")%>.LiveValidator.LiveValidationAction(<%=genPackage.getImportedEditorPluginClassName()%>.getPlugin().getDialogSettings());
+<%}%>
+		controlAction = new <%=genModel.getImportedName("org.eclipse.emf.edit.ui.action.ControlAction")%>();
+<%if (genModel.isFindAction()) {%>
+		findAction = <%=genModel.getImportedName("org.eclipse.emf.edit.ui.action.FindAction")%>.create();
+<%}%>
+<%if (genModel.isRevertAction()) {%>
+		revertAction = new <%=genModel.getImportedName("org.eclipse.emf.edit.ui.action.RevertAction")%>();
+<%}%>
+<%if (genModel.isExpandAllAction()) {%>
+		expandAllAction = new <%=genModel.getImportedName("org.eclipse.emf.edit.ui.action.ExpandAllAction")%>();
+<%}%>
+<%if (genModel.isCollapseAllAction()) {%>
+		collapseAllAction = new <%=genModel.getImportedName("org.eclipse.emf.edit.ui.action.CollapseAllAction")%>();
+<%}%>
+	}
+
+	/**
+	 * This adds Separators for editor additions to the tool bar.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	public void contributeToToolBar(<%=genModel.getImportedName("org.eclipse.jface.action.IToolBarManager")%> toolBarManager)
+	{
+		super.contributeToToolBar(toolBarManager);
+		toolBarManager.add(new <%=genModel.getImportedName("org.eclipse.jface.action.Separator")%>("<%=genPackage.getPrefix().toLowerCase(genModel.getLocale())%>-settings"));<%=genModel.getNonNLS()%>
+		toolBarManager.add(new <%=genModel.getImportedName("org.eclipse.jface.action.Separator")%>("<%=genPackage.getPrefix().toLowerCase(genModel.getLocale())%>-additions"));<%=genModel.getNonNLS()%>
+	}
+
+	/**
+	 * This adds to the menu bar a menu and some separators for editor additions,
+	 * as well as the sub-menus for object creation items.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	public void contributeToMenu(<%=genModel.getImportedName("org.eclipse.jface.action.IMenuManager")%> menuManager)
+	{
+		super.contributeToMenu(menuManager);
+
+		<%=genModel.getImportedName("org.eclipse.jface.action.IMenuManager")%> submenuManager = new <%=genModel.getImportedName("org.eclipse.jface.action.MenuManager")%>(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_<%=genPackage.getEditorClassName()%>_menu"), "<%=genPackage.getInterfacePackageName()%>MenuID");<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+		menuManager.insertAfter("additions", submenuManager);<%=genModel.getNonNLS()%>
+		submenuManager.add(new <%=genModel.getImportedName("org.eclipse.jface.action.Separator")%>("settings"));<%=genModel.getNonNLS()%>
+		submenuManager.add(new <%=genModel.getImportedName("org.eclipse.jface.action.Separator")%>("actions"));<%=genModel.getNonNLS()%>
+		submenuManager.add(new <%=genModel.getImportedName("org.eclipse.jface.action.Separator")%>("additions"));<%=genModel.getNonNLS()%>
+		submenuManager.add(new <%=genModel.getImportedName("org.eclipse.jface.action.Separator")%>("additions-end"));<%=genModel.getNonNLS()%>
+
+<%if (genModel.isCreationCommands()) {%>
+		// Prepare for CreateChild item addition or removal.
+		//
+		createChildMenuManager = new <%=genModel.getImportedName("org.eclipse.jface.action.MenuManager")%>(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_CreateChild_menu_item"));<%=genModel.getNonNLS()%>
+		submenuManager.insertBefore("additions", createChildMenuManager);<%=genModel.getNonNLS()%>
+
+		// Prepare for CreateSibling item addition or removal.
+		//
+		createSiblingMenuManager = new <%=genModel.getImportedName("org.eclipse.jface.action.MenuManager")%>(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_CreateSibling_menu_item"));<%=genModel.getNonNLS()%>
+		submenuManager.insertBefore("additions", createSiblingMenuManager);<%=genModel.getNonNLS()%>
+
+		// Force an update because Eclipse hides empty menus now.
+		//
+		submenuManager.addMenuListener
+			(new <%=genModel.getImportedName("org.eclipse.jface.action.IMenuListener")%>()
+			 {
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+				 @Override
+<%}%>
+				 public void menuAboutToShow(<%=genModel.getImportedName("org.eclipse.jface.action.IMenuManager")%> menuManager)
+				 {
+					 menuManager.updateAll(true);
+				 }
+			 });
+
+<%} else {%>
+		// Add your contributions.
+		// Ensure that you remove @generated or mark it @generated NOT
+
+<%}%>
+		addGlobalActions(submenuManager);
+	}
+
+	/**
+	 * When the active editor changes, this remembers the change and registers with it as a selection provider.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	public void setActiveEditor(<%=genModel.getImportedName("org.eclipse.ui.IEditorPart")%> part)
+	{
+		super.setActiveEditor(part);
+		activeEditorPart = part;
+
+		// Switch to the new selection provider.
+		//
+		if (selectionProvider != null)
+		{
+			selectionProvider.removeSelectionChangedListener(this);
+		}
+		if (part == null)
+		{
+			selectionProvider = null;
+		}
+		else
+		{
+			selectionProvider = part.getSite().getSelectionProvider();
+			selectionProvider.addSelectionChangedListener(this);
+
+			// Fake a selection changed event to update the menus.
+			//
+			if (selectionProvider.getSelection() != null)
+			{
+				selectionChanged(new <%=genModel.getImportedName("org.eclipse.jface.viewers.SelectionChangedEvent")%>(selectionProvider, selectionProvider.getSelection()));
+			}
+		}
+	}
+
+	/**
+	 * This implements {@link org.eclipse.jface.viewers.ISelectionChangedListener},
+	 * handling {@link org.eclipse.jface.viewers.SelectionChangedEvent}s by querying for the children and siblings
+	 * that can be added to the selected object and updating the menus accordingly.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	public void selectionChanged(<%=genModel.getImportedName("org.eclipse.jface.viewers.SelectionChangedEvent")%> event)
+	{
+<%if (genModel.isCreationCommands()) {%>
+		// Remove any menu items for old selection.
+		//
+		if (createChildMenuManager != null)
+		{
+  <%if (genModel.isCreationSubmenus()) {%>
+			depopulateManager(createChildMenuManager, createChildSubmenuActions);
+  <%}%>
+			depopulateManager(createChildMenuManager, createChildActions);
+		}
+		if (createSiblingMenuManager != null)
+		{
+  <%if (genModel.isCreationSubmenus()) {%>
+			depopulateManager(createSiblingMenuManager, createSiblingSubmenuActions);
+  <%}%>
+			depopulateManager(createSiblingMenuManager, createSiblingActions);
+		}
+
+		// Query the new selection for appropriate new child/sibling descriptors
+		//
+		<%=_CollectionOfAnything%> newChildDescriptors = null;
+		<%=_CollectionOfAnything%> newSiblingDescriptors = null;
+
+		<%=genModel.getImportedName("org.eclipse.jface.viewers.ISelection")%> selection = event.getSelection();
+		if (selection instanceof <%=genModel.getImportedName("org.eclipse.jface.viewers.IStructuredSelection")%> && ((IStructuredSelection)selection).size() == 1)
+		{
+			Object object = ((<%=genModel.getImportedName("org.eclipse.jface.viewers.IStructuredSelection")%>)selection).getFirstElement();
+
+			<%=genModel.getImportedName("org.eclipse.emf.edit.domain.EditingDomain")%> domain = ((<%=genModel.getImportedName("org.eclipse.emf.edit.domain.IEditingDomainProvider")%>)activeEditorPart).getEditingDomain();
+
+			newChildDescriptors = domain.getNewChildDescriptors(object, null);
+			newSiblingDescriptors = domain.getNewChildDescriptors(null, object);
+		}
+
+		// Generate actions for selection; populate and redraw the menus.
+		//
+		createChildActions = generateCreateChildActions(newChildDescriptors, selection);
+  <%if (genModel.isCreationSubmenus()) {%>
+		createChildSubmenuActions = extractSubmenuActions(createChildActions);
+  <%}%>
+		createSiblingActions = generateCreateSiblingActions(newSiblingDescriptors, selection);
+  <%if (genModel.isCreationSubmenus()) {%>
+		createSiblingSubmenuActions = extractSubmenuActions(createSiblingActions);
+  <%}%>
+
+		if (createChildMenuManager != null)
+		{
+  <%if (genModel.isCreationSubmenus()) {%>
+			populateManager(createChildMenuManager, createChildSubmenuActions, null);
+  <%}%>
+			populateManager(createChildMenuManager, createChildActions, null);
+			createChildMenuManager.update(true);
+		}
+		if (createSiblingMenuManager != null)
+		{
+  <%if (genModel.isCreationSubmenus()) {%>
+			populateManager(createSiblingMenuManager, createSiblingSubmenuActions, null);
+  <%}%>
+			populateManager(createSiblingMenuManager, createSiblingActions, null);
+			createSiblingMenuManager.update(true);
+		}
+<%} else {%>
+		// Add your contributions.
+		// Ensure that you remove @generated or mark it @generated NOT
+<%}%>
+	}
+
+<%if (genModel.isCreationCommands()) {%>
+	/**
+	 * This generates a {@link org.eclipse.emf.edit.ui.action.CreateChildAction} for each object in <code>descriptors</code>,
+	 * and returns the collection of these actions.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected <%=_CollectionOfIAction%> generateCreateChildActions(<%=_CollectionOfAnything%> descriptors, <%=genModel.getImportedName("org.eclipse.jface.viewers.ISelection")%> selection)
+	{
+		<%=_CollectionOfIAction%> actions = new <%=_ArrayListOfIAction%>();
+		if (descriptors != null)
+		{
+<%if (genModel.useGenerics()) {%>
+			for (<%=genModel.getImportedName("java.lang.Object")%> descriptor : descriptors)
+<%} else {%>
+			for (<%=genModel.getImportedName("java.util.Iterator")%> i = descriptors.iterator(); i.hasNext(); )
+<%}%>
+			{
+				actions.add(new <%=genModel.getImportedName("org.eclipse.emf.edit.ui.action.CreateChildAction")%>(activeEditorPart, selection, <%if (genModel.useGenerics()) {%>descriptor<%} else {%>i.next()<%}%>));
+			}
+		}
+		return actions;
+	}
+
+	/**
+	 * This generates a {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} for each object in <code>descriptors</code>,
+	 * and returns the collection of these actions.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected <%=_CollectionOfIAction%> generateCreateSiblingActions(<%=_CollectionOfAnything%> descriptors, <%=genModel.getImportedName("org.eclipse.jface.viewers.ISelection")%> selection)
+	{
+		<%=_CollectionOfIAction%> actions = new <%=_ArrayListOfIAction%>();
+		if (descriptors != null)
+		{
+<%if (genModel.useGenerics()) {%>
+			for (<%=genModel.getImportedName("java.lang.Object")%> descriptor : descriptors)
+<%} else {%>
+			for (<%=genModel.getImportedName("java.util.Iterator")%> i = descriptors.iterator(); i.hasNext(); )
+<%}%>
+			{
+				actions.add(new <%=genModel.getImportedName("org.eclipse.emf.edit.ui.action.CreateSiblingAction")%>(activeEditorPart, selection, <%if (genModel.useGenerics()) {%>descriptor<%} else {%>i.next()<%}%>));
+			}
+		}
+		return actions;
+	}
+
+	/**
+	 * This populates the specified <code>manager</code> with {@link org.eclipse.jface.action.ActionContributionItem}s
+	 * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection,
+	 * by inserting them before the specified contribution item <code>contributionID</code>.
+	 * If <code>contributionID</code> is <code>null</code>, they are simply added.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void populateManager(<%=genModel.getImportedName("org.eclipse.jface.action.IContributionManager")%> manager, <%=_CollectionOfExtendsIAction%> actions, String contributionID)
+	{
+		if (actions != null)
+		{
+<%if (genModel.useGenerics()) {%>
+			for (<%=genModel.getImportedName("org.eclipse.jface.action.IAction")%> action : actions)
+<%} else {%>
+			for (<%=genModel.getImportedName("java.util.Iterator")%> i = actions.iterator(); i.hasNext(); )
+<%}%>
+			{
+<%if (!genModel.useGenerics()) {%>
+				<%=genModel.getImportedName("org.eclipse.jface.action.IAction")%> action = (IAction)i.next();
+<%}%>
+				if (contributionID != null)
+				{
+					manager.insertBefore(contributionID, action);
+				}
+				else
+				{
+					manager.add(action);
+				}
+			}
+		}
+	}
+		
+	/**
+	 * This removes from the specified <code>manager</code> all {@link org.eclipse.jface.action.ActionContributionItem}s
+	 * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void depopulateManager(<%=genModel.getImportedName("org.eclipse.jface.action.IContributionManager")%> manager, <%=_CollectionOfExtendsIAction%> actions)
+	{
+		if (actions != null)
+		{
+			<%=genModel.getImportedName("org.eclipse.jface.action.IContributionItem")%>[] items = manager.getItems();
+			for (int i = 0; i < items.length; i++)
+			{
+				// Look into SubContributionItems
+				//
+				<%=genModel.getImportedName("org.eclipse.jface.action.IContributionItem")%> contributionItem = items[i];
+				while (contributionItem instanceof <%=genModel.getImportedName("org.eclipse.jface.action.SubContributionItem")%>)
+				{
+					contributionItem = ((<%=genModel.getImportedName("org.eclipse.jface.action.SubContributionItem")%>)contributionItem).getInnerItem();
+				}
+
+				// Delete the ActionContributionItems with matching action.
+				//
+				if (contributionItem instanceof <%=genModel.getImportedName("org.eclipse.jface.action.ActionContributionItem")%>)
+				{
+					<%=genModel.getImportedName("org.eclipse.jface.action.IAction")%> action = ((<%=genModel.getImportedName("org.eclipse.jface.action.ActionContributionItem")%>)contributionItem).getAction();
+					if (actions.contains(action))
+					{
+						manager.remove(contributionItem);
+					}
+				}
+			}
+		}
+	}
+
+  <%if (genModel.isCreationSubmenus()) {%>
+	/**
+	 * This extracts those actions in the <code>submenuActions</code> collection whose text is qualified and returns
+	 * a map of these actions, keyed by submenu text.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected <%=_MapOfStringToCollectionOfIAction%> extractSubmenuActions(<%=_CollectionOfIAction%> createActions)
+	{
+		<%=_MapOfStringToCollectionOfIAction%> createSubmenuActions = new <%=_LinkedHashMapOfStringToCollectionOfIAction%>();
+		if (createActions != null)
+		{
+			for (<%=_IteratorOfIAction%> actions = createActions.iterator(); actions.hasNext(); )
+			{
+				<%=genModel.getImportedName("org.eclipse.jface.action.IAction")%> action = <%if (!genModel.useGenerics()) {%>(<%=genModel.getImportedName("org.eclipse.jface.action.IAction")%>)<%}%>actions.next();
+				<%=genModel.getImportedName("java.util.StringTokenizer")%> st = new <%=genModel.getImportedName("java.util.StringTokenizer")%>(action.getText(), "|");<%=genModel.getNonNLS()%>
+				if (st.countTokens() == 2)
+				{
+					String text = st.nextToken().trim();
+					<%=_CollectionOfIAction%> submenuActions = <%if (!genModel.useGenerics()) {%>(<%=_CollectionOfIAction%>)<%}%>createSubmenuActions.get(text);
+					if (submenuActions == null)
+					{
+						createSubmenuActions.put(text, submenuActions = new <%=_ArrayListOfIAction%>());
+					}
+					action.setText(st.nextToken().trim());
+					submenuActions.add(action);
+					actions.remove();
+				}
+			}
+		}
+		return createSubmenuActions;
+	}
+
+	/**
+	 * This populates the specified <code>manager</code> with {@link org.eclipse.jface.action.MenuManager}s containing
+	 * {@link org.eclipse.jface.action.ActionContributionItem}s based on the {@link org.eclipse.jface.action.IAction}s
+	 * contained in the <code>submenuActions</code> collection, by inserting them before the specified contribution
+	 * item <code>contributionID</code>.
+	 * If <code>contributionID</code> is <code>null</code>, they are simply added.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void populateManager(<%=genModel.getImportedName("org.eclipse.jface.action.IContributionManager")%> manager, <%=_MapOfStringToCollectionOfIAction%> submenuActions, String contributionID)
+	{
+		if (submenuActions != null)
+		{
+    <%if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) {%>
+			for (<%=_MapEntryOfStringToCollectionOfIAction%> entry : submenuActions.entrySet())
+			{
+    <%} else {%>
+			for (<%=genModel.getImportedName("java.util.Iterator")%> entries = submenuActions.entrySet().iterator(); entries.hasNext();)
+			{
+				<%=_MapEntryOfStringToCollectionOfIAction%> entry = (<%=_MapEntryOfStringToCollectionOfIAction%>)entries.next();
+    <%}%>
+				<%=genModel.getImportedName("org.eclipse.jface.action.MenuManager")%> submenuManager = new <%=genModel.getImportedName("org.eclipse.jface.action.MenuManager")%>(<%if (!genModel.useGenerics()) {%>(String)<%}%>entry.getKey());
+				if (contributionID != null)
+				{
+					manager.insertBefore(contributionID, submenuManager);
+				}
+				else
+				{
+					manager.add(submenuManager);
+				}
+				populateManager(submenuManager, <%if (!genModel.useGenerics()) {%>(<%=_CollectionOfIAction%>)<%}%>entry.getValue(), null);
+			}
+		}
+	}
+
+	/**
+	 * This removes from the specified <code>manager</code> all {@link org.eclipse.jface.action.MenuManager}s and their
+	 * {@link org.eclipse.jface.action.ActionContributionItem}s based on the {@link org.eclipse.jface.action.IAction}s
+	 * contained in the <code>submenuActions</code> map.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void depopulateManager(<%=genModel.getImportedName("org.eclipse.jface.action.IContributionManager")%> manager, <%=_MapOfStringToCollectionOfIAction%> submenuActions)
+	{
+		if (submenuActions != null)
+		{
+			<%=genModel.getImportedName("org.eclipse.jface.action.IContributionItem")%>[] items = manager.getItems();
+			for (int i = 0; i < items.length; i++)
+			{
+				<%=genModel.getImportedName("org.eclipse.jface.action.IContributionItem")%> contributionItem = items[i];
+				if (contributionItem instanceof <%=genModel.getImportedName("org.eclipse.jface.action.MenuManager")%>)
+				{
+					<%=genModel.getImportedName("org.eclipse.jface.action.MenuManager")%> submenuManager = (<%=genModel.getImportedName("org.eclipse.jface.action.MenuManager")%>)contributionItem;
+					if (submenuActions.containsKey(submenuManager.getMenuText()))
+					{
+						depopulateManager(submenuManager, <%if (!genModel.useGenerics()) {%>(<%=_CollectionOfIAction%>)<%}%>submenuActions.get(submenuManager.getMenuText()));
+						manager.remove(contributionItem);
+					}
+				}
+			}
+		}
+	}
+
+  <%}%>
+<%}%>
+	/**
+	 * This populates the pop-up menu before it appears.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	public void menuAboutToShow(<%=genModel.getImportedName("org.eclipse.jface.action.IMenuManager")%> menuManager)
+	{
+		super.menuAboutToShow(menuManager);
+<%if (genModel.isCreationCommands()) {%>
+		<%=genModel.getImportedName("org.eclipse.jface.action.MenuManager")%> submenuManager = null;
+
+		submenuManager = new <%=genModel.getImportedName("org.eclipse.jface.action.MenuManager")%>(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_CreateChild_menu_item"));<%=genModel.getNonNLS()%>
+  <%if (genModel.isCreationSubmenus()) {%>
+		populateManager(submenuManager, createChildSubmenuActions, null);
+  <%}%>
+		populateManager(submenuManager, createChildActions, null);
+		menuManager.insertBefore("edit", submenuManager);<%=genModel.getNonNLS()%>
+
+		submenuManager = new <%=genModel.getImportedName("org.eclipse.jface.action.MenuManager")%>(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_CreateSibling_menu_item"));<%=genModel.getNonNLS()%>
+  <%if (genModel.isCreationSubmenus()) {%>
+		populateManager(submenuManager, createSiblingSubmenuActions, null);
+  <%}%>
+		populateManager(submenuManager, createSiblingActions, null);
+		menuManager.insertBefore("edit", submenuManager);<%=genModel.getNonNLS()%>
+<%}%>
+	}
+
+	/**
+	 * This inserts global actions before the "additions-end" separator.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	protected void addGlobalActions(<%=genModel.getImportedName("org.eclipse.jface.action.IMenuManager")%> menuManager)
+	{
+		menuManager.insertAfter("additions-end", new <%=genModel.getImportedName("org.eclipse.jface.action.Separator")%>("ui-actions"));<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+		menuManager.insertAfter("ui-actions", showPropertiesViewAction);<%=genModel.getNonNLS()%>
+
+		refreshViewerAction.setEnabled(refreshViewerAction.isEnabled());		
+		menuManager.insertAfter("ui-actions", refreshViewerAction);<%=genModel.getNonNLS()%>
+
+		super.addGlobalActions(menuManager);
+	}
+
+	/**
+	 * This ensures that a delete action will clean up all references to deleted objects.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	protected boolean removeAllReferencesOnDelete()
+	{
+		return true;
+	}
+
+}
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._PltPUjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._PltPUjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._PltPUjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._PltPUzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._PltPUzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._PltPUzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._PltPVTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._PltPVTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._PltPVTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._SwhhWGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._SwhhWGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..6c7369f
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._SwhhWGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenPackage genPackage = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._-SaNhHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._-SaNhHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..ceedea9
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._-SaNhHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._1APaWWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._1APaWWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..da5fad6
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._1APaWWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel, GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAIDG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAIDG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAIDG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAITG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAITG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAITG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAIzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAIzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAIzG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAJTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAJTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..3763527
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAJTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenPackage genPackage = parameter;
+targetPath = genPackage.getGenModel().getEditorDirectory();
+packageName = genPackage.getPresentationPackageName();
+className = genPackage.getEditorClassName();
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAJzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAJzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..fa0a2bd
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAJzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,2677 @@
+
+<%
+/**
+ * Copyright (c) 2002-2019 IBM Corporation and others.
+ * All rights reserved.   This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ *   IBM - Initial API and implementation
+ *   Alexander Fedorov <alexander.fedorov@arsysop.ru> - Bug 546714
+ */
+%>
+<%GenPackage genPackage = (GenPackage)argument; GenModel genModel=genPackage.getGenModel(); /* Trick to import java.util.* without warnings */Iterator.class.getName(); %>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%final boolean forceDefaultCase = genModel.isSwitchMissingDefaultCase();%>
+<%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 _ListOfResource = "List" + (genModel.useGenerics() ? "<Resource>" : "");%>
+<%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>" : "");%>
+<%@ 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"%>
+package <%=genPackage.getPresentationPackageName()%>;
+
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.EventObject;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+<%if (!genModel.isRichClientPlatform()) {%>
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceChangeEvent;
+import org.eclipse.core.resources.IResourceChangeListener;
+import org.eclipse.core.resources.IResourceDelta;
+import org.eclipse.core.resources.IResourceDeltaVisitor;
+import org.eclipse.core.resources.ResourcesPlugin;
+<%}%>
+
+<%if (!genModel.isRichClientPlatform()) {%>
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+<%}%>
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IStatusLineManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+
+<%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF29_VALUE) {%>
+import org.eclipse.jface.util.LocalSelectionTransfer;
+
+<%}%>
+<%if (genPackage.isMultipleEditorPages()) {%>
+import org.eclipse.jface.viewers.ColumnWeightData;
+<%}%>
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+<%if (genPackage.isMultipleEditorPages()) {%>
+import org.eclipse.jface.viewers.ListViewer;
+<%}%>
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.StructuredViewer;
+<%if (genPackage.isMultipleEditorPages()) {%>
+import org.eclipse.jface.viewers.TableLayout;
+import org.eclipse.jface.viewers.TableViewer;
+<%}%>
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.jface.viewers.Viewer;
+
+import org.eclipse.swt.SWT;
+
+import org.eclipse.swt.custom.CTabFolder;
+
+import org.eclipse.swt.dnd.DND;
+<%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF29_VALUE) {%>
+import org.eclipse.swt.dnd.FileTransfer;
+<%}%>
+import org.eclipse.swt.dnd.Transfer;
+
+import org.eclipse.swt.events.ControlAdapter;
+import org.eclipse.swt.events.ControlEvent;
+
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.graphics.Rectangle;
+<%if (genPackage.isMultipleEditorPages()) {%>
+
+import org.eclipse.swt.layout.FillLayout;
+<%}%>
+
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Menu;
+<%if (genPackage.isMultipleEditorPages()) {%>
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.TableColumn;
+<%}%>
+import org.eclipse.swt.widgets.Tree;
+<%if (genPackage.isMultipleEditorPages()) {%>
+import org.eclipse.swt.widgets.TreeColumn;
+<%}%>
+
+import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IEditorSite;
+<%if (!genModel.isRichClientPlatform() && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {%>
+import org.eclipse.ui.IFileEditorInput;
+<%}%>
+import org.eclipse.ui.IPartListener;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.PartInitException;
+<%if (!genModel.isRichClientPlatform()) {%>
+
+import org.eclipse.ui.dialogs.SaveAsDialog;
+
+import org.eclipse.ui.ide.IGotoMarker;
+<%}%>
+
+<%if (!genModel.isRichClientPlatform()) {%>
+import org.eclipse.ui.part.FileEditorInput;
+<%}%>
+import org.eclipse.ui.part.MultiPageEditorPart;
+
+import org.eclipse.ui.views.contentoutline.ContentOutline;
+import org.eclipse.ui.views.contentoutline.ContentOutlinePage;
+import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
+
+import org.eclipse.ui.views.properties.IPropertySheetPage;
+import org.eclipse.ui.views.properties.PropertySheet;
+import org.eclipse.ui.views.properties.PropertySheetPage;
+
+import org.eclipse.emf.common.command.BasicCommandStack;
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.command.CommandStack;
+import org.eclipse.emf.common.command.CommandStackListener;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+<%if (!genModel.isRichClientPlatform()) {%>
+import org.eclipse.emf.common.ui.MarkerHelper;
+<%}%>
+<%if (genPackage.isMultipleEditorPages()) {%>
+import org.eclipse.emf.common.ui.ViewerPane;
+<%}%>
+
+import org.eclipse.emf.common.ui.editor.ProblemEditorPart;
+
+import org.eclipse.emf.common.ui.viewer.IViewerProvider;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.URI;
+
+<%if (!genModel.isRichClientPlatform() && genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF23_VALUE) {%>
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EValidator;
+<%}%>
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+
+import org.eclipse.emf.ecore.util.EContentAdapter;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+
+import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
+
+import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory;
+
+import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
+
+import org.eclipse.emf.edit.ui.celleditor.AdapterFactoryTreeEditor;
+
+import org.eclipse.emf.edit.ui.dnd.EditingDomainViewerDropAdapter;
+import org.eclipse.emf.edit.ui.dnd.LocalTransfer;
+import org.eclipse.emf.edit.ui.dnd.ViewerDragAdapter;
+
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+<%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF23_VALUE) {%>
+import org.eclipse.emf.edit.ui.provider.UnwrappingSelectionProvider;
+<%}%>
+<%if (!genModel.isRichClientPlatform()) {%>
+
+import org.eclipse.emf.edit.ui.util.EditUIMarkerHelper;
+<%}%>
+<%if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) {%>
+import org.eclipse.emf.edit.ui.util.EditUIUtil;
+<%}%>
+
+import org.eclipse.emf.edit.ui.view.ExtendedPropertySheetPage;
+
+import <%=genPackage.getQualifiedItemProviderAdapterFactoryClassName()%>;
+
+<%genModel.markImportLocation(stringBuffer);%>
+
+
+/**
+ * This is an example of a <%=genPackage.getPrefix()%> model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+<%if (genPackage.hasAPITags()) {%>
+ * <%=genPackage.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%}%>
+public class <%=genPackage.getEditorClassName()%>
+	extends MultiPageEditorPart
+	implements IEditingDomainProvider, ISelectionProvider, IMenuListener, IViewerProvider<%if (!genModel.isRichClientPlatform()) {%>, IGotoMarker<%}%><%if (genModel.isRevertAction()) {%>, <%=genModel.getImportedName("org.eclipse.emf.edit.ui.util.IRevertablePart")%><%}%>
+{
+<%if (genModel.hasCopyrightField()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final <%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+<%if (genModel.isRichClientPlatform()) {%>
+	/**
+	 * The filters for file extensions supported by the editor.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */<%if (genPackage.isGenerateModelWizard()) {%>
+	public static final <%=_ListOfString%> FILE_EXTENSION_FILTERS = prefixExtensions(<%=genPackage.getImportedModelWizardClassName()%>.FILE_EXTENSIONS, "*.");<%=genModel.getNonNLS()%>
+	<%} else {%>
+	public static final <%=_ListOfString%> FILE_EXTENSION_FILTERS = prefixExtensions(<%=genModel.getImportedName("java.util.Arrays")%>.asList(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_<%=genPackage.getEditorClassName()%>FilenameExtensions").split("\\s*,\\s*")), "*.");<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%><%=genModel.getNonNLS(3)%>
+	<%}%>
+	/**
+	 * Returns a new unmodifiable list containing prefixed versions of the extensions in the given list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static <%=_ListOfString%> prefixExtensions(<%=_ListOfString%> extensions, String prefix)
+	{
+		<%=_ListOfString%> result = new <%=_ArrayListOfString%>();
+  <%if (genModel.useGenerics()) {%>
+		for (String extension : extensions)
+		{
+			result.add(prefix + extension);
+  <%} else {%>
+		for (Iterator iterator = extensions.iterator() ; iterator.hasNext(); )
+		{
+			result.add(prefix + (String)iterator.next());
+  <%}%>
+		}
+		return Collections.unmodifiableList(result);
+	}
+
+<%}%>
+	/**
+	 * This keeps track of the editing domain that is used to track all changes to the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AdapterFactoryEditingDomain editingDomain;
+
+	/**
+	 * This is the one adapter factory used for providing views of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ComposedAdapterFactory adapterFactory;
+
+	/**
+	 * This is the content outline page.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IContentOutlinePage contentOutlinePage;
+
+	/**
+	 * This is a kludge...
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IStatusLineManager contentOutlineStatusLineManager;
+
+	/**
+	 * This is the content outline page's viewer.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TreeViewer contentOutlineViewer;
+
+	/**
+	 * This is the property sheet page.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected <%=_ListOfPropertySheetPage%> propertySheetPages = new <%=_ArrayListOfPropertySheetPage%>();
+
+	/**
+	 * This is the viewer that shadows the selection in the content outline.
+	 * The parent relation must be correctly defined for this to work.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TreeViewer selectionViewer;
+<%if (genPackage.isMultipleEditorPages()) {%>
+
+	/**
+	 * This inverts the roll of parent and child in the content provider and show parents as a tree.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TreeViewer parentViewer;
+
+	/**
+	 * This shows how a tree view works.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TreeViewer treeViewer;
+
+	/**
+	 * This shows how a list view works.
+	 * A list viewer doesn't support icons.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ListViewer listViewer;
+
+	/**
+	 * This shows how a table view works.
+	 * A table can be used as a list with icons.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TableViewer tableViewer;
+
+	/**
+	 * This shows how a tree view with columns works.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TreeViewer treeViewerWithColumns;
+
+	/**
+	 * This keeps track of the active viewer pane, in the book.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ViewerPane currentViewerPane;
+<%}%>
+
+	/**
+	 * This keeps track of the active content viewer, which may be either one of the viewers in the pages or the content outline viewer.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Viewer currentViewer;
+
+	/**
+	 * This listens to which ever viewer is active.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ISelectionChangedListener selectionChangedListener;
+
+	/**
+	 * This keeps track of all the {@link org.eclipse.jface.viewers.ISelectionChangedListener}s that are listening to this editor.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected <%=_CollectionOfSelectionChangedListener%> selectionChangedListeners = new <%=_ArrayListOfSelectionChangedListener%>();
+
+	/**
+	 * This keeps track of the selection of the editor as a whole.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ISelection editorSelection = StructuredSelection.EMPTY;
+
+<%if (!genModel.isRichClientPlatform()) {%>
+	/**
+	 * The MarkerHelper is responsible for creating workspace resource markers presented
+	 * in Eclipse's Problems View.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected MarkerHelper markerHelper = new EditUIMarkerHelper();
+
+<%}%>
+	/**
+	 * This listens for when the outline becomes active
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IPartListener partListener =
+		new IPartListener()
+		{
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+			@Override
+<%}%>
+			public void partActivated(IWorkbenchPart p)
+			{
+				if (p instanceof ContentOutline)
+				{
+					if (((ContentOutline)p).getCurrentPage() == contentOutlinePage)
+					{
+						getActionBarContributor().setActiveEditor(<%=genPackage.getEditorClassName()%>.this);
+
+						setCurrentViewer(contentOutlineViewer);
+					}
+				}
+				else if (p instanceof PropertySheet)
+				{
+					if (propertySheetPages.contains(((PropertySheet)p).getCurrentPage()))
+					{
+						getActionBarContributor().setActiveEditor(<%=genPackage.getEditorClassName()%>.this);
+						handleActivate();
+					}
+				}
+				else if (p == <%=genPackage.getEditorClassName()%>.this)
+				{
+					handleActivate();
+				}
+			}
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+			@Override
+<%}%>
+			public void partBroughtToTop(IWorkbenchPart p)
+			{
+				// Ignore.
+			}
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+			@Override
+<%}%>
+			public void partClosed(IWorkbenchPart p)
+			{
+				// Ignore.
+			}
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+			@Override
+<%}%>
+			public void partDeactivated(IWorkbenchPart p)
+			{
+				// Ignore.
+			}
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+			@Override
+<%}%>
+			public void partOpened(IWorkbenchPart p)
+			{
+				// Ignore.
+			}
+		};
+
+	/**
+	 * Resources that have been removed since last activation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected <%=_CollectionOfResource%> removedResources = new <%=_ArrayListOfResource%>();
+
+	/**
+	 * Resources that have been changed since last activation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected <%=_CollectionOfResource%> changedResources = new <%=_ArrayListOfResource%>();
+
+	/**
+	 * Resources that have been saved.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected <%=_CollectionOfResource%> savedResources = new <%=_ArrayListOfResource%>();
+
+	/**
+	 * Map to store the diagnostic associated with a resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected <%=_MapOfResourceToDiagnostic%> resourceToDiagnosticMap = new <%=_LinkedHashMapOfResourceToDiagnostic%>();
+
+	/**
+	 * Controls whether the problem indication should be updated.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected boolean updateProblemIndication = true;
+
+	/**
+	 * Adapter used to update the problem indication when resources are demanded loaded.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EContentAdapter problemIndicationAdapter =
+		new EContentAdapter()
+		{
+			protected boolean dispatching;
+
+<%if (genModel.useClassOverrideAnnotation()) {%>
+			@Override
+<%}%>
+			public void notifyChanged(Notification notification)
+			{
+				if (notification.getNotifier() instanceof Resource)
+				{
+					switch (notification.getFeatureID(Resource.class))
+					{
+						case Resource.RESOURCE__IS_LOADED:
+						case Resource.RESOURCE__ERRORS:
+						case Resource.RESOURCE__WARNINGS:
+						{
+							Resource resource = (Resource)notification.getNotifier();
+							Diagnostic diagnostic = analyzeResourceProblems(resource, null);
+							if (diagnostic.getSeverity() != Diagnostic.OK)
+							{
+								resourceToDiagnosticMap.put(resource, diagnostic);
+							}
+							else
+							{
+								resourceToDiagnosticMap.remove(resource);
+							}
+							dispatchUpdateProblemIndication();
+							break;
+						}
+<%if (forceDefaultCase) {%>
+						default:
+							break;
+<%}%>
+					}
+				}
+				else
+				{
+					super.notifyChanged(notification);
+				}
+			}
+
+			protected void dispatchUpdateProblemIndication()
+			{
+				if (updateProblemIndication && !dispatching)
+				{
+					dispatching = true;
+					getSite().getShell().getDisplay().asyncExec
+						(new Runnable()
+						 {
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+							 @Override
+<%}%>
+							 public void run()
+							 {
+								 dispatching = false;
+								 updateProblemIndication();
+							 }
+						 });
+				}
+			}
+
+<%if (genModel.useClassOverrideAnnotation()) {%>
+			@Override
+<%}%>
+			protected void setTarget(Resource target)
+			{
+				basicSetTarget(target);
+			}
+
+<%if (genModel.useClassOverrideAnnotation()) {%>
+			@Override
+<%}%>
+			protected void unsetTarget(Resource target)
+			{
+				basicUnsetTarget(target);
+				resourceToDiagnosticMap.remove(target);
+				dispatchUpdateProblemIndication();
+			}
+		};
+<%if (!genModel.isRichClientPlatform()) {%>
+
+	/**
+	 * This listens for workspace changes.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IResourceChangeListener resourceChangeListener =
+		new IResourceChangeListener()
+		{
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+			@Override
+<%}%>
+			public void resourceChanged(IResourceChangeEvent event)
+			{
+				IResourceDelta delta = event.getDelta();
+				try
+				{
+					class ResourceDeltaVisitor implements IResourceDeltaVisitor
+					{
+						protected ResourceSet resourceSet = editingDomain.getResourceSet();
+						protected <%=_CollectionOfResource%> changedResources = new <%=_ArrayListOfResource%>();
+						protected <%=_CollectionOfResource%> removedResources = new <%=_ArrayListOfResource%>();
+
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+						@Override
+<%}%>
+						public boolean visit(<%if (genModel.getDecoration() != GenDecoration.NONE) {%>final <%}%>IResourceDelta delta)
+						{
+							if (delta.getResource().getType() == IResource.FILE)
+							{
+								if (delta.getKind() == IResourceDelta.REMOVED ||
+								    delta.getKind() == IResourceDelta.CHANGED<%if (genModel.getDecoration() == GenDecoration.NONE) {%> && delta.getFlags() != IResourceDelta.MARKERS<%}%>)
+								{
+									<%if (genModel.getDecoration() != GenDecoration.NONE) {%>final <%}%>Resource resource = resourceSet.getResource(URI.createPlatformResourceURI(delta.getFullPath().toString(), true), false);
+									if (resource != null)
+									{
+										if (delta.getKind() == IResourceDelta.REMOVED)
+										{
+											removedResources.add(resource);
+										}
+<%if (genModel.getDecoration() == GenDecoration.NONE) {%>
+										else if (!savedResources.remove(resource))
+										{
+											changedResources.add(resource);
+										}
+<%} else {%>
+										else
+										{
+											if ((delta.getFlags() & IResourceDelta.MARKERS) != 0)
+											{
+												<%=_DiagnosticDecorator%>.DiagnosticAdapter.update(resource, markerHelper.getMarkerDiagnostics(resource, (IFile)delta.getResource()<%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF211_VALUE) {%>, false<%}%>));
+											}
+											if ((delta.getFlags() & IResourceDelta.CONTENT) != 0)
+											{
+												if (!savedResources.remove(resource))
+												{
+													changedResources.add(resource);
+												}
+											}
+										}
+<%}%>
+									}
+								}
+								return false;
+							}
+
+							return true;
+						}
+
+						public <%=_CollectionOfResource%> getChangedResources()
+						{
+							return changedResources;
+						}
+
+						public <%=_CollectionOfResource%> getRemovedResources()
+						{
+							return removedResources;
+						}
+					}
+
+					final ResourceDeltaVisitor visitor = new ResourceDeltaVisitor();
+					delta.accept(visitor);
+
+					if (!visitor.getRemovedResources().isEmpty())
+					{
+						getSite().getShell().getDisplay().asyncExec
+							(new Runnable()
+							 {
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+								 @Override
+<%}%>
+								 public void run()
+								 {
+									 removedResources.addAll(visitor.getRemovedResources());
+									 if (!isDirty())
+									 {
+										 getSite().getPage().closeEditor(<%=genPackage.getEditorClassName()%>.this, false);
+									 }
+								 }
+							 });
+					}
+
+					if (!visitor.getChangedResources().isEmpty())
+					{
+						getSite().getShell().getDisplay().asyncExec
+							(new Runnable()
+							 {
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+								 @Override
+<%}%>
+								 public void run()
+								 {
+									 changedResources.addAll(visitor.getChangedResources());
+									 if (getSite().getPage().getActiveEditor() == <%=genPackage.getEditorClassName()%>.this)
+									 {
+										 handleActivate();
+									 }
+								 }
+							 });
+					}
+				}
+				catch (CoreException exception)
+				{
+					<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.log(exception);
+				}
+			}
+		};
+<%}%>
+
+	/**
+	 * Handles activation of the editor or it's associated views.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void handleActivate()
+	{
+		// Recompute the read only state.
+		//
+		if (editingDomain.getResourceToReadOnlyMap() != null)
+		{
+		  editingDomain.getResourceToReadOnlyMap().clear();
+
+		  // Refresh any actions that may become enabled or disabled.
+		  //
+		  setSelection(getSelection());
+		}
+
+		if (!removedResources.isEmpty())
+		{
+			if (handleDirtyConflict())
+			{
+				getSite().getPage().closeEditor(<%=genPackage.getEditorClassName()%>.this, false);
+			}
+			else
+			{
+				removedResources.clear();
+				changedResources.clear();
+				savedResources.clear();
+			}
+		}
+		else if (!changedResources.isEmpty())
+		{
+			changedResources.removeAll(savedResources);
+			handleChangedResources();
+			changedResources.clear();
+			savedResources.clear();
+		}
+	}
+
+	/**
+	 * Handles what to do with changed resources on activation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void handleChangedResources()
+	{
+		if (!changedResources.isEmpty() && (!isDirty() || handleDirtyConflict()))
+		{
+			ResourceSet resourceSet = editingDomain.getResourceSet();
+			if (isDirty())
+			{
+				changedResources.addAll(resourceSet.getResources());
+			}
+			editingDomain.getCommandStack().flush();
+
+			updateProblemIndication = false;
+<%if (genModel.useGenerics()) {%>
+			for (Resource resource : changedResources)
+<%} else {%>
+			for (Iterator i = changedResources.iterator(); i.hasNext(); )
+<%}%>
+			{
+<%if (!genModel.useGenerics()) {%>
+				Resource resource = (Resource)i.next();
+<%}%>
+				if (resource.isLoaded())
+				{
+					resource.unload();
+					try
+					{
+						resource.load(resourceSet.getLoadOptions());
+					}
+					catch (IOException exception)
+					{
+						if (!resourceToDiagnosticMap.containsKey(resource))
+						{
+							resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));
+						}
+					}
+				}
+			}
+
+<%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {%>
+			if (AdapterFactoryEditingDomain.isStale(editorSelection))
+			{
+				setSelection(StructuredSelection.EMPTY);
+			}
+<%}%>
+
+			updateProblemIndication = true;
+			updateProblemIndication();
+		}
+	}
+
+	/**
+	 * Updates the problems indication with the information described in the specified diagnostic.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void updateProblemIndication()
+	{
+		if (updateProblemIndication)
+		{
+			BasicDiagnostic diagnostic =
+				new BasicDiagnostic
+					(Diagnostic.OK,
+					 "<%=genPackage.getGenModel().getEditorPluginID()%>",<%=genModel.getNonNLS()%>
+					 0,
+					 null,
+					 new Object [] { editingDomain.getResourceSet() });
+<%if (genModel.useGenerics()) {%>
+			for (Diagnostic childDiagnostic : resourceToDiagnosticMap.values())
+<%} else {%>
+			for (Iterator i = resourceToDiagnosticMap.values().iterator(); i.hasNext(); )
+<%}%>
+			{
+<%if (!genModel.useGenerics()) {%>
+				Diagnostic childDiagnostic = (Diagnostic)i.next();
+<%}%>
+				if (childDiagnostic.getSeverity() != Diagnostic.OK)
+				{
+					diagnostic.add(childDiagnostic);
+				}
+			}
+
+			int lastEditorPage = getPageCount() - 1;
+			if (lastEditorPage >= 0 && getEditor(lastEditorPage) instanceof ProblemEditorPart)
+			{
+				((ProblemEditorPart)getEditor(lastEditorPage)).setDiagnostic(diagnostic);
+				if (diagnostic.getSeverity() != Diagnostic.OK)
+				{
+					setActivePage(lastEditorPage);
+				}
+			}
+			else if (diagnostic.getSeverity() != Diagnostic.OK)
+			{
+				ProblemEditorPart problemEditorPart = new ProblemEditorPart();
+				problemEditorPart.setDiagnostic(diagnostic);
+<%if (!genModel.isRichClientPlatform()) {%>
+				problemEditorPart.setMarkerHelper(markerHelper);
+<%}%>
+				try
+				{
+					addPage(++lastEditorPage, problemEditorPart, getEditorInput());
+					setPageText(lastEditorPage, problemEditorPart.getPartName());
+					setActivePage(lastEditorPage);
+					showTabs();
+				}
+				catch (PartInitException exception)
+				{
+					<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.log(exception);
+				}
+			}
+<%if (!genModel.isRichClientPlatform()) {%>
+
+			if (markerHelper.hasMarkers(editingDomain.getResourceSet()))
+			{
+  <%if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF213_VALUE) {%>
+				markerHelper.deleteMarkers(editingDomain.getResourceSet());
+				if (diagnostic.getSeverity() != Diagnostic.OK)
+				{
+					try
+					{
+						markerHelper.createMarkers(diagnostic);
+					}
+					catch (CoreException exception)
+					{
+						<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.log(exception);
+					}
+				}
+  <%} else {%>
+				try
+				{
+					markerHelper.updateMarkers(diagnostic);
+				}
+				catch (CoreException exception)
+				{
+					<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.log(exception);
+				}
+  <%}%>
+			}
+<%}%>
+		}
+	}
+
+	/**
+	 * Shows a dialog that asks if conflicting changes should be discarded.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected boolean handleDirtyConflict()
+	{
+		return
+			MessageDialog.openQuestion
+				(getSite().getShell(),
+				 getString("_UI_FileConflict_label"),<%=genModel.getNonNLS()%>
+				 getString("_WARN_FileConflict"));<%=genModel.getNonNLS()%>
+	}
+
+	/**
+	 * This creates a model editor.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public <%=genPackage.getEditorClassName()%>()
+	{
+		super();
+		initializeEditingDomain();
+	}
+
+	/**
+	 * This sets up the editing domain for the model editor.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void initializeEditingDomain()
+	{
+		// Create an adapter factory that yields item providers.
+		//
+		adapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
+
+		adapterFactory.addAdapterFactory(new ResourceItemProviderAdapterFactory());
+<%@ 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,isJDK50:isJDK50,forceDefaultCase:forceDefaultCase,importedOperationClassName:importedOperationClassName,operationMethodName:operationMethodName,_ArrayListOfObject:_ArrayListOfObject,_ArrayListOfSelectionChangedListener:_ArrayListOfSelectionChangedListener,_CollectionOfSelectionChangedListener:_CollectionOfSelectionChangedListener,_ListOfResource:_ListOfResource,_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"%><%//Editor/addItemproviderFactories.override.javajetinc"%>
+		adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());
+
+		// Create the command stack that will notify this editor as commands are executed.
+		//
+<%if (genModel.getDecoration() != GenDecoration.LIVE || genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF212_VALUE) {%>
+		BasicCommandStack commandStack = new BasicCommandStack();
+<%} else {%>
+		BasicCommandStack commandStack =
+			new BasicCommandStack()
+			{
+<%if (genModel.useClassOverrideAnnotation()) {%>
+				@Override
+<%}%>
+				public void execute(Command command)
+				{
+					// Cancel live validation before executing a command that will trigger a new round of validation.
+					//
+					if (!(command instanceof <%=genModel.getImportedName("org.eclipse.emf.common.command.AbstractCommand")%>.NonDirtying))
+					{
+						<%=_DiagnosticDecorator%>.cancel(editingDomain);
+					}
+					super.execute(command);
+				}
+			};
+<%}%>
+
+		// Add a listener to set the most recent command's affected objects to be the selection of the viewer with focus.
+		//
+		commandStack.addCommandStackListener
+			(new CommandStackListener()
+			 {
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+				 @Override
+<%}%>
+				 public void commandStackChanged(final EventObject event)
+				 {
+					 getContainer().getDisplay().asyncExec
+						 (new Runnable()
+						  {
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+							  @Override
+<%}%>
+							  public void run()
+							  {
+								  firePropertyChange(IEditorPart.PROP_DIRTY);
+
+								  // Try to select the affected objects.
+								  //
+								  Command mostRecentCommand = ((CommandStack)event.getSource()).getMostRecentCommand();
+								  if (mostRecentCommand != null)
+								  {
+									  setSelectionToViewer(mostRecentCommand.getAffectedObjects());
+								  }
+								  for (Iterator<%if (genModel.useGenerics()) {%><PropertySheetPage><%}%> i = propertySheetPages.iterator(); i.hasNext(); )
+								  {
+									  PropertySheetPage propertySheetPage = <%if (!genModel.useGenerics()) {%>(PropertySheetPage)<%}%>i.next();
+									  if (propertySheetPage.getControl() == null || propertySheetPage.getControl().isDisposed())
+									  {
+										  i.remove();
+									  }
+									  else
+									  {
+										  propertySheetPage.refresh();
+									  }
+								  }
+							  }
+						  });
+				 }
+			 });
+
+		// Create the editing domain with a special command stack.
+		//
+		editingDomain = new AdapterFactoryEditingDomain(adapterFactory, commandStack, new <%=_HashMapOfResourceToBoolean%>());
+	}
+
+	/**
+	 * This is here for the listener to be able to call it.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+			@Override
+<%}%>
+	protected void firePropertyChange(int action)
+	{
+		super.firePropertyChange(action);
+	}
+
+	/**
+	 * This sets the selection into whichever viewer is active.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSelectionToViewer(<%=_CollectionOfAnything%> collection)
+	{
+		final <%=_CollectionOfAnything%> theSelection = collection;
+		// Make sure it's okay.
+		//
+		if (theSelection != null && !theSelection.isEmpty())
+		{
+			Runnable runnable =
+				new Runnable()
+				{
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+					@Override
+<%}%>
+					public void run()
+					{
+						// Try to select the items in the current content viewer of the editor.
+						//
+						if (currentViewer != null)
+						{
+							currentViewer.setSelection(new StructuredSelection(theSelection.toArray()), true);
+						}
+					}
+				};
+			getSite().getShell().getDisplay().asyncExec(runnable);
+		}
+	}
+
+	/**
+	 * This returns the editing domain as required by the {@link IEditingDomainProvider} interface.
+	 * This is important for implementing the static methods of {@link AdapterFactoryEditingDomain}
+	 * and for supporting {@link org.eclipse.emf.edit.ui.action.CommandAction}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	public EditingDomain getEditingDomain()
+	{
+		return editingDomain;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public class ReverseAdapterFactoryContentProvider extends AdapterFactoryContentProvider
+	{
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public ReverseAdapterFactoryContentProvider(AdapterFactory adapterFactory)
+		{
+			super(adapterFactory);
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+		@Override
+<%}%>
+		public Object [] getElements(Object object)
+		{
+			Object parent = super.getParent(object);
+			return (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray();
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+		@Override
+<%}%>
+		public Object [] getChildren(Object object)
+		{
+			Object parent = super.getParent(object);
+			return (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray();
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+		@Override
+<%}%>
+		public boolean hasChildren(Object object)
+		{
+			Object parent = super.getParent(object);
+			return parent != null;
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+		@Override
+<%}%>
+		public Object getParent(Object object)
+		{
+			return null;
+		}
+	}
+<%if (genPackage.isMultipleEditorPages()) {%>
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setCurrentViewerPane(ViewerPane viewerPane)
+	{
+		if (currentViewerPane != viewerPane)
+		{
+			if (currentViewerPane != null)
+			{
+				currentViewerPane.showFocus(false);
+			}
+			currentViewerPane = viewerPane;
+		}
+		setCurrentViewer(currentViewerPane.getViewer());
+	}
+<%}%>
+
+	/**
+	 * This makes sure that one content viewer, either for the current page or the outline view, if it has focus,
+	 * is the current one.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setCurrentViewer(Viewer viewer)
+	{
+		// If it is changing...
+		//
+		if (currentViewer != viewer)
+		{
+			if (selectionChangedListener == null)
+			{
+				// Create the listener on demand.
+				//
+				selectionChangedListener =
+					new ISelectionChangedListener()
+					{
+						// This just notifies those things that are affected by the section.
+						//
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+						@Override
+<%}%>
+						public void selectionChanged(SelectionChangedEvent selectionChangedEvent)
+						{
+							setSelection(selectionChangedEvent.getSelection());
+						}
+					};
+			}
+
+			// Stop listening to the old one.
+			//
+			if (currentViewer != null)
+			{
+				currentViewer.removeSelectionChangedListener(selectionChangedListener);
+			}
+
+			// Start listening to the new one.
+			//
+			if (viewer != null)
+			{
+				viewer.addSelectionChangedListener(selectionChangedListener);
+			}
+
+			// Remember it.
+			//
+			currentViewer = viewer;
+
+			// Set the editors selection based on the current viewer's selection.
+			//
+			setSelection(currentViewer == null ? StructuredSelection.EMPTY : currentViewer.getSelection());
+		}
+	}
+
+	/**
+	 * This returns the viewer as required by the {@link IViewerProvider} interface.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	public Viewer getViewer()
+	{
+		return currentViewer;
+	}
+
+	/**
+	 * This creates a context menu for the viewer and adds a listener as well registering the menu for extension.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void createContextMenuFor(StructuredViewer viewer)
+	{
+		MenuManager contextMenu = new MenuManager("#PopUp");<%=genModel.getNonNLS()%>
+		contextMenu.add(new Separator("additions"));<%=genModel.getNonNLS()%>
+		contextMenu.setRemoveAllWhenShown(true);
+		contextMenu.addMenuListener(this);
+		Menu menu= contextMenu.createContextMenu(viewer.getControl());
+		viewer.getControl().setMenu(menu);
+<%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF23_VALUE) {%>
+		getSite().registerContextMenu(contextMenu, new UnwrappingSelectionProvider(viewer));
+<%} else {%>
+		getSite().registerContextMenu(contextMenu, viewer);
+<%}%>
+
+		int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK;
+		Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance()<%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF29_VALUE) {%>, LocalSelectionTransfer.getTransfer(), FileTransfer.getInstance()<%}%> };
+		viewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(viewer));
+		viewer.addDropSupport(dndOperations, transfers, new EditingDomainViewerDropAdapter(editingDomain, viewer));
+	}
+
+	/**
+	 * This is the method called to load a resource into the editing domain's resource set based on the editor's input.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createModel()
+	{
+<%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());
+<%} else {%>
+		// Assumes that the input is a file object.
+		//
+		IFileEditorInput modelFile = (IFileEditorInput)getEditorInput();
+		URI resourceURI = URI.createPlatformResourceURI(modelFile.getFile().getFullPath().toString(), true);
+<%}%>
+		Exception exception = null;
+		Resource resource = null;
+		try
+		{
+			// Load the resource through the editing domain.
+			//
+			resource = editingDomain.getResourceSet().getResource(resourceURI, true);
+		}
+		catch (Exception e)
+		{
+			exception = e;
+			resource = editingDomain.getResourceSet().getResource(resourceURI, false);
+		}
+
+		Diagnostic diagnostic = analyzeResourceProblems(resource, exception);
+		if (diagnostic.getSeverity() != Diagnostic.OK)
+		{
+			resourceToDiagnosticMap.put(resource,  analyzeResourceProblems(resource, exception));
+		}
+		editingDomain.getResourceSet().eAdapters().add(problemIndicationAdapter);
+	}
+
+	/**
+	 * Returns a diagnostic describing the errors and warnings listed in the resource
+	 * and the specified exception (if any).
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Diagnostic analyzeResourceProblems(Resource resource, Exception exception)
+	{
+		boolean hasErrors = !resource.getErrors().isEmpty();
+		if (hasErrors || !resource.getWarnings().isEmpty())
+		{
+			BasicDiagnostic basicDiagnostic =
+				new BasicDiagnostic
+					(hasErrors ? Diagnostic.ERROR : Diagnostic.WARNING,
+					 "<%=genPackage.getGenModel().getEditorPluginID()%>",<%=genModel.getNonNLS()%>
+					 0,
+					 getString("_UI_CreateModelError_message", resource.getURI()),<%=genModel.getNonNLS()%>
+					 new Object [] { exception == null ? (Object)resource : exception });
+			basicDiagnostic.merge(EcoreUtil.computeDiagnostic(resource, true));
+			return basicDiagnostic;
+		}
+		else if (exception != null)
+		{
+			return
+				new BasicDiagnostic
+					(Diagnostic.ERROR,
+					 "<%=genPackage.getGenModel().getEditorPluginID()%>",<%=genModel.getNonNLS()%>
+					 0,
+					 getString("_UI_CreateModelError_message", resource.getURI()),<%=genModel.getNonNLS()%>
+					 new Object[] { exception });
+		}
+		else
+		{
+			return Diagnostic.OK_INSTANCE;
+		}
+	}
+
+	/**
+	 * This is the method used by the framework to install your own controls.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	public void createPages()
+	{
+		// Creates the model from the editor input
+		//
+		createModel();
+
+		// Only creates the other pages if there is something that can be edited
+		//
+		if (!getEditingDomain().getResourceSet().getResources().isEmpty())
+		{
+			// Create a page for the selection tree view.
+			//
+<%if (genPackage.isMultipleEditorPages()) {%>
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), <%=genPackage.getEditorClassName()%>.this)
+					{
+<%if (genModel.useClassOverrideAnnotation()) {%>
+						@Override
+<%}%>
+						public Viewer createViewer(Composite composite)
+						{
+							Tree tree = new Tree(composite, SWT.MULTI);
+							TreeViewer newTreeViewer = new TreeViewer(tree);
+							return newTreeViewer;
+						}
+<%if (genModel.useClassOverrideAnnotation()) {%>
+						@Override
+<%}%>
+						public void requestActivation()
+						{
+							super.requestActivation();
+							setCurrentViewerPane(this);
+						}
+					};
+				viewerPane.createControl(getContainer());
+
+				selectionViewer = (TreeViewer)viewerPane.getViewer();
+				selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+				selectionViewer.setUseHashlookup(true);
+
+				selectionViewer.setLabelProvider(<%if (useStyledLabelProvider) {%>new <%=_DelegatingAdapterFactoryLabelProvider%>(<%}%><%if (genModel.getDecoration() != GenDecoration.NONE) {%>new <%=_DecoratingColumLabelProvider%>(<%}%>new <%=_AdapterFactoryLabelProvider%>(adapterFactory<%if (useExtendedLabelProvider) {%>, selectionViewer<%}%>)<%if (genModel.getDecoration() != GenDecoration.NONE) {%>, new <%=_DiagnosticDecorator%>(editingDomain<%if (genModel.getDecoration() == GenDecoration.MANUAL) {%>.getResourceSet()<%}%>, selectionViewer<%if (genModel.getDecoration() == GenDecoration.LIVE) {%>, <%=genPackage.getImportedEditorPluginClassName()%>.getPlugin().getDialogSettings()<%}%>))<%}%><%if (useStyledLabelProvider) {%>)<%}%>);
+				selectionViewer.setInput(editingDomain.getResourceSet());
+				selectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
+				viewerPane.setTitle(editingDomain.getResourceSet());
+
+				new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);
+<%if (genModel.getDecoration() != GenDecoration.NONE) {%>
+				new <%=genModel.getImportedName("org.eclipse.emf.common.ui.viewer.ColumnViewerInformationControlToolTipSupport")%>(selectionViewer, new <%=_DiagnosticDecorator%>.EditingDomainLocationListener(editingDomain, selectionViewer));
+<%}%>
+
+				createContextMenuFor(selectionViewer);
+				int pageIndex = addPage(viewerPane.getControl());
+				setPageText(pageIndex, getString("_UI_SelectionPage_label"));<%=genModel.getNonNLS()%>
+			}
+
+			// Create a page for the parent tree view.
+			//
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), <%=genPackage.getEditorClassName()%>.this)
+					{
+<%if (genModel.useClassOverrideAnnotation()) {%>
+						@Override
+<%}%>
+						public Viewer createViewer(Composite composite)
+						{
+							Tree tree = new Tree(composite, SWT.MULTI);
+							TreeViewer newTreeViewer = new TreeViewer(tree);
+							return newTreeViewer;
+						}
+<%if (genModel.useClassOverrideAnnotation()) {%>
+						@Override
+<%}%>
+						public void requestActivation()
+						{
+							super.requestActivation();
+							setCurrentViewerPane(this);
+						}
+					};
+				viewerPane.createControl(getContainer());
+
+				parentViewer = (TreeViewer)viewerPane.getViewer();
+				parentViewer.setAutoExpandLevel(30);
+				parentViewer.setContentProvider(new ReverseAdapterFactoryContentProvider(adapterFactory));
+				parentViewer.setLabelProvider(<%if (useStyledLabelProvider) {%>new <%=_DelegatingAdapterFactoryLabelProvider%>(<%}%>new <%=_AdapterFactoryLabelProvider%>(adapterFactory<%if (useExtendedLabelProvider) {%>, parentViewer<%}%>)<%if (useStyledLabelProvider) {%>)<%}%>);
+
+				createContextMenuFor(parentViewer);
+				int pageIndex = addPage(viewerPane.getControl());
+				setPageText(pageIndex, getString("_UI_ParentPage_label"));<%=genModel.getNonNLS()%>
+			}
+
+			// This is the page for the list viewer
+			//
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), <%=genPackage.getEditorClassName()%>.this)
+					{
+<%if (genModel.useClassOverrideAnnotation()) {%>
+						@Override
+<%}%>
+						public Viewer createViewer(Composite composite)
+						{
+							return new ListViewer(composite);
+						}
+<%if (genModel.useClassOverrideAnnotation()) {%>
+						@Override
+<%}%>
+						public void requestActivation()
+						{
+							super.requestActivation();
+							setCurrentViewerPane(this);
+						}
+					};
+				viewerPane.createControl(getContainer());
+				listViewer = (ListViewer)viewerPane.getViewer();
+				listViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+				listViewer.setLabelProvider(<%if (useStyledLabelProvider) {%>new <%=_DelegatingAdapterFactoryLabelProvider%>(<%}%>new <%=_AdapterFactoryLabelProvider%>(adapterFactory<%if (useExtendedLabelProvider) {%>, listViewer<%}%>)<%if (useStyledLabelProvider) {%>)<%}%>);
+
+				createContextMenuFor(listViewer);
+				int pageIndex = addPage(viewerPane.getControl());
+				setPageText(pageIndex, getString("_UI_ListPage_label"));<%=genModel.getNonNLS()%>
+			}
+
+			// This is the page for the tree viewer
+			//
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), <%=genPackage.getEditorClassName()%>.this)
+					{
+<%if (genModel.useClassOverrideAnnotation()) {%>
+						@Override
+<%}%>
+						public Viewer createViewer(Composite composite)
+						{
+							return new TreeViewer(composite);
+						}
+<%if (genModel.useClassOverrideAnnotation()) {%>
+						@Override
+<%}%>
+						public void requestActivation()
+						{
+							super.requestActivation();
+							setCurrentViewerPane(this);
+						}
+					};
+				viewerPane.createControl(getContainer());
+				treeViewer = (TreeViewer)viewerPane.getViewer();
+				treeViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+				treeViewer.setLabelProvider(<%if (useStyledLabelProvider) {%>new <%=_DelegatingAdapterFactoryLabelProvider%>(<%}%><%if (genModel.getDecoration() != GenDecoration.NONE) {%>new <%=_DecoratingColumLabelProvider%>(<%}%>new <%=_AdapterFactoryLabelProvider%>(adapterFactory<%if (useExtendedLabelProvider) {%>, treeViewer<%}%>)<%if (genModel.getDecoration() != GenDecoration.NONE) {%>, new <%=_DiagnosticDecorator%>(editingDomain<%if (genModel.getDecoration() == GenDecoration.MANUAL) {%>.getResourceSet()<%}%>, treeViewer))<%}%><%if (useStyledLabelProvider) {%>)<%}%>);
+
+				new AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory);
+<%if (genModel.getDecoration() != GenDecoration.NONE) {%>
+				new <%=genModel.getImportedName("org.eclipse.emf.common.ui.viewer.ColumnViewerInformationControlToolTipSupport")%>(treeViewer, new <%=_DiagnosticDecorator%>.EditingDomainLocationListener(editingDomain, treeViewer));
+<%}%>
+
+				createContextMenuFor(treeViewer);
+				int pageIndex = addPage(viewerPane.getControl());
+				setPageText(pageIndex, getString("_UI_TreePage_label"));<%=genModel.getNonNLS()%>
+			}
+
+			// This is the page for the table viewer.
+			//
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), <%=genPackage.getEditorClassName()%>.this)
+					{
+<%if (genModel.useClassOverrideAnnotation()) {%>
+						@Override
+<%}%>
+						public Viewer createViewer(Composite composite)
+						{
+							return new TableViewer(composite);
+						}
+<%if (genModel.useClassOverrideAnnotation()) {%>
+						@Override
+<%}%>
+						public void requestActivation()
+						{
+							super.requestActivation();
+							setCurrentViewerPane(this);
+						}
+					};
+				viewerPane.createControl(getContainer());
+				tableViewer = (TableViewer)viewerPane.getViewer();
+
+				Table table = tableViewer.getTable();
+				TableLayout layout = new TableLayout();
+				table.setLayout(layout);
+				table.setHeaderVisible(true);
+				table.setLinesVisible(true);
+
+				TableColumn objectColumn = new TableColumn(table, SWT.NONE);
+				layout.addColumnData(new ColumnWeightData(3, 100, true));
+				objectColumn.setText(getString("_UI_ObjectColumn_label"));<%=genModel.getNonNLS()%>
+				objectColumn.setResizable(true);
+
+				TableColumn selfColumn = new TableColumn(table, SWT.NONE);
+				layout.addColumnData(new ColumnWeightData(2, 100, true));
+				selfColumn.setText(getString("_UI_SelfColumn_label"));<%=genModel.getNonNLS()%>
+				selfColumn.setResizable(true);
+
+				tableViewer.setColumnProperties(new String [] {"a", "b"});<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+				tableViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+				tableViewer.setLabelProvider(<%if (useStyledLabelProvider) {%>new <%=_DelegatingAdapterFactoryLabelProvider%>(<%}%><%if (genModel.getDecoration() != GenDecoration.NONE) {%>new <%=_DecoratingColumLabelProvider%>(<%}%>new <%=_AdapterFactoryLabelProvider%>(adapterFactory<%if (useExtendedLabelProvider) {%>, tableViewer<%}%>)<%if (genModel.getDecoration() != GenDecoration.NONE) {%>, new <%=_DiagnosticDecorator%>(editingDomain<%if (genModel.getDecoration() == GenDecoration.MANUAL) {%>.getResourceSet()<%}%>, tableViewer<%if (genModel.getDecoration() == GenDecoration.LIVE) {%>, <%=genPackage.getImportedEditorPluginClassName()%>.getPlugin().getDialogSettings()<%}%>))<%}%><%if (useStyledLabelProvider) {%>)<%}%>);
+
+<%if (genModel.getDecoration() != GenDecoration.NONE) {%>
+				new <%=genModel.getImportedName("org.eclipse.emf.common.ui.viewer.ColumnViewerInformationControlToolTipSupport")%>(tableViewer, new <%=_DiagnosticDecorator%>.EditingDomainLocationListener(editingDomain, tableViewer));
+
+<%}%>
+				createContextMenuFor(tableViewer);
+				int pageIndex = addPage(viewerPane.getControl());
+				setPageText(pageIndex, getString("_UI_TablePage_label"));<%=genModel.getNonNLS()%>
+			}
+
+			// This is the page for the table tree viewer.
+			//
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), <%=genPackage.getEditorClassName()%>.this)
+					{
+<%if (genModel.useClassOverrideAnnotation()) {%>
+						@Override
+<%}%>
+						public Viewer createViewer(Composite composite)
+						{
+							return new TreeViewer(composite);
+						}
+<%if (genModel.useClassOverrideAnnotation()) {%>
+						@Override
+<%}%>
+						public void requestActivation()
+						{
+							super.requestActivation();
+							setCurrentViewerPane(this);
+						}
+					};
+				viewerPane.createControl(getContainer());
+
+				treeViewerWithColumns = (TreeViewer)viewerPane.getViewer();
+
+				Tree tree = treeViewerWithColumns.getTree();
+				tree.setLayoutData(new FillLayout());
+				tree.setHeaderVisible(true);
+				tree.setLinesVisible(true);
+
+				TreeColumn objectColumn = new TreeColumn(tree, SWT.NONE);
+				objectColumn.setText(getString("_UI_ObjectColumn_label"));<%=genModel.getNonNLS()%>
+				objectColumn.setResizable(true);
+				objectColumn.setWidth(250);
+
+				TreeColumn selfColumn = new TreeColumn(tree, SWT.NONE);
+				selfColumn.setText(getString("_UI_SelfColumn_label"));<%=genModel.getNonNLS()%>
+				selfColumn.setResizable(true);
+				selfColumn.setWidth(200);
+
+				treeViewerWithColumns.setColumnProperties(new String [] {"a", "b"});<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+				treeViewerWithColumns.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+				treeViewerWithColumns.setLabelProvider(<%if (useStyledLabelProvider) {%>new <%=_DelegatingAdapterFactoryLabelProvider%>(<%}%><%if (genModel.getDecoration() != GenDecoration.NONE) {%>new <%=_DecoratingColumLabelProvider%>(<%}%>new <%=_AdapterFactoryLabelProvider%>(adapterFactory<%if (useExtendedLabelProvider) {%>, treeViewerWithColumns<%}%>)<%if (genModel.getDecoration() != GenDecoration.NONE) {%>, new <%=_DiagnosticDecorator%>(editingDomain<%if (genModel.getDecoration() == GenDecoration.MANUAL) {%>.getResourceSet()<%}%>, treeViewerWithColumns<%if (genModel.getDecoration() == GenDecoration.LIVE) {%>, <%=genPackage.getImportedEditorPluginClassName()%>.getPlugin().getDialogSettings()<%}%>))<%}%><%if (useStyledLabelProvider) {%>)<%}%>);
+
+<%if (genModel.getDecoration() != GenDecoration.NONE) {%>
+				new <%=genModel.getImportedName("org.eclipse.emf.common.ui.viewer.ColumnViewerInformationControlToolTipSupport")%>(treeViewerWithColumns, new <%=_DiagnosticDecorator%>.EditingDomainLocationListener(editingDomain, treeViewerWithColumns));
+
+<%}%>
+				createContextMenuFor(treeViewerWithColumns);
+				int pageIndex = addPage(viewerPane.getControl());
+				setPageText(pageIndex, getString("_UI_TreeWithColumnsPage_label"));<%=genModel.getNonNLS()%>
+			}
+<%} else {%>
+			Tree tree = new Tree(getContainer(), SWT.MULTI);
+			selectionViewer = new TreeViewer(tree);
+			setCurrentViewer(selectionViewer);
+
+			selectionViewer.setUseHashlookup(true);
+			selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+			selectionViewer.setLabelProvider(<%if (useStyledLabelProvider) {%>new <%=_DelegatingAdapterFactoryLabelProvider%>(<%}%><%if (genModel.getDecoration() != GenDecoration.NONE) {%>new <%=_DecoratingColumLabelProvider%>(<%}%>new <%=_AdapterFactoryLabelProvider%>(adapterFactory<%if (useExtendedLabelProvider) {%>, selectionViewer<%}%>)<%if (genModel.getDecoration() != GenDecoration.NONE) {%>, new <%=_DiagnosticDecorator%>(editingDomain<%if (genModel.getDecoration() == GenDecoration.MANUAL) {%>.getResourceSet()<%}%>, selectionViewer<%if (genModel.getDecoration() == GenDecoration.LIVE) {%>, <%=genPackage.getImportedEditorPluginClassName()%>.getPlugin().getDialogSettings()<%}%>))<%}%><%if (useStyledLabelProvider) {%>)<%}%>);
+			selectionViewer.setInput(editingDomain.getResourceSet());
+			selectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
+
+			new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);
+<%if (genModel.getDecoration() != GenDecoration.NONE) {%>
+			new <%=genModel.getImportedName("org.eclipse.emf.common.ui.viewer.ColumnViewerInformationControlToolTipSupport")%>(selectionViewer, new <%=_DiagnosticDecorator%>.EditingDomainLocationListener(editingDomain, selectionViewer));
+<%}%>
+
+			createContextMenuFor(selectionViewer);
+			int pageIndex = addPage(tree);
+			setPageText(pageIndex, getString("_UI_SelectionPage_label"));<%=genModel.getNonNLS()%>
+<%}%>
+
+			getSite().getShell().getDisplay().asyncExec
+				(new Runnable()
+				 {
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+					 @Override
+<%}%>
+					 public void run()
+					 {
+						 if (!getContainer().isDisposed())
+						 {
+							 setActivePage(0);
+						 }
+					 }
+				 });
+		}
+
+		// Ensures that this editor will only display the page's tab
+		// area if there are more than one page
+		//
+		getContainer().addControlListener
+			(new ControlAdapter()
+			 {
+				boolean guard = false;
+<%if (genModel.useClassOverrideAnnotation()) {%>
+				@Override
+<%}%>
+				public void controlResized(ControlEvent event)
+				{
+					if (!guard)
+					{
+						guard = true;
+						hideTabs();
+						guard = false;
+					}
+				}
+			 });
+
+		getSite().getShell().getDisplay().asyncExec
+			(new Runnable()
+			 {
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+				 @Override
+<%}%>
+				 public void run()
+				 {
+					 updateProblemIndication();
+				 }
+			 });
+	}
+
+	/**
+	 * If there is just one page in the multi-page editor part,
+	 * this hides the single tab at the bottom.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void hideTabs()
+	{
+		if (getPageCount() <= 1)
+		{
+			setPageText(0, "");<%=genModel.getNonNLS()%>
+			if (getContainer() instanceof CTabFolder)
+			{
+				Point point = getContainer().getSize();
+				Rectangle clientArea = getContainer().getClientArea();
+				getContainer().setSize(point.x,  2 * point.y - clientArea.height - clientArea.y);
+			}
+		}
+	}
+
+	/**
+	 * If there is more than one page in the multi-page editor part,
+	 * this shows the tabs at the bottom.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void showTabs()
+	{
+		if (getPageCount() > 1)
+		{
+			setPageText(0, getString("_UI_SelectionPage_label"));<%=genModel.getNonNLS()%>
+			if (getContainer() instanceof CTabFolder)
+			{
+				Point point = getContainer().getSize();
+				Rectangle clientArea = getContainer().getClientArea();
+				getContainer().setSize(point.x, clientArea.height + clientArea.y);
+			}
+		}
+	}
+
+	/**
+	 * This is used to track the active viewer.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	protected void pageChange(int pageIndex)
+	{
+		super.pageChange(pageIndex);
+
+		if (contentOutlinePage != null)
+		{
+			handleContentOutlineSelection(contentOutlinePage.getSelection());
+		}
+	}
+
+	/**
+	 * This is how the framework determines which interfaces we implement.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useGenerics() && genModel.getEclipsePlatformVersion().getValue() < GenEclipsePlatformVersion.MARS_VALUE) {%>
+	@SuppressWarnings("<%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF26_VALUE) {%>rawtypes<%} else {%>unchecked<%}%>")
+<%}%>
+<%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+<%if (genModel.getEclipsePlatformVersion().getValue() >= GenEclipsePlatformVersion.MARS_VALUE) {%>
+	public <T> T getAdapter(Class<T> key)
+<%} else {%>
+	public Object getAdapter(Class key)
+<%}%>
+	{
+		if (key.equals(IContentOutlinePage.class))
+		{
+<%if (genModel.getEclipsePlatformVersion().getValue() >= GenEclipsePlatformVersion.MARS_VALUE) {%>
+			return showOutlineView() ? key.cast(getContentOutlinePage()) : null;
+<%} else {%>
+			return showOutlineView() ? getContentOutlinePage() : null;
+<%}%>
+		}
+		else if (key.equals(IPropertySheetPage.class))
+		{
+<%if (genModel.getEclipsePlatformVersion().getValue() >= GenEclipsePlatformVersion.MARS_VALUE) {%>
+			return key.cast(getPropertySheetPage());
+<%} else {%>
+			return getPropertySheetPage();
+<%}%>
+		}
+<%if (!genModel.isRichClientPlatform()) {%>
+		else if (key.equals(IGotoMarker.class))
+		{
+<%if (genModel.getEclipsePlatformVersion().getValue() >= GenEclipsePlatformVersion.MARS_VALUE) {%>
+			return key.cast(this);
+<%} else {%>
+			return this;
+<%}%>
+		}
+<%}%>
+<%if (genModel.isFindAction()) {%>
+		else if (key.equals(<%=genModel.getImportedName("org.eclipse.jface.text.IFindReplaceTarget")%>.class)) 
+		{
+			return <%=genModel.getImportedName("org.eclipse.emf.edit.ui.util.FindAndReplaceTarget")%>.getAdapter(key, this, <%=genPackage.getImportedEditorPluginClassName()%>.getPlugin());
+		}
+<%}%>
+		else
+		{
+			return super.getAdapter(key);
+		}
+	}
+
+	/**
+	 * This accesses a cached version of the content outliner.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IContentOutlinePage getContentOutlinePage()
+	{
+		if (contentOutlinePage == null)
+		{
+			// The content outline is just a tree.
+			//
+			class MyContentOutlinePage extends ContentOutlinePage
+			{
+<%if (genModel.useClassOverrideAnnotation()) {%>
+				@Override
+<%}%>
+				public void createControl(Composite parent)
+				{
+					super.createControl(parent);
+					contentOutlineViewer = getTreeViewer();
+					contentOutlineViewer.addSelectionChangedListener(this);
+
+					// Set up the tree viewer.
+					//
+					contentOutlineViewer.setUseHashlookup(true);
+					contentOutlineViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+					contentOutlineViewer.setLabelProvider(<%if (useStyledLabelProvider) {%>new <%=_DelegatingAdapterFactoryLabelProvider%>(<%}%><%if (genModel.getDecoration() != GenDecoration.NONE) {%>new <%=_DecoratingColumLabelProvider%>(<%}%>new <%=_AdapterFactoryLabelProvider%>(adapterFactory<%if (useExtendedLabelProvider) {%>, contentOutlineViewer<%}%>)<%if (genModel.getDecoration() != GenDecoration.NONE) {%>, new <%=_DiagnosticDecorator%>(editingDomain<%if (genModel.getDecoration() == GenDecoration.MANUAL) {%>.getResourceSet()<%}%>, contentOutlineViewer<%if (genModel.getDecoration() == GenDecoration.LIVE) {%>, <%=genPackage.getImportedEditorPluginClassName()%>.getPlugin().getDialogSettings()<%}%>))<%}%><%if (useStyledLabelProvider) {%>)<%}%>);
+					contentOutlineViewer.setInput(editingDomain.getResourceSet());
+
+<%if (genModel.getDecoration() != GenDecoration.NONE) {%>
+					new <%=genModel.getImportedName("org.eclipse.emf.common.ui.viewer.ColumnViewerInformationControlToolTipSupport")%>(contentOutlineViewer, new <%=_DiagnosticDecorator%>.EditingDomainLocationListener(editingDomain, contentOutlineViewer));
+
+<%}%>
+					// Make sure our popups work.
+					//
+					createContextMenuFor(contentOutlineViewer);
+
+					if (!editingDomain.getResourceSet().getResources().isEmpty())
+					{
+					  // Select the root object in the view.
+					  //
+					  contentOutlineViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
+					}
+				}
+
+<%if (genModel.useClassOverrideAnnotation()) {%>
+				@Override
+<%}%>
+				public void makeContributions(IMenuManager menuManager, IToolBarManager toolBarManager, IStatusLineManager statusLineManager)
+				{
+					super.makeContributions(menuManager, toolBarManager, statusLineManager);
+					contentOutlineStatusLineManager = statusLineManager;
+				}
+
+<%if (genModel.useClassOverrideAnnotation()) {%>
+				@Override
+<%}%>
+				public void setActionBars(IActionBars actionBars)
+				{
+					super.setActionBars(actionBars);
+					getActionBarContributor().shareGlobalActions(this, actionBars);
+				}
+			}
+
+			contentOutlinePage = new MyContentOutlinePage();
+
+			// Listen to selection so that we can handle it is a special way.
+			//
+			contentOutlinePage.addSelectionChangedListener
+				(new ISelectionChangedListener()
+				 {
+					 // This ensures that we handle selections correctly.
+					 //
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+					 @Override
+<%}%>
+					 public void selectionChanged(SelectionChangedEvent event)
+					 {
+						 handleContentOutlineSelection(event.getSelection());
+					 }
+				 });
+		}
+
+		return contentOutlinePage;
+	}
+
+	/**
+	 * This accesses a cached version of the property sheet.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IPropertySheetPage getPropertySheetPage()
+	{
+		PropertySheetPage propertySheetPage =
+			new ExtendedPropertySheetPage(editingDomain<%if (genModel.getDecoration() == GenDecoration.MANUAL) {%>, ExtendedPropertySheetPage.Decoration.MANUAL<%} else if (genModel.getDecoration() == GenDecoration.LIVE) {%>, ExtendedPropertySheetPage.Decoration.LIVE, <%=genPackage.getImportedEditorPluginClassName()%>.getPlugin().getDialogSettings()<%}%><%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF214_VALUE) {%>, <%if (genModel.getDecoration() == GenDecoration.NONE) {%>ExtendedPropertySheetPage.Decoration.NONE, <%}%><%if (genModel.getDecoration() != GenDecoration.LIVE) {%>null, <%}%><%=genModel.getAutoExpandProperties()%>, <%=genModel.isAutoResizeProperties()%><%}%>)
+			{
+<%if (genModel.useClassOverrideAnnotation()) {%>
+				@Override
+<%}%>
+				public void setSelectionToViewer(<%=_ListOfAnything%> selection)
+				{
+					<%=genPackage.getEditorClassName()%>.this.setSelectionToViewer(selection);
+					<%=genPackage.getEditorClassName()%>.this.setFocus();
+				}
+
+<%if (genModel.useClassOverrideAnnotation()) {%>
+				@Override
+<%}%>
+				public void setActionBars(IActionBars actionBars)
+				{
+					super.setActionBars(actionBars);
+					getActionBarContributor().shareGlobalActions(this, actionBars);
+				}
+			};
+		propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory));
+		propertySheetPages.add(propertySheetPage);
+
+		return propertySheetPage;
+	}
+
+	/**
+	 * This deals with how we want selection in the outliner to affect the other views.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void handleContentOutlineSelection(ISelection selection)
+	{
+<%if (genPackage.isMultipleEditorPages()) {%>
+		if (currentViewerPane != null && !selection.isEmpty() && selection instanceof IStructuredSelection)
+<%} else {%>
+		if (selectionViewer != null && !selection.isEmpty() && selection instanceof IStructuredSelection)
+<%}%>
+		{
+			Iterator<%if (genModel.useGenerics()) {%><?><%}%> selectedElements = ((IStructuredSelection)selection).iterator();
+			if (selectedElements.hasNext())
+			{
+				// Get the first selected element.
+				//
+				Object selectedElement = selectedElements.next();
+
+<%if (genPackage.isMultipleEditorPages()) {%>
+				// If it's the selection viewer, then we want it to select the same selection as this selection.
+				//
+				if (currentViewerPane.getViewer() == selectionViewer)
+				{
+					<%=_ArrayListOfObject%> selectionList = new <%=_ArrayListOfObject%>();
+					selectionList.add(selectedElement);
+					while (selectedElements.hasNext())
+					{
+						selectionList.add(selectedElements.next());
+					}
+
+					// Set the selection to the widget.
+					//
+					selectionViewer.setSelection(new StructuredSelection(selectionList));
+				}
+				else
+				{
+					// Set the input to the widget.
+					//
+					if (currentViewerPane.getViewer().getInput() != selectedElement)
+					{
+						currentViewerPane.getViewer().setInput(selectedElement);
+						currentViewerPane.setTitle(selectedElement);
+					}
+				}
+<%} else {%>
+				<%=_ArrayListOfObject%> selectionList = new <%=_ArrayListOfObject%>();
+				selectionList.add(selectedElement);
+				while (selectedElements.hasNext())
+				{
+					selectionList.add(selectedElements.next());
+				}
+
+				// Set the selection to the widget.
+				//
+				selectionViewer.setSelection(new StructuredSelection(selectionList));
+<%}%>
+			}
+		}
+	}
+
+	/**
+	 * This is for implementing {@link IEditorPart} and simply tests the command stack.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	public boolean isDirty()
+	{
+		return ((BasicCommandStack)editingDomain.getCommandStack()).isSaveNeeded();
+	}
+
+<%if (genModel.isRevertAction()) {%>
+	/**
+	 * This is for implementing {@link IRevertablePart}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	public void doRevert()
+	{
+<%if (genModel.getDecoration() == GenDecoration.LIVE) {%>
+		DiagnosticDecorator.cancel(editingDomain);
+
+<%}%>		
+		ResourceSet resourceSet = editingDomain.getResourceSet();
+		<%=_ListOfResource%> resources = resourceSet.getResources();
+		<%=_ListOfResource%> unloadedResources = new <%=_ArrayListOfResource%>();
+		updateProblemIndication = false;
+		for (int i = 0; i < resources.size(); ++i)
+		{
+			Resource resource = resources.get(i);
+			if (resource.isLoaded())
+			{
+				resource.unload();
+				unloadedResources.add(resource);
+			}
+		}
+
+		resourceToDiagnosticMap.clear();
+<%if (genModel.useGenerics()) {%>
+		for (Resource resource : unloadedResources)
+<%} else {%>
+		for (Iterator i = unloadedResources.iterator(); i.hasNext(); )
+<%}%>
+		{
+<%if (!genModel.useGenerics()) {%>
+				Resource resource = (Resource)i.next();
+<%}%>
+			try
+			{
+				resource.load(resourceSet.getLoadOptions());
+			}
+			catch (IOException exception)
+			{
+				if (!resourceToDiagnosticMap.containsKey(resource))
+				{
+					resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));
+				}
+			}
+		}
+
+		editingDomain.getCommandStack().flush();
+
+		if (AdapterFactoryEditingDomain.isStale(editorSelection))
+		{
+			setSelection(StructuredSelection.EMPTY);
+		}
+
+		updateProblemIndication = true;
+		updateProblemIndication();
+	}
+
+<%}%>
+	/**
+	 * This is for implementing {@link IEditorPart} and simply saves the model file.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	public void doSave(IProgressMonitor progressMonitor)
+	{
+		// Save only resources that have actually changed.
+		//
+		final <%=_MapOfObjectToObject%> saveOptions = new <%=_HashMapOfObjectToObject%>();
+<%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF23_VALUE) {%>
+		saveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED, Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER);
+<%}%>
+<%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF29_VALUE) {%>
+		saveOptions.put(Resource.OPTION_LINE_DELIMITER, Resource.OPTION_LINE_DELIMITER_UNSPECIFIED);
+<%}%>
+
+		// Do the work within an operation because this is a long running activity that modifies the workbench.
+		//
+		<%=importedOperationClassName%> operation =
+			new <%=importedOperationClassName%>()
+			{
+				// This is the method that gets invoked when the operation runs.
+				//
+<%if (genModel.useInterfaceOverrideAnnotation() || !genModel.isRichClientPlatform() && genModel.useClassOverrideAnnotation()) {%>
+				@Override
+<%}%>
+				public void <%=operationMethodName%>(IProgressMonitor monitor)
+				{
+					// Save the resources to the file system.
+					//
+					boolean first = true;
+					<%=_ListOfResource%> resources = editingDomain.getResourceSet().getResources();
+					for (int i = 0; i < resources.size(); ++i)
+					{
+						Resource resource = <%if (!genModel.useGenerics()) {%>(Resource)<%}%>resources.get(i);
+						if ((first || !resource.getContents().isEmpty() || isPersisted(resource)) && !editingDomain.isReadOnly(resource))
+						{
+							try
+							{
+<%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {%>
+								long timeStamp = resource.getTimeStamp();
+								resource.save(saveOptions);
+								if (resource.getTimeStamp() != timeStamp)
+								{
+									savedResources.add(resource);
+								}
+<%} else {%>
+								resource.save(saveOptions);
+								savedResources.add(resource);
+<%}%>
+							}
+							catch (Exception exception)
+							{
+								resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));
+							}
+							first = false;
+						}
+					}
+				}
+			};
+
+		updateProblemIndication = false;
+		try
+		{
+			// This runs the options, and shows progress.
+			//
+			new ProgressMonitorDialog(getSite().getShell()).run(true, false, operation);
+
+			// Refresh the necessary state.
+			//
+			((BasicCommandStack)editingDomain.getCommandStack()).saveIsDone();
+			firePropertyChange(IEditorPart.PROP_DIRTY);
+		}
+		catch (Exception exception)
+		{
+			// Something went wrong that shouldn't.
+			//
+			<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.log(exception);
+		}
+		updateProblemIndication = true;
+		updateProblemIndication();
+	}
+
+	/**
+	 * This returns whether something has been persisted to the URI of the specified resource.
+	 * The implementation uses the URI converter from the editor's resource set to try to open an input stream.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected boolean isPersisted(Resource resource)
+	{
+		boolean result = false;
+		try
+		{
+			InputStream stream = editingDomain.getResourceSet().getURIConverter().createInputStream(resource.getURI());
+			if (stream != null)
+			{
+				result = true;
+				stream.close();
+			}
+		}
+		catch (IOException e)
+		{
+			// Ignore
+		}
+		return result;
+	}
+
+	/**
+	 * This always returns true because it is not currently supported.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	public boolean isSaveAsAllowed()
+	{
+		return true;
+	}
+
+	/**
+	 * This also changes the editor's input.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	public void doSaveAs()
+	{
+<%if (genModel.isRichClientPlatform()) {%>
+  <%if (genModel.isRichAjaxPlatform()) {%>
+		new <%=genModel.getImportedName("org.eclipse.emf.common.ui.dialogs.ResourceDialog")%>(getSite().getShell(), null, SWT.NONE)
+			{
+    <%if (genModel.useClassOverrideAnnotation()) {%>
+				@Override
+    <%}%>
+				protected boolean isSave()
+				{
+					return true;
+				}
+
+    <%if (genModel.useClassOverrideAnnotation()) {%>
+				@Override
+    <%}%>
+				protected boolean processResources()
+				{
+					<%="List" + (genModel.useGenerics() ? "<URI>" : "")%> uris = getURIs();
+					if (uris.size() > 0)
+					{
+						URI uri = <%=genModel.useGenerics() ? "": "(URI)"%>uris.get(0);
+						doSaveAs(uri, new <%=genModel.getImportedName("org.eclipse.emf.common.ui.URIEditorInput")%>(uri));
+						return true;
+					}
+					else
+					{
+						return false;
+					}
+				}
+			}.open();
+  <%} else {%>
+		String[] filters = <%if (!genModel.useGenerics()) {%>(String[])<%}%>FILE_EXTENSION_FILTERS.toArray(new String[FILE_EXTENSION_FILTERS.size()]);
+		String[] files = <%=genModel.getImportedName(genModel.getQualifiedEditorAdvisorClassName())%>.openFilePathDialog(getSite().getShell(), <%=genModel.getImportedName("org.eclipse.swt.SWT")%>.SAVE, filters);
+		if (files.length > 0)
+		{
+			URI uri = URI.createFileURI(files[0]);
+			doSaveAs(uri, new <%=genModel.getImportedName("org.eclipse.emf.common.ui.URIEditorInput")%>(uri));
+		}
+  <%}%>
+<%} else {%>
+		SaveAsDialog saveAsDialog = new SaveAsDialog(getSite().getShell());
+		saveAsDialog.open();
+		IPath path = saveAsDialog.getResult();
+		if (path != null)
+		{
+			IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
+			if (file != null)
+			{
+				doSaveAs(URI.createPlatformResourceURI(file.getFullPath().toString(), true), new FileEditorInput(file));
+			}
+		}
+<%}%>
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void doSaveAs(URI uri, IEditorInput editorInput)
+	{
+		(<%if (!genModel.useGenerics()) {%>(Resource)<%}%>editingDomain.getResourceSet().getResources().get(0)).setURI(uri);
+		setInputWithNotify(editorInput);
+		setPartName(editorInput.getName());
+		IProgressMonitor progressMonitor =
+			getActionBars().getStatusLineManager() != null ?
+				getActionBars().getStatusLineManager().getProgressMonitor() :
+				new <%=genModel.getImportedName("org.eclipse.core.runtime.NullProgressMonitor")%>();
+		doSave(progressMonitor);
+	}
+<%if (!genModel.isRichClientPlatform()) {%>
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	public void gotoMarker(IMarker marker)
+	{
+<%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF23_VALUE) {%>
+		<%=_ListOfAnything%> targetObjects = markerHelper.getTargetObjects(editingDomain, marker);
+		if (!targetObjects.isEmpty())
+		{
+			setSelectionToViewer(targetObjects);
+		}
+<%} else {%>
+		try
+		{
+			if (marker.isSubtypeOf(EValidator.MARKER))
+			{
+				String uriAttribute = marker.getAttribute(EValidator.URI_ATTRIBUTE, null);
+				if (uriAttribute != null)
+				{
+					URI uri = URI.createURI(uriAttribute);
+					EObject eObject = editingDomain.getResourceSet().getEObject(uri, true);
+					if (eObject != null)
+					{
+					  setSelectionToViewer(Collections.singleton(editingDomain.getWrapper(eObject)));
+					}
+				}
+			}
+		}
+		catch (CoreException exception)
+		{
+			<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.log(exception);
+		}
+<%}%>
+	}
+<%}%>
+
+	/**
+	 * This is called during startup.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	public void init(IEditorSite site, IEditorInput editorInput)
+	{
+		setSite(site);
+		setInputWithNotify(editorInput);
+		setPartName(editorInput.getName());
+		site.setSelectionProvider(this);
+		site.getPage().addPartListener(partListener);
+<%if (!genModel.isRichClientPlatform()) {%>
+		ResourcesPlugin.getWorkspace().addResourceChangeListener(resourceChangeListener, IResourceChangeEvent.POST_CHANGE);
+<%}%>
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	public void setFocus()
+	{
+<%if (genPackage.isMultipleEditorPages()) {%>
+		if (currentViewerPane != null)
+		{
+			currentViewerPane.setFocus();
+		}
+		else
+		{
+			getControl(getActivePage()).setFocus();
+		}
+<%} else {%>
+		getControl(getActivePage()).setFocus();
+<%}%>
+	}
+
+	/**
+	 * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	public void addSelectionChangedListener(ISelectionChangedListener listener)
+	{
+		selectionChangedListeners.add(listener);
+	}
+
+	/**
+	 * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	public void removeSelectionChangedListener(ISelectionChangedListener listener)
+	{
+		selectionChangedListeners.remove(listener);
+	}
+
+	/**
+	 * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to return this editor's overall selection.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	public ISelection getSelection()
+	{
+		return editorSelection;
+	}
+
+	/**
+	 * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to set this editor's overall selection.
+	 * Calling this result will notify the listeners.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	public void setSelection(ISelection selection)
+	{
+		editorSelection = selection;
+
+<%if (genModel.useGenerics()) {%>
+		for (ISelectionChangedListener listener : selectionChangedListeners)
+<%} else {%>
+		for (Iterator listeners = selectionChangedListeners.iterator(); listeners.hasNext(); )
+<%}%>
+		{
+<%if (!genModel.useGenerics()) {%>
+			ISelectionChangedListener listener = (ISelectionChangedListener)listeners.next();
+<%}%>
+			listener.selectionChanged(new SelectionChangedEvent(this, selection));
+		}
+		setStatusLineManager(selection);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setStatusLineManager(ISelection selection)
+	{
+		IStatusLineManager statusLineManager = currentViewer != null && currentViewer == contentOutlineViewer ?
+			contentOutlineStatusLineManager : getActionBars().getStatusLineManager();
+
+		if (statusLineManager != null)
+		{
+			if (selection instanceof IStructuredSelection)
+			{
+				<%=_CollectionOfAnything%> collection = ((IStructuredSelection)selection).toList();
+				switch (collection.size())
+				{
+					case 0:
+					{
+						statusLineManager.setMessage(getString("_UI_NoObjectSelected"));<%=genModel.getNonNLS()%>
+						break;
+					}
+					case 1:
+					{
+						String text = new AdapterFactoryItemDelegator(adapterFactory).getText(collection.iterator().next());
+						statusLineManager.setMessage(getString("_UI_SingleObjectSelected", text));<%=genModel.getNonNLS()%>
+						break;
+					}
+					default:
+					{
+						statusLineManager.setMessage(getString("_UI_MultiObjectSelected", Integer.toString(collection.size())));<%=genModel.getNonNLS()%>
+						break;
+					}
+				}
+			}
+			else
+			{
+				statusLineManager.setMessage("");<%=genModel.getNonNLS()%>
+			}
+		}
+	}
+
+	/**
+	 * This looks up a string in the plugin's plugin.properties file.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static String getString(String key)
+	{
+		return <%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString(key);
+	}
+
+	/**
+	 * This looks up a string in plugin.properties, making a substitution.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static String getString(String key, Object s1)
+	{
+		return <%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString(key, new Object [] { s1 });
+	}
+
+	/**
+	 * This implements {@link org.eclipse.jface.action.IMenuListener} to help fill the context menus with contributions from the Edit menu.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	public void menuAboutToShow(IMenuManager menuManager)
+	{
+		((IMenuListener)getEditorSite().getActionBarContributor()).menuAboutToShow(menuManager);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EditingDomainActionBarContributor getActionBarContributor()
+	{
+		return (EditingDomainActionBarContributor)getEditorSite().getActionBarContributor();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IActionBars getActionBars()
+	{
+		return getActionBarContributor().getActionBars();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AdapterFactory getAdapterFactory()
+	{
+		return adapterFactory;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	public void dispose()
+	{
+		updateProblemIndication = false;
+
+<%if (!genModel.isRichClientPlatform()) {%>
+		ResourcesPlugin.getWorkspace().removeResourceChangeListener(resourceChangeListener);
+
+<%}%>
+		getSite().getPage().removePartListener(partListener);
+
+		adapterFactory.dispose();
+
+		if (getActionBarContributor().getActiveEditor() == this)
+		{
+			getActionBarContributor().setActiveEditor(null);
+		}
+
+<%if (genModel.useGenerics()) {%>
+		for (PropertySheetPage propertySheetPage : propertySheetPages)
+<%} else {%>
+		for (Iterator i = propertySheetPages.iterator(); i.hasNext(); )
+<%}%>
+		{
+<%if (!genModel.useGenerics()) {%>
+			PropertySheetPage propertySheetPage = (PropertySheetPage)i.next();
+<%}%>
+			propertySheetPage.dispose();
+		}
+
+		if (contentOutlinePage != null)
+		{
+			contentOutlinePage.dispose();
+		}
+
+		super.dispose();
+	}
+
+	/**
+	 * Returns whether the outline view should be presented to the user.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected boolean showOutlineView()
+	{
+		return <%=genPackage.isMultipleEditorPages()%>;
+	}
+}
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._SwqrSGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._SwqrSGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..6c7369f
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._SwqrSGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenPackage genPackage = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._-Y0XhHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._-Y0XhHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..8298b21
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._-Y0XhHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._0_yuaWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._0_yuaWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..da5fad6
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._0_yuaWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel, GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._Pm5iIDG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._Pm5iIDG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e17c886
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._Pm5iIDG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenPackage genPackage = parameter;
+targetPath = genPackage.getGenModel().getEditorDirectory();
+packageName = genPackage.getPresentationPackageName();
+className = genPackage.getModelWizardClassName();
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._Pm5iIjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._Pm5iIjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..250c8f3
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._Pm5iIjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,994 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ *   IBM - Initial API and implementation
+ */
+%>
+<%GenPackage genPackage = (GenPackage)argument; GenModel genModel=genPackage.getGenModel();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%@ 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"%>
+<%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") + ">" : "");%>
+package <%=genPackage.getPresentationPackageName()%>;
+
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+<%if (!genModel.useGenerics()) {%>
+import java.util.Iterator;
+<%}%>
+import java.util.List;
+import java.util.Map;
+import java.util.MissingResourceException;
+import java.util.StringTokenizer;
+
+<%if (!genModel.isRichClientPlatform() && genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) {%>
+import org.eclipse.emf.common.CommonPlugin;
+
+<%}%>
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+import org.eclipse.emf.edit.ui.provider.ExtendedImageRegistry;
+
+<%if (!genModel.isRichClientPlatform()) {%>
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
+
+<%}%>
+import org.eclipse.core.runtime.IProgressMonitor;
+
+import org.eclipse.jface.dialogs.MessageDialog;
+
+import org.eclipse.jface.viewers.IStructuredSelection;
+
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.jface.wizard.WizardPage;
+
+import org.eclipse.swt.SWT;
+
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.ModifyEvent;
+
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+
+<%if (!genModel.isRichClientPlatform()) {%>
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+
+import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
+
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.part.ISetSelectionTarget;
+
+<%}%>
+<%if (!genModel.isSuppressEMFMetaData()) {%>
+import <%=genPackage.getQualifiedFactoryInterfaceName()%>;
+<%}%>
+import <%=genPackage.getQualifiedPackageInterfaceName()%>;
+import <%=genPackage.getQualifiedEditPluginClassName()%>;
+
+
+<%genModel.markImportLocation(stringBuffer);%>
+
+
+/**
+ * This is a simple wizard for creating a new model file.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+<%if (genPackage.hasAPITags()) {%>
+ * <%=genPackage.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%}%>
+public class <%=genPackage.getModelWizardClassName()%> extends Wizard implements INewWizard
+{
+<%if (genModel.hasCopyrightField()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final <%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+	/**
+	 * The supported extensions for created files.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final <%=_ListOfString%> FILE_EXTENSIONS =
+		Collections.unmodifiableList(Arrays.asList(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_<%=genPackage.getEditorClassName()%>FilenameExtensions").split("\\s*,\\s*")));<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+
+	/**
+	 * A formatted list of supported file extensions, suitable for display.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String FORMATTED_FILE_EXTENSIONS =
+		<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_<%=genPackage.getEditorClassName()%>FilenameExtensions").replaceAll("\\s*,\\s*", ", ");<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%><%=genModel.getNonNLS(3)%>
+
+	/**
+	 * This caches an instance of the model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected <%=genModel.isSuppressEMFMetaData() ? genModel.getImportedName("org.eclipse.emf.ecore.EPackage") : genPackage.getPackageInterfaceName()%> <%=genPackage.getUncapPackageName()%> = <%=genPackage.getPackageInterfaceName()%>.eINSTANCE;
+
+	/**
+	 * This caches an instance of the model factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected <%=genModel.isSuppressEMFMetaData() ? genModel.getImportedName("org.eclipse.emf.ecore.EFactory") : genPackage.getFactoryInterfaceName()%> <%=genPackage.getUncapFactoryName()%> = <%=genPackage.getUncapPackageName()%>.get<%=genModel.isSuppressEMFMetaData() ? "EFactoryInstance" : genPackage.getFactoryName()%>();
+
+<%if (!genModel.isRichClientPlatform()) {%>
+	/**
+	 * This is the file creation page.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected <%=genPackage.getModelWizardClassName()%>NewFileCreationPage newFileCreationPage;
+
+<%}%>
+	/**
+	 * This is the initial object creation page.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected <%=genPackage.getModelWizardClassName()%>InitialObjectCreationPage initialObjectCreationPage;
+
+	/**
+	 * Remember the selection during initialization for populating the default container.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IStructuredSelection selection;
+
+	/**
+	 * Remember the workbench during initialization.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IWorkbench workbench;
+
+	/**
+<%if (!genPackage.hasDocumentRoot()) {%>
+	 * Caches the names of the types that can be created as the root object.
+<%} else {%>
+	 * Caches the names of the features representing global elements.
+<%}%>
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected <%=_ListOfString%> initialObjectNames;
+
+	/**
+	 * This just records the information.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	public void init(IWorkbench workbench, IStructuredSelection selection)
+	{
+		this.workbench = workbench;
+		this.selection = selection;
+		setWindowTitle(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_Wizard_label"));<%=genModel.getNonNLS()%>
+		setDefaultPageImageDescriptor(ExtendedImageRegistry.INSTANCE.getImageDescriptor(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getImage("full/wizban/New<%=genPackage.getPrefix()%>")));<%=genModel.getNonNLS()%>
+	}
+
+	/**
+<%if (!genPackage.hasDocumentRoot()) {%>
+	 * Returns the names of the types that can be created as the root object.
+<%} else {%>
+	 * Returns the names of the features representing global elements.
+<%}%>
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected <%=_CollectionOfString%> getInitialObjectNames()
+	{
+		if (initialObjectNames == null)
+		{
+			initialObjectNames = new <%=_ArrayListOfString%>();
+<%if (!genPackage.hasDocumentRoot()) {%>
+  <%if (genModel.useGenerics()) {%>
+			for (EClassifier eClassifier : <%=genPackage.getUncapPackageName()%>.getEClassifiers())
+  <%} else {%>
+			for (Iterator classifiers = <%=genPackage.getUncapPackageName()%>.getEClassifiers().iterator(); classifiers.hasNext(); )
+  <%}%>
+			{
+  <%if (!genModel.useGenerics()) {%>
+				EClassifier eClassifier = (EClassifier)classifiers.next();
+  <%}%>
+				if (eClassifier instanceof EClass)
+				{
+					EClass eClass = (EClass)eClassifier;
+					if (!eClass.isAbstract())
+					{
+						initialObjectNames.add(eClass.getName());
+					}
+				}
+			}
+<%} else {%>
+  <%if (genModel.useGenerics()) {%>
+			for (<%=genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature")%> eStructuralFeature : <%=genModel.getImportedName("org.eclipse.emf.ecore.util.ExtendedMetaData")%>.INSTANCE.getAllElements(<%=genModel.getImportedName("org.eclipse.emf.ecore.util.ExtendedMetaData")%>.INSTANCE.getDocumentRoot(<%=genPackage.getUncapPackageName()%>)))
+  <%} else {%>
+			for (Iterator elements = <%=genModel.getImportedName("org.eclipse.emf.ecore.util.ExtendedMetaData")%>.INSTANCE.getAllElements(<%=genModel.getImportedName("org.eclipse.emf.ecore.util.ExtendedMetaData")%>.INSTANCE.getDocumentRoot(<%=genPackage.getUncapPackageName()%>)).iterator(); elements.hasNext(); )
+  <%}%>
+			{
+  <%if (!genModel.useGenerics()) {%>
+				<%=genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature")%> eStructuralFeature = (<%=genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature")%>)elements.next();
+  <%}%>
+				if (eStructuralFeature.isChangeable())
+				{
+					EClassifier eClassifier = eStructuralFeature.getEType();
+					if (eClassifier instanceof EClass)
+					{
+						EClass eClass = (EClass)eClassifier;
+						if (!eClass.isAbstract())
+						{
+							initialObjectNames.add(eStructuralFeature.getName());
+						}
+					}
+				}
+			}
+<%}%>
+			Collections.sort(initialObjectNames, <%if (!genModel.isRichClientPlatform() && genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) {%>CommonPlugin.INSTANCE.getComparator()<%} else {%>java.text.Collator.getInstance()<%}%>);
+		}
+		return initialObjectNames;
+	}
+
+	/**
+	 * Create a new model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EObject createInitialModel()
+	{
+<%if (!genPackage.hasDocumentRoot()) {%>
+		EClass eClass = (EClass)<%=genPackage.getUncapPackageName()%>.getEClassifier(initialObjectCreationPage.getInitialObjectName());
+		EObject rootObject = <%=genPackage.getUncapFactoryName()%>.create(eClass);
+<%} else {%>
+		EClass eClass = <%=genModel.getImportedName("org.eclipse.emf.ecore.util.ExtendedMetaData")%>.INSTANCE.getDocumentRoot(<%=genPackage.getUncapPackageName()%>);
+		EStructuralFeature eStructuralFeature = eClass.getEStructuralFeature(initialObjectCreationPage.getInitialObjectName());
+		EObject rootObject = <%=genPackage.getUncapFactoryName()%>.create(eClass);
+		rootObject.eSet(eStructuralFeature, <%=genModel.getImportedName("org.eclipse.emf.ecore.util.EcoreUtil")%>.create((EClass)eStructuralFeature.getEType()));
+<%}%>
+		return rootObject;
+	}
+
+	/**
+	 * Do the work after everything is specified.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	public boolean performFinish()
+	{
+		try
+		{
+<%if (genModel.isRichClientPlatform()) {%>
+			// Get the URI of the model file.
+			//
+			final URI fileURI = getModelURI();
+			if (new <%=genModel.getImportedName("java.io.File")%>(fileURI.toFileString()).exists())
+			{
+				if (!MessageDialog.openQuestion
+						(getShell(),
+						 <%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_Question_title"),<%=genModel.getNonNLS()%>
+						 <%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_WARN_FileConflict", new String []{ fileURI.toFileString() })))<%=genModel.getNonNLS()%>
+				{
+					initialObjectCreationPage.selectFileField();
+					return false;
+				}
+			}
+			
+			// Do the work within an operation.
+			//
+			<%=genModel.getImportedName("org.eclipse.jface.operation.IRunnableWithProgress")%> operation = new <%=genModel.getImportedName("org.eclipse.jface.operation.IRunnableWithProgress")%>()
+			{
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+				@Override
+<%}%>
+				public void run(IProgressMonitor progressMonitor)
+<%} else {%>
+			// Remember the file.
+			//
+			final IFile modelFile = getModelFile();
+
+			// Do the work within an operation.
+			//
+			WorkspaceModifyOperation operation =
+				new WorkspaceModifyOperation()
+				{
+<%if (genModel.useClassOverrideAnnotation()) {%>
+					@Override
+<%}%>
+					protected void execute(IProgressMonitor progressMonitor)
+<%}%>
+					{
+						try
+						{
+							// Create a resource set
+							//
+							ResourceSet resourceSet = new ResourceSetImpl();
+
+<%if (!genModel.isRichClientPlatform()) {%>
+							// Get the URI of the model file.
+							//
+							URI fileURI = URI.createPlatformResourceURI(modelFile.getFullPath().toString(), true);
+
+<%}%>
+							// Create a resource for this file.
+							//
+							Resource resource = resourceSet.createResource(fileURI<%if (genPackage.isContentType()) {%>, <%=genPackage.getImportedPackageInterfaceName()%>.eCONTENT_TYPE<%}%>);
+
+							// Add the initial model object to the contents.
+							//
+							EObject rootObject = createInitialModel();
+							if (rootObject != null)
+							{
+								resource.getContents().add(rootObject);
+							}
+
+							// Save the contents of the resource to the file system.
+							//
+							<%=_MapOfObjectToObject%> options = new <%=_HashMapOfObjectToObject%>();
+							options.put(XMLResource.OPTION_ENCODING, initialObjectCreationPage.getEncoding());
+							resource.save(options);
+						}
+						catch (Exception exception)
+						{
+							<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.log(exception);
+						}
+						finally
+						{
+							progressMonitor.done();
+						}
+					}
+				};
+
+			getContainer().run(false, false, operation);
+
+<%if (genModel.isRichClientPlatform()) {%>
+			return <%=genModel.getImportedName(genModel.getQualifiedEditorAdvisorClassName())%>.openEditor(workbench, fileURI);			
+<%} else {%>
+			// Select the new file resource in the current view.
+			//
+			<%=genModel.getImportedName("org.eclipse.ui.IWorkbenchWindow")%> workbenchWindow = workbench.getActiveWorkbenchWindow();
+			<%=genModel.getImportedName("org.eclipse.ui.IWorkbenchPage")%> page = workbenchWindow.getActivePage();
+			final <%=genModel.getImportedName("org.eclipse.ui.IWorkbenchPart")%> activePart = page.getActivePart();
+			if (activePart instanceof ISetSelectionTarget)
+			{
+				final <%=genModel.getImportedName("org.eclipse.jface.viewers.ISelection")%> targetSelection = new <%=genModel.getImportedName("org.eclipse.jface.viewers.StructuredSelection")%>(modelFile);
+				getShell().getDisplay().asyncExec
+					(new Runnable()
+					 {
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+						 @Override
+<%}%>
+						 public void run()
+						 {
+							 ((ISetSelectionTarget)activePart).selectReveal(targetSelection);
+						 }
+					 });
+			}
+
+			// Open an editor on the new file.
+			//
+			try
+			{
+				page.openEditor
+					(new FileEditorInput(modelFile),
+					 workbench.getEditorRegistry().getDefaultEditor<%if (!genPackage.isContentType()) {%>(modelFile.getFullPath().toString()).getId());<%} else {%>
+					 	(modelFile.getFullPath().toString(),
+					 	 <%=genModel.getImportedName("org.eclipse.core.runtime.Platform")%>.getContentTypeManager().getContentType(<%=genPackage.getImportedPackageInterfaceName()%>.eCONTENT_TYPE)).getId());
+<%}%>					 	 
+			}
+			catch (<%=genModel.getImportedName("org.eclipse.ui.PartInitException")%> exception)
+			{
+				MessageDialog.openError(workbenchWindow.getShell(), <%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_OpenEditorError_label"), exception.getMessage());<%=genModel.getNonNLS()%>
+				return false;
+			}
+
+			return true;
+<%}%>
+		}
+		catch (Exception exception)
+		{
+			<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.log(exception);
+			return false;
+		}
+	}
+
+<%if (!genModel.isRichClientPlatform()) {%>
+	/**
+	 * This is the one page of the wizard.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public class <%=genPackage.getModelWizardClassName()%>NewFileCreationPage extends WizardNewFileCreationPage
+	{
+		/**
+		 * Pass in the selection.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public <%=genPackage.getModelWizardClassName()%>NewFileCreationPage(String pageId, IStructuredSelection selection)
+		{
+			super(pageId, selection);
+		}
+
+		/**
+		 * The framework calls this to see if the file is correct.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+		@Override
+<%}%>
+		protected boolean validatePage()
+		{
+			if (super.validatePage())
+			{
+				String extension = new <%=genModel.getImportedName("org.eclipse.core.runtime.Path")%>(getFileName()).getFileExtension();
+				if (extension == null || !FILE_EXTENSIONS.contains(extension))
+				{
+					String key = FILE_EXTENSIONS.size() > 1 ? "_WARN_FilenameExtensions" : "_WARN_FilenameExtension";<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+					setErrorMessage(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString(key, new Object [] { FORMATTED_FILE_EXTENSIONS }));
+					return false;
+				}
+				return true;
+			}
+			return false;
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public IFile getModelFile()
+		{
+			return ResourcesPlugin.getWorkspace().getRoot().getFile(getContainerFullPath().append(getFileName()));
+		}
+	}
+
+<%}%>
+	/**
+	 * This is the page where the type of object to create is selected.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public class <%=genPackage.getModelWizardClassName()%>InitialObjectCreationPage extends WizardPage
+	{
+<%if (genModel.isRichClientPlatform()) {%>
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected <%=genModel.getImportedName("org.eclipse.swt.widgets.Text")%> fileField;
+
+<%}%>
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected Combo initialObjectField;
+
+		/**
+		 * @generated
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 */
+		protected <%=_ListOfString%> encodings;
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected Combo encodingField;
+
+		/**
+		 * Pass in the selection.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public <%=genPackage.getModelWizardClassName()%>InitialObjectCreationPage(String pageId)
+		{
+			super(pageId);
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+		@Override
+<%}%>
+		public void createControl(Composite parent)
+		{
+			Composite composite = new Composite(parent, SWT.NONE);
+			{
+				GridLayout layout = new GridLayout();
+				layout.numColumns = 1;
+				layout.verticalSpacing = 12;
+				composite.setLayout(layout);
+
+				GridData data = new GridData();
+				data.verticalAlignment = GridData.FILL;
+				data.grabExcessVerticalSpace = true;
+				data.horizontalAlignment = GridData.FILL;
+				composite.setLayoutData(data);
+			}
+
+<%if (genModel.isRichClientPlatform()) {%>			
+			Label resourceURILabel = new Label(composite, SWT.LEFT);
+			{
+				resourceURILabel.setText(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_File_label"));<%=genModel.getNonNLS()%>
+
+				GridData data = new GridData();
+				data.horizontalAlignment = GridData.FILL;
+				resourceURILabel.setLayoutData(data);
+			}
+
+			Composite fileComposite = new Composite(composite, SWT.NONE);
+			{
+				GridData data = new GridData();
+				data.horizontalAlignment = GridData.END;
+				fileComposite.setLayoutData(data);
+
+				GridLayout layout = new GridLayout();
+				data.horizontalAlignment = GridData.FILL;
+				layout.marginHeight = 0;
+				layout.marginWidth = 0;
+				layout.numColumns = 2;
+				fileComposite.setLayout(layout);
+			}
+
+			fileField = new <%=genModel.getImportedName("org.eclipse.swt.widgets.Text")%>(fileComposite, SWT.BORDER);
+			{
+				GridData data = new GridData();
+				data.horizontalAlignment = GridData.FILL;
+				data.grabExcessHorizontalSpace = true;
+				data.horizontalSpan = 1;
+				fileField.setLayoutData(data);
+			}
+
+			fileField.addModifyListener(validator);
+
+  <%if (!genModel.isRichAjaxPlatform()) {%>
+			<%=genModel.getImportedName("org.eclipse.swt.widgets.Button")%> resourceURIBrowseFileSystemButton = new <%=genModel.getImportedName("org.eclipse.swt.widgets.Button")%>(fileComposite, SWT.PUSH);
+			resourceURIBrowseFileSystemButton.setText(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_Browse_label"));<%=genModel.getNonNLS()%>
+
+			resourceURIBrowseFileSystemButton.addSelectionListener
+				(new <%=genModel.getImportedName("org.eclipse.swt.events.SelectionAdapter")%>()
+				 {
+    <%if (genModel.useClassOverrideAnnotation()) {%>
+					 @Override
+    <%}%>
+					 public void widgetSelected(<%=genModel.getImportedName("org.eclipse.swt.events.SelectionEvent")%> event)
+					 {
+						 String[] filters = <%if (!genModel.useGenerics()) {%>(String[])<%}%><%=genPackage.getImportedEditorClassName()%>.FILE_EXTENSION_FILTERS.toArray(new String[<%=genPackage.getImportedEditorClassName()%>.FILE_EXTENSION_FILTERS.size()]);
+						 String[] files = <%=genModel.getImportedName(genModel.getQualifiedEditorAdvisorClassName())%>.openFilePathDialog(getShell(), <%=genModel.getImportedName("org.eclipse.swt.SWT")%>.SAVE, filters);
+						 if (files.length > 0)
+						 {
+							 fileField.setText(files[0]);
+						 }
+					 }
+				 });
+  <%}%>
+<%}%>
+			Label containerLabel = new Label(composite, SWT.LEFT);
+			{
+				containerLabel.setText(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_ModelObject"));<%=genModel.getNonNLS()%>
+
+				GridData data = new GridData();
+				data.horizontalAlignment = GridData.FILL;
+				containerLabel.setLayoutData(data);
+			}
+
+			initialObjectField = new Combo(composite, SWT.BORDER);
+			{
+				GridData data = new GridData();
+				data.horizontalAlignment = GridData.FILL;
+				data.grabExcessHorizontalSpace = true;
+				initialObjectField.setLayoutData(data);
+			}
+
+  <%if (genModel.useGenerics()) {%>
+			for (String objectName : getInitialObjectNames())
+			{
+				initialObjectField.add(getLabel(objectName));
+			}
+  <%} else {%>
+			for (Iterator i = getInitialObjectNames().iterator(); i.hasNext(); )
+			{
+				initialObjectField.add(getLabel((String)i.next()));
+			}
+  <%}%>
+
+			if (initialObjectField.getItemCount() == 1)
+			{
+				initialObjectField.select(0);
+			}
+			initialObjectField.addModifyListener(validator);
+
+			Label encodingLabel = new Label(composite, SWT.LEFT);
+			{
+				encodingLabel.setText(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_XMLEncoding"));<%=genModel.getNonNLS()%>
+
+				GridData data = new GridData();
+				data.horizontalAlignment = GridData.FILL;
+				encodingLabel.setLayoutData(data);
+			}
+			encodingField = new Combo(composite, SWT.BORDER);
+			{
+				GridData data = new GridData();
+				data.horizontalAlignment = GridData.FILL;
+				data.grabExcessHorizontalSpace = true;
+				encodingField.setLayoutData(data);
+			}
+
+  <%if (genModel.useGenerics()) {%>
+			for (String encoding : getEncodings())
+			{
+				encodingField.add(encoding);
+			}
+  <%} else {%>
+			for (Iterator i = getEncodings().iterator(); i.hasNext(); )
+			{
+				encodingField.add((String)i.next());
+			}
+  <%}%>
+
+			encodingField.select(0);
+			encodingField.addModifyListener(validator);
+
+			setPageComplete(validatePage());
+			setControl(composite);
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected ModifyListener validator =
+			new ModifyListener()
+			{
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+				@Override
+<%}%>
+				public void modifyText(ModifyEvent e)
+				{
+					setPageComplete(validatePage());
+				}
+			};
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected boolean validatePage()
+		{
+<%if (genModel.isRichClientPlatform()) {%>
+			URI fileURI = getFileURI();
+			if (fileURI == null || fileURI.isEmpty())
+			{
+				setErrorMessage(null);
+				return false;
+			}
+
+			String extension = fileURI.fileExtension();
+			if (extension == null || !FILE_EXTENSIONS.contains(extension))
+			{
+				String key = FILE_EXTENSIONS.size() > 1 ? "_WARN_FilenameExtensions" : "_WARN_FilenameExtension";<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+				setErrorMessage(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString(key, new Object [] { FORMATTED_FILE_EXTENSIONS }));
+				return false;
+			}
+
+			setErrorMessage(null);
+<%}%>
+			return getInitialObjectName() != null && getEncodings().contains(encodingField.getText());
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+		@Override
+<%}%>
+		public void setVisible(boolean visible)
+		{
+			super.setVisible(visible);
+			if (visible)
+			{
+<%if (!genModel.isRichClientPlatform()) {%>
+				if (initialObjectField.getItemCount() == 1)
+				{
+					initialObjectField.clearSelection();
+					encodingField.setFocus();
+				}
+				else
+				{
+					encodingField.clearSelection();
+					initialObjectField.setFocus();
+				}
+<%} else {%>
+				initialObjectField.clearSelection();
+				encodingField.clearSelection();
+				fileField.setFocus();
+<%}%>
+			}
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public String getInitialObjectName()
+		{
+			String label = initialObjectField.getText();
+
+  <%if (genModel.useGenerics()) {%>
+			for (String name : getInitialObjectNames())
+  <%} else {%>
+			for (Iterator i = getInitialObjectNames().iterator(); i.hasNext(); )
+  <%}%>
+			{
+  <%if (!genModel.useGenerics()) {%>
+				String name = (String)i.next();
+  <%}%>
+				if (getLabel(name).equals(label))
+				{
+					return name;
+				}
+			}
+			return null;
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public String getEncoding()
+		{
+			return encodingField.getText();
+		}
+<%if (genModel.isRichClientPlatform()) {%>
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public URI getFileURI()
+		{
+			try
+			{
+				return URI.createFileURI(fileField.getText());
+			}
+			catch (Exception exception)
+			{
+				// Ignore
+			}
+			return null;
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public void selectFileField()
+		{
+				initialObjectField.clearSelection();
+				encodingField.clearSelection();
+				fileField.selectAll();
+				fileField.setFocus();
+		}		
+<%}%>
+<%{ String type = genPackage.hasDocumentRoot() ? "feature" : "type"; String prefix = genPackage.hasDocumentRoot() ? "_UI_DocumentRoot_" : "_UI_";%>
+
+		/**
+		 * Returns the label for the specified <%=type%> name.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected String getLabel(String <%=type%>Name)
+		{
+			try
+			{
+				return <%=genPackage.getEditPluginClassName()%>.INSTANCE.getString("<%=prefix%>" + <%=type%>Name + "_<%=type%>");<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+			}
+			catch(MissingResourceException mre)
+			{
+				<%=genModel.getImportedName(genModel.getQualifiedEditorPluginClassName())%>.INSTANCE.log(mre);
+			}
+			return <%=type%>Name;
+		}
+<%}%>
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected <%=_CollectionOfString%> getEncodings()
+		{
+			if (encodings == null)
+			{
+				encodings = new <%=_ArrayListOfString%>();
+				for (StringTokenizer stringTokenizer = new StringTokenizer(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_XMLEncodingChoices")); stringTokenizer.hasMoreTokens(); )<%=genModel.getNonNLS()%>
+				{
+					encodings.add(stringTokenizer.nextToken());
+				}
+			}
+			return encodings;
+		}
+	}
+
+	/**
+	 * The framework calls this to create the contents of the wizard.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+		@Override
+<%}%>
+	public void addPages()
+	{
+<%if (!genModel.isRichClientPlatform()) {%>
+		// Create a page, set the title, and the initial model file name.
+		//
+		newFileCreationPage = new <%=genPackage.getModelWizardClassName()%>NewFileCreationPage("Whatever", selection);<%=genModel.getNonNLS()%>
+		newFileCreationPage.setTitle(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_<%=genPackage.getModelWizardClassName()%>_label"));<%=genModel.getNonNLS()%>
+		newFileCreationPage.setDescription(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_<%=genPackage.getModelWizardClassName()%>_description"));<%=genModel.getNonNLS()%>
+		newFileCreationPage.setFileName(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_<%=genPackage.getEditorClassName()%>FilenameDefaultBase") + "." + <%if (!genModel.useGenerics()) {%>(String)<%}%>FILE_EXTENSIONS.get(0));<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+		addPage(newFileCreationPage);
+
+		// Try and get the resource selection to determine a current directory for the file dialog.
+		//
+		if (selection != null && !selection.isEmpty())
+		{
+			// Get the resource...
+			//
+			Object selectedElement = selection.iterator().next();
+			if (selectedElement instanceof IResource)
+			{
+				// Get the resource parent, if its a file.
+				//
+				IResource selectedResource = (IResource)selectedElement;
+				if (selectedResource.getType() == IResource.FILE)
+				{
+					selectedResource = selectedResource.getParent();
+				}
+
+				// This gives us a directory...
+				//
+				if (selectedResource instanceof IFolder || selectedResource instanceof IProject)
+				{
+					// Set this for the container.
+					//
+					newFileCreationPage.setContainerFullPath(selectedResource.getFullPath());
+
+					// Make up a unique new name here.
+					//
+					String defaultModelBaseFilename = <%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_<%=genPackage.getEditorClassName()%>FilenameDefaultBase");<%=genModel.getNonNLS()%>
+					String defaultModelFilenameExtension = <%if (!genModel.useGenerics()) {%>(String)<%}%>FILE_EXTENSIONS.get(0);
+					String modelFilename = defaultModelBaseFilename + "." + defaultModelFilenameExtension;<%=genModel.getNonNLS()%>
+					for (int i = 1; ((IContainer)selectedResource).findMember(modelFilename) != null; ++i)
+					{
+						modelFilename = defaultModelBaseFilename + i + "." + defaultModelFilenameExtension;<%=genModel.getNonNLS()%>
+					}
+					newFileCreationPage.setFileName(modelFilename);
+				}
+			}
+		}
+<%}%>
+		initialObjectCreationPage = new <%=genPackage.getModelWizardClassName()%>InitialObjectCreationPage("Whatever2");<%=genModel.getNonNLS()%>
+		initialObjectCreationPage.setTitle(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_<%=genPackage.getModelWizardClassName()%>_label"));<%=genModel.getNonNLS()%>
+		initialObjectCreationPage.setDescription(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_Wizard_initial_object_description"));<%=genModel.getNonNLS()%>
+		addPage(initialObjectCreationPage);
+	}
+
+<%if (genModel.isRichClientPlatform()) {%>
+	/**
+	 * Get the URI from the page.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public URI getModelURI()
+	{
+		return initialObjectCreationPage.getFileURI();
+	}
+
+<%} else {%>
+	/**
+	 * Get the file from the page.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IFile getModelFile()
+	{
+		return newFileCreationPage.getModelFile();
+	}
+
+<%}%>
+}
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._PmvxIjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._PmvxIjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._PmvxIjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._PmvxIzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._PmvxIzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._PmvxIzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._PmvxJTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._PmvxJTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._PmvxJTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._SwN_WGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._SwN_WGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..6c7369f
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._SwN_WGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenPackage genPackage = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._-dcY1HLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._-dcY1HLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..5bdb29c
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._-dcY1HLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,4 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._1AYkSGKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._1AYkSGKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..da5fad6
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._1AYkSGKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel, GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._Pn8D-TG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._Pn8D-TG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..60cf2f2
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._Pn8D-TG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,8 @@
+<%
+GenPackage genPackage = parameter;
+if (genPackage.hasConcreteClasses()) {
+new CodegenGeneratorAdapter(parameter).generateGIF("editor/ModelFile.gif", genPackage.getModelIconFileName(), genPackage.getPrefix(), null, false);
+}
+ else {
+}
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._Pn8D8jG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._Pn8D8jG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._Pn8D8jG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._Pn8D8zG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._Pn8D8zG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._Pn8D8zG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._Pn8D9TG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._Pn8D9TG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._Pn8D9TG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._-NpCRHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._-NpCRHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..6c9a61a
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._-NpCRHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._0_fzeWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._0_fzeWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..da5fad6
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._0_fzeWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel, GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsEjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsEjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsEjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsEzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsEzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsEzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsFTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsFTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsFTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsFzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsFzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..163f874
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsFzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPath = genModel.getEditorPluginDirectory();
+packageName = genModel.getEditorPluginPackageName();
+className = genModel.getEditorPluginClassName();
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsGTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsGTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..fbf5dcc
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsGTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,142 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ *   IBM - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument; /* Trick to import java.util.* without warnings */Iterator.class.getName();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%@ 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"%>
+package <%=genModel.getEditorPluginPackageName()%>;
+
+<%genModel.addImport("org.eclipse.emf.common.EMFPlugin");%>
+<%genModel.addImport("org.eclipse.emf.common.util.ResourceLocator");%>
+<%genModel.markImportLocation(stringBuffer);%>
+
+/**
+ * This is the central singleton for the <%=genModel.getModelName()%> editor plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+<%if (genModel.hasAPITags()) {%>
+ * <%=genModel.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%if (isJDK50 && genModel.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%}%>
+public final class <%=genModel.getEditorPluginClassName()%> extends EMFPlugin
+{
+<%if (genModel.hasCopyrightField()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final <%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+	
+<%}%>
+	/**
+	 * Keep track of the singleton.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final <%=genModel.getEditorPluginClassName()%> INSTANCE = new <%=genModel.getEditorPluginClassName()%>();
+	
+<%if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {%>
+	/**
+	 * Keep track of the singleton.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static Implementation plugin;
+
+<%}%>
+	/**
+	 * Create the instance.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public <%=genModel.getEditorPluginClassName()%>()
+	{
+		super
+			(new ResourceLocator [] 
+			{
+<%for (String pluginClassName : genModel.getEditResourceDelegateImportedPluginClassNames()) {%>
+				<%=pluginClassName%>.INSTANCE,
+<%}%>
+			});
+	}
+
+	/**
+	 * Returns the singleton instance of the Eclipse plugin.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the singleton instance.
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	public ResourceLocator getPluginResourceLocator()
+	{
+<%if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {%>
+		return null;
+<%} else {%>
+		return plugin;
+<%}%>
+	}
+	
+<%if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {%>
+	/**
+	 * Returns the singleton instance of the Eclipse plugin.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the singleton instance.
+	 * @generated
+	 */
+	public static Implementation getPlugin()
+	{
+		return plugin;
+	}
+	
+	/**
+	 * The actual implementation of the Eclipse <b>Plugin</b>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static class Implementation extends <%=genModel.getImportedName("org.eclipse.emf.common.ui.EclipseUIPlugin")%>
+	{
+		/**
+		 * Creates an instance.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+<%if (genModel.needsRuntimeCompatibility()) {%>
+		 * @param descriptor the description of the plugin.
+<%}%>
+		 * @generated
+		 */
+		public Implementation(<%if (genModel.needsRuntimeCompatibility()) {%><%=genModel.getImportedName("org.eclipse.core.runtime.IPluginDescriptor")%> descriptor<%}%>)
+		{
+			super(<%if (genModel.needsRuntimeCompatibility()) {%>descriptor<%}%>);
+	
+			// Remember the static instance.
+			//
+			plugin = this;
+		}
+	}
+
+<%}%>
+}
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._SwE1aGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._SwE1aGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..76ca0ef
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._SwE1aGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._-P4d9HLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._-P4d9HLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..427b54c
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._-P4d9HLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._0_o9aWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._0_o9aWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..da5fad6
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._0_o9aWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel, GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnAjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnAjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnAjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnAzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnAzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnAzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnBTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnBTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnBTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnBzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnBzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..b0ee89b
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnBzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPath = genModel.getEditorPluginDirectory();
+packageName = genModel.getEditorPluginPackageName();
+className = genModel.getEditorAdvisorClassName();
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnCTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnCTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..9e4752d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnCTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,738 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ *   IBM - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument;%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%String _ListOfString = "List" + (genModel.useGenerics() ? "<String>" : "");%>
+<%String _UniqueEListOfString = "UniqueEList" + (genModel.useGenerics() ? "<String>" : "");%>
+<%String _StringBuilder = genModel.getImportedName(genModel.useGenerics() ? "java.lang.StringBuilder" : "java.lang.StringBuffer");%>
+<%@ 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"%>
+package <%=genModel.getEditorPluginPackageName()%>;
+
+<%if (!genModel.isRichAjaxPlatform()) {%>
+import java.io.File;
+import java.util.Arrays;
+<%}%>
+<%if (!genModel.useGenerics()) {%>
+import java.util.Iterator;
+<%}%>
+<%if (genModel.getAllGenPackagesWithConcreteClasses().size() > 1) {%>
+import java.util.List;
+<%}%>
+
+import org.eclipse.equinox.app.IApplication;
+import org.eclipse.equinox.app.IApplicationContext;
+
+import org.eclipse.jface.action.GroupMarker;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.window.Window;
+<%if (!genModel.isRichAjaxPlatform()) {%>
+import org.eclipse.swt.SWT;
+<%}%>
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.widgets.Display;
+<%if (!genModel.isRichAjaxPlatform()) {%>
+import org.eclipse.swt.widgets.FileDialog;
+import org.eclipse.swt.widgets.Shell;
+<%}%>
+import org.eclipse.ui.IEditorDescriptor;
+import org.eclipse.ui.IFolderLayout;
+import org.eclipse.ui.IPageLayout;
+import org.eclipse.ui.IPerspectiveFactory;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchActionConstants;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.actions.ActionFactory;
+<%if (!genModel.isRichAjaxPlatform()) {%>
+import org.eclipse.ui.actions.ContributionItemFactory;
+<%}%>
+import org.eclipse.ui.application.ActionBarAdvisor;
+import org.eclipse.ui.application.IActionBarConfigurer;
+import org.eclipse.ui.application.IWorkbenchConfigurer;
+import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
+import org.eclipse.ui.application.WorkbenchAdvisor;
+import org.eclipse.ui.application.WorkbenchWindowAdvisor;
+
+import org.eclipse.emf.common.ui.URIEditorInput;
+import org.eclipse.emf.common.ui.action.WorkbenchWindowActionDelegate;
+import org.eclipse.emf.common.util.URI;
+<%if (genModel.getAllGenPackagesWithConcreteClasses().size() > 1) {%>
+import org.eclipse.emf.common.util.UniqueEList;
+<%}%>
+import org.eclipse.emf.edit.ui.action.LoadResourceAction;
+import org.eclipse.emf.edit.ui.util.EditUIUtil;
+
+import <%=genModel.getQualifiedEditorPluginClassName()%>;
+<%genModel.markImportLocation(stringBuffer);%>
+
+
+/**
+ * Customized {@link WorkbenchAdvisor} for the RCP application.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+<%if (genModel.hasAPITags()) {%>
+ * <%=genModel.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%if (isJDK50 && genModel.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%} else if (isJDK50 && GenModelUtil.hasAPIDeprecatedTag(genModel.getAllGenPackagesWithConcreteClasses())) {%>
+@SuppressWarnings("deprecation")
+<%}%>
+public final class <%=genModel.getEditorAdvisorClassName()%> extends WorkbenchAdvisor
+{
+<%if (genModel.hasCopyrightField()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+<%if (!genModel.isRichAjaxPlatform()) {%>
+	/**
+	 * The default file extension filters for use in dialogs.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+  <%if (genModel.getAllGenPackagesWithConcreteClasses().size() == 1) {%>
+	private static final String[] FILE_EXTENSION_FILTERS = <%if (!genModel.useGenerics()) {%>(String[])<%}%><%=genModel.getAllGenPackagesWithConcreteClasses().get(0).getImportedEditorClassName()%>.FILE_EXTENSION_FILTERS.toArray(new String[0]);
+  <%} else {%>
+	private static final String[] FILE_EXTENSION_FILTERS = getFileExtensionFilters();
+
+	/**
+	 * Returns the default file extension filters. This method should only be used to initialize {@link #FILE_EXTENSION_FILTERS}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static String[] getFileExtensionFilters()
+	{
+		<%=_ListOfString%> result = new <%=_UniqueEListOfString%>();
+    <%for (GenPackage genPackage : genModel.getAllGenPackagesWithConcreteClasses()) {%>
+		result.addAll(<%=genPackage.getImportedEditorClassName()%>.FILE_EXTENSION_FILTERS);
+    <%}%>
+		return <%if (!genModel.useGenerics()) {%>(String[])<%}%>result.toArray(new String[0]);
+	}
+  <%}%> 
+<%}%>
+
+	/**
+	 * This looks up a string in the plugin's plugin.properties file.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static String getString(String key)
+	{
+		return <%=genModel.getEditorPluginClassName()%>.INSTANCE.getString(key);
+	}
+
+	/**
+	 * This looks up a string in plugin.properties, making a substitution.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static String getString(String key, Object s1)
+	{
+		return <%=genModel.getQualifiedEditorPluginClassName()%>.INSTANCE.getString(key, new Object [] { s1 });
+	}
+
+	/**
+	 * RCP's application
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static class Application implements IApplication
+	{
+		/**
+		 * @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.IApplicationContext)
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+<%if (genModel.useInterfaceOverrideAnnotation()){%>
+		@Override
+<%}%>
+		public Object start(IApplicationContext context) throws Exception
+		{
+			WorkbenchAdvisor workbenchAdvisor = new <%=genModel.getEditorAdvisorClassName()%>();
+			Display display = PlatformUI.createDisplay();
+			try
+			{
+				int returnCode = PlatformUI.createAndRunWorkbench(display, workbenchAdvisor);
+				if (returnCode == PlatformUI.RETURN_RESTART)
+				{
+					return IApplication.EXIT_RESTART;
+				}
+				else
+				{
+					return IApplication.EXIT_OK;
+				}
+			}
+			finally
+			{
+				display.dispose();
+			}
+		}
+
+		/**
+		 * @see org.eclipse.equinox.app.IApplication#stop()
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+<%if (genModel.useInterfaceOverrideAnnotation()){%>
+		@Override
+<%}%>
+		public void stop()
+		{
+			// Do nothing.
+		}
+	}
+
+	/**
+	 * RCP's perspective
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static class Perspective implements IPerspectiveFactory
+	{
+		/**
+		 * Perspective ID
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public static final String ID_PERSPECTIVE = "<%=genModel.getQualifiedEditorAdvisorClassName()%>Perspective";<%=genModel.getNonNLS()%>
+
+		/**
+		 * @see org.eclipse.ui.IPerspectiveFactory#createInitialLayout(org.eclipse.ui.IPageLayout)
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+<%if (genModel.useInterfaceOverrideAnnotation()){%>
+		@Override
+<%}%>
+		public void createInitialLayout(IPageLayout layout)
+		{
+			layout.setEditorAreaVisible(true);
+			layout.addPerspectiveShortcut(ID_PERSPECTIVE);
+
+			IFolderLayout right = layout.createFolder("right", IPageLayout.RIGHT, (float)0.66, layout.getEditorArea());<%=genModel.getNonNLS()%>
+			right.addView(IPageLayout.ID_OUTLINE);
+
+			IFolderLayout bottonRight = layout.createFolder("bottonRight", IPageLayout.BOTTOM, (float)0.60, "right");<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+			bottonRight.addView(IPageLayout.ID_PROP_SHEET);
+		}
+	}
+	
+	/**
+	 * RCP's window advisor
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static class WindowAdvisor extends WorkbenchWindowAdvisor
+	{
+		/**
+		 * @see WorkbenchWindowAdvisor#WorkbenchWindowAdvisor(org.eclipse.ui.application.IWorkbenchWindowConfigurer)
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public WindowAdvisor(IWorkbenchWindowConfigurer configurer)
+		{
+			super(configurer);
+		}
+		
+		/**
+		 * @see org.eclipse.ui.application.WorkbenchWindowAdvisor#preWindowOpen()
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+		@Override
+<%}%>
+		public void preWindowOpen()
+		{
+			IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
+			configurer.setInitialSize(new Point(600, 450));
+			configurer.setShowCoolBar(false);
+			configurer.setShowStatusLine(true);
+			configurer.setTitle(getString("_UI_Application_title"));<%=genModel.getNonNLS()%>
+		}
+		
+		/**
+		 * @see org.eclipse.ui.application.WorkbenchWindowAdvisor#createActionBarAdvisor(org.eclipse.ui.application.IActionBarConfigurer)
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+		@Override
+<%}%>
+		public ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer)
+		{
+			return new WindowActionBarAdvisor(configurer);
+		}
+	}
+
+	/**
+	 * RCP's action bar advisor
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static class WindowActionBarAdvisor extends ActionBarAdvisor
+	{
+		/**
+		 * @see ActionBarAdvisor#ActionBarAdvisor(org.eclipse.ui.application.IActionBarConfigurer)
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public WindowActionBarAdvisor(IActionBarConfigurer configurer)
+		{
+			super(configurer);
+		}
+		
+		/**
+		 * @see org.eclipse.ui.application.ActionBarAdvisor#fillMenuBar(org.eclipse.jface.action.IMenuManager)
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+		@Override
+<%}%>
+		protected void fillMenuBar(IMenuManager menuBar)
+		{
+			IWorkbenchWindow window = getActionBarConfigurer().getWindowConfigurer().getWindow();
+			menuBar.add(createFileMenu(window));
+			menuBar.add(createEditMenu(window));
+			menuBar.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
+			menuBar.add(createWindowMenu(window));
+			menuBar.add(createHelpMenu(window));					
+		}
+		
+		/**
+		 * Creates the 'File' menu.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected IMenuManager createFileMenu(IWorkbenchWindow window)
+		{
+			IMenuManager menu = new MenuManager(getString("_UI_Menu_File_label"),<%=genModel.getNonNLS()%>
+			IWorkbenchActionConstants.M_FILE);    
+			menu.add(new GroupMarker(IWorkbenchActionConstants.FILE_START));
+	
+			IMenuManager newMenu = new MenuManager(getString("_UI_Menu_New_label"), "new");<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+			newMenu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
+	
+			menu.add(newMenu);
+			menu.add(new Separator());
+			menu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
+			menu.add(new Separator());
+			addToMenuAndRegister(menu, ActionFactory.CLOSE.create(window));
+			addToMenuAndRegister(menu, ActionFactory.CLOSE_ALL.create(window));
+			menu.add(new Separator());
+			addToMenuAndRegister(menu, ActionFactory.SAVE.create(window));
+			addToMenuAndRegister(menu, ActionFactory.SAVE_AS.create(window));
+			addToMenuAndRegister(menu, ActionFactory.SAVE_ALL.create(window));
+			menu.add(new Separator());
+			addToMenuAndRegister(menu, ActionFactory.QUIT.create(window));
+			menu.add(new GroupMarker(IWorkbenchActionConstants.FILE_END));
+			return menu;
+		}
+
+		/**
+		 * Creates the 'Edit' menu.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected IMenuManager createEditMenu(IWorkbenchWindow window)
+		{
+			IMenuManager menu = new MenuManager(getString("_UI_Menu_Edit_label"),<%=genModel.getNonNLS()%>
+			IWorkbenchActionConstants.M_EDIT);
+			menu.add(new GroupMarker(IWorkbenchActionConstants.EDIT_START));
+	
+			addToMenuAndRegister(menu, ActionFactory.UNDO.create(window));
+			addToMenuAndRegister(menu, ActionFactory.REDO.create(window));
+			menu.add(new GroupMarker(IWorkbenchActionConstants.UNDO_EXT));
+			menu.add(new Separator());
+	
+			addToMenuAndRegister(menu, ActionFactory.CUT.create(window));
+			addToMenuAndRegister(menu, ActionFactory.COPY.create(window));
+			addToMenuAndRegister(menu, ActionFactory.PASTE.create(window));
+			menu.add(new GroupMarker(IWorkbenchActionConstants.CUT_EXT));
+			menu.add(new Separator());
+	
+			addToMenuAndRegister(menu, ActionFactory.DELETE.create(window));
+			addToMenuAndRegister(menu, ActionFactory.SELECT_ALL.create(window));
+			menu.add(new Separator());
+	
+			menu.add(new GroupMarker(IWorkbenchActionConstants.ADD_EXT));
+	
+			menu.add(new GroupMarker(IWorkbenchActionConstants.EDIT_END));
+			menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
+			return menu;
+		}
+	
+		/**
+		 * Creates the 'Window' menu.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected IMenuManager createWindowMenu(IWorkbenchWindow window)
+		{
+			IMenuManager menu = new MenuManager(getString("_UI_Menu_Window_label"),<%=genModel.getNonNLS()%>
+			IWorkbenchActionConstants.M_WINDOW);
+	
+			addToMenuAndRegister(menu, ActionFactory.OPEN_NEW_WINDOW.create(window));
+			menu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
+<%if (!genModel.isRichAjaxPlatform()) {%>
+			menu.add(ContributionItemFactory.OPEN_WINDOWS.create(window));
+<%}%>
+	
+			return menu;
+		}
+	
+		/**
+		 * Creates the 'Help' menu.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected IMenuManager createHelpMenu(IWorkbenchWindow window)
+		{
+			IMenuManager menu = new MenuManager(getString("_UI_Menu_Help_label"), IWorkbenchActionConstants.M_HELP);<%=genModel.getNonNLS()%>
+			// Welcome or intro page would go here
+			// Help contents would go here
+			// Tips and tricks page would go here
+			menu.add(new GroupMarker(IWorkbenchActionConstants.HELP_START));
+			menu.add(new GroupMarker(IWorkbenchActionConstants.HELP_END));
+			menu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
+			return menu;
+		}
+		
+		/**
+		 * Adds the specified action to the given menu and also registers the action with the
+		 * action bar configurer, in order to activate its key binding.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected void addToMenuAndRegister(IMenuManager menuManager, IAction action)
+		{
+			menuManager.add(action);
+			getActionBarConfigurer().registerGlobalAction(action);
+		}
+	}
+	
+	/**
+	 * About action for the RCP application.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static class AboutAction extends WorkbenchWindowActionDelegate
+	{
+		/**
+		 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+<%if (genModel.useInterfaceOverrideAnnotation()){%>
+		@Override
+<%}%>
+		public void run(IAction action)
+		{
+			MessageDialog.openInformation(getWindow().getShell(), getString("_UI_About_title"),<%=genModel.getNonNLS()%>
+			getString("_UI_About_text"));<%=genModel.getNonNLS()%>
+		}
+	}
+	
+<%if (!genModel.isRichAjaxPlatform()) {%>
+	/**
+	 * Open action for the objects from the <%=genModel.getModelName()%> model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static class OpenAction extends WorkbenchWindowActionDelegate
+	{
+		/**
+		 * Opens the editors for the files selected using the file dialog.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+<%if (genModel.useInterfaceOverrideAnnotation()){%>
+		@Override
+<%}%>
+		public void run(IAction action)
+		{
+			String[] filePaths = openFilePathDialog(getWindow().getShell(), SWT.OPEN, null);
+			if (filePaths.length > 0)
+			{
+				openEditor(getWindow().getWorkbench(), URI.createFileURI(filePaths[0]));
+			}
+		}
+	}
+<%}%>
+	
+	/**
+	 * Open URI action for the objects from the <%=genModel.getModelName()%> model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static class OpenURIAction extends WorkbenchWindowActionDelegate
+	{
+		/**
+		 * Opens the editors for the files selected using the LoadResourceDialog.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+<%if (genModel.useInterfaceOverrideAnnotation()){%>
+		@Override
+<%}%>
+		public void run(IAction action)
+		{
+			LoadResourceAction.LoadResourceDialog loadResourceDialog = new LoadResourceAction.LoadResourceDialog(getWindow().getShell());
+			if (Window.OK == loadResourceDialog.open())
+			{
+<%if (genModel.useGenerics()) {%>
+				for (URI uri : loadResourceDialog.getURIs())
+				{
+					openEditor(getWindow().getWorkbench(), uri);
+				}
+<%} else {%>
+				for (Iterator i = loadResourceDialog.getURIs().iterator(); i.hasNext();)
+				{
+					openEditor(getWindow().getWorkbench(), (URI)i.next());
+				}
+<%}%>
+			}
+		}
+	}
+	
+<%if (!genModel.isRichAjaxPlatform()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static String[] openFilePathDialog(Shell shell, int style, String[] fileExtensionFilters)
+	{
+		return openFilePathDialog(shell, style, fileExtensionFilters, (style & SWT.OPEN) != 0, (style & SWT.OPEN) != 0, (style & SWT.SAVE) != 0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static String[] openFilePathDialog(Shell shell, int style, String[] fileExtensionFilters, boolean includeGroupFilter, boolean includeAllFilter, boolean addExtension)
+	{
+		FileDialog fileDialog = new FileDialog(shell, style);
+		if (fileExtensionFilters == null)
+		{
+			fileExtensionFilters = FILE_EXTENSION_FILTERS;
+		}
+		
+		// If requested, augment the file extension filters by adding a group of all the other filters (*.ext1;*.ext2;...)
+		// at the beginning and/or an all files wildcard (*.*) at the end.
+		//
+		includeGroupFilter &= fileExtensionFilters.length > 1;
+		int offset = includeGroupFilter ? 1 : 0;
+		
+		if (includeGroupFilter || includeAllFilter)
+		{
+			int size = fileExtensionFilters.length + offset + (includeAllFilter ? 1 : 0);
+			String[] allFilters = new String[size];
+			<%=_StringBuilder%> group = includeGroupFilter ? new <%=_StringBuilder%>() : null;
+			
+			for (int i = 0; i < fileExtensionFilters.length; i++)
+			{
+				if (includeGroupFilter)
+				{
+					if (i != 0)
+					{
+						group.append(';');
+					}
+					group.append(fileExtensionFilters[i]);
+				}
+				allFilters[i + offset] = fileExtensionFilters[i];
+			}
+			
+			if (includeGroupFilter)
+			{
+				allFilters[0] = group.toString();
+			}
+			if (includeAllFilter)
+			{
+				allFilters[allFilters.length - 1] = "*.*";<%=genModel.getNonNLS()%>
+			}
+			
+			fileDialog.setFilterExtensions(allFilters);
+		}
+		else
+		{
+			fileDialog.setFilterExtensions(fileExtensionFilters);
+		}
+		fileDialog.open();
+		
+		String[] filenames = fileDialog.getFileNames();
+		String[] result = new String[filenames.length];
+		String path = fileDialog.getFilterPath() + File.separator;
+		String extension = null;
+		
+		// If extension adding requested, get the dotted extension corresponding to the selected filter.
+		//
+		if (addExtension)
+		{
+			int i = fileDialog.getFilterIndex();
+			if (i != -1 && (!includeAllFilter || i != fileExtensionFilters.length))
+			{
+				i = includeGroupFilter && i == 0 ? 0 : i - offset;
+				String filter = fileExtensionFilters[i];
+				int dot = filter.lastIndexOf('.');
+				if (dot == 1 && filter.charAt(0) == '*')
+				{
+					extension = filter.substring(dot);
+				}
+			}
+		}
+		
+		// Build the result by adding the selected path and, if needed, auto-appending the extension.
+		//
+		for (int i = 0; i < filenames.length; i++)
+		{
+			String filename = path + filenames[i];
+			if (extension != null)
+			{
+				int dot = filename.lastIndexOf('.');
+				if (dot == -1 || !Arrays.asList(fileExtensionFilters).contains("*" + filename.substring(dot)))<%=genModel.getNonNLS()%>
+				{
+					filename += extension;
+				}
+			}
+			result[i] = filename;
+		}
+		return result;
+	}
+<%}%>
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static boolean openEditor(IWorkbench workbench, URI uri)
+	{
+		IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
+		IWorkbenchPage page = workbenchWindow.getActivePage();
+		
+		IEditorDescriptor editorDescriptor = EditUIUtil.getDefaultEditor(uri, null);
+		if (editorDescriptor == null)
+		{
+			MessageDialog.openError(
+				workbenchWindow.getShell(),
+				getString("_UI_Error_title"),<%=genModel.getNonNLS()%>
+				getString("_WARN_No_Editor", uri.lastSegment()));<%=genModel.getNonNLS()%>
+			return false;
+		}
+		else
+		{
+			try
+			{
+				page.openEditor(new URIEditorInput(uri), editorDescriptor.getId());
+			}
+			catch (PartInitException exception)
+			{
+				MessageDialog.openError(
+					workbenchWindow.getShell(),
+					getString("_UI_OpenEditorError_label"),<%=genModel.getNonNLS()%>
+					exception.getMessage());
+				return false;
+			}
+		}
+		return true;
+	}
+	
+	/**
+	 * @see org.eclipse.ui.application.WorkbenchAdvisor#getInitialWindowPerspectiveId()
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+		@Override
+<%}%>
+	public String getInitialWindowPerspectiveId()
+	{
+		return Perspective.ID_PERSPECTIVE;
+	}
+
+	/**
+	 * @see org.eclipse.ui.application.WorkbenchAdvisor#initialize(org.eclipse.ui.application.IWorkbenchConfigurer)
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+		@Override
+<%}%>
+	public void initialize(IWorkbenchConfigurer configurer)
+	{
+		super.initialize(configurer);
+		configurer.setSaveAndRestore(true);
+	}
+	
+	/**
+	 * @see org.eclipse.ui.application.WorkbenchAdvisor#createWorkbenchWindowAdvisor(org.eclipse.ui.application.IWorkbenchWindowConfigurer)
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+		@Override
+<%}%>
+	public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer)
+	{
+		return new WindowAdvisor(configurer);
+	}
+}
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._Sv7EaGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._Sv7EaGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..76ca0ef
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._Sv7EaGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._-bppFHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._-bppFHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..5bdb29c
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._-bppFHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,4 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._1AiVSGKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._1AiVSGKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..da5fad6
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._1AiVSGKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel, GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._PnpJAjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._PnpJAjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._PnpJAjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._PnpJAzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._PnpJAzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._PnpJAzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._PnpJBTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._PnpJBTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._PnpJBTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._PnpJCTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._PnpJCTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..f5168ad
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._PnpJCTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,8 @@
+<%
+GenPackage genPackage = parameter;
+if (genPackage.hasConcreteClasses() && genPackage.isGenerateModelWizard()) {
+new CodegenGeneratorAdapter(parameter).generateGIF("editor/NewModel.gif", genPackage.getModelWizardIconFileName(), genPackage.getPrefix(), null, false);
+}
+ else {
+}
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._-e7mmHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._-e7mmHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..579cb47
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._-e7mmHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._1BIyOWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._1BIyOWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..7d63b7a
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._1BIyOWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getTestsDirectory(), genModel, GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b0jG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b0jG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b0jG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b0zG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b0zG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b0zG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b1TG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b1TG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b1TG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b1zG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b1zG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..07bdc33
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b1zG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPathName = genModel.getTestsProjectDirectory() + "/META-INF/MANIFEST.MF";
+overwrite = genModel.isUpdateClasspath();
+encoding = "UTF-8";
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b2TG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b2TG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..f0387b6
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b2TG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,48 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ * 
+ * Contributors: 
+ *   IBM - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument;%>
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: <%=genModel.getTestsBundleNameKey()%>
+Bundle-SymbolicName: <%=genModel.getTestsPluginID()%>;singleton:=true
+Automatic-Module-Name: <%=genModel.getTestsPluginID()%>
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: <%if (genModel.isRuntimeJar()) {%><%=genModel.getTestsPluginID()%>.jar<%}else{%>.<%}%>
+Bundle-Vendor: <%=genModel.getTestsBundleVendorKey()%>
+Bundle-Localization: <%=genModel.getTestsBundleLocalization()%>
+<%if (genModel.getComplianceLevel() == GenJDKLevel.JDK50_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+<%} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK60_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+<%} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK70_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+<%} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK80_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+<%} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK90_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: JavaSE-9
+<%} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK100_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: JavaSE-10
+<%}%>
+<%Iterator<String> packagesIterator = genModel.getTestsQualifiedPackageNames().iterator(); if (packagesIterator.hasNext()) { String pack = packagesIterator.next();%>
+Export-Package: <%=pack%><%while(packagesIterator.hasNext()) { pack = packagesIterator.next();%>,
+ <%=pack%><%}%>
+<%}%>
+<%Iterator<String> requiredPluginIterator = genModel.getTestsRequiredPlugins().iterator(); if (requiredPluginIterator.hasNext()) { String pluginID = requiredPluginIterator.next();%>
+Require-Bundle: <%=pluginID%><%if (!pluginID.startsWith("org.eclipse.core.runtime")){%>;visibility:=reexport<%} while(requiredPluginIterator.hasNext()) { pluginID = requiredPluginIterator.next();%>,
+ <%=pluginID%><%if (!pluginID.startsWith("org.eclipse.core.runtime") && !pluginID.equals("org.eclipse.xtext.xbase.lib") && !pluginID.equals("org.eclipse.emf.ecore.xcore.lib")) {%>;visibility:=reexport<%}}%>
+<%}%>
+<%if (genModel.getRuntimeVersion() == GenRuntimeVersion.EMF22 || genModel.getRuntimeVersion() == GenRuntimeVersion.EMF23) {%>
+Eclipse-LazyStart: true
+<%}%>
+Bundle-ActivationPolicy: lazy
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._SxRIOGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._SxRIOGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..76ca0ef
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._SxRIOGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._-pXU9HLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._-pXU9HLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..11b8a25
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._-pXU9HLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._1A1QOWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._1A1QOWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..7d63b7a
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._1A1QOWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getTestsDirectory(), genModel, GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-5TG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-5TG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-5TG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-5jG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-5jG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-5jG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-6DG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-6DG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-6DG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-6jG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-6jG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..8535ba5
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-6jG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPathName = genModel.getTestsProjectDirectory() + "/plugin.xml";
+overwrite = true;
+encoding = "UTF-8";
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-7DG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-7DG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..fb9be3a
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-7DG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,46 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ * 
+ * Contributors: 
+ *   IBM - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument; /* Trick to import java.util.* without warnings */Iterator.class.getName();%>
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<%@ 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"%>
+
+<%if (genModel.isBundleManifest()) {%>
+<plugin>
+<%} else {%>
+<plugin
+      name="%pluginName"
+      id="<%=genModel.getTestsPluginID()%>"
+      version="1.0.0"
+      provider-name="%providerName">
+
+   <requires>
+  <%for (String pluginID : genModel.getTestsRequiredPlugins()) {%>
+      <import plugin="<%=pluginID%>"<%if (!pluginID.startsWith("org.eclipse.core.runtime")) {%> export="true"<%}%>/>
+  <%}%>
+   </requires>
+
+   <runtime>
+  <%if (genModel.isRuntimeJar()) {%>
+      <library name="<%=genModel.getTestsPluginID()%>.jar">
+  <%} else {%>
+      <library name=".">
+  <%}%>
+         <export name="*"/>
+      </library>
+   </runtime>
+
+<%}%>
+</plugin>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._SxaSKGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._SxaSKGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..76ca0ef
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._SxaSKGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._-iWuBHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._-iWuBHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e5fc461
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._-iWuBHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._1AsGTWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._1AsGTWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..7d63b7a
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._1AsGTWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getTestsDirectory(), genModel, GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv4jG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv4jG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv4jG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv4zG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv4zG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv4zG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv5TG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv5TG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv5TG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv5zG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv5zG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..33fc1e0
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv5zG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPathName = genModel.getTestsProjectDirectory() + "/build.properties";
+overwrite = false;
+encoding = "ISO-8859-1";
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv6TG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv6TG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..24484d2
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv6TG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,33 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ * 
+ * Contributors: 
+ *   IBM - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument;%>
+<%String pluginClassesLocation = genModel.isRuntimeJar() ? genModel.getTestsPluginID()+".jar" : ".";%>
+<%List<String> sourceFolders = genModel.getTestsSourceFolders();%>
+<%@ 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"%>
+
+bin.includes = <%=pluginClassesLocation%>,\
+<%if (genModel.isBundleManifest()) {%>
+               META-INF/,\
+<%} else {%>
+               plugin.xml,\
+<%}%>
+<%String testsBundleLocalization = genModel.getTestsBundleLocalization(); int index = testsBundleLocalization.indexOf("/"); if (index == -1) {%>
+               <%=testsBundleLocalization%>.properties
+<%} else {%>
+               <%=testsBundleLocalization.substring(0, index + 1)%>
+<%}%>
+jars.compile.order = <%=pluginClassesLocation%>
+<% boolean first=true; for (Iterator<String> i = sourceFolders.iterator(); i.hasNext();) { String sourceFolder = i.next(); if (i.hasNext()){sourceFolder +=",\\";} if (first) {%>
+source.<%=pluginClassesLocation%> = <%=sourceFolder%><%first=false;} else {%><%=sourceFolder%><%}}%>
+output.<%=pluginClassesLocation%> = bin/
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._SxHXPGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._SxHXPGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..76ca0ef
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._SxHXPGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._-w9xxHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._-w9xxHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..beedc08
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._-w9xxHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._1BuoGWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._1BuoGWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..7d63b7a
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._1BuoGWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getTestsDirectory(), genModel, GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._Pp39ojG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._Pp39ojG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._Pp39ojG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._Pp39ozG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._Pp39ozG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._Pp39ozG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._Pp39pTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._Pp39pTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._Pp39pTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._PqBuoDG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._PqBuoDG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e93b9a5
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._PqBuoDG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenClass genClass = parameter;
+targetPath = genClass.getGenModel().getTestsDirectory();
+packageName = genClass.getGenPackage().getTestsPackageName();
+className = genClass.getTestCaseClassName();
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._PqBuojG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._PqBuojG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..0b6232d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._PqBuojG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,193 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.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();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%@ 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"%>
+package <%=genPackage.getTestsPackageName()%>;
+
+<%genModel.markImportLocation(stringBuffer);%>
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b><%=genClass.getFormattedName()%></b></em>'.
+ * <!-- end-user-doc -->
+<%if (!genClass.getImplementedGenFeatures().isEmpty()) { boolean first = true;%>
+  <%for (GenFeature genFeature : genClass.getImplementedGenFeatures()) {%>
+    <%if (genFeature.isTested() && !genFeature.isSuppressedGetVisibility()) {%>
+      <%if (first) { first = false;%>
+ * <p>
+ * The following features are tested:
+ * <ul>
+      <%}%>
+ *   <li>{@link <%=genFeature.getGenClass().getRawQualifiedInterfaceName()%>#<%=genFeature.getGetAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}</li>
+    <%}%>
+  <%}%>
+  <% if (!first) {%>
+ * </ul>
+ * </p>
+  <%}%>
+<%}%>
+<%if (!genClass.getImplementedGenOperations().isEmpty()) { boolean first = true;%>
+  <%for (GenOperation genOperation : genClass.getImplementedGenOperations()) {%>
+    <%if (first) { first = false;%>
+ * <p>
+ * The following operations are tested:
+ * <ul>
+    <%}%>
+ *   <li>{@link <%=genOperation.getGenClass().getRawQualifiedInterfaceName()%>#<%=genOperation.getName()%>(<%=genOperation.getParameterTypes(", ")%>) <em><%=genOperation.getFormattedName()%></em>}</li>
+  <%}%>
+  <% if (!first) {%>
+ * </ul>
+ * </p>
+  <%}%>
+<%}%>
+<%if (genClass.hasImplicitAPITags()) {%>
+ * <%=genClass.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%if (isJDK50 && genClass.hasImplicitAPIDeprecatedTag()) {%>
+@Deprecated
+<%}%>
+public<%if (genClass.isAbstract()) {%> abstract<%}%> class <%=genClass.getTestCaseClassName()%> extends <%=genClass.isModelRoot() ? genModel.getImportedName("junit.framework.TestCase") : genClass.getClassExtendsGenClass().getImportedTestCaseClassName()%>
+{
+<%if (genModel.hasCopyrightField()) {%>
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final <%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+<%}%>
+<%if (genModel.getDriverNumber() != null) {%>
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final <%=genModel.getImportedName("java.lang.String")%> mofDriverNumber = "<%=genModel.getDriverNumber()%>";<%=genModel.getNonNLS()%>
+<%}%>
+<%if (genClass.isModelRoot()) {%>
+
+	/**
+	 * The fixture for this <%=genClass.getFormattedName()%> test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected <%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceWildTypeArguments()%> fixture = null;
+<%}%>
+<%if (!genClass.isAbstract()) {%>
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args)
+	{
+		<%=genModel.getImportedName("junit.textui.TestRunner")%>.run(<%=genClass.getTestCaseClassName()%>.class);
+	}
+<%}%>
+
+	/**
+	 * Constructs a new <%=genClass.getFormattedName()%> test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public <%=genClass.getTestCaseClassName()%>(String name)
+	{
+		super(name);
+	}
+<%if (genClass.isModelRoot()) {%>
+
+	/**
+	 * Sets the fixture for this <%=genClass.getFormattedName()%> test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(<%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceWildTypeArguments()%> fixture)
+	{
+		this.fixture = fixture;
+	}
+<%}%>
+
+	/**
+	 * Returns the fixture for this <%=genClass.getFormattedName()%> test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+<%if (!genClass.isModelRoot() && genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	<%if (genModel.useGenerics()) {%>protected<%} else {%>private<%}%> <%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceWildTypeArguments()%> getFixture()
+	{
+<%if (genClass.isModelRoot()) {%>
+		return fixture;
+<%} else {%>
+		return (<%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceWildTypeArguments()%>)fixture;
+<%}%>
+	}
+<%if (!genClass.isAbstract()) {%>
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+<%if (genModel.useGenerics() && genClass.isMapEntry()) {%>
+	@SuppressWarnings("unchecked")
+<%}%>
+	protected void setUp() throws Exception
+	{
+  <%if (genClass.isMapEntry()) {%>
+		setFixture((<%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceWildTypeArguments()%>)<%=genPackage.getQualifiedEFactoryInternalInstanceAccessor()%>.create(<%=genClass.getQualifiedClassifierAccessor()%>));
+  <%} else {%>
+		setFixture(<%=genPackage.getQualifiedEFactoryInternalInstanceAccessor()%>.create<%=genClass.getName()%>());
+  <%}%>
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+	@Override
+<%}%>
+	protected void tearDown() throws Exception
+	{
+		setFixture(null);
+	}
+<%}%>
+<%for (GenFeature genFeature : genClass.getImplementedGenFeatures()) {%>
+<%@ 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,isJDK50:isJDK50"%><%//TestCase/implementedGenFeature.override.javajetinc%>
+<%}%>
+<%for (GenOperation genOperation : genClass.getImplementedGenOperations()) {%>
+<%@ 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,isJDK50:isJDK50"%><%//TestCase/implementedGenOperation.override.javajetinc%>
+<%}%>
+
+<%@ 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,isJDK50:isJDK50"%>
+} //<%=genClass.getTestCaseClassName()%>
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._Sx2-GGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._Sx2-GGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..671872d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._Sx2-GGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenClass genClass = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._-uRqJHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._-uRqJHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..e5fc461
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._-uRqJHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._1BR8KWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._1BR8KWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..7d63b7a
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._1BR8KWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getTestsDirectory(), genModel, GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCsjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCsjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCsjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCszG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCszG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCszG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCtTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCtTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCtTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCtzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCtzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d5cf19c
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCtzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+targetPathName = genModel.getTestsProjectDirectory() + "/" + genModel.getTestsBundleLocalization()+ ".properties";
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCuTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCuTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..9d89de6
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCuTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,18 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ * 
+ * Contributors: 
+ *   IBM - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument;%>
+<%@ 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"%>
+
+pluginName = <%=genModel.getTestsBundleName()%>
+providerName = <%=genModel.getTestsBundleVendorName()%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._SxkDKGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._SxkDKGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..76ca0ef
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._SxkDKGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._-7Y5FHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._-7Y5FHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..92700a9
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._-7Y5FHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._1BbtKWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._1BbtKWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..7d63b7a
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._1BbtKWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getTestsDirectory(), genModel, GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6fcjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6fcjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6fcjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6fczG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6fczG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6fczG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6fdTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6fdTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6fdTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6fdzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6fdzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..4ef1855
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6fdzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPath = genModel.getTestsDirectory();
+packageName = genModel.getTestSuitePackageName();
+className = genModel.getTestSuiteClassName();
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6feTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6feTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..578a983
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6feTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,87 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ *   IBM - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument; /* Trick to import java.util.* without warnings */Iterator.class.getName();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%@ 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"%>
+package <%=genModel.getTestSuitePackageName()%>;
+
+<%genModel.markImportLocation(stringBuffer);%>
+
+/**
+ * <!-- begin-user-doc -->
+ * A test suite for the '<em><b><%=genModel.getModelName()%></b></em>' model.
+ * <!-- end-user-doc -->
+<%if (genModel.hasAPITags()) {%>
+ * <%=genModel.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%if (isJDK50 && genModel.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%} else if (isJDK50) {
+  boolean needsSuppressDeprecation = false;
+  LOOP: for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) { if (genPackage.hasTests()) { for (GenClass genClass : genPackage.getGenClasses()) { if (!genClass.isExternalInterface() && !genClass.isAbstract() && genClass.hasTests() && genClass.hasImplicitAPIDeprecatedTag()) { needsSuppressDeprecation = true; break LOOP; }}}}
+  if (needsSuppressDeprecation) {%>
+@SuppressWarnings("deprecation")
+<%}}%>
+public class <%=genModel.getTestSuiteClassName()%> extends <%=genModel.getImportedName("junit.framework.TestSuite")%>
+{
+<%if (genModel.hasCopyrightField()) {%>
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final <%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+<%}%>
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args)
+	{
+		<%=genModel.getImportedName("junit.textui.TestRunner")%>.run(suite());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static <%=genModel.getImportedName("junit.framework.Test")%> suite()
+	{
+		<%=genModel.getImportedName("junit.framework.TestSuite")%> suite = new <%=genModel.getTestSuiteClassName()%>("<%=genModel.getModelName()%> Tests");<%=genModel.getNonNLS()%>
+<%for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {%>
+  <%if (genPackage.hasTests()) {%>
+		suite.addTest(<%=genModel.getImportedName(genPackage.getImportedTestSuiteClassName())%>.suite());
+  <%}%>
+<%}%>
+		return suite;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public <%=genModel.getTestSuiteClassName()%>(String name)
+	{
+		super(name);
+	}
+
+} //<%=genModel.getTestSuiteClassName()%>
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._SyAvGGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._SyAvGGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..76ca0ef
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._SyAvGGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._-0r0JHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._-0r0JHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..41ab56a
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._-0r0JHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._1Bk3GWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._1Bk3GWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..7d63b7a
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._1Bk3GWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getTestsDirectory(), genModel, GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqeakjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqeakjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqeakjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqeakzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqeakzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqeakzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqealTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqealTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqealTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqealzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqealzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..6faeced
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqealzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenPackage genPackage = parameter;
+targetPath = genPackage.getGenModel().getTestsDirectory();
+packageName = genPackage.getTestsPackageName();
+className = genPackage.getExampleClassName();
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqeamTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqeamTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..b631d3d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqeamTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,210 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ *   IBM - Initial API and implementation
+ */
+%>
+<%GenPackage genPackage = (GenPackage)argument; GenModel genModel = genPackage.getGenModel();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%
+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");
+%>
+<%@ 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"%>
+package <%=genPackage.getTestsPackageName()%>;
+
+<%genModel.markImportLocation(stringBuffer);%>
+
+/**
+ * <!-- begin-user-doc -->
+ * A sample utility for the '<em><b><%=genPackage.getPackageName()%></b></em>' package.
+ * <!-- end-user-doc -->
+<%if (genPackage.hasAPITags()) {%>
+ * <%=genPackage.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%} else if (isJDK50 && genPackage.getRootClass() != null && genPackage.getRootClass().hasAPIDeprecatedTag()) {%>
+@SuppressWarnings("deprecation")
+<%}%>
+public class <%=genPackage.getExampleClassName()%>
+{
+<%if (genModel.hasCopyrightField()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final <%=_String%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+	
+<%}%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * Load all the argument file paths or URIs as instances of the model.
+	 * <!-- end-user-doc -->
+	 * @param args the file paths or URIs.
+	 * @generated
+	 */
+	public static void main(String[] args)
+	{
+		// Create a resource set to hold the resources.
+		//
+		<%=_ResourceSet%> resourceSet = new <%=_ResourceSetImpl%>();
+		
+<%if (genPackage.isContentType()) {%>
+		// Register the appropriate resource factory to handle the content type.
+		//
+		resourceSet.getResourceFactoryRegistry().getContentTypeToFactoryMap().put
+			(<%=genPackage.getImportedPackageInterfaceName()%>.eCONTENT_TYPE,
+			 new <%=genModel.getImportedName(genPackage.getQualifiedEffectiveResourceFactoryClassName())%>());
+		
+		// Register the appropriate content handler for all file extensions and any element from the package's namespace.
+		//
+		resourceSet.getURIConverter().getContentHandlers().add
+			(new <%=genModel.getImportedName("org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl")%>(<%=genPackage.getImportedPackageInterfaceName()%>.eCONTENT_TYPE, null, null, <%if (genPackage.hasTargetNamespace()) {%><%=genPackage.getImportedPackageInterfaceName()%>.eNS_URI<%} else {%>(<%=_String%>)null<%}%>, null));
+<%} else {%>
+		// Register the appropriate resource factory to handle all file extensions.
+		//
+		resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put
+			(Resource.Factory.Registry.DEFAULT_EXTENSION, 
+			 new <%=genModel.getImportedName(genPackage.getQualifiedEffectiveResourceFactoryClassName())%>());
+<%}%>
+
+		// Register the package to ensure it is available during loading.
+		//
+		resourceSet.getPackageRegistry().put
+			(<%=genPackage.getImportedPackageInterfaceName()%>.eNS_URI, 
+			 <%=genPackage.getImportedPackageInterfaceName()%>.eINSTANCE);
+        
+		// If there are no arguments, emit an appropriate usage message.
+		//
+		if (args.length == 0)
+		{
+<%if (genPackage.getRootClass() != null) { GenClass rootClass = genPackage.getRootClass();%>
+			System.out.println("Enter a list of file paths or URIs that have content like this:");<%=genModel.getNonNLS()%>
+			try
+			{
+  <%if (genPackage.isContentType()) {%>
+				<%=_Resource%> resource = resourceSet.createResource(<%=_URI%>.createURI("http:///My.<%=genPackage.getFileExtension()%>"), <%=genPackage.getImportedPackageInterfaceName()%>.eCONTENT_TYPE);<%=genModel.getNonNLS()%>
+  <%} else {%>
+				<%=_Resource%> resource = resourceSet.createResource(<%=_URI%>.createURI("http:///My.<%=genPackage.getFileExtension()%>"));<%=genModel.getNonNLS()%>
+  <%}%>
+  <%if (genPackage.getRootFeature() != null) { GenFeature rootFeature = genPackage.getRootFeature(); GenClass documentRoot = rootFeature.getGenClass();%>
+				<%=documentRoot.getImportedInterfaceName()%> documentRoot = <%=genPackage.getQualifiedEFactoryInternalInstanceAccessor()%>.create<%=documentRoot.getName()%>();
+				<%=rootClass.getImportedInterfaceName()%> root = <%=rootClass.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.create<%=rootClass.getName()%>();
+    <%if (documentRoot.isDynamic()) {%>
+				documentRoot.eSet(<%=rootFeature.getQualifiedFeatureAccessor()%>, root);
+    <%} else {%>
+				documentRoot.set<%=rootFeature.getCapName()%>(root);
+    <%}%>
+				resource.getContents().add(<%if (!documentRoot.isEObjectExtension()){%>(<%=_EObject%>)<%}%>documentRoot);
+  <%} else {%>
+				<%=rootClass.getImportedInterfaceName()%><%=rootClass.getInterfaceWildTypeArguments()%> root = <%=rootClass.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.create<%=rootClass.getName()%>();
+				resource.getContents().add(<%if (!rootClass.isEObjectExtension()){%>(<%=_EObject%>)<%}%>root);
+  <%}%>
+				resource.save(<%=_System%>.out, null);
+			}
+			catch (<%=genModel.getImportedName("java.io.IOException")%> exception) 
+			{
+				exception.printStackTrace();
+			}
+<%} else {%>
+			System.out.println("Enter a list of file paths or URIs");
+<%}%>
+		}
+		else
+		{
+			// Iterate over all the arguments.
+			//
+			for (int i = 0; i < args.length; ++i)
+			{
+				// Construct the URI for the instance file.
+				// The argument is treated as a file path only if it denotes an existing file.
+				// Otherwise, it's directly treated as a URL.
+				//
+				<%=_File%> file = new <%=_File%>(args[i]);
+				<%=_URI%> uri = file.isFile() ? <%=_URI%>.createFileURI(file.getAbsolutePath()): URI.createURI(args[i]);
+
+				try
+				{
+					// Demand load resource for this file.
+					//
+					<%=_Resource%> resource = resourceSet.getResource(uri, true);
+					System.out.println("Loaded " + uri);<%=genModel.getNonNLS()%>
+
+					// Validate the contents of the loaded resource.
+					//
+<%if (genModel.useGenerics()) {%>
+					for (<%=_EObject%> eObject : resource.getContents())
+<%} else {%>
+					for (<%=_Iterator%> j = resource.getContents().iterator(); j.hasNext(); )
+<%}%>
+					{
+<%if (!genModel.useGenerics()) {%>
+						<%=_EObject%> eObject = (<%=_EObject%>)j.next();
+<%}%>
+						<%=_Diagnostic%> diagnostic = <%=_Diagnostician%>.INSTANCE.validate(eObject);
+						if (diagnostic.getSeverity() != Diagnostic.OK)
+						{
+							printDiagnostic(diagnostic, "");<%=genModel.getNonNLS()%>
+						}
+					}
+				}
+				catch (<%=_RuntimeException%> exception) 
+				{
+					System.out.println("Problem loading " + uri);<%=genModel.getNonNLS()%>
+					exception.printStackTrace();
+				}
+			}
+		}
+	}
+	
+	/**
+	 * <!-- begin-user-doc -->
+	 * Prints diagnostics with indentation.
+	 * <!-- end-user-doc -->
+	 * @param diagnostic the diagnostic to print.
+	 * @param indent the indentation for printing.
+	 * @generated
+	 */
+	protected static void printDiagnostic(Diagnostic diagnostic, String indent)
+	{
+		System.out.print(indent);
+		System.out.println(diagnostic.getMessage());
+<%if (genModel.useGenerics()) {%>
+		for (Diagnostic child : diagnostic.getChildren())
+		{
+			printDiagnostic(child, indent + "  ");<%=genModel.getNonNLS()%>
+		}
+<%} else {%>
+		for (Iterator i = diagnostic.getChildren().iterator(); i.hasNext(); )
+		{
+			printDiagnostic((Diagnostic)i.next(), indent + "  ");<%=genModel.getNonNLS()%>
+		}
+<%}%>
+	}
+
+} //<%=genPackage.getExampleClassName()%>
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._Sxt0KGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._Sxt0KGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..6c7369f
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._Sxt0KGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenPackage genPackage = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._-5ATdHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._-5ATdHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 0000000..cca9836
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._-5ATdHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._1B4ZGWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._1B4ZGWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 0000000..7d63b7a
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._1B4ZGWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getTestsDirectory(), genModel, GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBcjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBcjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBcjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBczG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBczG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBczG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBdTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBdTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBdTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBdzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBdzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..de41b71
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBdzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenPackage genPackage = parameter;
+targetPath = genPackage.getGenModel().getTestsDirectory();
+packageName = genPackage.getTestsPackageName();
+className = genPackage.getTestSuiteClassName();
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBeTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBeTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 0000000..9d1099c
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBeTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,87 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.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();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%@ 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"%>
+package <%=genPackage.getTestsPackageName()%>;
+
+<%genModel.markImportLocation(stringBuffer);%>
+
+/**
+ * <!-- begin-user-doc -->
+ * A test suite for the '<em><b><%=genPackage.getPackageName()%></b></em>' package.
+ * <!-- end-user-doc -->
+<%if (genPackage.hasAPITags()) {%>
+ * <%=genPackage.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%} else if (isJDK50) {
+  boolean needsSuppressDeprecation = false;
+  for (GenClass genClass : genPackage.getGenClasses()) { if (!genClass.isExternalInterface() && !genClass.isAbstract() && genClass.hasTests() && genClass.hasImplicitAPIDeprecatedTag()) { needsSuppressDeprecation = true; break; }} 
+  if (needsSuppressDeprecation) {%>
+@SuppressWarnings("deprecation")
+<%}}%>
+public class <%=genPackage.getTestSuiteClassName()%> extends <%=genModel.getImportedName("junit.framework.TestSuite")%>
+{
+<%if (genModel.hasCopyrightField()) {%>
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final <%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+<%}%>
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args)
+	{
+		<%=genModel.getImportedName("junit.textui.TestRunner")%>.run(suite());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static <%=genModel.getImportedName("junit.framework.Test")%> suite()
+	{
+		<%=genModel.getImportedName("junit.framework.TestSuite")%> suite = new <%=genPackage.getTestSuiteClassName()%>("<%=genPackage.getPackageName()%> Tests");<%=genModel.getNonNLS()%>
+<%for (GenClass genClass : genPackage.getGenClasses()) {%>
+  <%if (!genClass.isExternalInterface() && !genClass.isAbstract() && genClass.hasTests()) {%>
+		suite.addTestSuite(<%=genClass.getImportedTestCaseClassName()%>.class);
+  <%}%>
+<%}%>
+		return suite;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public <%=genPackage.getTestSuiteClassName()%>(String name)
+	{
+		super(name);
+	}
+
+} //<%=genPackage.getTestSuiteClassName()%>
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._SyKgGGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._SyKgGGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 0000000..6c7369f
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._SyKgGGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenPackage genPackage = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxo37rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxo37rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxo37rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxon7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxon7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxon7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxpH7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxpH7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 0000000..7eeec39
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxpH7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxpn7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxpn7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxpn7rEd-W9_ZFSEQEPg.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxqH7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxqH7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 0000000..f6e0339
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxqH7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPathName = genModel.getModelDirectory() + "/" + genModel.getQualifiedModelModuleName().replace(".","/")+ ".gwt.xml";
+overwrite = false;
+encoding = "UTF-8";
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxqX7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxqX7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 0000000..76ca0ef
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxqX7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxqn7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxqn7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 0000000..24cd6fc
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxqn7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel, GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxrH7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxrH7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 0000000..14684af
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxrH7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1,27 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ * 
+ * Contributors: 
+ *   Ed Merks - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument; /* Trick to import java.util.* without warnings */Iterator.class.getName();%>
+<?xml version="1.0" encoding="UTF-8"?>
+<!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">
+
+<%@ 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"%>
+
+<module>
+<%for (String inherits : genModel.getModelModuleInherits()) {%>
+  <inherits name="<%=inherits%>" />
+<%}%>
+<%for (String source : genModel.getModelModuleSources()) {%>
+  <source path="<%=source%>"/>
+<%}%>
+</module>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QP2YYH7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QP2YYH7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 0000000..731ee31
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QP2YYH7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPathName = genModel.getEditDirectory() + "/" + genModel.getQualifiedEditModuleName().replace(".","/")+ ".gwt.xml";
+overwrite = false;
+encoding = "UTF-8";
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QP2YYX7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QP2YYX7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 0000000..76ca0ef
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QP2YYX7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QP2YYn7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QP2YYn7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 0000000..a3911c8
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QP2YYn7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel, GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QP2YZH7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QP2YZH7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 0000000..ba08e7a
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QP2YZH7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1,27 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ * 
+ * Contributors: 
+ *   Ed Merks - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument; /* Trick to import java.util.* without warnings */Iterator.class.getName();%>
+<?xml version="1.0" encoding="UTF-8"?>
+<!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">
+
+<%@ 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"%>
+
+<module>
+<%for (String inherits : genModel.getEditModuleInherits()) {%>
+  <inherits name="<%=inherits%>" />
+<%}%>
+<%for (String source : genModel.getEditModuleSources()) {%>
+  <source path="<%=source%>"/>
+<%}%>
+</module>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QPtOc37rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QPtOc37rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QPtOc37rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QPtOcn7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QPtOcn7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QPtOcn7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QPtOdH7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QPtOdH7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 0000000..b4876d2
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QPtOdH7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QPtOdn7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QPtOdn7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QPtOdn7rEd-W9_ZFSEQEPg.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DE37rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DE37rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DE37rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DEn7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DEn7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DEn7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DFH7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DFH7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 0000000..78d6cb1
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DFH7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DFn7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DFn7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DFn7rEd-W9_ZFSEQEPg.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DGH7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DGH7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 0000000..8f73337
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DGH7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPath = genModel.getEditPluginDirectory();
+packageName = genModel.getEditPluginPackageName();
+className = genModel.getEditPluginClassName() + "Properties";
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DGX7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DGX7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 0000000..76ca0ef
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DGX7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DGn7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DGn7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 0000000..a3911c8
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DGn7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel, GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DHH7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DHH7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 0000000..c0a27e7
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DHH7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1,186 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ *   Ed Merks - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument; /* Trick to import java.util.* without warnings */Iterator.class.getName();%>
+<%@ 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"%>
+package <%=genModel.getEditPluginPackageName()%>;
+
+<%genModel.markImportLocation(stringBuffer);%>
+
+/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public interface <%=genModel.getEditPluginClassName()%>Properties extends <%=genModel.getImportedName("com.google.gwt.i18n.client.Messages")%>
+{
+<%if (genModel.isCreationCommands()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Key("_UI_CreateChild_text")
+	@DefaultMessage("{0}")
+	String createChildText(Object type);
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Key("_UI_CreateChild_text2")
+	@DefaultMessage("{1} <%if (genModel.isCreationSubmenus()) {%>| <%}%>{0}")
+	String createChildText2(Object type, Object feature);
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Key("_UI_CreateChild_text3")
+	@DefaultMessage("{0}")
+	String createChildText3(Object feature);
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Key("_UI_CreateChild_tooltip")
+	@DefaultMessage("Create New {0} Under {1} Feature")
+	String createChildTooltip(Object type, Object feature);
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Key("_UI_CreateChild_description")
+	@DefaultMessage("Create a new child of type {0} for the {1} feature of the selected {2}.")
+	String createChildDescripition(Object type, Object feature, Object selection);
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Key("_UI_CreateSibling_description")
+	@DefaultMessage("Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.")
+	String createSiblingDescription(Object type, Object feature, Object selection);
+
+<%}%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Key("_UI_PropertyDescriptor_description")
+	@DefaultMessage("The {0} of the {1}")
+	String propertyDescriptorDescription(Object feature, Object type);
+
+<%for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {%>
+  <%if (genPackage.getGenModel() == genModel || !genPackage.getGenModel().hasEditSupport()) { %>
+    <%for (GenClass genClass : genPackage.getGenClasses()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Key("_UI_<%=genClass.getName()%>_type")
+	@DefaultMessage("<%=genClass.getFormattedName()%>")
+	String <%=genClass.getUncapName()%>Type();
+
+    <%}%>
+  <%}%>
+<%}%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Key("_UI_Unknown_type")
+	@DefaultMessage("Object")
+	String unknownType();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Key("_UI_Unknown_datatype")
+	@DefaultMessage("Value")
+	String unknownDatatype();
+
+<%for (GenFeature genFeature : genModel.getFilteredAllGenFeatures()) { String description = genFeature.getPropertyDescription();%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Key("_UI_<%=genFeature.getGenClass().getName()%>_<%=genFeature.getName()%>_feature")
+	@DefaultMessage("<%=genFeature.getFormattedName()%>")
+	String <%=genFeature.getGenClass().getUncapName()%>_<%=genFeature.getCapName()%>Feature();
+
+  <%if (description != null && description.length() > 0) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Key("_UI_<%=genFeature.getGenClass().getName()%>_<%=genFeature.getName()%>_description")
+	@DefaultMessage("<%=description%>")
+	String <%=genFeature.getGenClass().getUncapName()%>_<%=genFeature.getCapName()%>Description();
+
+  <%}%>
+<%}%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Key("_UI_Unknown_feature")
+	@DefaultMessage("Unspecified")
+	String unknownFeature();
+
+<%for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {%>
+  <%if (genPackage.getGenModel() == genModel || !genPackage.getGenModel().hasEditSupport()) {%>
+    <%for (GenEnum genEnum : genPackage.getGenEnums()) {%>
+      <%for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Key("_UI_<%=genEnum.getName()%>_<%=genEnumLiteral.getName()%>_literal")
+	@DefaultMessage("<%=genEnumLiteral.getLiteral()%>")
+	String <%=genEnum.getSafeUncapName()%>_<%=genEnumLiteral.getName()%>Literal();
+
+      <%}%>
+    <%}%>
+  <%}%>
+<%}%>
+<%for (String category : genModel.getPropertyCategories()) {%>
+<%=genModel.getPropertyCategoryKey(category)%> = <%=category%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Key("<%=genModel.getPropertyCategoryKey(category)%>")
+	@DefaultMessage("<%=category%>")
+	String <%=genModel.getPropertyCategoryKey(category)%>();
+
+<%}%>
+}
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpII37rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpII37rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpII37rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIIn7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIIn7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIIn7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIJH7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIJH7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 0000000..78d6cb1
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIJH7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIJn7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIJn7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIJn7rEd-W9_ZFSEQEPg.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIKH7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIKH7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 0000000..133ed9a
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIKH7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPath = genModel.getEditPluginDirectory();
+packageName = genModel.getEditPluginPackageName();
+className = genModel.getEditPluginClassName() + "Images";
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIKX7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIKX7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 0000000..76ca0ef
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIKX7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIKn7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIKn7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 0000000..a3911c8
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIKn7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel, GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpILH7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpILH7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 0000000..c79f59b
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpILH7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1,42 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ *   Ed Merks - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument; /* Trick to import java.util.* without warnings */Iterator.class.getName();%>
+<%@ 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"%>
+package <%=genModel.getEditPluginPackageName()%>;
+
+<%genModel.markImportLocation(stringBuffer);%>
+
+/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public interface <%=genModel.getEditPluginClassName()%>Images extends <%=genModel.getImportedName("com.google.gwt.resources.client.ClientBundle")%>
+{
+<%for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {%>
+  <%for (GenClass genClass : genPackage.getGenClasses()) {%>
+    <%if (genClass.isImage()) { String image = genClass.getItemIconFileName(); image = image.substring(image.lastIndexOf("/icons/") + 1); %>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Source("<%=image%>")
+	<%=genModel.getImportedName("com.google.gwt.resources.client.ImageResource")%> <%=genClass.getItemIconAccessorName()%>();
+
+    <%}%>
+  <%}%>
+<%}%>
+}
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WU7GoCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WU7GoCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WU7GoCSWEemxeP6B0lLOpA.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WVOBkCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WVOBkCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WVOBkCSWEemxeP6B0lLOpA.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WVqtgCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WVqtgCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WVqtgCSWEemxeP6B0lLOpA.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WWQjYCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WWQjYCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WWQjYCSWEemxeP6B0lLOpA.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WZig4CSWEemxeP6B0lLOpA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WZig4CSWEemxeP6B0lLOpA.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WZig4CSWEemxeP6B0lLOpA.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZA4WkCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZA4WkCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZA4WkCSWEemxeP6B0lLOpA.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZAcRsCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZAcRsCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZAcRsCSWEemxeP6B0lLOpA.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZB7fcCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZB7fcCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZB7fcCSWEemxeP6B0lLOpA.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZBVCgCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZBVCgCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZBVCgCSWEemxeP6B0lLOpA.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZFqI4CSWEemxeP6B0lLOpA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZFqI4CSWEemxeP6B0lLOpA.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZFqI4CSWEemxeP6B0lLOpA.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZG2bsCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZG2bsCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZG2bsCSWEemxeP6B0lLOpA.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZGZvwCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZGZvwCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZGZvwCSWEemxeP6B0lLOpA.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZHSgkCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZHSgkCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZHSgkCSWEemxeP6B0lLOpA.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZHvMgCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZHvMgCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZHvMgCSWEemxeP6B0lLOpA.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZLd18CSWEemxeP6B0lLOpA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZLd18CSWEemxeP6B0lLOpA.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZLd18CSWEemxeP6B0lLOpA.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b4-BmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b4-BmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 0000000..f7d1c04
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b4-BmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPath = genModel.getEditorPluginDirectory();
+packageName = genModel.getEditorPluginPackageName();
+className = genModel.getEditorEntryPointClassName();
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b4-RmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b4-RmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 0000000..76ca0ef
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b4-RmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b4-hmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b4-hmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 0000000..da5fad6
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b4-hmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel, GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b48hmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b48hmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b48hmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b48xmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b48xmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b48xmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b49BmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b49BmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 0000000..c949aa2
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b49BmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b49hmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b49hmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b49hmtEeCMbfVQrOfmzQ.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b4_BmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b4_BmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 0000000..075ceca
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b4_BmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,95 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ *   Ed Merks - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument; /* Trick to import java.util.* without warnings */Iterator.class.getName();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%@ 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"%>
+package <%=genModel.getEditorPluginPackageName()%>;
+
+import org.eclipse.emf.edit.ui.EditorEntryPoint;
+<%genModel.markImportLocation(stringBuffer);%>
+
+/**
+ * This is the entry point.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+<%if (genModel.hasAPITags()) {%>
+ * <%=genModel.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%if (isJDK50 && genModel.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%} else if (isJDK50 && GenModelUtil.hasAPIDeprecatedTag(genModel.getAllGenAndUsedGenPackagesWithClassifiers())) {%>
+@SuppressWarnings("deprecation")
+<%}%>
+public class <%=genModel.getEditorEntryPointClassName()%> extends EditorEntryPoint
+{
+<%if (genModel.hasCopyrightField()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final <%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+	
+<%}%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void onModuleLoad()
+	{
+		super.onModuleLoad();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void registerPackages(<%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry packageRegistry)
+	{
+<%for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {%>
+		packageRegistry.put(<%=genPackage.getImportedPackageInterfaceName()%>.eNS_URI, <%=genPackage.getImportedPackageInterfaceName()%>.eINSTANCE);
+<%}%>
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void configureItemProviderAdapterFactories(<%=genModel.getImportedName("org.eclipse.emf.edit.provider.ComposedAdapterFactory")%> adapterFactory)
+	{
+<%for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {%>
+		adapterFactory.addAdapterFactory(new <%=genPackage.getImportedItemProviderAdapterFactoryClassName()%>());
+<%}%>
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected String getApplicationTitle()
+	{
+		return "<%=genModel.getModelName()%> Application";<%=genModel.getNonNLS()%>
+	}
+}
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bZhmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bZhmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bZhmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bZxmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bZxmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bZxmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8baBmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8baBmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 0000000..c949aa2
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8baBmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bahmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bahmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bahmtEeCMbfVQrOfmzQ.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bbBmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bbBmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 0000000..6789e1e
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bbBmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPathName = genModel.getEditorProjectDirectory() + "/war/WEB-INF/appengine-web.xml";
+overwrite = false;
+encoding = "UTF-8";
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bbRmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bbRmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 0000000..76ca0ef
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bbRmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bbhmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bbhmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 0000000..da5fad6
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bbhmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel, GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bcBmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bcBmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 0000000..281a0827
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bcBmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,21 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ * 
+ * Contributors: 
+ *   Ed Merks - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument; /* Trick to import java.util.* without warnings */Iterator.class.getName();%>
+<?xml version="1.0" encoding="UTF-8"?>
+<%@ 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"%>
+<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
+	<application><%=genModel.getModelName().toLowerCase().replaceAll("\\s", "-")%>-editor</application>
+	<version>1</version>
+	<threadsafe>true</threadsafe>
+</appengine-web-app>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zQhmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zQhmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zQhmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zQxmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zQxmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zQxmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zRBmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zRBmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 0000000..c949aa2
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zRBmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zRhmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zRhmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zRhmtEeCMbfVQrOfmzQ.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zSBmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zSBmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 0000000..dae6503
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zSBmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPathName = genModel.getEditorProjectDirectory() + "/war/" + genModel.getEditorHomePageName()+ ".html";
+overwrite = false;
+encoding = "UTF-8";
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zSRmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zSRmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 0000000..76ca0ef
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zSRmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zShmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zShmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 0000000..da5fad6
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zShmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel, GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zTBmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zTBmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 0000000..14ade3c
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zTBmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,82 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ * 
+ * Contributors: 
+ *   Ed Merks - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument; /* Trick to import java.util.* without warnings */Iterator.class.getName();%>
+<?xml version="1.0" encoding="UTF-8"?>
+<!doctype html>
+<html style="height : 100%"> 
+  <head>
+    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+
+    <!--                                           -->
+    <!-- Any title is fine                         -->
+    <!--                                           -->
+    <title><%=genModel.getModelName()%> Application</title>
+    
+    <style TYPE="text/css">
+      <!--
+        .ToolBar
+        {
+          background-color: #d0e4f6;
+        }
+        .ToolBarButton
+        {
+          float: left;
+          margin-top: 5px;
+        }
+        .ToolBarButtonLeftMargin
+        {
+          float: left;
+          margin-left: 10px;
+          margin-top: 5px;
+        }
+        .Header
+        {
+          background-color: #628cd5;
+          color: #FFFFFF;
+          float: left;
+          font-weight: bold;
+          font-size: xx-large;
+        }
+        .HeaderLabel
+        {
+          float: left;
+          margin-left: 10px;
+        }
+        .PropertiesTitle
+        {
+          background-color: #628cd5;
+          color: #FFFFFF;
+          font-weight: bold;
+          font-size: large;
+        }
+        .PropertiesTitleLabel
+        {
+          float: left;
+          margin-left: 5px;
+        }
+      -->
+    </style>
+
+    <!--                                           -->
+    <!-- This script loads your compiled module.   -->
+    <!-- If you add any GWT meta tags, they must   -->
+    <!-- be added before this line.                -->
+    <script type="text/javascript" language="javascript" src="<%=genModel.getQualifiedEditorModuleName()%>/<%=genModel.getQualifiedEditorModuleName()%>.nocache.js"></script>
+  </head>
+
+  <body style="height : 100%">
+    <div id="main" style="height : 100%">
+    </div>
+  </body>
+</html>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQAhmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQAhmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQAhmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQAxmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQAxmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQAxmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQBBmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQBBmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 0000000..c949aa2
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQBBmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQBhmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQBhmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQBhmtEeCMbfVQrOfmzQ.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQCBmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQCBmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 0000000..f004d4e
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQCBmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPathName = genModel.getEditorDirectory() + "/" + genModel.getQualifiedEditorModuleName().replace(".","/")+ ".gwt.xml";
+overwrite = false;
+encoding = "UTF-8";
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQCRmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQCRmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 0000000..76ca0ef
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQCRmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQChmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQChmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 0000000..da5fad6
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQChmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel, GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQDBmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQDBmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 0000000..8bd4afe
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQDBmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,31 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ * 
+ * Contributors: 
+ *   Ed Merks - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument; /* Trick to import java.util.* without warnings */Iterator.class.getName();%>
+<?xml version="1.0" encoding="UTF-8"?>
+<!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">
+
+<%@ 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"%>
+
+<module>
+  <inherits name='com.google.gwt.user.theme.standard.Standard'/>
+<%for (String inherits : genModel.getEditorModuleInherits()) {%>
+  <inherits name="<%=inherits%>" />
+<%}%>
+
+  <entry-point class='<%=genModel.getQualifiedEditorEntryPointClassName()%>'/>
+
+<%for (String source : genModel.getEditorModuleSources()) {%>
+  <source path="<%=source%>"/>
+<%}%>
+</module>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_khmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_khmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_khmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_kxmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_kxmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_kxmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_lBmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_lBmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 0000000..c949aa2
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_lBmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,5 @@
+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/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_lhmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_lhmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_lhmtEeCMbfVQrOfmzQ.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_mBmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_mBmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 0000000..f7259b7
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_mBmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPathName = genModel.getEditorProjectDirectory() + "/war/WEB-INF/web.xml";
+overwrite = false;
+encoding = "UTF-8";
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_mRmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_mRmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 0000000..76ca0ef
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_mRmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_mhmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_mhmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 0000000..da5fad6
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_mhmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel, GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_nBmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_nBmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 0000000..2fea7fb
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_nBmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,32 @@
+
+<%
+/**
+ * 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 v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ * 
+ * Contributors: 
+ *   Ed Merks - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument; /* Trick to import java.util.* without warnings */Iterator.class.getName();%>
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
+<%@ 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"%>
+<web-app>
+  <servlet>
+    <servlet-name>uriServlet</servlet-name>
+    <servlet-class>org.eclipse.emf.server.ecore.resource.URIServiceImpl</servlet-class>
+  </servlet>
+  
+  <servlet-mapping>
+    <servlet-name>uriServlet</servlet-name>
+    <url-pattern>/<%=genModel.getQualifiedEditorModuleName()%>/uriService</url-pattern>
+  </servlet-mapping>
+
+  <welcome-file-list>
+    <welcome-file><%=genModel.getEditorHomePageName()%>.html</welcome-file>
+  </welcome-file-list>
+</web-app>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cA-DcCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cA-DcCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cA-DcCSWEemxeP6B0lLOpA.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cAhXgCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cAhXgCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cAhXgCSWEemxeP6B0lLOpA.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cB3bUCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cB3bUCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cB3bUCSWEemxeP6B0lLOpA.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cBQ-YCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cBQ-YCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cBQ-YCSWEemxeP6B0lLOpA.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cFSiwCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cFSiwCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cFSiwCSWEemxeP6B0lLOpA.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eT5vYCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eT5vYCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eT5vYCSWEemxeP6B0lLOpA.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eUMqUCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eUMqUCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eUMqUCSWEemxeP6B0lLOpA.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eUpWQCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eUpWQCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eUpWQCSWEemxeP6B0lLOpA.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eVPMICSWEemxeP6B0lLOpA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eVPMICSWEemxeP6B0lLOpA.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eVPMICSWEemxeP6B0lLOpA.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eY91kCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eY91kCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eY91kCSWEemxeP6B0lLOpA.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._eZ3NcCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._eZ3NcCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._eZ3NcCSWEemxeP6B0lLOpA.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._eaTSUCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._eaTSUCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._eaTSUCSWEemxeP6B0lLOpA.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._eam0UCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._eam0UCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._eam0UCSWEemxeP6B0lLOpA.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._ebMqMCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._ebMqMCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._ebMqMCSWEemxeP6B0lLOpA.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._efOOkCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._efOOkCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._efOOkCSWEemxeP6B0lLOpA.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp07M-EeKd56X4hcZPSw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp07M-EeKd56X4hcZPSw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp07M-EeKd56X4hcZPSw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp0rM-EeKd56X4hcZPSw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp0rM-EeKd56X4hcZPSw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp0rM-EeKd56X4hcZPSw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp1LM-EeKd56X4hcZPSw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp1LM-EeKd56X4hcZPSw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp1LM-EeKd56X4hcZPSw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp1rM-EeKd56X4hcZPSw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp1rM-EeKd56X4hcZPSw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp1rM-EeKd56X4hcZPSw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp6LM-EeKd56X4hcZPSw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp6LM-EeKd56X4hcZPSw.pt
new file mode 100644
index 0000000..e2f25c0
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp6LM-EeKd56X4hcZPSw.pt
@@ -0,0 +1,128 @@
+
+
+  <%if (genModel.isArrayAccessors() && genFeature.isListType() && !genFeature.isFeatureMapType() && !genFeature.isMapType()) { String arrayElementType = genFeature.getArrayItemType(genClass);%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * This is specialized for the more specific element type known in this context.
+	 * @see #<%=genFeature.getGetAccessor()%>()
+    <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
+    <%if (genModel.useGenerics() && CodeGenUtil.isUncheckedCast(arrayElementType)) {%>
+	@SuppressWarnings("unchecked")
+    <%}%>
+    <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+    <%}%>
+    <%if (useInterfaceOverrideAnnotation || classExtendsAllGenFeatures.contains(genFeature)) {%>
+	@Override
+    <%}%>
+	public <%=arrayElementType%>[] <%=genFeature.getGetArrayAccessor()%>()
+	{
+      <%if (genFeature.isVolatile()) {%>
+		<%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%><%=genFeature.getListTemplateArguments(genClass)%> list = (<%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%><%=genFeature.getListTemplateArguments(genClass)%>)<%=genFeature.getGetAccessor()%>();
+		if (list.isEmpty()) return <%=genFeature.getUpperName()%>_EEMPTY_ARRAY;
+      <%} else {%>
+		if (<%=genFeature.getSafeName()%> == null || <%=genFeature.getSafeName()%>.isEmpty()) return <%=genFeature.getUpperName()%>_EEMPTY_ARRAY;
+		<%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%><%=genFeature.getListTemplateArguments(genClass)%> list = (<%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%><%=genFeature.getListTemplateArguments(genClass)%>)<%=genFeature.getSafeName()%>;
+      <%}%>
+		list.shrink();
+		return (<%=arrayElementType%>[])list.data();
+	}
+
+  <%}%>
+  <%if (genFeature.isGet() && genFeature.isListType()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * This is specialized for the more specific element type known in this context.
+    <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
+<%if (isJDK50) { //Class/getGenFeature.annotations.insert.javajetinc%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+  <%if (genFeature.isListType() && genModel.isVirtualDelegation()) {%>
+	@SuppressWarnings("unchecked")
+  <%}%>
+    <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+    <%}%>
+    <%if (useInterfaceOverrideAnnotation || classExtendsAllGenFeatures.contains(genFeature)) {%>
+	@Override
+    <%}%>
+	public <%=genFeature.getImportedType(genClass)%> <%=genFeature.getGetAccessor()%><%if (genClass.hasCollidingGetAccessorOperation(genFeature)) {%>_<%}%>()
+	{
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+        <%if (genModel.isVirtualDelegation()) {%>
+		<%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+        <%}%>
+		if (<%=genFeature.getSafeName()%> == null)
+		{
+        <%if (genModel.isVirtualDelegation()) {%>
+			eVirtualSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%=genFeature.getSafeName()%> = new <%=genClass.getListConstructor(genFeature)%>);
+        <%} else {%>
+			<%=genFeature.getSafeName()%> = new <%=genClass.getListConstructor(genFeature)%>;
+        <%}%>
+		}
+		return <%=genFeature.getSafeName()%><%=genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes() ? ".map()" : ""%>;
+	}
+
+  <%}%>
+  <%if (!genModel.isReflectiveDelegation() && genFeature.isBasicSet()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * This is specialized for the more specific type known in this context.
+    <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
+<%if (isJDK50) { //Class/basicSetGenFeature.annotations.insert.javajetinc%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+    <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+    <%}%>
+    <%if (classExtendsAllGenFeatures.contains(genFeature)) {%>
+	@Override
+    <%}%>
+	public <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> basicSet<%=genFeature.getAccessorName()%>(<%=genFeature.getImportedInternalType(genClass)%> new<%=genFeature.getCapName()%>, <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs)
+	{
+		return super.basicSet<%=genFeature.getAccessorName()%>(new<%=genFeature.getCapName()%>, msgs);
+	}
+
+  <%}%>
+  <%if (genFeature.isSet() && !(!genModel.isReflectiveDelegation() && genFeature.isBasicSet())) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * This is specialized for the more specific type known in this context.
+    <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
+<%if (isJDK50) { //Class/setGenFeature.annotations.insert.javajetinc%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+<%{ GenOperation setAccessorOperation = genClass.getSetAccessorOperation(genFeature);%>
+    <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+    <%}%>
+    <%if (classExtendsAllGenFeatures.contains(genFeature)) {%>
+	@Override
+    <%}%>
+	public void set<%=genFeature.getAccessorName()%><%if (genClass.hasCollidingSetAccessorOperation(genFeature)) {%>_<%}%>(<%=genFeature.getImportedType(genClass)%> <%=setAccessorOperation == null ? "new" + genFeature.getCapName() : setAccessorOperation.getGenParameters().get(0).getName()%>)
+	{
+		super.set<%=genFeature.getAccessorName()%><%if (genClass.hasCollidingSetAccessorOperation(genFeature)) {%>_<%}%>(<%=setAccessorOperation == null ? "new" + genFeature.getCapName() : setAccessorOperation.getGenParameters().get(0).getName()%>);
+	}
+
+<%}%>
+  <%}%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcoc7M-EeKd56X4hcZPSw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcoc7M-EeKd56X4hcZPSw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcoc7M-EeKd56X4hcZPSw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcod7M-EeKd56X4hcZPSw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcod7M-EeKd56X4hcZPSw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcod7M-EeKd56X4hcZPSw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcodLM-EeKd56X4hcZPSw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcodLM-EeKd56X4hcZPSw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcodLM-EeKd56X4hcZPSw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcodbM-EeKd56X4hcZPSw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcodbM-EeKd56X4hcZPSw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcodbM-EeKd56X4hcZPSw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcof7M-EeKd56X4hcZPSw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcof7M-EeKd56X4hcZPSw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcof7M-EeKd56X4hcZPSw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysQ7M-EeKd56X4hcZPSw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysQ7M-EeKd56X4hcZPSw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysQ7M-EeKd56X4hcZPSw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysQrM-EeKd56X4hcZPSw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysQrM-EeKd56X4hcZPSw.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysQrM-EeKd56X4hcZPSw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysRLM-EeKd56X4hcZPSw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysRLM-EeKd56X4hcZPSw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysRLM-EeKd56X4hcZPSw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysRrM-EeKd56X4hcZPSw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysRrM-EeKd56X4hcZPSw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysRrM-EeKd56X4hcZPSw.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysWLM-EeKd56X4hcZPSw.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysWLM-EeKd56X4hcZPSw.pt
new file mode 100644
index 0000000..fbe94e8
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysWLM-EeKd56X4hcZPSw.pt
@@ -0,0 +1,128 @@
+
+
+  <%if (genModel.isArrayAccessors() && genFeature.isListType() && !genFeature.isFeatureMapType() && !genFeature.isMapType()) { String arrayElementType = genFeature.getArrayItemType(genClass);%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * This is specialized for the more specific element type known in this context.
+	 * @see #<%=genFeature.getGetAccessor()%>()
+    <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
+    <%if (genModel.useGenerics() && CodeGenUtil.isUncheckedCast(arrayElementType)) {%>
+	@SuppressWarnings("unchecked")
+    <%}%>
+    <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+    <%}%>
+    <%if (useInterfaceOverrideAnnotation || classExtendsAllGenFeatures.contains(genFeature)) {%>
+	@Override
+    <%}%>
+	public <%=arrayElementType%>[] <%=genFeature.getGetArrayAccessor()%>()
+	{
+      <%if (genFeature.isVolatile()) {%>
+		<%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%><%=genFeature.getListTemplateArguments(genClass)%> list = (<%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%><%=genFeature.getListTemplateArguments(genClass)%>)<%=genFeature.getGetAccessor()%>();
+		if (list.isEmpty()) return <%=genFeature.getUpperName()%>_EEMPTY_ARRAY;
+      <%} else {%>
+		if (<%=genFeature.getSafeName()%> == null || <%=genFeature.getSafeName()%>.isEmpty()) return <%=genFeature.getUpperName()%>_EEMPTY_ARRAY;
+		<%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%><%=genFeature.getListTemplateArguments(genClass)%> list = (<%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%><%=genFeature.getListTemplateArguments(genClass)%>)<%=genFeature.getSafeName()%>;
+      <%}%>
+		list.shrink();
+		return (<%=arrayElementType%>[])list.data();
+	}
+
+  <%}%>
+  <%if (genFeature.isGet() && genFeature.isListType()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * This is specialized for the more specific element type known in this context.
+    <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
+<%if (isJDK50) { //Class/getGenFeature.annotations.insert.javajetinc%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+  <%if (genFeature.isListType() && genModel.isVirtualDelegation()) {%>
+	@SuppressWarnings("unchecked")
+  <%}%>
+    <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+    <%}%>
+    <%if (useInterfaceOverrideAnnotation || classExtendsAllGenFeatures.contains(genFeature)) {%>
+	@Override
+    <%}%>
+	public <%=genFeature.getImportedType(genClass)%> <%=genFeature.getGetAccessor()%><%if (genClass.hasCollidingGetAccessorOperation(genFeature)) {%>_<%}%>()
+	{
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+        <%if (genModel.isVirtualDelegation()) {%>
+		<%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+        <%}%>
+		if (<%=genFeature.getSafeName()%> == null)
+		{
+        <%if (genModel.isVirtualDelegation()) {%>
+			eVirtualSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%=genFeature.getSafeName()%> = new <%=genClass.getListConstructor(genFeature)%>);
+        <%} else {%>
+			<%=genFeature.getSafeName()%> = new <%=genClass.getListConstructor(genFeature)%>;
+        <%}%>
+		}
+		return <%=genFeature.getSafeName()%><%=genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes() ? ".map()" : ""%>;
+	}
+
+  <%}%>
+  <%if (!genModel.isReflectiveDelegation() && genFeature.isBasicSet()) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * This is specialized for the more specific type known in this context.
+    <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
+<%if (isJDK50) { //Class/basicSetGenFeature.annotations.insert.javajetinc%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+    <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+    <%}%>
+    <%if (classExtendsAllGenFeatures.contains(genFeature)) {%>
+	@Override
+    <%}%>
+	public <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> basicSet<%=genFeature.getAccessorName()%>(<%=genFeature.getImportedInternalType(genClass)%> new<%=genFeature.getCapName()%>, <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs)
+	{
+		return super.basicSet<%=genFeature.getAccessorName()%>(new<%=genFeature.getCapName()%>, msgs);
+	}
+
+  <%}%>
+  <%if (genFeature.isSet() && !(!genModel.isReflectiveDelegation() && genFeature.isBasicSet())) {%>
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * This is specialized for the more specific type known in this context.
+    <%if (genFeature.hasAPITags()) {%>
+	 * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+    <%}%>
+	 * @generated
+	 */
+<%if (isJDK50) { //Class/setGenFeature.annotations.insert.javajetinc%>
+<%@ 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,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+<%{ GenOperation setAccessorOperation = genClass.getSetAccessorOperation(genFeature);%>
+    <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+	@Deprecated
+    <%}%>
+    <%if (classExtendsAllGenFeatures.contains(genFeature)) {%>
+	@Override
+    <%}%>
+	public void set<%=genFeature.getAccessorName()%><%if (genClass.hasCollidingSetAccessorOperation(genFeature)) {%>_<%}%>(<%=genFeature.getImportedType(genClass)%> <%=setAccessorOperation == null ? "new" + genFeature.getCapName() : setAccessorOperation.getGenParameters().get(0).getName()%>)
+	{
+		super.set<%=genFeature.getAccessorName()%><%if (genClass.hasCollidingSetAccessorOperation(genFeature)) {%>_<%}%>(<%=setAccessorOperation == null ? "new" + genFeature.getCapName() : setAccessorOperation.getGenParameters().get(0).getName()%>);
+	}
+
+<%}%>
+  <%}%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5EM6oMEeOCpsO1cKKCxA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5EM6oMEeOCpsO1cKKCxA.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5EM6oMEeOCpsO1cKKCxA.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5EMqoMEeOCpsO1cKKCxA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5EMqoMEeOCpsO1cKKCxA.pt
new file mode 100644
index 0000000..7bf6f2d
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5EMqoMEeOCpsO1cKKCxA.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5ENKoMEeOCpsO1cKKCxA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5ENKoMEeOCpsO1cKKCxA.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5ENKoMEeOCpsO1cKKCxA.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5ENqoMEeOCpsO1cKKCxA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5ENqoMEeOCpsO1cKKCxA.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5ENqoMEeOCpsO1cKKCxA.pt
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5EPKoMEeOCpsO1cKKCxA.pt b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5EPKoMEeOCpsO1cKKCxA.pt
new file mode 100644
index 0000000..f42c830
--- /dev/null
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5EPKoMEeOCpsO1cKKCxA.pt
@@ -0,0 +1,50 @@
+
+
+<%if (genClass.isMapEntry()) {%>
+		<%=genClass.getImportedInterfaceName()%><%if (genModel.useGenerics()) {%><?, ?><%}%> <%=genClass.getSafeUncapName()%> = (<%=genClass.getImportedInterfaceName()%><%if (genModel.useGenerics()) {%><?, ?><%}%>)object;
+  <%if (!genClass.getMapEntryKeyFeature().isPropertyMultiLine() && !genClass.getMapEntryValueFeature().isPropertyMultiLine()) {%>
+		return new <%=genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString")%>("" + <%=genClass.getSafeUncapName()%>.getKey()).append(" -> ", <%=genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString$Style")%>.QUALIFIER_STYLER).append("" + <%=genClass.getSafeUncapName()%>.getValue());<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+  <%} else {%>
+    <%if (genClass.getMapEntryKeyFeature().isPropertyMultiLine()) {%>
+		String key = crop("" + <%=genClass.getSafeUncapName()%>.getKey());<%=genModel.getNonNLS()%>
+    <%} else {%>
+		String key = "" + <%=genClass.getSafeUncapName()%>.getKey();<%=genModel.getNonNLS()%>
+    <%}%>
+    <%if (genClass.getMapEntryValueFeature().isPropertyMultiLine()) {%>
+		String value = crop("" + <%=genClass.getSafeUncapName()%>.getValue());<%=genModel.getNonNLS()%>
+    <%} else {%>
+		String value = "" + <%=genClass.getSafeUncapName()%>.getValue();<%=genModel.getNonNLS()%>
+    <%}%>
+		return new <%=genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString")%>(key).append(" -> ", <%=genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString$Style")%>.QUALIFIER_STYLER).append(value);<%=genModel.getNonNLS()%>
+  <%}%>
+<%} else if (genClass.getLabelFeature() != null) { GenFeature labelFeature = genClass.getLabelFeature();%>
+  <%if (labelFeature.isPrimitiveType() && !labelFeature.getGenClass().isDynamic() && !labelFeature.isSuppressedGetVisibility()) {%>
+		<%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceWildTypeArguments()%> <%=genClass.getSafeUncapName()%> = (<%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceWildTypeArguments()%>)object;
+		return new <%=genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString")%>(getString("_UI_<%=genClass.getName()%>_type"), <%=genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString$Style")%>.QUALIFIER_STYLER).append(" ").append(<%=labelFeature.getObjectType(genClass)%>.toString(<%=genClass.getSafeUncapName()%>.<%=genClass.getLabelFeature().getGetAccessor()%>()));<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+  <%} else {%>
+    <%if (labelFeature.isStringType() && !labelFeature.getGenClass().isDynamic() && !labelFeature.isSuppressedGetVisibility()) {%>
+      <%if (labelFeature.isPropertyMultiLine()) {%>
+		String label = crop(((<%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceWildTypeArguments()%>)object).<%=labelFeature.getGetAccessor()%>());
+      <%} else {%>
+		String label = ((<%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceWildTypeArguments()%>)object).<%=labelFeature.getGetAccessor()%>();
+      <%}%>
+    <%} else {%>
+      <%if (labelFeature.isSuppressedGetVisibility() || labelFeature.getGenClass().isDynamic()) {%>
+		<%=genModel.getImportedName("java.lang.Object")%> labelValue = ((<%=genModel.getImportedName("org.eclipse.emf.ecore.EObject")%>)object).eGet(<%=labelFeature.getQualifiedFeatureAccessor()%>);
+      <%} else {%>
+		<%=labelFeature.getRawImportedType()%> labelValue = ((<%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceWildTypeArguments()%>)object).<%=labelFeature.getGetAccessor()%>();
+      <%}%>
+		String label = labelValue == null ? null : labelValue.toString();
+    <%}%>
+    	<%=genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString")%> styledLabel = new <%=genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString")%>();
+		if (label == null || label.length() == 0)
+		{
+			styledLabel.append(getString("_UI_<%=genClass.getName()%>_type"), <%=genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString$Style")%>.QUALIFIER_STYLER); <%=genModel.getNonNLS()%>
+		} else {
+			styledLabel.append(getString("_UI_<%=genClass.getName()%>_type"), <%=genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString$Style")%>.QUALIFIER_STYLER).append(" " + label);<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+		}
+		return styledLabel;
+  <%}%>
+<%} else {%>
+		return new <%=genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString")%>(getString("_UI_<%=genClass.getName()%>_type"));<%=genModel.getNonNLS()%>
+<%}%>
diff --git a/platform_specific/2019-06/pom.xml b/platform_specific/2019-06/pom.xml
new file mode 100644
index 0000000..e712c7b
--- /dev/null
+++ b/platform_specific/2019-06/pom.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright (c) 2018, 2019 THALES GLOBAL SERVICES.
+  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:
+       Thales - initial API and implementation
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
+    http://maven.apache.org/maven-v4_0_0.xsd">
+	
+	<modelVersion>4.0.0</modelVersion>
+	
+	<artifactId>egf_platform_specific_photon</artifactId>
+	<packaging>pom</packaging>
+	
+	<parent>
+		<groupId>org.eclipse.egf</groupId>
+		<artifactId>egf_root</artifactId>
+		<version>1.6.1-SNAPSHOT</version>
+		<relativePath>../..</relativePath>
+	</parent>
+</project>
diff --git a/pom.xml b/pom.xml
index fe4f852..8e0b659 100644
--- a/pom.xml
+++ b/pom.xml
@@ -314,7 +314,7 @@
 				<module>features/org.eclipse.egf.sdk.feature</module>
 
 				<!--  platform specific -->
-				<module>platform_specific/2019-03/org.eclipse.egf.emf.pattern</module>
+				<module>platform_specific/${platform-version-name}/org.eclipse.egf.emf.pattern</module>
 				<!-- update sites -->
 				<module>releng/org.eclipse.egf.core.updatesite</module>
 			</modules>
@@ -379,6 +379,7 @@
 				<artifactId>tycho-packaging-plugin</artifactId>
 				<version>${tycho-version}</version>
 				<configuration>
+					<strictVersions>false</strictVersions>
 					<sourceReferences>
 						<generate>true</generate>
 					</sourceReferences>
diff --git a/releng/org.eclipse.egf.targets/core-2019-06.target b/releng/org.eclipse.egf.targets/core-2019-06.target
index a2f5229..df6f3eb 100644
--- a/releng/org.eclipse.egf.targets/core-2019-06.target
+++ b/releng/org.eclipse.egf.targets/core-2019-06.target
@@ -1,23 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>

 <?pde?>

 <!-- generated with https://github.com/mbarbero/fr.obeo.releng.targetplatform -->

-<target name="core" sequenceNumber="1559732742">

+<target name="core" sequenceNumber="1559738712">

   <locations>

     <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">

-      <unit id="org.eclipse.emf.sdk.feature.group" version="0.0.0"/>

-      <unit id="org.eclipse.emf.common.feature.group" version="0.0.0"/>

-      <unit id="org.eclipse.emf.edit.feature.group" version="0.0.0"/>

-      <unit id="org.eclipse.emf.codegen.feature.group" version="0.0.0"/>

-      <unit id="org.eclipse.emf.codegen.ecore.feature.group" version="0.0.0"/>

-      <unit id="org.eclipse.emf.ecore.feature.group" version="0.0.0"/>

-      <unit id="org.eclipse.emf.ecore.edit.feature.group" version="0.0.0"/>

-      <unit id="org.eclipse.emf.edit.ui.feature.group" version="0.0.0"/>

-      <unit id="org.eclipse.emf.common.ui.feature.group" version="0.0.0"/>

-      <unit id="org.eclipse.emf.ecore.editor.feature.group" version="0.0.0"/>

-      <unit id="org.eclipse.emf.codegen.ecore.ui.feature.group" version="0.0.0"/>

-      <unit id="org.eclipse.emf.databinding.feature.group" version="0.0.0"/>

-      <unit id="org.eclipse.emf.databinding.edit.feature.group" version="0.0.0"/>

-      <unit id="org.eclipse.emf.converter.feature.group" version="0.0.0"/>

       <unit id="org.eclipse.emf.workspace.feature.group" version="0.0.0"/>

       <unit id="org.eclipse.emf.transaction.feature.group" version="0.0.0"/>

       <unit id="org.eclipse.emf.query.feature.group" version="0.0.0"/>

@@ -39,6 +25,23 @@
       <repository id="eclipse" location="http://download.eclipse.org/releases/2019-06/"/>

     </location>

     <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">

+      <unit id="org.eclipse.emf.sdk.feature.group" version="0.0.0"/>

+      <unit id="org.eclipse.emf.common.feature.group" version="0.0.0"/>

+      <unit id="org.eclipse.emf.edit.feature.group" version="0.0.0"/>

+      <unit id="org.eclipse.emf.codegen.feature.group" version="0.0.0"/>

+      <unit id="org.eclipse.emf.codegen.ecore.feature.group" version="0.0.0"/>

+      <unit id="org.eclipse.emf.ecore.feature.group" version="0.0.0"/>

+      <unit id="org.eclipse.emf.ecore.edit.feature.group" version="0.0.0"/>

+      <unit id="org.eclipse.emf.edit.ui.feature.group" version="0.0.0"/>

+      <unit id="org.eclipse.emf.common.ui.feature.group" version="0.0.0"/>

+      <unit id="org.eclipse.emf.ecore.editor.feature.group" version="0.0.0"/>

+      <unit id="org.eclipse.emf.codegen.ecore.ui.feature.group" version="0.0.0"/>

+      <unit id="org.eclipse.emf.databinding.feature.group" version="0.0.0"/>

+      <unit id="org.eclipse.emf.databinding.edit.feature.group" version="0.0.0"/>

+      <unit id="org.eclipse.emf.converter.feature.group" version="0.0.0"/>

+      <repository id="emf" location="http://download.eclipse.org/modeling/emf/emf/builds/milestone/S201905280646"/>

+    </location>

+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">

       <unit id="org.eclipse.acceleo.sdk.feature.group" version="0.0.0"/>

       <repository id="acceleo" location="http://download.eclipse.org/acceleo/updates/releases/3.7/R201705121344/"/>

     </location>

diff --git a/releng/org.eclipse.egf.targets/core-2019-06.targetplatform b/releng/org.eclipse.egf.targets/core-2019-06.targetplatform
index 852c070..199e1b4 100644
--- a/releng/org.eclipse.egf.targets/core-2019-06.targetplatform
+++ b/releng/org.eclipse.egf.targets/core-2019-06.targetplatform
@@ -2,24 +2,13 @@
 

 

 location eclipse "http://download.eclipse.org/releases/2019-06/" {

-	org.eclipse.emf.sdk.feature.group lazy

-	org.eclipse.emf.common.feature.group lazy

-	org.eclipse.emf.edit.feature.group lazy

-	org.eclipse.emf.codegen.feature.group lazy

-	org.eclipse.emf.codegen.ecore.feature.group lazy

-	org.eclipse.emf.ecore.feature.group lazy

-	org.eclipse.emf.ecore.edit.feature.group lazy

-	org.eclipse.emf.edit.ui.feature.group lazy

-	org.eclipse.emf.common.ui.feature.group lazy

-	org.eclipse.emf.ecore.editor.feature.group lazy

-	org.eclipse.emf.codegen.ecore.ui.feature.group lazy

-	org.eclipse.emf.databinding.feature.group lazy

-	org.eclipse.emf.databinding.edit.feature.group lazy

-	org.eclipse.emf.converter.feature.group lazy

 	org.eclipse.emf.workspace.feature.group lazy

 	org.eclipse.emf.transaction.feature.group lazy

 	org.eclipse.emf.query.feature.group lazy

 	org.eclipse.emf.validation.feature.group lazy

+

+

+

 	org.eclipse.sdk.feature.group lazy

 	org.eclipse.jdt.feature.group lazy

 	org.eclipse.pde.feature.group lazy

@@ -37,6 +26,24 @@
 	

 }

 

+location emf "http://download.eclipse.org/modeling/emf/emf/builds/milestone/S201905280646" {

+	org.eclipse.emf.sdk.feature.group lazy

+	org.eclipse.emf.common.feature.group lazy

+	org.eclipse.emf.edit.feature.group lazy

+	org.eclipse.emf.codegen.feature.group lazy

+	org.eclipse.emf.codegen.ecore.feature.group lazy

+	org.eclipse.emf.ecore.feature.group lazy

+	org.eclipse.emf.ecore.edit.feature.group lazy

+	org.eclipse.emf.edit.ui.feature.group lazy

+	org.eclipse.emf.common.ui.feature.group lazy

+	org.eclipse.emf.ecore.editor.feature.group lazy

+	org.eclipse.emf.codegen.ecore.ui.feature.group lazy

+	org.eclipse.emf.databinding.feature.group lazy

+	org.eclipse.emf.databinding.edit.feature.group lazy

+	org.eclipse.emf.converter.feature.group lazy

+	

+}

+

 location acceleo "http://download.eclipse.org/acceleo/updates/releases/3.7/R201705121344/" {

 	org.eclipse.acceleo.sdk.feature.group lazy

 }