diff --git a/bundles/javafx/org.eclipse.emf.ecp.application.e4.fx/META-INF/MANIFEST.MF b/bundles/javafx/org.eclipse.emf.ecp.application.e4.fx/META-INF/MANIFEST.MF
index ca262fa..e54021d 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.application.e4.fx/META-INF/MANIFEST.MF
+++ b/bundles/javafx/org.eclipse.emf.ecp.application.e4.fx/META-INF/MANIFEST.MF
@@ -6,18 +6,18 @@
 Bundle-Vendor: Eclipse Modeling Project
 Export-Package: org.eclipse.emf.ecp.application.e4.fx;version="1.9.0";x-internal:=true
 Require-Bundle: org.eclipse.e4.ui.model.workbench;bundle-version="[1.1.100,2.0.0)",
-  org.eclipse.e4.core.di.annotations;bundle-version="[1.4.0,2.0.0)",
-  org.eclipse.e4.core.contexts;bundle-version="[1.4.0,2.0.0)",
-  org.eclipse.e4.ui.di;bundle-version="[1.1.0,2.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.11.0,3.0.0)",
-  org.eclipse.emf.emfstore.client;bundle-version="[1.7.0,1.8.0)",
-  org.eclipse.emf.ecp.controls.fx;bundle-version="[1.16.0,1.17.0)",
-  org.eclipse.emf.ecp.view.model.fx;bundle-version="[1.16.0,1.17.0)",
-  org.eclipse.emf.ecp.edit;bundle-version="[1.16.0,1.17.0)",
-  org.eclipse.emf.ecp.util.e4.fx;bundle-version="[1.16.0,1.17.0)",
-  org.eclipse.emf.emfstore.fx.util;bundle-version="[1.8.0,1.9.0)"
+ org.eclipse.e4.core.di.annotations;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.e4.core.contexts;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.e4.ui.di;bundle-version="[1.1.0,2.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.11.0,3.0.0)",
+ org.eclipse.emf.emfstore.client;bundle-version="[1.7.0,1.8.0)",
+ org.eclipse.emf.ecp.controls.fx;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.fx;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.edit;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.util.e4.fx;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.emfstore.fx.util;bundle-version="[1.8.0,1.9.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Import-Package: javax.annotation;version="1.0.0",
-  javax.inject;version="1.0.0"
-Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.application.e4.fx
+Import-Package: javax.annotation;version="1.0.0",
+ javax.inject;version="1.0.0"
+Bundle-ActivationPolicy: lazy
diff --git a/bundles/javafx/org.eclipse.emf.ecp.controls.fx/META-INF/MANIFEST.MF b/bundles/javafx/org.eclipse.emf.ecp.controls.fx/META-INF/MANIFEST.MF
index 7b16b00..bf73db5 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.controls.fx/META-INF/MANIFEST.MF
+++ b/bundles/javafx/org.eclipse.emf.ecp.controls.fx/META-INF/MANIFEST.MF
@@ -6,22 +6,22 @@
 Bundle-Activator: org.eclipse.emf.ecp.controls.internal.fx.Activator
 Bundle-Vendor: Eclipse Modeling Project
 Export-Package: org.eclipse.emf.ecp.controls.fx.util;x-internal:=true,
-  org.eclipse.emf.ecp.controls.internal.fx;x-internal:=true,
-  org.eclipse.emf.ecp.controls.renderer.fx
+ org.eclipse.emf.ecp.controls.internal.fx;x-internal:=true,
+ org.eclipse.emf.ecp.controls.renderer.fx
 Require-Bundle: org.eclipse.core.runtime,
-  org.eclipse.emf.ecp.edit;bundle-version="[1.16.0,1.17.0)",
-  org.eclipse.core.databinding.property,
-  org.eclipse.fx.core.databinding,
-  org.eclipse.emf.databinding,
-  org.eclipse.emf.ecore,
-  org.eclipse.fx.emf.edit.ui,
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.16.0,1.17.0)",
-  org.eclipse.emf.ecp.view.model.fx;bundle-version="[1.16.0,1.17.0)",
-  org.eclipse.emf.ecp.view.model.common;bundle-version="[1.16.0,1.17.0)",
-  org.eclipse.emfforms.common;bundle-version="[1.16.0,1.17.0)",
-  org.eclipse.emf.edit,
-  org.eclipse.emfforms.core.services.emf;bundle-version="[1.16.0,1.17.0)"
+ org.eclipse.emf.ecp.edit;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.databinding.property,
+ org.eclipse.fx.core.databinding,
+ org.eclipse.emf.databinding,
+ org.eclipse.emf.ecore,
+ org.eclipse.fx.emf.edit.ui,
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.fx;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit,
+ org.eclipse.emfforms.core.services.emf;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Import-Package: com.ibm.icu.text;version="50.0.0"
 Bundle-ActivationPolicy: lazy
+Import-Package: com.ibm.icu.text;version="50.0.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.controls.fx
diff --git a/bundles/javafx/org.eclipse.emf.ecp.util.e4.fx/META-INF/MANIFEST.MF b/bundles/javafx/org.eclipse.emf.ecp.util.e4.fx/META-INF/MANIFEST.MF
index 9260807..3f8c298 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.util.e4.fx/META-INF/MANIFEST.MF
+++ b/bundles/javafx/org.eclipse.emf.ecp.util.e4.fx/META-INF/MANIFEST.MF
@@ -6,9 +6,9 @@
 Bundle-Vendor: Eclipse Modeling Project
 Export-Package: org.eclipse.emf.ecp.util.e4.fx;version="1.9.0"
 Require-Bundle: org.eclipse.e4.ui.workbench,
-  org.eclipse.e4.ui.model.workbench,
-  org.eclipse.e4.core.contexts,
-  org.eclipse.emf.emfstore.client
+ org.eclipse.e4.ui.model.workbench,
+ org.eclipse.e4.core.contexts,
+ org.eclipse.emf.emfstore.client
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.util.e4.fx
+Bundle-ActivationPolicy: lazy
diff --git a/bundles/javafx/org.eclipse.emf.ecp.view.group.fx/META-INF/MANIFEST.MF b/bundles/javafx/org.eclipse.emf.ecp.view.group.fx/META-INF/MANIFEST.MF
index 3e35317..eacf149 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.view.group.fx/META-INF/MANIFEST.MF
+++ b/bundles/javafx/org.eclipse.emf.ecp.view.group.fx/META-INF/MANIFEST.MF
@@ -6,11 +6,11 @@
 Bundle-Activator: org.eclipse.emf.ecp.view.group.fx.Activator
 Bundle-Vendor: Eclipse Modeling Project
 Export-Package: org.eclipse.emf.ecp.view.group.fx;version="1.9.0"
-Require-Bundle: org.eclipse.emf.ecp.view.group.model;bundle-version="[1.16.0,1.17.0)",
-  org.eclipse.emf.ecp.view.model.fx;bundle-version="[1.16.0,1.17.0)",
-  org.eclipse.emf.ecp.view.model.common;bundle-version="[1.16.0,1.17.0)",
-  org.eclipse.emfforms.common;bundle-version="[1.16.0,1.17.0)"
+Require-Bundle: org.eclipse.emf.ecp.view.group.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.fx;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.common;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Import-Package: org.osgi.framework;version="1.3.0"
 Bundle-ActivationPolicy: lazy
+Import-Package: org.osgi.framework;version="1.3.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.view.group.fx
diff --git a/bundles/javafx/org.eclipse.emf.ecp.view.horizontal.fx/META-INF/MANIFEST.MF b/bundles/javafx/org.eclipse.emf.ecp.view.horizontal.fx/META-INF/MANIFEST.MF
index d607f70..0c13a96 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.view.horizontal.fx/META-INF/MANIFEST.MF
+++ b/bundles/javafx/org.eclipse.emf.ecp.view.horizontal.fx/META-INF/MANIFEST.MF
@@ -7,10 +7,10 @@
 Bundle-Vendor: Eclipse Modeling Project
 Export-Package: org.eclipse.emf.ecp.view.horizontal.fx;version="1.9.0"
 Require-Bundle: org.eclipse.core.runtime,
-  org.eclipse.emf.ecp.view.horizontal.model;bundle-version="[1.16.0,1.17.0)",
-  org.eclipse.emf.ecp.view.model.fx;bundle-version="[1.16.0,1.17.0)",
-  org.eclipse.emf.ecp.view.model.common;bundle-version="[1.16.0,1.17.0)",
-  org.eclipse.emfforms.common;bundle-version="[1.16.0,1.17.0)"
+ org.eclipse.emf.ecp.view.horizontal.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.fx;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.common;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.view.horizontal.fx
+Bundle-ActivationPolicy: lazy
diff --git a/bundles/javafx/org.eclipse.emf.ecp.view.label.fx/META-INF/MANIFEST.MF b/bundles/javafx/org.eclipse.emf.ecp.view.label.fx/META-INF/MANIFEST.MF
index 5be752f..5393e10 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.view.label.fx/META-INF/MANIFEST.MF
+++ b/bundles/javafx/org.eclipse.emf.ecp.view.label.fx/META-INF/MANIFEST.MF
@@ -4,8 +4,8 @@
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.label.fx;singleton:=true
 Bundle-Version: 1.9.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Require-Bundle: org.eclipse.emf.ecp.view.model.fx;bundle-version="[1.16.0,1.17.0)",
-  org.eclipse.emf.ecp.view.label.model;bundle-version="[1.16.0,1.17.0)",
-  org.eclipse.emfforms.common;bundle-version="[1.16.0,1.17.0)"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.eclipse.emf.ecp.view.model.fx;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.label.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.common;bundle-version="[1.20.0,1.21.0)"
 Automatic-Module-Name: org.eclipse.emf.ecp.view.label.fx
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/javafx/org.eclipse.emf.ecp.view.model.fx/META-INF/MANIFEST.MF b/bundles/javafx/org.eclipse.emf.ecp.view.model.fx/META-INF/MANIFEST.MF
index 6c4ab75..744aca3 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.view.model.fx/META-INF/MANIFEST.MF
+++ b/bundles/javafx/org.eclipse.emf.ecp.view.model.fx/META-INF/MANIFEST.MF
@@ -6,19 +6,19 @@
 Bundle-Activator: org.eclipse.emf.ecp.view.model.internal.fx.Activator
 Bundle-Vendor: Eclipse Modeling Project
 Export-Package: org.eclipse.emf.ecp.view.model.fx;version="1.9.0",
-  org.eclipse.emf.ecp.view.model.internal.fx;version="1.9.0"
+ org.eclipse.emf.ecp.view.model.internal.fx;version="1.9.0"
 Require-Bundle: org.eclipse.core.runtime,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.16.0,1.17.0)",
-  org.eclipse.emf.ecp.edit;bundle-version="[1.16.0,1.17.0)",
-  org.eclipse.emf.ecp.view.context;bundle-version="[1.16.0,1.17.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.16.0,1.17.0)";visibility:=reexport,
-  org.eclipse.fx.core.databinding;bundle-version="1.0.0",
-  org.eclipse.core.databinding.property;bundle-version="1.4.200",
-  org.eclipse.emf.ecp.view.model.common;bundle-version="[1.16.0,1.17.0)";visibility:=reexport,
-  org.eclipse.emfforms.common;bundle-version="[1.16.0,1.17.0)",
-  org.eclipse.emf.edit,
-  org.eclipse.emf.databinding.edit
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.edit;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.fx.core.databinding;bundle-version="1.0.0",
+ org.eclipse.core.databinding.property;bundle-version="1.4.200",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emfforms.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit,
+ org.eclipse.emf.databinding.edit
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Import-Package: org.eclipse.fx.core.databinding
 Bundle-ActivationPolicy: lazy
+Import-Package: org.eclipse.fx.core.databinding
 Automatic-Module-Name: org.eclipse.emf.ecp.view.model.fx
diff --git a/bundles/javafx/org.eclipse.emf.ecp.view.treemasterdetail.fx/META-INF/MANIFEST.MF b/bundles/javafx/org.eclipse.emf.ecp.view.treemasterdetail.fx/META-INF/MANIFEST.MF
index cb38fca..cb2dd40 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.view.treemasterdetail.fx/META-INF/MANIFEST.MF
+++ b/bundles/javafx/org.eclipse.emf.ecp.view.treemasterdetail.fx/META-INF/MANIFEST.MF
@@ -6,15 +6,15 @@
 Bundle-Activator: org.eclipse.emf.ecp.view.treemasterdetail.fx.Activator
 Bundle-Vendor: Eclipse Modeling Project
 Export-Package: org.eclipse.emf.ecp.view.treemasterdetail.fx;version="1.9.0"
-Require-Bundle: org.eclipse.emf.ecp.view.treemasterdetail.model;bundle-version="[1.15.0,2.0.0)",
-  org.eclipse.emf.ecp.view.model.fx;bundle-version="[1.15.0,2.0.0)",
-  org.eclipse.fx.emf.edit.ui;bundle-version="[2.0.0,3.0.0)",
-  org.eclipse.emf.edit;bundle-version="2.9.0",
-  org.eclipse.emf.ecp.util.fx;bundle-version="[1.15.0,2.0.0)",
-  org.eclipse.emf.ecp.view.model.common;bundle-version="[1.15.0,2.0.0)",
-  org.eclipse.emfforms.common;bundle-version="[1.15.0,2.0.0)",
-  org.eclipse.fx.ui.controls;bundle-version="[2.0.0,3.0.0)"
+Require-Bundle: org.eclipse.emf.ecp.view.treemasterdetail.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.fx;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.fx.emf.edit.ui;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.emf.edit;bundle-version="2.9.0",
+ org.eclipse.emf.ecp.util.fx;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.fx.ui.controls;bundle-version="[2.0.0,3.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Import-Package: org.osgi.framework;version="1.3.0"
 Bundle-ActivationPolicy: lazy
+Import-Package: org.osgi.framework;version="1.3.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.view.treemasterdetail.fx
diff --git a/bundles/javafx/org.eclipse.emf.ecp.view.vertical.fx/META-INF/MANIFEST.MF b/bundles/javafx/org.eclipse.emf.ecp.view.vertical.fx/META-INF/MANIFEST.MF
index 291199a..749e954 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.view.vertical.fx/META-INF/MANIFEST.MF
+++ b/bundles/javafx/org.eclipse.emf.ecp.view.vertical.fx/META-INF/MANIFEST.MF
@@ -7,10 +7,10 @@
 Bundle-Vendor: Eclipse Modeling Project
 Export-Package: org.eclipse.emf.ecp.view.vertical.fx;version="1.9.0"
 Require-Bundle: org.eclipse.core.runtime,
-  org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.16.0,1.17.0)",
-  org.eclipse.emf.ecp.view.model.fx;bundle-version="[1.16.0,1.17.0)",
-  org.eclipse.emf.ecp.view.model.common;bundle-version="[1.16.0,1.17.0)",
-  org.eclipse.emfforms.common;bundle-version="[1.16.0,1.17.0)"
+ org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.fx;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.common;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.view.vertical.fx
+Bundle-ActivationPolicy: lazy
diff --git a/bundles/javafx/org.eclipse.emf.ecp.viewmodel.fx/META-INF/MANIFEST.MF b/bundles/javafx/org.eclipse.emf.ecp.viewmodel.fx/META-INF/MANIFEST.MF
index 8c4f3b5..1c7721a 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.viewmodel.fx/META-INF/MANIFEST.MF
+++ b/bundles/javafx/org.eclipse.emf.ecp.viewmodel.fx/META-INF/MANIFEST.MF
@@ -4,6 +4,6 @@
 Bundle-SymbolicName: org.eclipse.emf.ecp.viewmodel.fx;singleton:=true
 Bundle-Version: 1.7.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Require-Bundle: org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.16.0,1.17.0)"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.20.0,1.21.0)"
 Automatic-Module-Name: org.eclipse.emf.ecp.viewmodel.fx
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/javafx/org.eclipse.emf.emfstore.fx.projects/META-INF/MANIFEST.MF b/bundles/javafx/org.eclipse.emf.emfstore.fx.projects/META-INF/MANIFEST.MF
index 3367b94..fe1284d 100644
--- a/bundles/javafx/org.eclipse.emf.emfstore.fx.projects/META-INF/MANIFEST.MF
+++ b/bundles/javafx/org.eclipse.emf.emfstore.fx.projects/META-INF/MANIFEST.MF
@@ -7,16 +7,16 @@
 Bundle-Vendor: Eclipse Modeling Project
 Export-Package: org.eclipse.emf.emfstore.fx.internal.projects;version="1.9.0";x-internal:=true
 Require-Bundle: org.eclipse.emf.emfstore.client;bundle-version="[1.3.0,2.0.0]",
-  org.eclipse.fx.emf.edit.ui;bundle-version="[2.0.0,3.0.0)",
-  org.eclipse.emf.edit,
-  org.eclipse.emf.ecore,
-  org.eclipse.emf.ecp.util.fx;bundle-version="[1.16.0,1.17.0)",
-  org.eclipse.e4.ui.workbench,
-  org.eclipse.emf.ecp.util.e4.fx;bundle-version="[1.16.0,1.17.0)",
-  org.eclipse.fx.ui.controls;bundle-version="[2.0.0,3.0.0)"
+ org.eclipse.fx.emf.edit.ui;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.emf.edit,
+ org.eclipse.emf.ecore,
+ org.eclipse.emf.ecp.util.fx;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.e4.ui.workbench,
+ org.eclipse.emf.ecp.util.e4.fx;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.fx.ui.controls;bundle-version="[2.0.0,3.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Import-Package: javax.annotation;version="1.1.0",
-  javax.inject;version="1.0.0",
-  org.osgi.framework;version="1.3.0"
 Bundle-ActivationPolicy: lazy
+Import-Package: javax.annotation;version="1.1.0",
+ javax.inject;version="1.0.0",
+ org.osgi.framework;version="1.3.0"
 Automatic-Module-Name: org.eclipse.emf.emfstore.fx.projects
diff --git a/bundles/org.eclipse.emf.ecp.application.e3/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.application.e3/META-INF/MANIFEST.MF
index e0f6a11..55f353e 100644
--- a/bundles/org.eclipse.emf.ecp.application.e3/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.application.e3/META-INF/MANIFEST.MF
@@ -2,17 +2,17 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Demo Application Eclipse 3.x
 Bundle-SymbolicName: org.eclipse.emf.ecp.application.e3;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.application3x.Activator
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.application3x;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.application3x;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.emf.ecp.ui.e3;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.ui;bundle-version="[3.0.0,4.0.0)",
-  org.eclipse.core.resources;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.ui.ide;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.ui.ide.application;bundle-version="[1.0.0,2.0.0)"
+ org.eclipse.emf.ecp.ui.e3;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.ui;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.core.resources;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.ui.ide;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.ui.ide.application;bundle-version="[1.0.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.application.e3
diff --git a/bundles/org.eclipse.emf.ecp.application.e3/pom.xml b/bundles/org.eclipse.emf.ecp.application.e3/pom.xml
index ac1e327..2c2b6ce 100644
--- a/bundles/org.eclipse.emf.ecp.application.e3/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.application.e3/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.application.e3</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
   
   <properties>
diff --git a/bundles/org.eclipse.emf.ecp.application.e4/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.application.e4/META-INF/MANIFEST.MF
index 70e6de2..00d05d3 100644
--- a/bundles/org.eclipse.emf.ecp.application.e4/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.application.e4/META-INF/MANIFEST.MF
@@ -2,19 +2,19 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP e4 Application
 Bundle-SymbolicName: org.eclipse.emf.ecp.application.e4;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.application.e4.editor;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.ui.e4;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.emf.ecp.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.e4.ui.workbench;bundle-version="[0.10.0,2.0.0)",
-  org.eclipse.e4.ui.model.workbench;bundle-version="[0.10.0,3.0.0)",
-  org.eclipse.e4.core.contexts;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.equinox.event;bundle-version="[1.3.0,2.0.0)"
+Export-Package: org.eclipse.emf.ecp.application.e4.editor;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emf.ecp.ui.e4;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.emf.ecp.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.e4.ui.workbench;bundle-version="[0.10.0,2.0.0)",
+ org.eclipse.e4.ui.model.workbench;bundle-version="[0.10.0,3.0.0)",
+ org.eclipse.e4.core.contexts;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.equinox.event;bundle-version="[1.3.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.application.e4
-Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.osgi.framework;version="[1.2.0,2.0.0)"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.osgi.framework;version="[1.2.0,2.0.0)"
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.application.e4/pom.xml b/bundles/org.eclipse.emf.ecp.application.e4/pom.xml
index d1bc98f..47c96a0 100644
--- a/bundles/org.eclipse.emf.ecp.application.e4/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.application.e4/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.application.e4</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
   
   <properties>
diff --git a/bundles/org.eclipse.emf.ecp.cdo.core/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.cdo.core/META-INF/MANIFEST.MF
index a789f83..7549a21 100644
--- a/bundles/org.eclipse.emf.ecp.cdo.core/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.cdo.core/META-INF/MANIFEST.MF
@@ -2,18 +2,18 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP CDO Model Repository Core
 Bundle-SymbolicName: org.eclipse.emf.ecp.cdo.core;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.cdo.internal.core.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.cdo.internal.core;version="1.19.0";x-friends:="org.eclipse.emf.ecp.cdo.ui"
+Export-Package: org.eclipse.emf.ecp.cdo.internal.core;version="1.20.0";x-friends:="org.eclipse.emf.ecp.cdo.ui"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.core;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.cdo.net4j;bundle-version="[4.1.0,5.0.0)",
-  org.eclipse.emf.cdo.workspace;bundle-version="[4.1.0,5.0.0)";visibility:=reexport,
-  org.eclipse.emf.cdo.server.db;bundle-version="[4.1.0,5.0.0)",
-  org.eclipse.net4j.db.h2;bundle-version="[4.0.0,5.0.0)"
+ org.eclipse.emf.ecp.core;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.cdo.net4j;bundle-version="[4.1.0,5.0.0)",
+ org.eclipse.emf.cdo.workspace;bundle-version="[4.1.0,5.0.0)";visibility:=reexport,
+ org.eclipse.emf.cdo.server.db;bundle-version="[4.1.0,5.0.0)",
+ org.eclipse.net4j.db.h2;bundle-version="[4.0.0,5.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Import-Package: org.h2;version="[1.0.2.qualifier,2.0.0)",
-  org.h2.jdbcx;version="[1.0.2.qualifier,2.0.0)"
+ org.h2.jdbcx;version="[1.0.2.qualifier,2.0.0)"
 Automatic-Module-Name: org.eclipse.emf.ecp.cdo.core
diff --git a/bundles/org.eclipse.emf.ecp.cdo.core/pom.xml b/bundles/org.eclipse.emf.ecp.cdo.core/pom.xml
index fc4978a..827c9dc 100644
--- a/bundles/org.eclipse.emf.ecp.cdo.core/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.cdo.core/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.cdo.core</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
   
   <properties>
diff --git a/bundles/org.eclipse.emf.ecp.cdo.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.cdo.ui/META-INF/MANIFEST.MF
index 531d48f..123f3bd 100644
--- a/bundles/org.eclipse.emf.ecp.cdo.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.cdo.ui/META-INF/MANIFEST.MF
@@ -2,17 +2,17 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: CDO Model Repository ECP UI
 Bundle-SymbolicName: org.eclipse.emf.ecp.cdo.ui;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.cdo.internal.ui.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.cdo.internal.ui;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.cdo.internal.ui.handlers;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.cdo.internal.ui;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.cdo.internal.ui.handlers;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.emf.ecp.cdo.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.cdo.edit;bundle-version="[4.0.0,5.0.0)",
-  org.eclipse.emf.ecp.ui;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.net4j.util;bundle-version="[3.0.0,4.0.0)",
-  org.eclipse.net4j.util.ui;bundle-version="[3.0.0,4.0.0)"
+ org.eclipse.emf.ecp.cdo.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.cdo.edit;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.emf.ecp.ui;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.net4j.util;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.net4j.util.ui;bundle-version="[3.0.0,4.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.cdo.ui
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.cdo.ui/pom.xml b/bundles/org.eclipse.emf.ecp.cdo.ui/pom.xml
index daeb5bf..523b181 100644
--- a/bundles/org.eclipse.emf.ecp.cdo.ui/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.cdo.ui/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.cdo.ui</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
   
   <properties>
diff --git a/bundles/org.eclipse.emf.ecp.changebroker.provider/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.changebroker.provider/META-INF/MANIFEST.MF
index c78da6d..f656a9c 100644
--- a/bundles/org.eclipse.emf.ecp.changebroker.provider/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.changebroker.provider/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Change Broker Provider Bridge
 Bundle-SymbolicName: org.eclipse.emf.ecp.changebroker.provider
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.changebroker.provider.internal;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.changebroker;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.common;bundle-version="[2.7.0,3.0.0)",
-  org.eclipse.emf.ecp.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)"
+Export-Package: org.eclipse.emf.ecp.changebroker.provider.internal;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emf.ecp.changebroker;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.common;bundle-version="[2.7.0,3.0.0)",
+ org.eclipse.emf.ecp.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.changebroker.provider
 Service-Component: OSGI-INF/component.xml
diff --git a/bundles/org.eclipse.emf.ecp.changebroker.provider/pom.xml b/bundles/org.eclipse.emf.ecp.changebroker.provider/pom.xml
index 56e2187..2396dc5 100644
--- a/bundles/org.eclipse.emf.ecp.changebroker.provider/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.changebroker.provider/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.changebroker.provider</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.changebroker/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.changebroker/META-INF/MANIFEST.MF
index 1861998..143cb63 100644
--- a/bundles/org.eclipse.emf.ecp.changebroker/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.changebroker/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Change Broker
 Bundle-SymbolicName: org.eclipse.emf.ecp.changebroker
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.changebroker.internal;version="1.19.0";x-internal:=true,
- org.eclipse.emf.ecp.changebroker.spi;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.changebroker.internal;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.changebroker.spi;version="1.20.0"
 Require-Bundle: org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Automatic-Module-Name: org.eclipse.emf.ecp.changebroker
 Service-Component: OSGI-INF/component.xml
 Bundle-ActivationPolicy: lazy
-Automatic-Module-Name: org.eclipse.emf.ecp.changebroker
diff --git a/bundles/org.eclipse.emf.ecp.changebroker/pom.xml b/bundles/org.eclipse.emf.ecp.changebroker/pom.xml
index 0c3a666..0618d91 100644
--- a/bundles/org.eclipse.emf.ecp.changebroker/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.changebroker/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.changebroker</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.common.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.common.ui/META-INF/MANIFEST.MF
index 49e25b9..0fc14c9 100644
--- a/bundles/org.eclipse.emf.ecp.common.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.common.ui/META-INF/MANIFEST.MF
@@ -2,27 +2,27 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Common UI
 Bundle-SymbolicName: org.eclipse.emf.ecp.common.ui
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.internal.common.ui;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.spi.common.ui;version="1.19.0",
-  org.eclipse.emf.ecp.spi.common.ui.composites;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.internal.common.ui;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.spi.common.ui;version="1.20.0",
+ org.eclipse.emf.ecp.spi.common.ui.composites;version="1.20.0"
 Require-Bundle: org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emf.ecp.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.localization;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.ecp.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.common.ui
 Import-Package: org.eclipse.emf.edit.ui.provider;version="0.0.0",
-  org.eclipse.jface.dialogs;version="0.0.0",
-  org.eclipse.jface.layout;version="0.0.0",
-  org.eclipse.jface.viewers;version="0.0.0",
-  org.eclipse.jface.window;version="0.0.0",
-  org.eclipse.jface.wizard;version="0.0.0",
-  org.eclipse.osgi.util;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.events;version="0.0.0",
-  org.eclipse.swt.graphics;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0",
-  org.osgi.framework;version="1.8.0"
+ org.eclipse.jface.dialogs;version="0.0.0",
+ org.eclipse.jface.layout;version="0.0.0",
+ org.eclipse.jface.viewers;version="0.0.0",
+ org.eclipse.jface.window;version="0.0.0",
+ org.eclipse.jface.wizard;version="0.0.0",
+ org.eclipse.osgi.util;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.events;version="0.0.0",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.osgi.framework;version="1.8.0"
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.common.ui/pom.xml b/bundles/org.eclipse.emf.ecp.common.ui/pom.xml
index eb1f268..5ed34d8 100644
--- a/bundles/org.eclipse.emf.ecp.common.ui/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.common.ui/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.common.ui</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
   
   <properties>
diff --git a/bundles/org.eclipse.emf.ecp.common/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.common/META-INF/MANIFEST.MF
index 6f52c7c..4094b9b 100644
--- a/bundles/org.eclipse.emf.ecp.common/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.common/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Common
 Bundle-SymbolicName: org.eclipse.emf.ecp.common
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.common.spi;version="1.19.0",
- org.eclipse.emf.ecp.common.spi.asserts;version="1.19.0",
- org.eclipse.emf.ecp.common.spi.cachetree;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.common.spi;version="1.20.0",
+ org.eclipse.emf.ecp.common.spi.asserts;version="1.20.0",
+ org.eclipse.emf.ecp.common.spi.cachetree;version="1.20.0"
 Require-Bundle: org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)",
  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.common
+Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.common/pom.xml b/bundles/org.eclipse.emf.ecp.common/pom.xml
index f7412bd..57fa50d 100644
--- a/bundles/org.eclipse.emf.ecp.common/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.common/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.common</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
   
   <properties>
diff --git a/bundles/org.eclipse.emf.ecp.common/src/org/eclipse/emf/ecp/common/spi/EMFUtils.java b/bundles/org.eclipse.emf.ecp.common/src/org/eclipse/emf/ecp/common/spi/EMFUtils.java
index 4e1105e..2e3a2fb 100644
--- a/bundles/org.eclipse.emf.ecp.common/src/org/eclipse/emf/ecp/common/spi/EMFUtils.java
+++ b/bundles/org.eclipse.emf.ecp.common/src/org/eclipse/emf/ecp/common/spi/EMFUtils.java
@@ -40,7 +40,8 @@
 
 	/**
 	 * This method looks through all known {@link EPackage}s to find all concrete subclasses for the provided super
-	 * class (abstract classes and interfaces will be ignored).
+	 * class (abstract classes and interfaces will be ignored). If the EClass is EObject, all non abstract and non
+	 * interface classes will be returned.
 	 *
 	 * @param superClass
 	 *            - the class for which to get the subclasses
diff --git a/bundles/org.eclipse.emf.ecp.common/src/org/eclipse/emf/ecp/common/spi/Labelizer.java b/bundles/org.eclipse.emf.ecp.common/src/org/eclipse/emf/ecp/common/spi/Labelizer.java
new file mode 100644
index 0000000..80d5f7b
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.common/src/org/eclipse/emf/ecp/common/spi/Labelizer.java
@@ -0,0 +1,194 @@
+/*******************************************************************************
+ * Copyright (c) 2019 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.common.spi;
+
+import java.lang.ref.ReferenceQueue;
+import java.util.Arrays;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.util.Pool;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
+
+/**
+ * API for obtaining user-friendly labels for {@link EObject}s, intended especially for
+ * {@link Object#toString() debug strings} of objects that encapsulate {@link EObject}s
+ * but that could be appropriate in other end-user (such as UI) scenarios.
+ *
+ * @since 1.20
+ */
+public final class Labelizer {
+
+	private static final Pool<Labelizer> POOL = new PoolImpl();
+
+	private final EPackage ePackage;
+	private AdapterFactory adapterFactory;
+
+	/**
+	 * Initializes me with the package that I support.
+	 */
+	private Labelizer(EPackage ePackage) {
+		super();
+
+		this.ePackage = ePackage;
+	}
+
+	/**
+	 * Initialize my adapter factory.
+	 *
+	 * @return something to dispose when I am no longer needed
+	 */
+	IDisposable initialize() {
+		final Collection<?> types = Arrays.asList(ePackage, IItemLabelProvider.class);
+		final ComposedAdapterFactory.Descriptor desc = ComposedAdapterFactory.Descriptor.Registry.INSTANCE
+			.getDescriptor(types);
+		if (desc != null) {
+			adapterFactory = desc.createAdapterFactory();
+		}
+
+		if (adapterFactory == null) {
+			adapterFactory = new ReflectiveItemProviderAdapterFactory();
+		}
+
+		return adapterFactory instanceof IDisposable
+			? (IDisposable) adapterFactory
+			: Labelizer::pass;
+	}
+
+	private static void pass() {
+		// Nothing to do
+	}
+
+	/**
+	 * Get a labelizer for the given {@code object}.
+	 *
+	 * @param object the objectfor which to get a labelizer
+	 * @return the labelizer
+	 */
+	public static Labelizer get(EObject object) {
+		return get(object.eClass().getEPackage());
+	}
+
+	/**
+	 * Get a labelizer for the given {@code ePackage}.
+	 *
+	 * @param ePackage the package for which to get a labelizer
+	 * @return the labelizer
+	 */
+	public static Labelizer get(EPackage ePackage) {
+		final Labelizer result = new Labelizer(ePackage);
+		return POOL.intern(result);
+	}
+
+	/**
+	 * Obtain a friendly label for the given {@code object}. Where possible,
+	 * this will be based on the label provided by the model's EMF.Edit providers.
+	 *
+	 * @param object an object
+	 * @return a best-effort friendly readable label for it
+	 */
+	public String getLabel(EObject object) {
+		String result = null;
+
+		final IItemLabelProvider labels = (IItemLabelProvider) adapterFactory.adapt(object, IItemLabelProvider.class);
+		if (labels != null) {
+			result = labels.getText(object);
+		}
+
+		if (result == null) {
+			result = String.valueOf(object);
+		}
+
+		return result;
+	}
+
+	@Override
+	public int hashCode() {
+		return ePackage.hashCode();
+	}
+
+	@Override
+	public boolean equals(Object obj) {
+		return obj instanceof Labelizer && ((Labelizer) obj).ePackage.equals(ePackage);
+	}
+
+	//
+	// Nested types
+	//
+
+	/**
+	 * Interning labelizer pool implementation.
+	 */
+	@SuppressWarnings("serial")
+	private static final class PoolImpl extends Pool<Labelizer> {
+
+		PoolImpl() {
+			super(8, null, null); // Default object access units and reference queue
+		}
+
+		@Override
+		protected void putEntry(int index, Entry<Labelizer> entry) {
+			// initialize the labelizer now
+			((EntryImpl) entry).initialize();
+
+			super.putEntry(index, entry);
+		}
+
+		@Override
+		protected boolean removeEntry(int index, Entry<Labelizer> entry) {
+			// dispose the labelizer
+			((EntryImpl) entry).dispose();
+
+			return super.removeEntry(index, entry);
+		}
+
+		@Override
+		protected Entry<Labelizer> newExternalEntry(Labelizer object, int hashCode) {
+			return new EntryImpl(this, object, hashCode, externalQueue);
+		}
+
+		//
+		// Nested types
+		//
+
+		/**
+		 * Custom pool entry that tracks the encapsulation of the disposing of the
+		 * labelizer.
+		 */
+		private static final class EntryImpl extends PoolEntry<Labelizer> {
+			private IDisposable disposer;
+
+			EntryImpl(PoolImpl pool, Labelizer labelizer, int hashCode, ReferenceQueue<Object> externalQueue) {
+				super(pool, labelizer, hashCode, externalQueue);
+			}
+
+			void initialize() {
+				disposer = get().initialize();
+			}
+
+			void dispose() {
+				if (disposer != null) {
+					disposer.dispose();
+					disposer = null;
+				}
+			}
+
+		}
+
+	}
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.common/src/org/eclipse/emf/ecp/common/spi/UniqueSetting.java b/bundles/org.eclipse.emf.ecp.common/src/org/eclipse/emf/ecp/common/spi/UniqueSetting.java
index 28bb52a..adf520d 100644
--- a/bundles/org.eclipse.emf.ecp.common/src/org/eclipse/emf/ecp/common/spi/UniqueSetting.java
+++ b/bundles/org.eclipse.emf.ecp.common/src/org/eclipse/emf/ecp/common/spi/UniqueSetting.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -8,6 +8,7 @@
  *
  * Contributors:
  * Edgar Mueller - initial API and implementation
+ * Christian W. Damus - bug 543190
  ******************************************************************************/
 package org.eclipse.emf.ecp.common.spi;
 
@@ -144,4 +145,16 @@
 	public Setting getSetting() {
 		return ((InternalEObject) eObject).eSetting(structuralFeature);
 	}
+
+	@Override
+	public String toString() {
+		final StringBuilder result = new StringBuilder(64);
+		result.append("UniqueSetting("); //$NON-NLS-1$
+		result.append(structuralFeature == null ? "<null>" : structuralFeature.getName()); //$NON-NLS-1$
+		result.append(" of "); //$NON-NLS-1$
+		result.append(eObject == null ? "<null>" : Labelizer.get(eObject).getLabel(eObject)); //$NON-NLS-1$
+		result.append(')');
+		return result.toString();
+	}
+
 }
diff --git a/bundles/org.eclipse.emf.ecp.core.emffilter/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.core.emffilter/META-INF/MANIFEST.MF
index aa36605..ffbd64d 100644
--- a/bundles/org.eclipse.emf.ecp.core.emffilter/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.core.emffilter/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Emffilter
 Bundle-SymbolicName: org.eclipse.emf.ecp.core.emffilter;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.core.emffilter.internal.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.core.emffilter.internal;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.core.emffilter.internal;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.6.0,4.0.0)",
-  org.eclipse.emf.ecp.core;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.core;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.core.emffilter
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.core.emffilter/pom.xml b/bundles/org.eclipse.emf.ecp.core.emffilter/pom.xml
index 7b49754..238bc89 100644
--- a/bundles/org.eclipse.emf.ecp.core.emffilter/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.core.emffilter/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.core.emffilter</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/META-INF/MANIFEST.MF
index 136f7b2..75d2b4e 100644
--- a/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Core RAP Sessionprovider
 Bundle-SymbolicName: org.eclipse.emf.ecp.core.rap.sessionprovider.rwt
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.core.rap.sessionprovider.rwt;version="1.19.0"
-Require-Bundle: org.eclipse.emf.ecp.core.rap;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emf.ecp.core.rap.sessionprovider.rwt;version="1.20.0"
+Require-Bundle: org.eclipse.emf.ecp.core.rap;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/component.xml
 Bundle-ActivationPolicy: lazy
 Import-Package: javax.servlet.http;version="0.0.0",
-  org.eclipse.emf.ecp.core.rap;version="[1.19.0,1.20.0)",
-  org.eclipse.rap.rwt;version="0.0.0",
-  org.eclipse.rap.rwt.service;version="3.0.2"
+ org.eclipse.emf.ecp.core.rap;version="[1.20.0,1.21.0)",
+ org.eclipse.rap.rwt;version="0.0.0",
+ org.eclipse.rap.rwt.service;version="3.0.2"
 Automatic-Module-Name: org.eclipse.emf.ecp.core.rap.sessionprovider.rwt
diff --git a/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/pom.xml b/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/pom.xml
index 4345486..0728a59 100644
--- a/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.core.rap.sessionprovider.rwt</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.core.rap/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.core.rap/META-INF/MANIFEST.MF
index 3dd5d83..21ab136 100644
--- a/bundles/org.eclipse.emf.ecp.core.rap/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.core.rap/META-INF/MANIFEST.MF
@@ -2,18 +2,18 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Core RAP
 Bundle-SymbolicName: org.eclipse.emf.ecp.core.rap
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.core.rap.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.core.rap;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.core.rap;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.core;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.core;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Import-Package: org.eclipse.core.runtime;version="0.0.0",
-  org.eclipse.net4j.util.lifecycle;version="0.0.0",
-  org.eclipse.rap.rwt;version="0.0.0",
-  org.eclipse.rap.rwt.service;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0",
-  org.osgi.framework;version="0.0.0"
+ org.eclipse.net4j.util.lifecycle;version="0.0.0",
+ org.eclipse.rap.rwt;version="0.0.0",
+ org.eclipse.rap.rwt.service;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.osgi.framework;version="0.0.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.core.rap
diff --git a/bundles/org.eclipse.emf.ecp.core.rap/pom.xml b/bundles/org.eclipse.emf.ecp.core.rap/pom.xml
index 2c91024..6c81cd7 100644
--- a/bundles/org.eclipse.emf.ecp.core.rap/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.core.rap/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.core.rap</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.core/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.core/META-INF/MANIFEST.MF
index 3304cde..fbbf6d6 100644
--- a/bundles/org.eclipse.emf.ecp.core/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.core/META-INF/MANIFEST.MF
@@ -2,30 +2,30 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Core
 Bundle-SymbolicName: org.eclipse.emf.ecp.core;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.internal.core.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.core;version="1.19.0",
-  org.eclipse.emf.ecp.core.exceptions;version="1.19.0",
-  org.eclipse.emf.ecp.core.util;version="1.19.0",
-  org.eclipse.emf.ecp.core.util.observer;version="1.19.0",
-  org.eclipse.emf.ecp.internal.core;version="1.19.0";
-   x-friends:="org.eclipse.emf.ecp.ui,
-    org.eclipse.emf.ecp.ui.view.test,
-    org.eclipse.emf.ecp.edit.ecore.swt,
-    org.eclipse.emf.ecp.core.rap",
-  org.eclipse.emf.ecp.internal.core.properties;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.internal.core.util;version="1.19.0";x-friends:="org.eclipse.emf.ecp.ui",
-  org.eclipse.emf.ecp.internal.core.util.observer;version="1.19.0";x-friends:="org.eclipse.emf.ecp.core.rap",
-  org.eclipse.emf.ecp.spi.core;version="1.19.0",
-  org.eclipse.emf.ecp.spi.core.util;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.core;version="1.20.0",
+ org.eclipse.emf.ecp.core.exceptions;version="1.20.0",
+ org.eclipse.emf.ecp.core.util;version="1.20.0",
+ org.eclipse.emf.ecp.core.util.observer;version="1.20.0",
+ org.eclipse.emf.ecp.internal.core;version="1.20.0";
+  x-friends:="org.eclipse.emf.ecp.ui,
+   org.eclipse.emf.ecp.ui.view.test,
+   org.eclipse.emf.ecp.edit.ecore.swt,
+   org.eclipse.emf.ecp.core.rap",
+ org.eclipse.emf.ecp.internal.core.properties;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.internal.core.util;version="1.20.0";x-friends:="org.eclipse.emf.ecp.ui",
+ org.eclipse.emf.ecp.internal.core.util.observer;version="1.20.0";x-friends:="org.eclipse.emf.ecp.core.rap",
+ org.eclipse.emf.ecp.spi.core;version="1.20.0",
+ org.eclipse.emf.ecp.spi.core.util;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)";resolution:=optional,
-  org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.edit;bundle-version="[2.5.0,3.0.0)";visibility:=reexport,
-  org.eclipse.net4j.util;bundle-version="[3.0.0,4.0.0)",
-  org.eclipse.emf.ecp.common;bundle-version="[1.19.0,1.20.0)"
-Import-Package: org.eclipse.emfforms.common;version="[1.19.0,1.20.0)"
+ org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)";resolution:=optional,
+ org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.edit;bundle-version="[2.5.0,3.0.0)";visibility:=reexport,
+ org.eclipse.net4j.util;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.emf.ecp.common;bundle-version="[1.20.0,1.21.0)"
+Import-Package: org.eclipse.emfforms.common;version="[1.20.0,1.21.0)"
 Automatic-Module-Name: org.eclipse.emf.ecp.core
 Service-Component: OSGI-INF/ecpProviderRegistry.xml,OSGI-INF/ecpRepositoryManager.xml,OSGI-INF/ecpProjectManager.xml,OSGI-INF/ecpObserverBus.xml
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.core/pom.xml b/bundles/org.eclipse.emf.ecp.core/pom.xml
index 537e854..3bae77c 100644
--- a/bundles/org.eclipse.emf.ecp.core/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.core/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.core</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
   
   <properties>
diff --git a/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/core/util/ECPUtil.java b/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/core/util/ECPUtil.java
index d7657bd..c203822 100644
--- a/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/core/util/ECPUtil.java
+++ b/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/core/util/ECPUtil.java
@@ -134,7 +134,9 @@
 	 * @param superClass
 	 *            - the class for which to get the subclasses
 	 * @return a {@link Collection} of {@link EClass EClasses}
+	 * @deprecated Use {@link EMFUtils}.getSubClasses instead
 	 */
+	@Deprecated
 	public static Collection<EClass> getSubClasses(EClass superClass) {
 		final Collection<EClass> classes = new HashSet<EClass>();
 
diff --git a/bundles/org.eclipse.emf.ecp.diagnostician/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.diagnostician/META-INF/MANIFEST.MF
index 9abeeef..321bb51 100644
--- a/bundles/org.eclipse.emf.ecp.diagnostician/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.diagnostician/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Diagnostician
 Bundle-SymbolicName: org.eclipse.emf.ecp.validation.diagnostician;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.internal.diagnostician.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.diagnostician;version="1.19.0";x-friends:="org.eclipse.emf.ecp.ui.validation.e4,org.eclipse.emf.ecp.ui.validation.test",
- org.eclipse.emf.ecp.internal.diagnostician;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.diagnostician;version="1.20.0";x-friends:="org.eclipse.emf.ecp.ui.validation.e4,org.eclipse.emf.ecp.ui.validation.test",
+ org.eclipse.emf.ecp.internal.diagnostician;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)",
  org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.validation.diagnostician
+Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.diagnostician/pom.xml b/bundles/org.eclipse.emf.ecp.diagnostician/pom.xml
index e06fc55..f91149b 100644
--- a/bundles/org.eclipse.emf.ecp.diagnostician/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.diagnostician/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.validation.diagnostician</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.context/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.diffmerge.context/META-INF/MANIFEST.MF
index dfad7b2..6fa8233 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.context/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.context/META-INF/MANIFEST.MF
@@ -2,20 +2,20 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Diff Merge Context
 Bundle-SymbolicName: org.eclipse.emf.ecp.diffmerge.context
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.diffmerge.internal.context.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.diffmerge.internal.context;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.diffmerge.spi.context;version="1.19.0"
-Require-Bundle: org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.diffmerge.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
-  org.eclipse.core.databinding.observable;bundle-version="[1.4.0,2.0.0)"
+Export-Package: org.eclipse.emf.ecp.diffmerge.internal.context;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.diffmerge.spi.context;version="1.20.0"
+Require-Bundle: org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.diffmerge.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
+ org.eclipse.core.databinding.observable;bundle-version="[1.4.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.databinding;version="[1.19.0,1.20.0)"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.databinding;version="[1.20.0,1.21.0)"
 Automatic-Module-Name: org.eclipse.emf.ecp.diffmerge.context
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.context/pom.xml b/bundles/org.eclipse.emf.ecp.diffmerge.context/pom.xml
index 32f6c46..0d2b88f 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.context/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.context/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.diffmerge.context</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.diffmerge.model.edit/META-INF/MANIFEST.MF
index 76d5c48..fdc4e1a 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.model.edit/META-INF/MANIFEST.MF
@@ -2,19 +2,19 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.diffmerge.model.edit;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.ecp.spi.diffmerge.model.provider.DiffmergeEditPlugin$Implementation
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.spi.diffmerge.model.provider;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.spi.diffmerge.model.provider;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.diffmerge.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emf.ecp.diffmerge.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
 Automatic-Module-Name: org.eclipse.emf.ecp.diffmerge.model.edit
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.diffmerge.model.edit/pom.xml
index 77ad93e..9bcf2e9 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.model.edit/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.diffmerge.model.edit</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.diffmerge.model/META-INF/MANIFEST.MF
index 6ab47aa..a04a394 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.model/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.diffmerge.model;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.spi.diffmerge.model;version="1.19.0",
-  org.eclipse.emf.ecp.spi.diffmerge.model.impl;version="1.19.0",
-  org.eclipse.emf.ecp.spi.diffmerge.model.util;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.spi.diffmerge.model;version="1.20.0",
+ org.eclipse.emf.ecp.spi.diffmerge.model.impl;version="1.20.0",
+ org.eclipse.emf.ecp.spi.diffmerge.model.util;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.diffmerge.model
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.model/pom.xml b/bundles/org.eclipse.emf.ecp.diffmerge.model/pom.xml
index 04fd14e..9f7d2e4 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.model/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.diffmerge.model</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/META-INF/MANIFEST.MF
index ae98f1a..3d67e23 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/META-INF/MANIFEST.MF
@@ -2,33 +2,33 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: DiffMerge Renderer
 Bundle-SymbolicName: org.eclipse.emf.ecp.diffmerge.renderer.swt;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.diffmerge.internal.renderer.swt.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.diffmerge.internal.renderer.swt;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.diffmerge.internal.renderer.swt;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.edit;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.edit.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.diffmerge.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.diffmerge.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.table.ui.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.table.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.diffmerge.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.edit;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.edit.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.diffmerge.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.diffmerge.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.table.ui.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.table.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.diffmerge.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.swt.core;version="[1.19.0,1.20.0)",
-  org.eclipse.jface.layout;version="0.0.0",
-  org.eclipse.jface.resource;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.events;version="0.0.0",
-  org.eclipse.swt.graphics;version="0.0.0",
-  org.eclipse.swt.layout;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.swt.core;version="[1.20.0,1.21.0)",
+ org.eclipse.jface.layout;version="0.0.0",
+ org.eclipse.jface.resource;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.events;version="0.0.0",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.eclipse.swt.layout;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.diffmerge.renderer.swt
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/pom.xml b/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/pom.xml
index 32ab7ec..40888c7 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.diffmerge.renderer.swt</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.diffmerge.swt/META-INF/MANIFEST.MF
index 53afa9c..5761240 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.swt/META-INF/MANIFEST.MF
@@ -2,33 +2,33 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: DiffMerge UI SWT
 Bundle-SymbolicName: org.eclipse.emf.ecp.diffmerge.swt
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.diffmerge.swt.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.diffmerge.swt;version="1.19.0";x-friends:="org.eclipse.emf.ecp.diffmerge.renderer.swt"
+Export-Package: org.eclipse.emf.ecp.diffmerge.swt;version="1.20.0";x-friends:="org.eclipse.emf.ecp.diffmerge.renderer.swt"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.edit;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.edit.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.diffmerge.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.localization;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.edit;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.edit.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.diffmerge.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Import-Package: org.eclipse.jface.layout;version="0.0.0",
-  org.eclipse.jface.resource;version="0.0.0",
-  org.eclipse.osgi.util;version="1.1.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.custom;version="0.0.0",
-  org.eclipse.swt.events;version="0.0.0",
-  org.eclipse.swt.graphics;version="0.0.0",
-  org.eclipse.swt.layout;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0",
-  org.osgi.framework;version="1.3.0"
+ org.eclipse.jface.resource;version="0.0.0",
+ org.eclipse.osgi.util;version="1.1.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.custom;version="0.0.0",
+ org.eclipse.swt.events;version="0.0.0",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.eclipse.swt.layout;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.osgi.framework;version="1.3.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.diffmerge.swt
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.swt/pom.xml b/bundles/org.eclipse.emf.ecp.diffmerge.swt/pom.xml
index cf56d07..9f6ec11 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.swt/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.diffmerge.swt</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.doc/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.doc/META-INF/MANIFEST.MF
index cff5ba1..90640d0 100644
--- a/bundles/org.eclipse.emf.ecp.doc/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.doc/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Doc
 Bundle-SymbolicName: org.eclipse.emf.ecp.doc;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
 Require-Bundle: org.eclipse.ui.intro;bundle-version="[3.4.0,4.0.0)"
diff --git a/bundles/org.eclipse.emf.ecp.doc/pom.xml b/bundles/org.eclipse.emf.ecp.doc/pom.xml
index 48db5e5..8f95cd7 100644
--- a/bundles/org.eclipse.emf.ecp.doc/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.doc/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.doc</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.ecore.editor.ui/.classpath b/bundles/org.eclipse.emf.ecp.ecore.editor.ui/.classpath
index 64c5e31..eca7bdb 100644
--- a/bundles/org.eclipse.emf.ecp.ecore.editor.ui/.classpath
+++ b/bundles/org.eclipse.emf.ecp.ecore.editor.ui/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="output" path="bin"/>
diff --git a/bundles/org.eclipse.emf.ecp.ecore.editor.ui/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.emf.ecp.ecore.editor.ui/.settings/org.eclipse.jdt.core.prefs
index edbd6f6..efea61d 100644
--- a/bundles/org.eclipse.emf.ecp.ecore.editor.ui/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.emf.ecp.ecore.editor.ui/.settings/org.eclipse.jdt.core.prefs
@@ -25,9 +25,9 @@
 org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
 org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.compliance=1.8
 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -130,7 +130,7 @@
 org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
 org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
 org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.source=1.8
 org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
 org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
 org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
diff --git a/bundles/org.eclipse.emf.ecp.ecore.editor.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ecore.editor.ui/META-INF/MANIFEST.MF
index 9aa2e6e..bed8deb 100644
--- a/bundles/org.eclipse.emf.ecp.ecore.editor.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ecore.editor.ui/META-INF/MANIFEST.MF
@@ -2,22 +2,22 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECore GenModel Test
 Bundle-SymbolicName: org.eclipse.emf.ecp.ecore.editor.ui;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
 Export-Package: org.eclipse.emf.ecp.ecore.editor.ui;version="1.2.0";x-internal:=true,
-  org.eclipse.emf.ecp.ecore.editor.ui.operations;version="1.2.0";x-internal:=true
+ org.eclipse.emf.ecp.ecore.editor.ui.operations;version="1.2.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.emf.converter;bundle-version="[2.6.0,3.0.0)",
-  org.eclipse.emf.codegen.ecore.ui;bundle-version="[2.9.0,3.0.0)",
-  org.eclipse.emf.importer;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emf.edit.ui;bundle-version="[2.9.0,3.0.0)",
-  org.eclipse.jface.text;bundle-version="[3.8.101,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emf.ecp.ecore.editor;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.swt;bundle-version="[3.102.1,4.0.0)"
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+ org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.emf.converter;bundle-version="[2.6.0,3.0.0)",
+ org.eclipse.emf.codegen.ecore.ui;bundle-version="[2.9.0,3.0.0)",
+ org.eclipse.emf.importer;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.edit.ui;bundle-version="[2.9.0,3.0.0)",
+ org.eclipse.jface.text;bundle-version="[3.8.101,4.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.ecp.ecore.editor;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.swt;bundle-version="[3.102.1,4.0.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.ecore.editor.ui
 Import-Package: org.eclipse.emf.ecore.presentation;version="0.0.0",
-  org.eclipse.emf.ecore.xmi;version="0.0.0"
+ org.eclipse.emf.ecore.xmi;version="0.0.0"
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.ecore.editor.ui/pom.xml b/bundles/org.eclipse.emf.ecp.ecore.editor.ui/pom.xml
index 90ab4e3..28d74de 100644
--- a/bundles/org.eclipse.emf.ecp.ecore.editor.ui/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ecore.editor.ui/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.ecore.editor.ui</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.ecore.editor/.classpath b/bundles/org.eclipse.emf.ecp.ecore.editor/.classpath
index 64c5e31..eca7bdb 100644
--- a/bundles/org.eclipse.emf.ecp.ecore.editor/.classpath
+++ b/bundles/org.eclipse.emf.ecp.ecore.editor/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="output" path="bin"/>
diff --git a/bundles/org.eclipse.emf.ecp.ecore.editor/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.emf.ecp.ecore.editor/.settings/org.eclipse.jdt.core.prefs
index edbd6f6..efea61d 100644
--- a/bundles/org.eclipse.emf.ecp.ecore.editor/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.emf.ecp.ecore.editor/.settings/org.eclipse.jdt.core.prefs
@@ -25,9 +25,9 @@
 org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
 org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.compliance=1.8
 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -130,7 +130,7 @@
 org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
 org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
 org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.source=1.8
 org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
 org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
 org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
diff --git a/bundles/org.eclipse.emf.ecp.ecore.editor/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ecore.editor/META-INF/MANIFEST.MF
index e75ffd3..46a160a 100644
--- a/bundles/org.eclipse.emf.ecp.ecore.editor/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ecore.editor/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP ECore Editor
 Bundle-SymbolicName: org.eclipse.emf.ecp.ecore.editor;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
 Export-Package: org.eclipse.emf.ecp.ecore.editor;version="1.2.0";x-friends:="org.eclipse.emf.ecp.ecore.editor.test,org.eclipse.emf.ecp.ecore.editor.ui",
  org.eclipse.emf.ecp.ecore.editor.factory;version="1.2.0";x-friends:="org.eclipse.emf.ecp.ecore.editor.test,org.eclipse.emf.ecp.ecore.editor.ui",
@@ -13,11 +13,11 @@
  org.eclipse.ui;bundle-version="[3.8.0,4.0.0)",
  org.eclipse.emf.ecore.edit;bundle-version="2.8.0",
  org.eclipse.emf.converter;bundle-version="2.6.0"
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Automatic-Module-Name: org.eclipse.emf.ecp.ecore.editor
 Import-Package: org.eclipse.emf.codegen.ecore.genmodel;version="0.0.0",
  org.eclipse.emf.ecore.presentation;version="0.0.0",
  org.eclipse.emf.importer;version="0.0.0",
  org.eclipse.emf.importer.ecore;version="0.0.0",
  org.eclipse.jface.wizard;version="0.0.0"
 Bundle-ActivationPolicy: lazy
-Automatic-Module-Name: org.eclipse.emf.ecp.ecore.editor
diff --git a/bundles/org.eclipse.emf.ecp.ecore.editor/pom.xml b/bundles/org.eclipse.emf.ecp.ecore.editor/pom.xml
index 71bfe47..669d0a1 100644
--- a/bundles/org.eclipse.emf.ecp.ecore.editor/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ecore.editor/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.ecore.editor</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.edit.ecore.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.edit.ecore.swt/META-INF/MANIFEST.MF
index e95867c..2636ede 100644
--- a/bundles/org.eclipse.emf.ecp.edit.ecore.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.edit.ecore.swt/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Editor controls for Ecore Elements (Deprecated)
 Bundle-SymbolicName: org.eclipse.emf.ecp.edit.ecore.swt;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.edit.ecore.swt.internal;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.edit.ecore.swt.internal;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.ui;bundle-version="[3.0.0,4.0.0)",
-  org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.emf.ecp.edit.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.common.ui;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.emf.ecp.edit.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.common.ui;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.edit.ecore.swt
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.edit.ecore.swt/pom.xml b/bundles/org.eclipse.emf.ecp.edit.ecore.swt/pom.xml
index d83d50c..32bdcd2 100644
--- a/bundles/org.eclipse.emf.ecp.edit.ecore.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.edit.ecore.swt/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.edit.ecore.swt</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.edit.swt/META-INF/MANIFEST.MF
index 757709f..720c629 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/META-INF/MANIFEST.MF
@@ -2,65 +2,65 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name
 Bundle-SymbolicName: org.eclipse.emf.ecp.edit.swt;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.edit.internal.swt.Activator
 Bundle-Vendor: %Bundle-Vendor
-Export-Package: org.eclipse.emf.ecp.edit.internal.swt;version="1.19.0";x-friends:="org.eclipse.emf.ecp.ui.view.editor.controls,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt,org.eclipse.emf.ecp.view.core.swt",
-  org.eclipse.emf.ecp.edit.internal.swt.actions;version="1.19.0";x-friends:="org.eclipse.emf.ecp.ui.view.editor.controls,org.eclipse.emf.ecp.edit.ecore.swt",
-  org.eclipse.emf.ecp.edit.internal.swt.controls;version="1.19.0";
-   x-friends:="org.eclipse.emf.ecp.ui.view.swt,
-    org.eclipse.emf.ecp.ui.view.editor.controls,
-    org.eclipse.emf.ecp.view.table.ui.swt,
-    org.eclipse.emf.ecp.view.core.swt",
-  org.eclipse.emf.ecp.edit.internal.swt.reference;version="1.19.0";x-friends:="org.eclipse.emf.ecp.edit.ecore.swt,org.eclipse.emf.ecp.ui.view.editor.controls",
-  org.eclipse.emf.ecp.edit.internal.swt.table;version="1.19.0";x-friends:="org.eclipse.emf.ecp.view.table.ui.swt,org.eclipse.emfforms.swt.control.multiattribute",
-  org.eclipse.emf.ecp.edit.internal.swt.util;version="1.19.0";
-   x-friends:="org.eclipse.emf.ecp.editor,
-    org.eclipse.emf.ecp.explorereditorbridge,
-    org.eclipse.emf.ecp.ui.view.swt,
-    org.eclipse.emf.ecp.ui.view.editor.controls,
-    org.eclipse.emf.ecp.view.groupedgrid.ui.swt,
-    org.eclipse.emf.ecp.edit.ecore.swt,
-    org.eclipse.emf.ecp.view.table.ui.swt,
-    org.eclipse.emf.ecp.view.categorization.swt,
-    org.eclipse.emf.ecp.view.treemasterdetail.ui.swt,
-    org.eclipse.emf.ecp.view.core.swt,
-    org.eclipse.emfforms.swt.control.multiattribute",
-  org.eclipse.emf.ecp.edit.spi.swt.actions;version="1.19.0",
-  org.eclipse.emf.ecp.edit.spi.swt.commands;version="1.19.0",
-  org.eclipse.emf.ecp.edit.spi.swt.reference;version="1.19.0",
-  org.eclipse.emf.ecp.edit.spi.swt.table;version="1.19.0",
-  org.eclipse.emf.ecp.edit.spi.swt.util;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.edit.internal.swt;version="1.20.0";x-friends:="org.eclipse.emf.ecp.ui.view.editor.controls,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt,org.eclipse.emf.ecp.view.core.swt",
+ org.eclipse.emf.ecp.edit.internal.swt.actions;version="1.20.0";x-friends:="org.eclipse.emf.ecp.ui.view.editor.controls,org.eclipse.emf.ecp.edit.ecore.swt",
+ org.eclipse.emf.ecp.edit.internal.swt.controls;version="1.20.0";
+  x-friends:="org.eclipse.emf.ecp.ui.view.swt,
+   org.eclipse.emf.ecp.ui.view.editor.controls,
+   org.eclipse.emf.ecp.view.table.ui.swt,
+   org.eclipse.emf.ecp.view.core.swt",
+ org.eclipse.emf.ecp.edit.internal.swt.reference;version="1.20.0";x-friends:="org.eclipse.emf.ecp.edit.ecore.swt,org.eclipse.emf.ecp.ui.view.editor.controls",
+ org.eclipse.emf.ecp.edit.internal.swt.table;version="1.20.0";x-friends:="org.eclipse.emf.ecp.view.table.ui.swt,org.eclipse.emfforms.swt.control.multiattribute",
+ org.eclipse.emf.ecp.edit.internal.swt.util;version="1.20.0";
+  x-friends:="org.eclipse.emf.ecp.editor,
+   org.eclipse.emf.ecp.explorereditorbridge,
+   org.eclipse.emf.ecp.ui.view.swt,
+   org.eclipse.emf.ecp.ui.view.editor.controls,
+   org.eclipse.emf.ecp.view.groupedgrid.ui.swt,
+   org.eclipse.emf.ecp.edit.ecore.swt,
+   org.eclipse.emf.ecp.view.table.ui.swt,
+   org.eclipse.emf.ecp.view.categorization.swt,
+   org.eclipse.emf.ecp.view.treemasterdetail.ui.swt,
+   org.eclipse.emf.ecp.view.core.swt,
+   org.eclipse.emfforms.swt.control.multiattribute",
+ org.eclipse.emf.ecp.edit.spi.swt.actions;version="1.20.0",
+ org.eclipse.emf.ecp.edit.spi.swt.commands;version="1.20.0",
+ org.eclipse.emf.ecp.edit.spi.swt.reference;version="1.20.0",
+ org.eclipse.emf.ecp.edit.spi.swt.table;version="1.20.0",
+ org.eclipse.emf.ecp.edit.spi.swt.util;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.edit;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emfforms.localization;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.edit;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Import-Package: org.eclipse.core.commands;version="0.0.0",
-  org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.jface.action;version="0.0.0",
-  org.eclipse.jface.databinding.fieldassist;version="0.0.0",
-  org.eclipse.jface.databinding.swt;version="0.0.0",
-  org.eclipse.jface.databinding.viewers;version="0.0.0",
-  org.eclipse.jface.dialogs;version="0.0.0",
-  org.eclipse.jface.fieldassist;version="0.0.0",
-  org.eclipse.jface.layout;version="0.0.0",
-  org.eclipse.jface.operation;version="0.0.0",
-  org.eclipse.jface.resource;version="0.0.0",
-  org.eclipse.jface.viewers;version="0.0.0",
-  org.eclipse.jface.window;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.custom;version="0.0.0",
-  org.eclipse.swt.events;version="0.0.0",
-  org.eclipse.swt.graphics;version="0.0.0",
-  org.eclipse.swt.layout;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0"
+ org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.jface.action;version="0.0.0",
+ org.eclipse.jface.databinding.fieldassist;version="0.0.0",
+ org.eclipse.jface.databinding.swt;version="0.0.0",
+ org.eclipse.jface.databinding.viewers;version="0.0.0",
+ org.eclipse.jface.dialogs;version="0.0.0",
+ org.eclipse.jface.fieldassist;version="0.0.0",
+ org.eclipse.jface.layout;version="0.0.0",
+ org.eclipse.jface.operation;version="0.0.0",
+ org.eclipse.jface.resource;version="0.0.0",
+ org.eclipse.jface.viewers;version="0.0.0",
+ org.eclipse.jface.window;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.custom;version="0.0.0",
+ org.eclipse.swt.events;version="0.0.0",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.eclipse.swt.layout;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.edit.swt
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/pom.xml b/bundles/org.eclipse.emf.ecp.edit.swt/pom.xml
index 5a602e8..0872d08 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.edit.swt</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
   
   <properties>
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/TableControl.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/TableControl.java
index 9d8528e..323ded9 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/TableControl.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/TableControl.java
@@ -962,8 +962,9 @@
 			// }
 			// }
 			final List<Diagnostic> diagnostic = vDiagnostic.getDiagnostic((EObject) element, feature);
-			return getValidationBackgroundColor(diagnostic.size() == 0 ? Diagnostic.OK : diagnostic.get(0)
-				.getSeverity());
+			return getValidationBackgroundColor(diagnostic.size() == 0 ? Diagnostic.OK
+				: diagnostic.get(0)
+					.getSeverity());
 		}
 	}
 
@@ -1013,7 +1014,7 @@
 	 * @author Eugen Neufeld
 	 *
 	 */
-	private class ECPTableEditingSupport extends EditingSupport {
+	class ECPTableEditingSupport extends EditingSupport {
 
 		private final CellEditor cellEditor;
 
@@ -1121,7 +1122,9 @@
 
 		@Override
 		protected final void saveCellEditorValue(CellEditor cellEditor, ViewerCell cell) {
-			editingState.binding.updateTargetToModel();
+			if (editingState.isUpdateNeeded()) {
+				editingState.binding.updateTargetToModel();
+			}
 		}
 
 		class ColumnViewerEditorActivationListenerHelper extends ColumnViewerEditorActivationListener {
@@ -1176,6 +1179,21 @@
 				target.dispose();
 				model.dispose();
 			}
+
+			/**
+			 * Checks if an update is really needed.
+			 *
+			 * @return <code>true</code> if update is really needed, <code>false</code> otherwise.
+			 */
+			boolean isUpdateNeeded() {
+				final Object targetValue = target.getValue();
+				final Object modelValue = model.getValue();
+
+				if (targetValue == null) {
+					return modelValue != null;
+				}
+				return !targetValue.equals(modelValue);
+			}
 		}
 	}
 
diff --git a/bundles/org.eclipse.emf.ecp.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.edit/META-INF/MANIFEST.MF
index 2f42cfe..61a28b5 100644
--- a/bundles/org.eclipse.emf.ecp.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.edit/META-INF/MANIFEST.MF
@@ -2,26 +2,26 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name
 Bundle-SymbolicName: org.eclipse.emf.ecp.edit;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.internal.edit.Activator
 Bundle-Vendor: %Bundle-Vendor
-Export-Package: org.eclipse.emf.ecp.edit.spi;version="1.19.0",
-  org.eclipse.emf.ecp.edit.spi.util;version="1.19.0",
-  org.eclipse.emf.ecp.internal.edit;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.edit.spi;version="1.20.0",
+ org.eclipse.emf.ecp.edit.spi.util;version="1.20.0",
+ org.eclipse.emf.ecp.internal.edit;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.6.0,3.0.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.core.databinding;bundle-version="[1.3.0,2.0.0)";visibility:=reexport,
-  org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
-  org.eclipse.emfforms.localization;bundle-version="[1.19.0,1.20.0)"
-Import-Package: org.eclipse.emf.ecp.view.model.common.edit.provider;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.databinding;version="[1.19.0,1.20.0)",
-  org.osgi.service.component.annotations;version="1.2.0"
+ org.eclipse.emf.ecore;bundle-version="[2.6.0,3.0.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.core.databinding;bundle-version="[1.3.0,2.0.0)";visibility:=reexport,
+ org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.20.0,1.21.0)"
+Import-Package: org.eclipse.emf.ecp.view.model.common.edit.provider;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.databinding;version="[1.20.0,1.21.0)",
+ org.osgi.service.component.annotations;version="1.2.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.edit
 Service-Component: OSGI-INF/ecpControlFactory.xml,OSGI-INF/org.eclipse.emf.ecp.internal.edit.DeleteServiceFactoryImpl.xml
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.edit/pom.xml b/bundles/org.eclipse.emf.ecp.edit/pom.xml
index fc31fa5..a0795d3 100644
--- a/bundles/org.eclipse.emf.ecp.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.edit/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.edit</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/internal/edit/ECPControlHelper.java b/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/internal/edit/ECPControlHelper.java
index c4c43ba..4e6c1cf 100644
--- a/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/internal/edit/ECPControlHelper.java
+++ b/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/internal/edit/ECPControlHelper.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -8,6 +8,7 @@
  *
  * Contributors:
  * Jonas - initial API and implementation
+ * Christian W. Damus - bug 530829
  ******************************************************************************/
 package org.eclipse.emf.ecp.internal.edit;
 
@@ -52,8 +53,8 @@
 	 * @param eReference the reference to be modified
 	 * @param editingDomain the editing domain to execute commands on
 	 */
-	public static void addModelElementsInReference(EObject eObject, Set<EObject> eObjects, EReference eReference,
-		EditingDomain editingDomain) {
+	public static void addModelElementsInReference(EObject eObject, Set<? extends EObject> eObjects,
+		EReference eReference, EditingDomain editingDomain) {
 
 		if (eObjects.isEmpty()) {
 			return;
@@ -76,8 +77,9 @@
 	 * @param eReference the reference
 	 * @param elements the elements to remove existing elements from
 	 */
-	@SuppressWarnings("unchecked")
-	public static void removeExistingReferences(EObject eObject, EReference eReference, Set<EObject> elements) {
+	public static void removeExistingReferences(EObject eObject, EReference eReference,
+		Set<? extends EObject> elements) {
+
 		final Set<EObject> existing = new HashSet<EObject>();
 		final Object eGet = eObject.eGet(eReference);
 		if (eGet == null) {
@@ -85,9 +87,10 @@
 		}
 		if (eReference.getUpperBound() == 1) {
 			existing.add((EObject) eGet);
-		}
-		else {
-			existing.addAll((Collection<? extends EObject>) eGet);
+		} else {
+			@SuppressWarnings("unchecked")
+			final Collection<? extends EObject> collection = (Collection<? extends EObject>) eGet;
+			existing.addAll(collection);
 		}
 		elements.removeAll(existing);
 
diff --git a/bundles/org.eclipse.emf.ecp.editor.e3/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.editor.e3/META-INF/MANIFEST.MF
index bfdd18e..abab07e 100644
--- a/bundles/org.eclipse.emf.ecp.editor.e3/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.editor.e3/META-INF/MANIFEST.MF
@@ -2,41 +2,41 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Editor integration for 3.x Workbench
 Bundle-SymbolicName: org.eclipse.emf.ecp.editor.e3;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.editor.internal.e3.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.editor.e3;version="1.19.0";x-friends:="org.eclipse.emf.ecp.explorereditorbridge",
-  org.eclipse.emf.ecp.editor.internal.e3;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.editor.e3;version="1.20.0";x-friends:="org.eclipse.emf.ecp.explorereditorbridge",
+ org.eclipse.emf.ecp.editor.internal.e3;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)",
-  org.eclipse.emf.ecp.ui;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.edit.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)",
+ org.eclipse.emf.ecp.ui;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.edit.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Import-Package: org.eclipse.core.commands;version="0.0.0",
-  org.eclipse.emf.edit.ui.provider;version="0.0.0",
-  org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.jface.action;version="0.0.0",
-  org.eclipse.jface.dialogs;version="0.0.0",
-  org.eclipse.jface.resource;version="0.0.0",
-  org.eclipse.jface.viewers;version="0.0.0",
-  org.eclipse.jface.window;version="0.0.0",
-  org.eclipse.jface.wizard;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.custom;version="0.0.0",
-  org.eclipse.swt.graphics;version="0.0.0",
-  org.eclipse.swt.layout;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0",
-  org.eclipse.ui;ui.workbench=split;version="0.0.0",
-  org.eclipse.ui.forms;version="0.0.0",
-  org.eclipse.ui.forms.editor;version="0.0.0",
-  org.eclipse.ui.forms.widgets;version="0.0.0",
-  org.eclipse.ui.menus;version="0.0.0",
-  org.eclipse.ui.part;ui.workbench=split;version="0.0.0",
-  org.eclipse.ui.plugin;version="0.0.0",
-  org.eclipse.ui.services;version="0.0.0"
+ org.eclipse.emf.edit.ui.provider;version="0.0.0",
+ org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.jface.action;version="0.0.0",
+ org.eclipse.jface.dialogs;version="0.0.0",
+ org.eclipse.jface.resource;version="0.0.0",
+ org.eclipse.jface.viewers;version="0.0.0",
+ org.eclipse.jface.window;version="0.0.0",
+ org.eclipse.jface.wizard;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.custom;version="0.0.0",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.eclipse.swt.layout;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.eclipse.ui;ui.workbench=split;version="0.0.0",
+ org.eclipse.ui.forms;version="0.0.0",
+ org.eclipse.ui.forms.editor;version="0.0.0",
+ org.eclipse.ui.forms.widgets;version="0.0.0",
+ org.eclipse.ui.menus;version="0.0.0",
+ org.eclipse.ui.part;ui.workbench=split;version="0.0.0",
+ org.eclipse.ui.plugin;version="0.0.0",
+ org.eclipse.ui.services;version="0.0.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.editor.e3
diff --git a/bundles/org.eclipse.emf.ecp.editor.e3/pom.xml b/bundles/org.eclipse.emf.ecp.editor.e3/pom.xml
index 4bbdd4f..dd17317 100644
--- a/bundles/org.eclipse.emf.ecp.editor.e3/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.editor.e3/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.editor.e3</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
   
   <properties>
diff --git a/bundles/org.eclipse.emf.ecp.emf2web.json/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.emf2web.json/META-INF/MANIFEST.MF
index 70157c4..c191589 100644
--- a/bundles/org.eclipse.emf.ecp.emf2web.json/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.emf2web.json/META-INF/MANIFEST.MF
@@ -2,22 +2,22 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF To Web JSON
 Bundle-SymbolicName: org.eclipse.emf.ecp.emf2web.json
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.emf2web.json.controller.xtend;version="1.19.0",
-  org.eclipse.emf.ecp.emf2web.json.generator.seed.xtend;version="1.19.0",
-  org.eclipse.emf.ecp.emf2web.json.generator.xtend;version="1.19.0",
-  org.eclipse.emf.ecp.emf2web.json.util;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.emf2web.json.controller.xtend;version="1.20.0",
+ org.eclipse.emf.ecp.emf2web.json.generator.seed.xtend;version="1.20.0",
+ org.eclipse.emf.ecp.emf2web.json.generator.xtend;version="1.20.0",
+ org.eclipse.emf.ecp.emf2web.json.util;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.xtext.xbase.lib;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.xtend.lib;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.xtend.lib.macro;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emf.ecp.emf2web;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  com.google.gson;bundle-version="[2.2.0,3.0.0)",
-  org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.label.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.table.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.custom.model;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.xtend.lib;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.xtend.lib.macro;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.ecp.emf2web;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ com.google.gson;bundle-version="[2.2.0,3.0.0)",
+ org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.label.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.table.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.custom.model;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.emf2web.json
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.emf2web.json/pom.xml b/bundles/org.eclipse.emf.ecp.emf2web.json/pom.xml
index acc63db..21b9f66 100644
--- a/bundles/org.eclipse.emf.ecp.emf2web.json/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.emf2web.json/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emf.ecp.emf2web.json</artifactId>
   <packaging>eclipse-plugin</packaging>
   <groupId>org.eclipse.emf.ecp</groupId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.emf2web.json/src/org/eclipse/emf/ecp/emf2web/json/controller/xtend/JsonGenerationController.xtend b/bundles/org.eclipse.emf.ecp.emf2web.json/src/org/eclipse/emf/ecp/emf2web/json/controller/xtend/JsonGenerationController.xtend
index 4d12cc4..9871aa5 100644
--- a/bundles/org.eclipse.emf.ecp.emf2web.json/src/org/eclipse/emf/ecp/emf2web/json/controller/xtend/JsonGenerationController.xtend
+++ b/bundles/org.eclipse.emf.ecp.emf2web.json/src/org/eclipse/emf/ecp/emf2web/json/controller/xtend/JsonGenerationController.xtend
@@ -14,13 +14,14 @@
 import java.util.Collection
 import java.util.LinkedList
 import java.util.List
+import org.eclipse.emf.ecore.util.EcoreUtil
+import org.eclipse.emf.ecp.emf2web.controller.xtend.GenerationController
 import org.eclipse.emf.ecp.emf2web.controller.xtend.GenerationInfo
 import org.eclipse.emf.ecp.emf2web.json.generator.xtend.EcoreJsonGenerator
 import org.eclipse.emf.ecp.emf2web.json.generator.xtend.FormsJsonGenerator
 import org.eclipse.emf.ecp.emf2web.json.util.ReferenceHelperImpl
-import org.eclipse.emf.ecp.view.spi.model.VView
-import org.eclipse.emf.ecp.emf2web.controller.xtend.GenerationController
 import org.eclipse.emf.ecp.view.spi.model.VElement
+import org.eclipse.emf.ecp.view.spi.model.VView
 
 /**
  * @author Stefan Dirix <sdirix@eclipsesource.com>
@@ -35,7 +36,8 @@
 		val helper=new ReferenceHelperImpl
 		val formsGenerator = new FormsJsonGenerator(helper)
 
-		for (view : views) {
+		for (rawView : views) {
+			val view = EcoreUtil.copy(rawView)
 			for (ecorePath : view.ecorePaths) {
 				helper.addEcorePath(ecorePath);
 			}
@@ -48,6 +50,8 @@
 			schemaInfo.generatedString = schemaFile
 			result.add(schemaInfo)
 
+			ViewCleaner.cleanView(view)
+
 			//internationalize view
 			val allContents = view.eAllContents
 			while (allContents.hasNext) {
diff --git a/bundles/org.eclipse.emf.ecp.emf2web.json/src/org/eclipse/emf/ecp/emf2web/json/controller/xtend/ViewCleaner.xtend b/bundles/org.eclipse.emf.ecp.emf2web.json/src/org/eclipse/emf/ecp/emf2web/json/controller/xtend/ViewCleaner.xtend
new file mode 100644
index 0000000..85e02f6
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.emf2web.json/src/org/eclipse/emf/ecp/emf2web/json/controller/xtend/ViewCleaner.xtend
@@ -0,0 +1,84 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ * Stefan Dirix - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.emf2web.json.controller.xtend
+
+import org.eclipse.emf.ecp.view.spi.model.VView
+import org.eclipse.emf.ecore.util.Diagnostician
+import org.eclipse.emf.ecp.view.spi.label.model.VLabel
+import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationElement
+import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorization
+import org.eclipse.emf.ecp.view.spi.categorization.model.VCategory
+import org.eclipse.emf.ecp.view.spi.model.VControl
+import org.eclipse.emf.ecp.view.spi.model.VContainer
+import java.util.LinkedList
+import org.eclipse.emf.ecp.view.spi.model.VElement
+import org.eclipse.emf.ecore.util.EcoreUtil
+import org.eclipse.emf.ecore.EObject
+import org.eclipse.emf.common.util.Diagnostic
+import java.util.List
+
+/**
+ * Processes {@link VView}s before ui schema generation
+ * 
+ * @author Stefan Dirix <sdirix@eclipsesource.com>
+ */
+class ViewCleaner {
+	
+	/**
+	 * Remove invalid and not supported {@link VElement}s.
+	 */
+	def static cleanView(VView view) {
+		removeInvalidElements(view)
+
+		val whiteList = #[VLabel, VCategorizationElement, VCategorization, VCategory, VView, VControl, VContainer]
+		removeUnsupportedElements(view, whiteList)
+	}
+
+	private static def void removeInvalidElements(VView view) {
+		val validation = Diagnostician.INSTANCE.validate(view);
+		if (validation.severity == Diagnostic.ERROR) {
+			for (diagnostic : validation.children) {
+				removeInvalidElements(diagnostic)
+			}
+		}
+	}
+
+	private static def void removeInvalidElements(Diagnostic diagnostic) {
+		if (diagnostic.severity == Diagnostic.ERROR && !diagnostic.data.isEmpty &&
+			EObject.isInstance(diagnostic.data.get(0))) {
+			EcoreUtil.delete(diagnostic.data.get(0) as EObject)
+		}
+		for (childDiagnostic : diagnostic.children) {
+			removeInvalidElements(childDiagnostic)
+		}
+	}
+	
+	private static def void removeUnsupportedElements(VView view, List<? extends Class<?>> whiteList) {
+		val toDelete = new LinkedList
+		val allContents = view.eAllContents
+		while (allContents.hasNext) {
+			val next = allContents.next
+			if (VElement.isInstance(next)) {
+				var supported = false
+				for (element : whiteList) {
+					if (element.isInstance(next)) {
+						supported = true
+					}
+				}
+				if (!supported) {
+					toDelete.add(next)
+				}
+			}
+		}
+		EcoreUtil.deleteAll(toDelete, false)
+	}
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.emf.ecp.emf2web.json/src/org/eclipse/emf/ecp/emf2web/json/generator/xtend/EcoreJsonGenerator.xtend b/bundles/org.eclipse.emf.ecp.emf2web.json/src/org/eclipse/emf/ecp/emf2web/json/generator/xtend/EcoreJsonGenerator.xtend
index eddd7b8..7143445 100644
--- a/bundles/org.eclipse.emf.ecp.emf2web.json/src/org/eclipse/emf/ecp/emf2web/json/generator/xtend/EcoreJsonGenerator.xtend
+++ b/bundles/org.eclipse.emf.ecp.emf2web.json/src/org/eclipse/emf/ecp/emf2web/json/generator/xtend/EcoreJsonGenerator.xtend
@@ -39,13 +39,13 @@
  */
 class EcoreJsonGenerator extends JsonGenerator {
 
-	private static final val TYPE = "type"
-	private static final val OBJECT = "object"
-	private static final val REQUIRED = "required"
-	private static final val PROPERTIES = "properties"
-	private static final val ADDITIONAL_PROPERTIES = "additionalProperties"	
+	static val TYPE = "type"
+	static val OBJECT = "object"
+	static val REQUIRED = "required"
+	static val PROPERTIES = "properties"
+	static val ADDITIONAL_PROPERTIES = "additionalProperties"	
 	
-	private final val visitedClasses = new HashSet<EClass>();
+	val visitedClasses = new HashSet<EClass>();
 
 	override createJsonElement(EObject object) {
 		synchronized(visitedClasses){
diff --git a/bundles/org.eclipse.emf.ecp.emf2web.json/src/org/eclipse/emf/ecp/emf2web/json/generator/xtend/FormsJsonGenerator.xtend b/bundles/org.eclipse.emf.ecp.emf2web.json/src/org/eclipse/emf/ecp/emf2web/json/generator/xtend/FormsJsonGenerator.xtend
index 156c43f..21d8bbb 100644
--- a/bundles/org.eclipse.emf.ecp.emf2web.json/src/org/eclipse/emf/ecp/emf2web/json/generator/xtend/FormsJsonGenerator.xtend
+++ b/bundles/org.eclipse.emf.ecp.emf2web.json/src/org/eclipse/emf/ecp/emf2web/json/generator/xtend/FormsJsonGenerator.xtend
@@ -32,15 +32,15 @@
  * */
 class FormsJsonGenerator extends JsonGenerator {
 	
-	private static final val TYPE = "type"
-	private static final val ELEMENTS = "elements"
-	private static final val CONTROL = "Control"
+	static val TYPE = "type"
+	static val ELEMENTS = "elements"
+	static val CONTROL = "Control"
 	// reactive again
-	// private static final val CATEGORIZATION_ELEMENT = "CategorizationElement"
-	private static final val CATEGORIZATION = "Categorization"
-	private static final val CATEGORY = "Category"
-	private static final val SCOPE = "scope"
-	private static final val LABEL = "label"
+	// static val CATEGORIZATION_ELEMENT = "CategorizationElement"
+	static val CATEGORIZATION = "Categorization"
+	static val CATEGORY = "Category"
+	static val SCOPE = "scope"
+	static val LABEL = "label"
 	
 	ReferenceHelper refHelper
 	
@@ -52,11 +52,6 @@
 		createJsonFormsElement(object)
 	}
 	
-	private def dispatch JsonElement createJsonFormsElement(EObject object){
-		throw new UnsupportedOperationException(
-			"Cannot create a JSON Forms element for EObjects that are not instanceof VView, VControl or VContainer.")
-	}
-	
 	private def dispatch JsonElement createJsonFormsElement(VLabel label) {
 		val jsonObj = new JsonObject()
 		jsonObj.withType("Label")
@@ -118,6 +113,16 @@
 		jsonObject.withVerticalLayout(elements)
 	}
 	
+	// fallback to avoid generator-breaking exceptions - should not be hit but avoided by only processing valid view models
+	private def dispatch JsonElement createJsonFormsElement(EObject object){
+		new JsonObject
+	}
+	
+	// fallback to avoid generator-breaking exceptions - should not be hit but avoided by only processing valid view models
+	private def dispatch JsonElement createJsonFormsElement(Void x){
+		new JsonObject
+	}
+	
 	private def withType(JsonObject jsonObject, String type) {
 		jsonObject.with(TYPE, type)
 	}
diff --git a/bundles/org.eclipse.emf.ecp.emf2web.json/src/org/eclipse/emf/ecp/emf2web/json/generator/xtend/JsonGenerator.xtend b/bundles/org.eclipse.emf.ecp.emf2web.json/src/org/eclipse/emf/ecp/emf2web/json/generator/xtend/JsonGenerator.xtend
index 185bc22..9021148 100644
--- a/bundles/org.eclipse.emf.ecp.emf2web.json/src/org/eclipse/emf/ecp/emf2web/json/generator/xtend/JsonGenerator.xtend
+++ b/bundles/org.eclipse.emf.ecp.emf2web.json/src/org/eclipse/emf/ecp/emf2web/json/generator/xtend/JsonGenerator.xtend
@@ -71,4 +71,16 @@
 		jsonObject.add(propertyName, jsonArray)
 		jsonObject
 	}
+	
+	// fallback if value is null
+	protected def dispatch with(JsonObject jsonObject, String propertyName, Void x) {
+		jsonObject.addProperty(propertyName, "")
+		jsonObject
+	}
+	
+	// fallback for all values not handled above
+	protected def dispatch with(JsonObject jsonObject, String propertyName, Object object) {
+		jsonObject.addProperty(propertyName, "")
+		jsonObject
+	}
 }
\ No newline at end of file
diff --git a/bundles/org.eclipse.emf.ecp.emf2web.ui.json/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.emf2web.ui.json/META-INF/MANIFEST.MF
index f4514e3..576bf7b 100644
--- a/bundles/org.eclipse.emf.ecp.emf2web.ui.json/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.emf2web.ui.json/META-INF/MANIFEST.MF
@@ -2,21 +2,21 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF To Web JSON UI
 Bundle-SymbolicName: org.eclipse.emf.ecp.emf2web.ui.json;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.emf2web.ui.json.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.emf2web.ui.json;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.emf2web.ui.json.internal.handler;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.emf2web.ui.json.internal.messages;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.emf2web.ui.json;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.emf2web.ui.json.internal.handler;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.emf2web.ui.json.internal.messages;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.ui;bundle-version="[3.107.0,4.0.0)",
-  org.eclipse.emf.ecp.emf2web.ui;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.resources;bundle-version="[3.10.0,4.0.0)",
-  org.eclipse.core.runtime;bundle-version="[3.11.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.11.0,3.0.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.emf2web;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.emf2web.json;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ide.util;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.emf2web.ui;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.resources;bundle-version="[3.10.0,4.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.11.0,4.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.11.0,3.0.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.emf2web;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.emf2web.json;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ide.util;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.emf2web.ui.json
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.emf2web.ui.json/pom.xml b/bundles/org.eclipse.emf.ecp.emf2web.ui.json/pom.xml
index e22b48d..be8c80f 100644
--- a/bundles/org.eclipse.emf.ecp.emf2web.ui.json/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.emf2web.ui.json/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emf.ecp.emf2web.ui.json</artifactId>
   <packaging>eclipse-plugin</packaging>
   <groupId>org.eclipse.emf.ecp</groupId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.emf2web.ui.json/src/org/eclipse/emf/ecp/emf2web/ui/json/internal/handler/ExportJSONFormsHandler.java b/bundles/org.eclipse.emf.ecp.emf2web.ui.json/src/org/eclipse/emf/ecp/emf2web/ui/json/internal/handler/ExportJSONFormsHandler.java
index 45a57c5..56b9a1f 100644
--- a/bundles/org.eclipse.emf.ecp.emf2web.ui.json/src/org/eclipse/emf/ecp/emf2web/ui/json/internal/handler/ExportJSONFormsHandler.java
+++ b/bundles/org.eclipse.emf.ecp.emf2web.ui.json/src/org/eclipse/emf/ecp/emf2web/ui/json/internal/handler/ExportJSONFormsHandler.java
@@ -30,6 +30,7 @@
 import org.eclipse.emf.ecp.ide.spi.util.EcoreHelper;
 import org.eclipse.emf.ecp.ide.spi.util.ViewModelHelper;
 import org.eclipse.emf.ecp.view.spi.model.VView;
+import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.swt.widgets.Display;
@@ -76,6 +77,9 @@
 					failedFiles.add(file);
 					continue;
 				}
+				if (view.getLoadingProperties() == null) {
+					view.setLoadingProperties(VViewFactory.eINSTANCE.createViewModelLoadingProperties());
+				}
 				views.add(view);
 			}
 		}
diff --git a/bundles/org.eclipse.emf.ecp.emf2web.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.emf2web.ui/META-INF/MANIFEST.MF
index 51c0732..c68aa9a 100644
--- a/bundles/org.eclipse.emf.ecp.emf2web.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.emf2web.ui/META-INF/MANIFEST.MF
@@ -2,27 +2,27 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF To Web UI
 Bundle-SymbolicName: org.eclipse.emf.ecp.emf2web.ui;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.emf2web.ui.handler;version="1.19.0",
-  org.eclipse.emf.ecp.emf2web.ui.messages;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.emf2web.ui.wizard;version="1.19.0"
-Require-Bundle: org.eclipse.emf.ecp.emf2web;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.databinding;bundle-version="[1.5.0,2.0.0)",
-  org.eclipse.core.databinding.beans;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.core.databinding.observable;bundle-version="[1.5.0,2.0.0)",
-  org.eclipse.core.databinding.property;bundle-version="[1.5.0,2.0.0)",
-  org.eclipse.equinox.common;bundle-version="[3.7.0,4.0.0)",
-  com.ibm.icu;bundle-version="54.1.0",
-  org.eclipse.ui;bundle-version="[3.107.0,4.0.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.common.ui;bundle-version="[2.10.0,3.0.0)",
-  org.eclipse.core.resources;bundle-version="[3.10.0,4.0.0)",
-  org.eclipse.ui.ide;bundle-version="[3.11.0,4.0.0)"
+Export-Package: org.eclipse.emf.ecp.emf2web.ui.handler;version="1.20.0",
+ org.eclipse.emf.ecp.emf2web.ui.messages;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.emf2web.ui.wizard;version="1.20.0"
+Require-Bundle: org.eclipse.emf.ecp.emf2web;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.databinding;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.core.databinding.beans;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.core.databinding.observable;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.equinox.common;bundle-version="[3.7.0,4.0.0)",
+ com.ibm.icu;bundle-version="54.1.0",
+ org.eclipse.ui;bundle-version="[3.107.0,4.0.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.common.ui;bundle-version="[2.10.0,3.0.0)",
+ org.eclipse.core.resources;bundle-version="[3.10.0,4.0.0)",
+ org.eclipse.ui.ide;bundle-version="[3.11.0,4.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.emf2web.ui
 Import-Package: org.eclipse.jface.databinding.swt;version="0.0.0",
-  org.eclipse.jface.databinding.wizard;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0"
+ org.eclipse.jface.databinding.wizard;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0"
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.emf2web.ui/pom.xml b/bundles/org.eclipse.emf.ecp.emf2web.ui/pom.xml
index dda2608..410ab56 100644
--- a/bundles/org.eclipse.emf.ecp.emf2web.ui/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.emf2web.ui/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emf.ecp.emf2web.ui</artifactId>
   <packaging>eclipse-plugin</packaging>
   <groupId>org.eclipse.emf.ecp</groupId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.emf2web/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.emf2web/META-INF/MANIFEST.MF
index 2f80813..60b4c3a 100644
--- a/bundles/org.eclipse.emf.ecp.emf2web/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.emf2web/META-INF/MANIFEST.MF
@@ -2,21 +2,21 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF To Web
 Bundle-SymbolicName: org.eclipse.emf.ecp.emf2web;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.ecp.emf2web.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.emf2web;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.emf2web.controller.xtend;version="1.19.0";
-   uses:="org.eclipse.emf.ecore,
-    org.eclipse.emf.ecp.emf2web.exporter,
-    org.eclipse.emf.common.util,
-    org.eclipse.emf.ecp.view.spi.model",
-  org.eclipse.emf.ecp.emf2web.exporter;version="1.19.0";uses:="org.eclipse.emf.common.util,org.eclipse.emf.ecp.emf2web.controller.xtend",
-  org.eclipse.emf.ecp.emf2web.generator;version="1.19.0";uses:="org.eclipse.emf.ecore",
-  org.eclipse.emf.ecp.emf2web.internal.messages;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.emf2web.util;version="1.19.0";uses:="org.eclipse.emf.ecore",
-  org.eclipse.emf.ecp.emf2web.util.xtend;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.emf2web;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.emf2web.controller.xtend;version="1.20.0";
+  uses:="org.eclipse.emf.ecore,
+   org.eclipse.emf.ecp.emf2web.exporter,
+   org.eclipse.emf.common.util,
+   org.eclipse.emf.ecp.view.spi.model",
+ org.eclipse.emf.ecp.emf2web.exporter;version="1.20.0";uses:="org.eclipse.emf.common.util,org.eclipse.emf.ecp.emf2web.controller.xtend",
+ org.eclipse.emf.ecp.emf2web.generator;version="1.20.0";uses:="org.eclipse.emf.ecore",
+ org.eclipse.emf.ecp.emf2web.internal.messages;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.emf2web.util;version="1.20.0";uses:="org.eclipse.emf.ecore",
+ org.eclipse.emf.ecp.emf2web.util.xtend;version="1.20.0"
 Require-Bundle: org.eclipse.ui;bundle-version="[3.107.0,4.0.0)",
  org.eclipse.core.runtime;bundle-version="[3.11.0,4.0.0)",
  org.eclipse.emf;bundle-version="[2.6.0,3.0.0)",
@@ -26,26 +26,26 @@
  org.eclipse.core.resources;bundle-version="[3.8.0,4.0.0)",
  org.eclipse.emf.edit;bundle-version="[2.11.0,3.0.0)",
  org.eclipse.emf.edit.ui;bundle-version="[2.10.0,3.0.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.custom.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.group.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.horizontal.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.label.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.rule.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.table.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.treemasterdetail.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model.provider.generator;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model.editor;bundle-version="[1.19.0,1.20.0)",
-  com.google.gson;bundle-version="[2.2.0,3.0.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.emfstore.common.model;bundle-version="[1.5.0,2.0.0)",
-  org.eclipse.emfforms.common;bundle-version="[1.19.0,1.20.0)",
- org.eclipse.emfforms.core.services.emf;bundle-version="[1.19.0,1.20.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.custom.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.group.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.horizontal.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.label.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.rule.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.table.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.treemasterdetail.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.provider.generator;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.editor;bundle-version="[1.20.0,1.21.0)",
+ com.google.gson;bundle-version="[2.2.0,3.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.emfstore.common.model;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emfforms.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.emf;bundle-version="[1.20.0,1.21.0)",
  org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.emf2web/pom.xml b/bundles/org.eclipse.emf.ecp.emf2web/pom.xml
index 6a3764c..68608b9 100644
--- a/bundles/org.eclipse.emf.ecp.emf2web/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.emf2web/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emf.ecp.emf2web</artifactId>
   <packaging>eclipse-plugin</packaging>
   <groupId>org.eclipse.emf.ecp</groupId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.core.rap/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.emfstore.core.rap/META-INF/MANIFEST.MF
index 7c330d4..fb3f014 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.core.rap/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.emfstore.core.rap/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP EMFStore Core RAP
 Bundle-SymbolicName: org.eclipse.emf.ecp.emfstore.core.rap
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.emfstore.internal.core.rap.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.emfstore.internal.core.rap;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.emfstore.internal.core.rap;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.core.rap;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.emfstore.core;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.core.rap;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.emfstore.core;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Import-Package: org.eclipse.rap.rwt;version="0.0.0",
-  org.eclipse.rap.rwt.service;version="0.0.0"
+ org.eclipse.rap.rwt.service;version="0.0.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.emfstore.core.rap
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.core.rap/pom.xml b/bundles/org.eclipse.emf.ecp.emfstore.core.rap/pom.xml
index 5018bd4..ed9f8ba 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.core.rap/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.emfstore.core.rap/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.emfstore.core.rap</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.core/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.emfstore.core/META-INF/MANIFEST.MF
index f921505..25d69a9 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.core/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.emfstore.core/META-INF/MANIFEST.MF
@@ -2,21 +2,21 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP EMFStore Provider Core Plugin
 Bundle-SymbolicName: org.eclipse.emf.ecp.emfstore.core;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.emfstore.core.internal.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.emfstore.core.internal;version="1.19.0";
-   x-friends:="org.eclipse.emf.ecp.emfstore.ui,
-    org.eclipse.emf.ecp.emfstore.ui.search,
-    org.eclipse.emf.ecp.view.ui.editor.test,
-    org.eclipse.emf.ecp.emfstore.ui.e3,
-    org.eclipse.emf.ecp.emfstore.ui.e4,
-    org.eclipse.emf.ecp.emfstore.core.rap"
+Export-Package: org.eclipse.emf.ecp.emfstore.core.internal;version="1.20.0";
+  x-friends:="org.eclipse.emf.ecp.emfstore.ui,
+   org.eclipse.emf.ecp.emfstore.ui.search,
+   org.eclipse.emf.ecp.view.ui.editor.test,
+   org.eclipse.emf.ecp.emfstore.ui.e3,
+   org.eclipse.emf.ecp.emfstore.ui.e4,
+   org.eclipse.emf.ecp.emfstore.core.rap"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.emf.ecp.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.emfstore.client;bundle-version="[1.0.0,2.0.0)",
-  org.eclipse.net4j.util;bundle-version="[3.0.0,4.0.0)"
-Import-Package: org.eclipse.emfforms.common;version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.emfstore.client;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.net4j.util;bundle-version="[3.0.0,4.0.0)"
+Import-Package: org.eclipse.emfforms.common;version="[1.20.0,1.21.0)"
 Automatic-Module-Name: org.eclipse.emf.ecp.emfstore.core
 Service-Component: OSGI-INF/esWorkspaceProviderProvider.xml
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.core/pom.xml b/bundles/org.eclipse.emf.ecp.emfstore.core/pom.xml
index 1643d88..00d1ae0 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.core/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.emfstore.core/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.emfstore.core</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.localserver/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.emfstore.localserver/META-INF/MANIFEST.MF
index 0442608..e3919ab 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.localserver/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.emfstore.localserver/META-INF/MANIFEST.MF
@@ -7,7 +7,7 @@
 Bundle-Vendor: Eclipse Modeling Project
 Export-Package: org.eclipse.emf.ecp.emfstore.localserver.internal;version="1.7.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.6.0,4.0.0)",
-  org.eclipse.emf.emfstore.server;bundle-version="[1.3.0,2.0.0)"
+ org.eclipse.emf.emfstore.server;bundle-version="[1.3.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.emfstore.localserver
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/META-INF/MANIFEST.MF
index b971000..0f3d029 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/META-INF/MANIFEST.MF
@@ -2,36 +2,36 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP EMFStore E3
 Bundle-SymbolicName: org.eclipse.emf.ecp.emfstore.ui.e3;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.emfstore.internal.ui.e3.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.emfstore.internal.ui.decorator;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.emfstore.internal.ui.e3;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.emfstore.internal.ui.handler;version="1.19.0";x-internal:=true;uses:="org.eclipse.core.commands"
-Require-Bundle: org.eclipse.emf.ecp.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.emfstore.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.emfstore.ui;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.emfstore.client;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emf.emfstore.client.ui;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emf.ecp.ui;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)"
+Export-Package: org.eclipse.emf.ecp.emfstore.internal.ui.decorator;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.emfstore.internal.ui.e3;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.emfstore.internal.ui.handler;version="1.20.0";x-internal:=true;uses:="org.eclipse.core.commands"
+Require-Bundle: org.eclipse.emf.ecp.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.emfstore.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.emfstore.ui;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.emfstore.client;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emf.emfstore.client.ui;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emf.ecp.ui;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Import-Package: org.eclipse.core.commands;version="0.0.0",
-  org.eclipse.jface.action;version="0.0.0",
-  org.eclipse.jface.dialogs;version="0.0.0",
-  org.eclipse.jface.resource;version="0.0.0",
-  org.eclipse.jface.viewers;version="0.0.0",
-  org.eclipse.jface.window;version="0.0.0",
-  org.eclipse.jface.wizard;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.events;version="0.0.0",
-  org.eclipse.swt.graphics;version="0.0.0",
-  org.eclipse.swt.layout;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0",
-  org.eclipse.ui;ui.workbench=split;version="0.0.0",
-  org.eclipse.ui.dialogs;ui.workbench=split;version="0.0.0",
-  org.eclipse.ui.handlers;version="0.0.0",
-  org.eclipse.ui.plugin;version="0.0.0"
+ org.eclipse.jface.action;version="0.0.0",
+ org.eclipse.jface.dialogs;version="0.0.0",
+ org.eclipse.jface.resource;version="0.0.0",
+ org.eclipse.jface.viewers;version="0.0.0",
+ org.eclipse.jface.window;version="0.0.0",
+ org.eclipse.jface.wizard;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.events;version="0.0.0",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.eclipse.swt.layout;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.eclipse.ui;ui.workbench=split;version="0.0.0",
+ org.eclipse.ui.dialogs;ui.workbench=split;version="0.0.0",
+ org.eclipse.ui.handlers;version="0.0.0",
+ org.eclipse.ui.plugin;version="0.0.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.emfstore.ui.e3
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/pom.xml b/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/pom.xml
index 312e688..300ce7a 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.emfstore.ui.e3</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.ui.e4/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.emfstore.ui.e4/META-INF/MANIFEST.MF
index 56a7d78..1ea73ea 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.ui.e4/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.emfstore.ui.e4/META-INF/MANIFEST.MF
@@ -2,19 +2,19 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Emfstore e4 ui
 Bundle-SymbolicName: org.eclipse.emf.ecp.emfstore.ui.e4;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.e4.emfstore;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.e4.emfstore;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.e4.core.di;bundle-version="[1.2.0,2.0.0)",
-  javax.inject;bundle-version="[1.0.0,2.0.0)",
-  org.eclipse.e4.ui.workbench;bundle-version="[0.10.0,2.0.0)",
-  org.eclipse.emf.emfstore.client.ui;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.swt;bundle-version="[3.100.0,4.0.0)",
-  org.eclipse.e4.ui.services;bundle-version="[0.10.0,2.0.0)",
-  org.eclipse.emf.ecp.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.emfstore.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.emfstore.client;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emf.ecp.emfstore.ui;bundle-version="[1.19.0,1.20.0)"
+ javax.inject;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.e4.ui.workbench;bundle-version="[0.10.0,2.0.0)",
+ org.eclipse.emf.emfstore.client.ui;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.swt;bundle-version="[3.100.0,4.0.0)",
+ org.eclipse.e4.ui.services;bundle-version="[0.10.0,2.0.0)",
+ org.eclipse.emf.ecp.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.emfstore.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.emfstore.client;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emf.ecp.emfstore.ui;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.emfstore.ui.e4
 Import-Package: org.osgi.framework;version="1.3.0"
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.ui.e4/pom.xml b/bundles/org.eclipse.emf.ecp.emfstore.ui.e4/pom.xml
index 6a4c134..508a4d3 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.ui.e4/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.emfstore.ui.e4/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.emfstore.ui.e4</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.ui.search/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.emfstore.ui.search/META-INF/MANIFEST.MF
index 3340606..1147f4f 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.ui.search/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.emfstore.ui.search/META-INF/MANIFEST.MF
@@ -2,25 +2,25 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Search UI
 Bundle-SymbolicName: org.eclipse.emf.ecp.emfstore.ui.search;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.emfstore.ui.search;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.emfstore.ui.search;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.emf.ecp.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.emfstore.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.e3;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.emfstore.client;bundle-version="[1.0.0,2.0.0)",
-  org.eclipse.emf.ecp.ui;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.emfstore.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.e3;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.emfstore.client;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.emf.ecp.ui;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.emfstore.ui.search
 Import-Package: org.eclipse.core.commands;version="0.0.0",
-  org.eclipse.emf.edit.ui.provider;version="0.0.0",
-  org.eclipse.jface.dialogs;version="0.0.0",
-  org.eclipse.jface.viewers;version="0.0.0",
-  org.eclipse.jface.window;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0",
-  org.eclipse.ui;ui.workbench=split;version="0.0.0",
-  org.eclipse.ui.dialogs;ui.workbench=split;version="0.0.0",
-  org.eclipse.ui.handlers;version="0.0.0",
-  org.eclipse.ui.plugin;version="0.0.0"
+ org.eclipse.emf.edit.ui.provider;version="0.0.0",
+ org.eclipse.jface.dialogs;version="0.0.0",
+ org.eclipse.jface.viewers;version="0.0.0",
+ org.eclipse.jface.window;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.eclipse.ui;ui.workbench=split;version="0.0.0",
+ org.eclipse.ui.dialogs;ui.workbench=split;version="0.0.0",
+ org.eclipse.ui.handlers;version="0.0.0",
+ org.eclipse.ui.plugin;version="0.0.0"
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.ui.search/pom.xml b/bundles/org.eclipse.emf.ecp.emfstore.ui.search/pom.xml
index 0fc2e8d..27f551d 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.ui.search/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.emfstore.ui.search/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.emfstore.ui.search</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.emfstore.ui/META-INF/MANIFEST.MF
index f008780..5e4ac0e 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.emfstore.ui/META-INF/MANIFEST.MF
@@ -2,33 +2,33 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP EMFStore UI Provider
 Bundle-SymbolicName: org.eclipse.emf.ecp.emfstore.ui;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.emfstore.internal.ui.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.emfstore.internal.ui;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.emfstore.internal.ui.handler;version="1.19.0";x-friends:="org.eclipse.emf.ecp.emfstore.ui.e4,org.eclipse.emf.ecp.emfstore.ui.e3",
-  org.eclipse.emf.ecp.emfstore.internal.ui.observer;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.emfstore.internal.ui.property;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.emfstore.internal.ui;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.emfstore.internal.ui.handler;version="1.20.0";x-friends:="org.eclipse.emf.ecp.emfstore.ui.e4,org.eclipse.emf.ecp.emfstore.ui.e3",
+ org.eclipse.emf.ecp.emfstore.internal.ui.observer;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.emfstore.internal.ui.property;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.emf.ecp.emfstore.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.emfstore.client;bundle-version="[1.0.0,2.0.0)",
-  org.eclipse.emf.emfstore.client.ui;bundle-version="[1.0.0,2.0.0)",
-  org.eclipse.net4j.util;bundle-version="[3.0.0,4.0.0)",
-  org.eclipse.emf.ecp.common;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.emf.ecp.emfstore.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.emfstore.client;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.emf.emfstore.client.ui;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.net4j.util;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.emf.ecp.common;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Import-Package: org.eclipse.core.commands;version="0.0.0",
-  org.eclipse.jface.action;version="0.0.0",
-  org.eclipse.jface.dialogs;version="0.0.0",
-  org.eclipse.jface.resource;version="0.0.0",
-  org.eclipse.jface.viewers;version="0.0.0",
-  org.eclipse.jface.window;version="0.0.0",
-  org.eclipse.jface.wizard;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.events;version="0.0.0",
-  org.eclipse.swt.graphics;version="0.0.0",
-  org.eclipse.swt.layout;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0"
+ org.eclipse.jface.action;version="0.0.0",
+ org.eclipse.jface.dialogs;version="0.0.0",
+ org.eclipse.jface.resource;version="0.0.0",
+ org.eclipse.jface.viewers;version="0.0.0",
+ org.eclipse.jface.window;version="0.0.0",
+ org.eclipse.jface.wizard;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.events;version="0.0.0",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.eclipse.swt.layout;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.emfstore.ui
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.ui/pom.xml b/bundles/org.eclipse.emf.ecp.emfstore.ui/pom.xml
index cd8d1ca..ece46b8 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.ui/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.emfstore.ui/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.emfstore.ui</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.examplemodel.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.examplemodel.ui/META-INF/MANIFEST.MF
index 6f7ed7b..7750452 100644
--- a/bundles/org.eclipse.emf.ecp.examplemodel.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.examplemodel.ui/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: UI Contributions for the Bowling example model
 Bundle-SymbolicName: org.eclipse.emf.ecp.examplemodel.ui;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Require-Bundle: org.eclipse.emf.ecp.edit;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.edit.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.19.0,1.20.0)"
+Require-Bundle: org.eclipse.emf.ecp.edit;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.edit.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.20.0,1.21.0)"
 Automatic-Module-Name: org.eclipse.emf.ecp.examplemodel.ui
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emf.ecp.examplemodel.ui/pom.xml b/bundles/org.eclipse.emf.ecp.examplemodel.ui/pom.xml
index f99aed3..2f147a1 100644
--- a/bundles/org.eclipse.emf.ecp.examplemodel.ui/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.examplemodel.ui/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.examplemodel.ui</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.explorereditorbridge/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.explorereditorbridge/META-INF/MANIFEST.MF
index c44b9fa..7a2ba0a 100644
--- a/bundles/org.eclipse.emf.ecp.explorereditorbridge/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.explorereditorbridge/META-INF/MANIFEST.MF
@@ -2,31 +2,31 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Explorer Editor Bridge
 Bundle-SymbolicName: org.eclipse.emf.ecp.explorereditorbridge;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.explorereditorbridge.internal.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.explorereditorbridge.internal;version="1.19.0";x-friends:="org.eclipse.emf.ecp.ui.view.test"
+Export-Package: org.eclipse.emf.ecp.explorereditorbridge.internal;version="1.20.0";x-friends:="org.eclipse.emf.ecp.ui.view.test"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.emf.ecp.ui;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.databinding;bundle-version="[1.2.0,2.0.0)",
-  org.eclipse.emf.ecp.edit;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.editor.e3;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.edit.swt;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.ui;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.emf.ecp.edit;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.editor.e3;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.edit.swt;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Import-Package: org.eclipse.core.commands;version="0.0.0",
-  org.eclipse.emf.ecp.edit.internal.swt;version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit.ui.provider;version="0.0.0",
-  org.eclipse.jface.dialogs;version="0.0.0",
-  org.eclipse.jface.viewers;version="0.0.0",
-  org.eclipse.jface.window;version="0.0.0",
-  org.eclipse.jface.wizard;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.layout;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0",
-  org.eclipse.ui;ui.workbench=split;version="0.0.0",
-  org.eclipse.ui.dialogs;ui.workbench=split;version="0.0.0",
-  org.eclipse.ui.plugin;version="0.0.0"
+ org.eclipse.emf.ecp.edit.internal.swt;version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit.ui.provider;version="0.0.0",
+ org.eclipse.jface.dialogs;version="0.0.0",
+ org.eclipse.jface.viewers;version="0.0.0",
+ org.eclipse.jface.window;version="0.0.0",
+ org.eclipse.jface.wizard;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.layout;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.eclipse.ui;ui.workbench=split;version="0.0.0",
+ org.eclipse.ui.dialogs;ui.workbench=split;version="0.0.0",
+ org.eclipse.ui.plugin;version="0.0.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.explorereditorbridge
diff --git a/bundles/org.eclipse.emf.ecp.explorereditorbridge/pom.xml b/bundles/org.eclipse.emf.ecp.explorereditorbridge/pom.xml
index 43f16c1..496817f 100644
--- a/bundles/org.eclipse.emf.ecp.explorereditorbridge/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.explorereditorbridge/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.explorereditorbridge</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
   
   <properties>
diff --git a/bundles/org.eclipse.emf.ecp.graphiti.core/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.graphiti.core/META-INF/MANIFEST.MF
index bca31e9..4341d31 100644
--- a/bundles/org.eclipse.emf.ecp.graphiti.core/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.graphiti.core/META-INF/MANIFEST.MF
@@ -6,19 +6,19 @@
 Bundle-Vendor: Eclipse Modeling Project
 Export-Package: org.eclipse.emf.ecp.graphiti;version="1.7.0";x-friends:="org.eclipse.emf.ecp.graphiti.integration"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.graphiti;bundle-version="[0.11.0,1.0.0)",
-  org.eclipse.graphiti.ui;bundle-version="[0.11.0,1.0.0)";visibility:=reexport,
-  org.eclipse.gef;bundle-version="3.8.1";visibility:=reexport,
-  org.eclipse.emf.transaction;bundle-version="1.4.0"
+ org.eclipse.graphiti;bundle-version="[0.11.0,1.0.0)",
+ org.eclipse.graphiti.ui;bundle-version="[0.11.0,1.0.0)";visibility:=reexport,
+ org.eclipse.gef;bundle-version="3.8.1";visibility:=reexport,
+ org.eclipse.emf.transaction;bundle-version="1.4.0"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.graphiti.core
 Import-Package: org.eclipse.core.commands.operations;version="0.0.0",
-  org.eclipse.jface.action;version="0.0.0",
-  org.eclipse.jface.dialogs;version="0.0.0",
-  org.eclipse.jface.resource;version="0.0.0",
-  org.eclipse.jface.util;version="0.0.0",
-  org.eclipse.ui;ui.workbench=split;version="0.0.0",
-  org.eclipse.ui.part;ui.workbench=split;version="0.0.0",
-  org.eclipse.ui.views.properties;ui.views=split;version="0.0.0",
-  org.eclipse.ui.views.properties.tabbed;version="0.0.0"
+ org.eclipse.jface.action;version="0.0.0",
+ org.eclipse.jface.dialogs;version="0.0.0",
+ org.eclipse.jface.resource;version="0.0.0",
+ org.eclipse.jface.util;version="0.0.0",
+ org.eclipse.ui;ui.workbench=split;version="0.0.0",
+ org.eclipse.ui.part;ui.workbench=split;version="0.0.0",
+ org.eclipse.ui.views.properties;ui.views=split;version="0.0.0",
+ org.eclipse.ui.views.properties.tabbed;version="0.0.0"
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.graphiti.integration/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.graphiti.integration/META-INF/MANIFEST.MF
index bad8f1c..0a7593a 100644
--- a/bundles/org.eclipse.emf.ecp.graphiti.integration/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.graphiti.integration/META-INF/MANIFEST.MF
@@ -5,18 +5,18 @@
 Bundle-Version: 1.7.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
 Export-Package: org.eclipse.emf.ecp.graphiti.internal.integration;version="1.7.0";x-internal:=true,
-  org.eclipse.emf.ecp.internal.graphiti.feature;version="1.7.0";x-internal:=true
+ org.eclipse.emf.ecp.internal.graphiti.feature;version="1.7.0";x-internal:=true
 Require-Bundle: org.eclipse.ui;bundle-version="3.1.0",
-  org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.graphiti;bundle-version="0.9.1",
-  org.eclipse.graphiti.mm;bundle-version="0.9.1",
-  org.eclipse.graphiti.pattern;bundle-version="0.9.1",
-  org.eclipse.emf.transaction;bundle-version="1.4.0",
-  org.eclipse.ui.views.properties.tabbed;bundle-version="3.5.300",
-  org.eclipse.emf.edit.ui;bundle-version="2.8.0",
-  org.eclipse.emf.databinding.edit;bundle-version="1.2.0",
-  org.eclipse.emf.ecp.graphiti.core;bundle-version="[1.7.0,1.8.0)",
-  org.eclipse.emf.ecp.ui;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.graphiti;bundle-version="0.9.1",
+ org.eclipse.graphiti.mm;bundle-version="0.9.1",
+ org.eclipse.graphiti.pattern;bundle-version="0.9.1",
+ org.eclipse.emf.transaction;bundle-version="1.4.0",
+ org.eclipse.ui.views.properties.tabbed;bundle-version="3.5.300",
+ org.eclipse.emf.edit.ui;bundle-version="2.8.0",
+ org.eclipse.emf.databinding.edit;bundle-version="1.2.0",
+ org.eclipse.emf.ecp.graphiti.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.graphiti.integration
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.ide.editor.view.templatebridge/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ide.editor.view.templatebridge/META-INF/MANIFEST.MF
index b0f5021..c77145f 100644
--- a/bundles/org.eclipse.emf.ecp.ide.editor.view.templatebridge/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ide.editor.view.templatebridge/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms View Editor to Template Editor Integration
 Bundle-SymbolicName: org.eclipse.emf.ecp.ide.editor.view.templatebridge;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.internal.ide.editor.view.templatebridge.actions;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.view.treemasterdetail.ui.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.ui.workbench;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.ui;bundle-version="[3.0.0,4.0.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.template.tooling;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emf.ecp.internal.ide.editor.view.templatebridge.actions;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emf.ecp.view.treemasterdetail.ui.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.ui.workbench;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.ui;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.template.tooling;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.ide.editor.view.templatebridge
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.ide.editor.view.templatebridge/pom.xml b/bundles/org.eclipse.emf.ecp.ide.editor.view.templatebridge/pom.xml
index d3edf34..70a8b3a 100644
--- a/bundles/org.eclipse.emf.ecp.ide.editor.view.templatebridge/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ide.editor.view.templatebridge/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.ide.editor.view.templatebridge</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.ide.editor.view/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ide.editor.view/META-INF/MANIFEST.MF
index bfe7764..7977f1c 100644
--- a/bundles/org.eclipse.emf.ecp.ide.editor.view/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ide.editor.view/META-INF/MANIFEST.MF
@@ -2,27 +2,27 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: IDE View Editor
 Bundle-SymbolicName: org.eclipse.emf.ecp.ide.editor.view;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.ide.editor.view.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.ide.editor.view;version="1.19.0";x-friends:="org.eclipse.emf.ecp.view.model.preview.e3",
-  org.eclipse.emf.ecp.ide.editor.view.messages;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.ide.editor.view;version="1.20.0";x-friends:="org.eclipse.emf.ecp.view.model.preview.e3",
+ org.eclipse.emf.ecp.ide.editor.view.messages;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.ui;bundle-version="[3.0.0,4.0.0)",
-  org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.ui.ide;bundle-version="[3.9.1,4.0.0)",
-  org.eclipse.emf.ecp.ide.view.service;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ide.util;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.resources;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.ui;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.edit;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecore.xmi;bundle-version="[2.7.0,3.0.0)",
-  org.eclipse.jface;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)",
-  org.eclipse.emf.ecp.view.migrator;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit.ui;bundle-version="[2.7.0,3.0.0)"
+ org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.ui.ide;bundle-version="[3.9.1,4.0.0)",
+ org.eclipse.emf.ecp.ide.view.service;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ide.util;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.resources;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.emf.ecp.ui;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.edit;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.7.0,3.0.0)",
+ org.eclipse.jface;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)",
+ org.eclipse.emf.ecp.view.migrator;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit.ui;bundle-version="[2.7.0,3.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)"
 Automatic-Module-Name: org.eclipse.emf.ecp.ide.editor.view
diff --git a/bundles/org.eclipse.emf.ecp.ide.editor.view/plugin.xml b/bundles/org.eclipse.emf.ecp.ide.editor.view/plugin.xml
index 1482195..72f3046 100644
--- a/bundles/org.eclipse.emf.ecp.ide.editor.view/plugin.xml
+++ b/bundles/org.eclipse.emf.ecp.ide.editor.view/plugin.xml
@@ -5,6 +5,7 @@
          point="org.eclipse.ui.editors">
       <editor
             class="org.eclipse.emf.ecp.ide.editor.view.ViewEditorPart"
+            contributorClass="org.eclipse.emf.ecp.ide.editor.view.ViewEditorActionBarContributor"
             default="false"
             extensions="view"
             icon="icons/view.png"
diff --git a/bundles/org.eclipse.emf.ecp.ide.editor.view/pom.xml b/bundles/org.eclipse.emf.ecp.ide.editor.view/pom.xml
index e8cde05..ed887b2 100644
--- a/bundles/org.eclipse.emf.ecp.ide.editor.view/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ide.editor.view/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.ide.editor.view</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.ide.editor.view/src/org/eclipse/emf/ecp/ide/editor/view/ViewEditorActionBarContributor.java b/bundles/org.eclipse.emf.ecp.ide.editor.view/src/org/eclipse/emf/ecp/ide/editor/view/ViewEditorActionBarContributor.java
new file mode 100644
index 0000000..32e5aae
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.ide.editor.view/src/org/eclipse/emf/ecp/ide/editor/view/ViewEditorActionBarContributor.java
@@ -0,0 +1,165 @@
+/*******************************************************************************
+ * Copyright (c) 2019 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.ide.editor.view;
+
+import java.util.Collection;
+import java.util.stream.Stream;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecp.edit.spi.DeleteService;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.edit.ui.action.CopyAction;
+import org.eclipse.emf.edit.ui.action.CutAction;
+import org.eclipse.emf.edit.ui.action.DeleteAction;
+import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
+import org.eclipse.emf.edit.ui.action.PasteAction;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Tree;
+
+/**
+ * Action-bar contributor for the View Model Editor.
+ *
+ * @since 1.20
+ */
+public class ViewEditorActionBarContributor extends EditingDomainActionBarContributor {
+
+	/**
+	 * Initializes me.
+	 */
+	public ViewEditorActionBarContributor() {
+		super();
+	}
+
+	@Override
+	protected DeleteAction createDeleteAction() {
+		return new DeleteServiceAction();
+	}
+
+	@Override
+	protected CopyAction createCopyAction() {
+		return new CopyViewTreeAction();
+	}
+
+	@Override
+	protected PasteAction createPasteAction() {
+		return new PasteViewTreeAction();
+	}
+
+	@Override
+	protected CutAction createCutAction() {
+		return new CutViewTreeAction();
+	}
+
+	/**
+	 * Obtain a service of the given type from the {@linkplain #getViewModelContext() view model context}, if any.
+	 *
+	 * @param serviceType the type of service to obtain
+	 * @return the service, or {@code null} if none can be obtained
+	 *
+	 * @param <T> the type of service to obtain
+	 */
+	protected <T> T getService(Class<T> serviceType) {
+		final ViewModelContext context = getViewModelContext();
+		return context == null ? null : context.getService(serviceType);
+	}
+
+	/**
+	 * Obtain the editor's view model context.
+	 *
+	 * @return the view model context, or {@code null} if the editor has none
+	 */
+	protected ViewModelContext getViewModelContext() {
+		return activeEditor == null ? null : activeEditor.getAdapter(ViewModelContext.class);
+	}
+
+	/**
+	 * Returns whether the tree showing the view model's VElement hierarchy is currently active.
+	 * 
+	 * @return <code>true</code> if the tree is active; <code>false</code> otherwise
+	 */
+	private boolean isViewTreeActive() {
+		return Display.getCurrent().getFocusControl() instanceof Tree;
+	}
+
+	//
+	// Nested types
+	//
+
+	/**
+	 * Custom delete action that delegates to the {@link DeleteService}, if it's available.
+	 */
+	private class DeleteServiceAction extends DeleteAction {
+
+		DeleteServiceAction() {
+			super();
+		}
+
+		@Override
+		public void run() {
+			final DeleteService deleteService = getService(DeleteService.class);
+			if (deleteService == null) {
+				super.run();
+			} else {
+				@SuppressWarnings("unchecked")
+				final Collection<Object> selection = getStructuredSelection().toList();
+				// The delete service executes commands on the stack
+				deleteService.deleteElements(selection);
+			}
+		}
+
+		@Override
+		public boolean updateSelection(IStructuredSelection selection) {
+			final DeleteService deleteService = getService(DeleteService.class);
+			if (deleteService == null) {
+				return super.updateSelection(selection);
+			}
+
+			return !selection.isEmpty() && Stream.of(selection.toArray()).noneMatch(this::isRoot);
+		}
+
+		private boolean isRoot(Object object) {
+			return object instanceof EObject && ((EObject) object).eContainer() == null;
+		}
+
+	}
+
+	/** EMF copy action that is only enabled if the tree of the view model's VElement hierarchy is active. */
+	private class CopyViewTreeAction extends CopyAction {
+
+		@Override
+		public boolean isEnabled() {
+			return isViewTreeActive() && super.isEnabled();
+		}
+
+	}
+
+	/** EMF paste action that is only enabled if the tree of the view model's VElement hierarchy is active. */
+	private class PasteViewTreeAction extends PasteAction {
+
+		@Override
+		public boolean isEnabled() {
+			return isViewTreeActive() && super.isEnabled();
+		}
+
+	}
+
+	/** EMF cut action that is only enabled if the tree of the view model's VElement hierarchy is active. */
+	private class CutViewTreeAction extends CutAction {
+
+		@Override
+		public boolean isEnabled() {
+			return isViewTreeActive() && super.isEnabled();
+		}
+
+	}
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.emf.ecp.ide.editor.view/src/org/eclipse/emf/ecp/ide/editor/view/ViewEditorPart.java b/bundles/org.eclipse.emf.ecp.ide.editor.view/src/org/eclipse/emf/ecp/ide/editor/view/ViewEditorPart.java
index 71926d9..e739fc3 100644
--- a/bundles/org.eclipse.emf.ecp.ide.editor.view/src/org/eclipse/emf/ecp/ide/editor/view/ViewEditorPart.java
+++ b/bundles/org.eclipse.emf.ecp.ide.editor.view/src/org/eclipse/emf/ecp/ide/editor/view/ViewEditorPart.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -8,6 +8,7 @@
  *
  * Contributors:
  * Eugen Neufeld - initial API and implementation
+ * Christian W. Damus - bug 543376
  ******************************************************************************/
 package org.eclipse.emf.ecp.ide.editor.view;
 
@@ -65,7 +66,10 @@
 import org.eclipse.emf.ecp.view.spi.model.VView;
 import org.eclipse.emf.ecp.view.spi.model.reporting.StatusReport;
 import org.eclipse.emf.ecp.view.spi.provider.ViewProviderHelper;
+import org.eclipse.emf.ecp.view.spi.swt.services.ECPSelectionProviderService;
 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.ComposedAdapterFactory;
 import org.eclipse.emf.edit.ui.util.EditUIUtil;
 import org.eclipse.jface.dialogs.MessageDialog;
@@ -100,7 +104,7 @@
  *
  */
 public class ViewEditorPart extends EditorPart implements
-	ViewModelEditorCallback {
+	ViewModelEditorCallback, IEditingDomainProvider {
 
 	private Resource resource;
 	private BasicCommandStack basicCommandStack;
@@ -227,6 +231,22 @@
 	}
 
 	/**
+	 * @since 1.20
+	 */
+	@Override
+	public EditingDomain getEditingDomain() {
+		return editingDomain;
+	}
+
+	@Override
+	public <T> T getAdapter(Class<T> adapter) {
+		if (adapter == ViewModelContext.class) {
+			return adapter.cast(render.getViewModelContext());
+		}
+		return super.getAdapter(adapter);
+	}
+
+	/**
 	 * Checks whether the loaded VView is valid:
 	 * <ul>
 	 * <li>not null</li>
@@ -630,6 +650,8 @@
 					new EMFDeleteServiceImpl());
 			viewModelContext.putContextValue("enableMultiEdit", Boolean.TRUE); //$NON-NLS-1$
 			render = ECPSWTViewRenderer.INSTANCE.render(parent, viewModelContext);
+			getSite().setSelectionProvider(
+				viewModelContext.getService(ECPSelectionProviderService.class).getSelectionProvider());
 		} catch (final ECPRendererException ex) {
 			Activator.getDefault().getReportService().report(
 				new StatusReport(new Status(IStatus.ERROR, Activator.PLUGIN_ID, ex.getMessage(), ex)));
diff --git a/bundles/org.eclipse.emf.ecp.ide.editor.viewmodel/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ide.editor.viewmodel/META-INF/MANIFEST.MF
index a741402..944b73b 100644
--- a/bundles/org.eclipse.emf.ecp.ide.editor.viewmodel/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ide.editor.viewmodel/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Viewmodel
 Bundle-SymbolicName: org.eclipse.emf.ecp.ide.editor.viewmodel;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Require-Bundle: org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.19.0,1.20.0)"
+Require-Bundle: org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.20.0,1.21.0)"
 Automatic-Module-Name: org.eclipse.emf.ecp.ide.editor.viewmodel
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emf.ecp.ide.editor.viewmodel/pom.xml b/bundles/org.eclipse.emf.ecp.ide.editor.viewmodel/pom.xml
index 32f39f6..424892f 100644
--- a/bundles/org.eclipse.emf.ecp.ide.editor.viewmodel/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ide.editor.viewmodel/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.ide.editor.viewmodel</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.ide.migration/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ide.migration/META-INF/MANIFEST.MF
index b7ca0c3..0349ccf 100644
--- a/bundles/org.eclipse.emf.ecp.ide.migration/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ide.migration/META-INF/MANIFEST.MF
@@ -2,18 +2,18 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ViewModel Migration Tooling
 Bundle-SymbolicName: org.eclipse.emf.ecp.ide.migration;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.ide.internal.migration.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.ide.internal.migration;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.ide.internal.migration;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.ui;bundle-version="[3.0.0,4.0.0)",
-  org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.validation;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ide.util;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.common.validation;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.validation;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ide.util;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.common.validation;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.ide.migration
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.ide.migration/pom.xml b/bundles/org.eclipse.emf.ecp.ide.migration/pom.xml
index 240a16a..0a90ab2 100644
--- a/bundles/org.eclipse.emf.ecp.ide.migration/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ide.migration/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.ide.migration</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.ide.util/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ide.util/META-INF/MANIFEST.MF
index 1493f16..f530784 100644
--- a/bundles/org.eclipse.emf.ecp.ide.util/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ide.util/META-INF/MANIFEST.MF
@@ -2,19 +2,19 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Ecore Helper Plugin
 Bundle-SymbolicName: org.eclipse.emf.ecp.ide.util;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.ide.internal.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.ide.internal;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.ide.spi.util;version="1.19.0",
-  org.eclipse.emf.ecp.internal.ide.util.messages;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.ide.internal;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.ide.spi.util;version="1.20.0",
+ org.eclipse.emf.ecp.internal.ide.util.messages;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.emf.ecore.xmi;bundle-version="[2.7.0,3.0.0)",
-  org.eclipse.core.resources;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emfforms.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)"
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.7.0,3.0.0)",
+ org.eclipse.core.resources;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emfforms.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.ide.util
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.ide.util/pom.xml b/bundles/org.eclipse.emf.ecp.ide.util/pom.xml
index 071e60b..84de7f9 100644
--- a/bundles/org.eclipse.emf.ecp.ide.util/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ide.util/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.ide.util</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.ide.view.service/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ide.view.service/META-INF/MANIFEST.MF
index e051d42..e66e92e 100644
--- a/bundles/org.eclipse.emf.ecp.ide.view.service/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ide.view.service/META-INF/MANIFEST.MF
@@ -2,19 +2,19 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: IDE ViewModel Service
 Bundle-SymbolicName: org.eclipse.emf.ecp.ide.view.service
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.ide.view.service.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.ide.view.internal.service;version="1.19.0";x-friends:="org.eclipse.emf.ecp.ui.view.editor.controls",
-  org.eclipse.emf.ecp.ide.view.service;version="1.19.0";
-   x-friends:="org.eclipse.emf.ecp.ide.editor.view,
-    org.eclipse.emf.ecp.ui.view.editor.controls,
-    org.eclipse.emf.ecp.view.model.editor,
-    org.eclipse.emf.ecp.view.model.project.installer"
-Require-Bundle: org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.resources;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.ide.util;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)"
+Export-Package: org.eclipse.emf.ecp.ide.view.internal.service;version="1.20.0";x-friends:="org.eclipse.emf.ecp.ui.view.editor.controls",
+ org.eclipse.emf.ecp.ide.view.service;version="1.20.0";
+  x-friends:="org.eclipse.emf.ecp.ide.editor.view,
+   org.eclipse.emf.ecp.ui.view.editor.controls,
+   org.eclipse.emf.ecp.view.model.editor,
+   org.eclipse.emf.ecp.view.model.project.installer"
+Require-Bundle: org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.resources;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.emf.ecp.ide.util;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/ideviewmdoelregistry.xml
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.ide.view.service/pom.xml b/bundles/org.eclipse.emf.ecp.ide.view.service/pom.xml
index ae55928..3be15e7 100644
--- a/bundles/org.eclipse.emf.ecp.ide.view.service/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ide.view.service/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.ide.view.service</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.quickfix.ui.e4/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.quickfix.ui.e4/META-INF/MANIFEST.MF
index 6da1bd1..a82f9d4 100644
--- a/bundles/org.eclipse.emf.ecp.quickfix.ui.e4/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.quickfix.ui.e4/META-INF/MANIFEST.MF
@@ -2,18 +2,18 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Quickfix UI
 Bundle-SymbolicName: org.eclipse.emf.ecp.quickfix.ui.e4;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.quickfix.ui.e4.internal;version="1.19.0";x-friends:="org.eclipse.emf.ecp.application.e4"
+Export-Package: org.eclipse.emf.ecp.quickfix.ui.e4.internal;version="1.20.0";x-friends:="org.eclipse.emf.ecp.application.e4"
 Require-Bundle: org.eclipse.e4.ui.model.workbench;bundle-version="[1.1.0,3.0.0)",
-  org.eclipse.e4.ui.di;bundle-version="[1.0.0,2.0.0)",
-  org.eclipse.e4.ui.services;bundle-version="[1.0.0,2.0.0)",
-  org.eclipse.e4.core.di;bundle-version="[1.2.0,2.0.0)",
-  org.eclipse.e4.ui.workbench;bundle-version="[1.0.2,2.0.0)",
-  org.eclipse.emf.ecp.quickfix;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.jface;bundle-version="[3.7.0,4.0.0)"
+ org.eclipse.e4.ui.di;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.e4.ui.services;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.e4.core.di;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.e4.ui.workbench;bundle-version="[1.0.2,2.0.0)",
+ org.eclipse.emf.ecp.quickfix;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.jface;bundle-version="[3.7.0,4.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.quickfix.ui.e4
 Import-Package: javax.inject;version="1.0.0"
diff --git a/bundles/org.eclipse.emf.ecp.quickfix.ui.e4/pom.xml b/bundles/org.eclipse.emf.ecp.quickfix.ui.e4/pom.xml
index 907b081..9af3858 100644
--- a/bundles/org.eclipse.emf.ecp.quickfix.ui.e4/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.quickfix.ui.e4/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.quickfix/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.quickfix/META-INF/MANIFEST.MF
index 03cfbc5..c9ac24a 100644
--- a/bundles/org.eclipse.emf.ecp.quickfix/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.quickfix/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Quickfix Service
 Bundle-SymbolicName: org.eclipse.emf.ecp.quickfix;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.quickfix;version="1.19.0",
- org.eclipse.emf.ecp.quickfix.internal;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.quickfix;version="1.20.0",
+ org.eclipse.emf.ecp.quickfix.internal;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.emf.common;bundle-version="[2.7.0,3.0.0)",
  org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Automatic-Module-Name: org.eclipse.emf.ecp.quickfix
 Service-Component: OSGI-INF/modelQuickFix.xml
 Bundle-ActivationPolicy: lazy
-Automatic-Module-Name: org.eclipse.emf.ecp.quickfix
diff --git a/bundles/org.eclipse.emf.ecp.quickfix/pom.xml b/bundles/org.eclipse.emf.ecp.quickfix/pom.xml
index eb16cbf..d25687b 100644
--- a/bundles/org.eclipse.emf.ecp.quickfix/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.quickfix/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.rap.util/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.rap.util/META-INF/MANIFEST.MF
index e168a69..9525857 100644
--- a/bundles/org.eclipse.emf.ecp.rap.util/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.rap.util/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: RAP Util
 Bundle-SymbolicName: org.eclipse.emf.ecp.rap.util;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.rap.spi.util;version="1.19.0"
-Require-Bundle: org.eclipse.emf.ecp.edit.swt;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emf.ecp.rap.spi.util;version="1.20.0"
+Require-Bundle: org.eclipse.emf.ecp.edit.swt;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.rap.util
 Import-Package: org.eclipse.jface.dialogs;version="0.0.0",
-  org.eclipse.jface.window;version="0.0.0",
-  org.eclipse.swt.events;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0"
+ org.eclipse.jface.window;version="0.0.0",
+ org.eclipse.swt.events;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0"
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.rap.util/pom.xml b/bundles/org.eclipse.emf.ecp.rap.util/pom.xml
index 7af99ec..61fd7b8 100644
--- a/bundles/org.eclipse.emf.ecp.rap.util/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.rap.util/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.rap.util</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.rap/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.rap/META-INF/MANIFEST.MF
index 25c77a6..53ff36a 100644
--- a/bundles/org.eclipse.emf.ecp.rap/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.rap/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP RAP
 Bundle-SymbolicName: org.eclipse.emf.ecp.rap;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.rap.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.rap;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.ui;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.runtime;bundle-version="3.8.0",
-  org.eclipse.rap.ui;bundle-version="2.0.0"
+Export-Package: org.eclipse.emf.ecp.rap;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emf.ecp.ui;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.runtime;bundle-version="3.8.0",
+ org.eclipse.rap.ui;bundle-version="2.0.0"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.rap
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.rap/pom.xml b/bundles/org.eclipse.emf.ecp.rap/pom.xml
index 5be56f9..cafcb92 100644
--- a/bundles/org.eclipse.emf.ecp.rap/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.rap/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.rap</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.test.common/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.test.common/META-INF/MANIFEST.MF
index 4e7e937..bb5b78a 100644
--- a/bundles/org.eclipse.emf.ecp.test.common/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.test.common/META-INF/MANIFEST.MF
@@ -2,10 +2,11 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Common Test Helpers
 Bundle-SymbolicName: org.eclipse.emf.ecp.test.common
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.test.common;version="1.19.0"
-Require-Bundle: org.eclipse.core.databinding.observable;bundle-version="[1.3.0,2.0.0)"
+Export-Package: org.eclipse.emf.ecp.test.common;version="1.20.0"
+Require-Bundle: org.eclipse.core.databinding.observable;bundle-version="[1.3.0,2.0.0)",
+ org.junit;bundle-version="[4.12.0,5.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.test.common
+Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.test.common/pom.xml b/bundles/org.eclipse.emf.ecp.test.common/pom.xml
index e048edd..9d9e3b4 100644
--- a/bundles/org.eclipse.emf.ecp.test.common/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.test.common/pom.xml
@@ -6,11 +6,11 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 
 	<artifactId>org.eclipse.emf.ecp.test.common</artifactId>
 	<packaging>eclipse-plugin</packaging>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.test.common/src/org/eclipse/emf/ecp/test/common/PerformanceClock.java b/bundles/org.eclipse.emf.ecp.test.common/src/org/eclipse/emf/ecp/test/common/PerformanceClock.java
new file mode 100644
index 0000000..44cb5ab
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.test.common/src/org/eclipse/emf/ecp/test/common/PerformanceClock.java
@@ -0,0 +1,184 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * lucas - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.test.common;
+
+import static org.junit.Assert.fail;
+
+import java.util.Arrays;
+import java.util.function.Consumer;
+import java.util.function.Supplier;
+
+/**
+ * Convenience class for timing performance tests.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public final class PerformanceClock {
+
+	private PerformanceClock() {
+		// Utility class
+	}
+
+	/**
+	 * Run an {@code experiment} several times to compute the average elapsed time with standard deviation.
+	 *
+	 * @param iterations the number of iterations to run the experiment
+	 * @param before runnable executed before every experiment
+	 * @param experiment the experiment to execute and measure
+	 * @param after runnable executed after every experiment
+	 * @return The measured average execution time and standard deviation
+	 */
+	public static Measure time(int iterations, Runnable before, Runnable experiment, Runnable after) {
+		final int count = Math.max(7, iterations); // We toss high and low so need at least five
+		final int n = count - 2;
+
+		final double[] samples = new double[count];
+
+		before.run();
+		try {
+			for (int i = 0; i < count; i++) {
+				final long start = System.nanoTime();
+				experiment.run();
+				final long end = System.nanoTime();
+				samples[i] = (end - start) / 1_000_000d;
+			}
+		} finally {
+			after.run();
+		}
+
+		Arrays.sort(samples);
+
+		final int last = count - 1;
+		double sum = 0.0;
+		for (int i = 1; i < last; i++) {
+			sum = sum + samples[i];
+		}
+
+		final double average = sum / n;
+		double sumdev = 0.0;
+		for (int i = 1; i < last; i++) {
+			final double dev = samples[i] - average;
+			sumdev = sumdev + dev * dev;
+		}
+		final double stddev = Math.sqrt(sumdev / (n - 1));
+
+		return new Measure(average, stddev);
+	}
+
+	/**
+	 * Run an {@code experiment} on both the small- and the large inputs,
+	 * measuring the performance of each, and compare the performance to verify that
+	 * it's not worse than the expected worst case multiplier.
+	 *
+	 * @param iterations the number of iterations to perform of the {@code experiment} on each input
+	 * @param worstCaseMultiplier a multiplier on the measured timing of the small-scale scenario that is it maximal
+	 *            acceptable timing of the large-scale scenario. Performance worse than this multiplier fails the test
+	 * @param smallInput supplier of the small input. It can supply the same input or a different input on every
+	 *            invocation
+	 * @param largeInput supplier of the large-scale input. It can supply the same input or a different input on every
+	 *            invocation
+	 * @param experiment
+	 *            the experiment to run at each scale of input
+	 *
+	 * @param <T> the type of input for the {@code experiment}
+	 */
+	public static <T> void test(int iterations, double worstCaseMultiplier, //
+		Supplier<? extends T> smallInput, Supplier<? extends T> largeInput, //
+		Consumer<? super T> experiment) {
+
+		test(iterations, worstCaseMultiplier, smallInput, largeInput, null, experiment, null);
+	}
+
+	/**
+	 * Run an {@code experiment} on both the small- and the large inputs,
+	 * measuring the performance of each, and compare the performance to verify that
+	 * it's not worse than the expected worst case multiplier.
+	 *
+	 * @param iterations the number of iterations to perform of the {@code experiment} on each input
+	 * @param worstCaseMultiplier a multiplier on the measured timing of the small-scale scenario that is it maximal
+	 *            acceptable timing of the large-scale scenario. Performance worse than this multiplier fails the test
+	 * @param smallInput supplier of the small input. It can supply the same input or a different input on every
+	 *            invocation
+	 * @param largeInput supplier of the large-scale input. It can supply the same input or a different input on every
+	 *            invocation
+	 * @param before consumer to run before every experiment. May be <code>null</code>
+	 * @param experiment
+	 *            the experiment to run at each scale of input
+	 * @param after consumer to run after every experiment. May be <code>null</code>
+	 *
+	 * @param <T> the type of input for the {@code experiment}
+	 */
+	public static <T> void test(int iterations, double worstCaseMultiplier, //
+		Supplier<? extends T> smallInput, Supplier<? extends T> largeInput, //
+		Consumer<? super T> before, Consumer<? super T> experiment, Consumer<? super T> after) {
+
+		final Measure smallScale = time(iterations, bind(before, smallInput),
+			bind(experiment, smallInput), bind(after, smallInput));
+		System.out.println("Small scale: " + smallScale); //$NON-NLS-1$
+		final Measure largeScale = time(iterations, bind(before, largeInput),
+			bind(experiment, largeInput), bind(after, largeInput));
+		System.out.println("Large scale: " + largeScale); //$NON-NLS-1$
+
+		if (largeScale.average > worstCaseMultiplier * smallScale.average) {
+			fail(String.format("Performance does not scale:%n\t%s ≫ %s", largeScale, smallScale)); //$NON-NLS-1$
+		}
+	}
+
+	private static <T> Runnable bind(Consumer<? super T> hook, Supplier<T> input) {
+		return hook == null
+			? PerformanceClock::noop
+			: () -> hook.accept(input.get());
+	}
+
+	private static void noop() {
+		// do nothing
+	}
+
+	/** Average execution time and standard deviation of a performance experiment. */
+	public static final class Measure {
+		private final double average;
+		private final double stddev;
+
+		/**
+		 * Creates a new time measure.
+		 *
+		 * @param average The recorded average execution time
+		 * @param stddev The standard deviation
+		 */
+		public Measure(double average, double stddev) {
+			super();
+
+			this.average = average;
+			this.stddev = stddev;
+		}
+
+		/**
+		 * @return The average execution time
+		 */
+		public double average() {
+			return average;
+		}
+
+		/**
+		 * @return the standard deviation
+		 */
+		public double stddev() {
+			return stddev;
+		}
+
+		@Override
+		public String toString() {
+			return String.format("%.1f ms (σ = %.2f ms)", average, stddev); //$NON-NLS-1$
+		}
+	}
+}
diff --git a/bundles/org.eclipse.emf.ecp.ui.e3/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ui.e3/META-INF/MANIFEST.MF
index df0e077..9f4b853 100644
--- a/bundles/org.eclipse.emf.ecp.ui.e3/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ui.e3/META-INF/MANIFEST.MF
@@ -2,42 +2,42 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Eclipse 3.x Integration
 Bundle-SymbolicName: org.eclipse.emf.ecp.ui.e3;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.ui.platform.Activator
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-Localization: OSGI-INF/l10n/bundle
-Export-Package: org.eclipse.emf.ecp.ui.actions;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.ui.commands;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.ui.e3;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.ui.linkedView;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.ui.perspective;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.ui.platform;version="1.19.0";x-friends:="org.eclipse.emf.ecp.emfstore.ui",
-  org.eclipse.emf.ecp.ui.tester;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.ui.views;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.ui.actions;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.ui.commands;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.ui.e3;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.ui.linkedView;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.ui.perspective;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.ui.platform;version="1.20.0";x-friends:="org.eclipse.emf.ecp.emfstore.ui",
+ org.eclipse.emf.ecp.ui.tester;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.ui.views;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.emf.ecp.ui;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.emf.ecp.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.common.ui;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.ui;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.emf.ecp.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.common.ui;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.ui.e3
 Eclipse-ExtensibleAPI: true
 Import-Package: org.eclipse.core.commands;version="0.0.0",
-  org.eclipse.emf.edit.ui.provider;version="0.0.0",
-  org.eclipse.jface.action;version="0.0.0",
-  org.eclipse.jface.dialogs;version="0.0.0",
-  org.eclipse.jface.resource;version="0.0.0",
-  org.eclipse.jface.viewers;version="0.0.0",
-  org.eclipse.jface.window;version="0.0.0",
-  org.eclipse.jface.wizard;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.events;version="0.0.0",
-  org.eclipse.swt.graphics;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0",
-  org.eclipse.ui;ui.workbench=split;version="0.0.0",
-  org.eclipse.ui.dialogs;ui.workbench=split;version="0.0.0",
-  org.eclipse.ui.handlers;version="0.0.0",
-  org.eclipse.ui.part;ui.workbench=split;version="0.0.0",
-  org.eclipse.ui.plugin;version="0.0.0",
-  org.eclipse.ui.services;version="0.0.0"
+ org.eclipse.emf.edit.ui.provider;version="0.0.0",
+ org.eclipse.jface.action;version="0.0.0",
+ org.eclipse.jface.dialogs;version="0.0.0",
+ org.eclipse.jface.resource;version="0.0.0",
+ org.eclipse.jface.viewers;version="0.0.0",
+ org.eclipse.jface.window;version="0.0.0",
+ org.eclipse.jface.wizard;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.events;version="0.0.0",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.eclipse.ui;ui.workbench=split;version="0.0.0",
+ org.eclipse.ui.dialogs;ui.workbench=split;version="0.0.0",
+ org.eclipse.ui.handlers;version="0.0.0",
+ org.eclipse.ui.part;ui.workbench=split;version="0.0.0",
+ org.eclipse.ui.plugin;version="0.0.0",
+ org.eclipse.ui.services;version="0.0.0"
diff --git a/bundles/org.eclipse.emf.ecp.ui.e3/pom.xml b/bundles/org.eclipse.emf.ecp.ui.e3/pom.xml
index 1514038..0ffcb54 100644
--- a/bundles/org.eclipse.emf.ecp.ui.e3/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.e3/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.ui.e3</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
   
   <properties>
diff --git a/bundles/org.eclipse.emf.ecp.ui.e4/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ui.e4/META-INF/MANIFEST.MF
index 257cde5..79723e9 100644
--- a/bundles/org.eclipse.emf.ecp.ui.e4/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ui.e4/META-INF/MANIFEST.MF
@@ -2,34 +2,34 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP E4 UI
 Bundle-SymbolicName: org.eclipse.emf.ecp.ui.e4;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.ui.internal.e4.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.ui.e4.editor;version="1.19.0";x-friends:="org.eclipse.emf.ecp.application.e4",
-  org.eclipse.emf.ecp.ui.e4.handlers;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.ui.e4.util;version="1.19.0";x-friends:="org.eclipse.emf.ecp.application.e4",
-  org.eclipse.emf.ecp.ui.e4.view;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.ui.internal.e4;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.ui.e4.editor;version="1.20.0";x-friends:="org.eclipse.emf.ecp.application.e4",
+ org.eclipse.emf.ecp.ui.e4.handlers;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.ui.e4.util;version="1.20.0";x-friends:="org.eclipse.emf.ecp.application.e4",
+ org.eclipse.emf.ecp.ui.e4.view;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.ui.internal.e4;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.osgi;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.e4.core.contexts;bundle-version="[1.2.0,2.0.0)",
-  org.eclipse.e4.ui.workbench;bundle-version="[0.10.0,2.0.0)",
-  org.eclipse.e4.ui.model.workbench;bundle-version="[0.10.0,3.0.0)",
-  org.eclipse.emf.ecp.ui;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.e4.ui.workbench.swt;bundle-version="[0.10.0,1.0.0)",
-  javax.inject;bundle-version="[1.0.0,2.0.0)",
-  org.eclipse.e4.core.di;bundle-version="[1.2.0,2.0.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.e4.ui.di;bundle-version="[0.10.0,2.0.0)",
-  org.eclipse.e4.ui.services;bundle-version="[1.0.0,2.0.0)",
-  org.eclipse.emf.edit.ui;bundle-version="[2.7.0,3.0.0)",
-  org.eclipse.emf.ecp.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.edit;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.e4.core.services;bundle-version="[1.0.0,3.0.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.e4.core.contexts;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.e4.ui.workbench;bundle-version="[0.10.0,2.0.0)",
+ org.eclipse.e4.ui.model.workbench;bundle-version="[0.10.0,3.0.0)",
+ org.eclipse.emf.ecp.ui;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.e4.ui.workbench.swt;bundle-version="[0.10.0,1.0.0)",
+ javax.inject;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.e4.core.di;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.e4.ui.di;bundle-version="[0.10.0,2.0.0)",
+ org.eclipse.e4.ui.services;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.emf.edit.ui;bundle-version="[2.7.0,3.0.0)",
+ org.eclipse.emf.ecp.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.edit;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.e4.core.services;bundle-version="[1.0.0,3.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Import-Package: javax.annotation;version="1.1.0",
-  javax.inject;version="1.0.0",
-  org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.osgi.service.event;version="1.3.0"
+ javax.inject;version="1.0.0",
+ org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.osgi.service.event;version="1.3.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.ui.e4
diff --git a/bundles/org.eclipse.emf.ecp.ui.e4/pom.xml b/bundles/org.eclipse.emf.ecp.ui.e4/pom.xml
index 9d6c4fe..e50b38f 100644
--- a/bundles/org.eclipse.emf.ecp.ui.e4/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.e4/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.ui.e4</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
   
   <properties>
diff --git a/bundles/org.eclipse.emf.ecp.ui.rap/.classpath b/bundles/org.eclipse.emf.ecp.ui.rap/.classpath
index 64c5e31..eca7bdb 100644
--- a/bundles/org.eclipse.emf.ecp.ui.rap/.classpath
+++ b/bundles/org.eclipse.emf.ecp.ui.rap/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="output" path="bin"/>
diff --git a/bundles/org.eclipse.emf.ecp.ui.rap/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.emf.ecp.ui.rap/.settings/org.eclipse.jdt.core.prefs
index 83b8580..0309974 100644
--- a/bundles/org.eclipse.emf.ecp.ui.rap/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.emf.ecp.ui.rap/.settings/org.eclipse.jdt.core.prefs
@@ -25,9 +25,9 @@
 org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
 org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.compliance=1.8
 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -130,7 +130,7 @@
 org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
 org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
 org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.source=1.8
 org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
 org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
 org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
diff --git a/bundles/org.eclipse.emf.ecp.ui.rap/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ui.rap/META-INF/MANIFEST.MF
index e77d7be..74915f6 100644
--- a/bundles/org.eclipse.emf.ecp.ui.rap/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ui.rap/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP UI RWT
 Bundle-SymbolicName: org.eclipse.emf.ecp.ui.rap
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.internal.ui.util;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.internal.ui.util;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.rap.filedialog;bundle-version="[3.0.0,4.0.0)",
-  org.eclipse.rap.rwt;bundle-version="[3.0.0,4.0.0)",
-  org.eclipse.emf.ecp.ui;bundle-version="[1.19.0,1.20.0)"
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+ org.eclipse.rap.rwt;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.emf.ecp.ui;bundle-version="[1.20.0,1.21.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/org.eclipse.emf.ecp.internal.ui.util.ECPFileDialogHelperImpl.xml
 Bundle-ActivationPolicy: lazy
 Import-Package: org.osgi.service.component.annotations;version="[1.0.0,2.0.0)"
diff --git a/bundles/org.eclipse.emf.ecp.ui.rap/pom.xml b/bundles/org.eclipse.emf.ecp.ui.rap/pom.xml
index 46c2265..2c6cc0e 100644
--- a/bundles/org.eclipse.emf.ecp.ui.rap/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.rap/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.ui.rap</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.ui.rcp/.classpath b/bundles/org.eclipse.emf.ecp.ui.rcp/.classpath
index 64c5e31..eca7bdb 100644
--- a/bundles/org.eclipse.emf.ecp.ui.rcp/.classpath
+++ b/bundles/org.eclipse.emf.ecp.ui.rcp/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="output" path="bin"/>
diff --git a/bundles/org.eclipse.emf.ecp.ui.rcp/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.emf.ecp.ui.rcp/.settings/org.eclipse.jdt.core.prefs
index 83b8580..0309974 100644
--- a/bundles/org.eclipse.emf.ecp.ui.rcp/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.emf.ecp.ui.rcp/.settings/org.eclipse.jdt.core.prefs
@@ -25,9 +25,9 @@
 org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
 org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.compliance=1.8
 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -130,7 +130,7 @@
 org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
 org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
 org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.source=1.8
 org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
 org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
 org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
diff --git a/bundles/org.eclipse.emf.ecp.ui.rcp/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ui.rcp/META-INF/MANIFEST.MF
index 42c4d23..6853c77 100644
--- a/bundles/org.eclipse.emf.ecp.ui.rcp/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ui.rcp/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP UI SWT
 Bundle-SymbolicName: org.eclipse.emf.ecp.ui.rcp
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.internal.ui.util;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.internal.ui.util;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.swt;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.ui;bundle-version="[1.19.0,1.20.0)"
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+ org.eclipse.emf.ecp.ui;bundle-version="[1.20.0,1.21.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/org.eclipse.emf.ecp.internal.ui.util.ECPFileDialogHelperImpl.xml
 Bundle-ActivationPolicy: lazy
 Import-Package: org.osgi.service.component.annotations;version="[1.0.0,2.0.0)"
diff --git a/bundles/org.eclipse.emf.ecp.ui.rcp/pom.xml b/bundles/org.eclipse.emf.ecp.ui.rcp/pom.xml
index e2e382f..83adad1 100644
--- a/bundles/org.eclipse.emf.ecp.ui.rcp/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.rcp/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.ui.rcp</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
   <properties>
diff --git a/bundles/org.eclipse.emf.ecp.ui.transaction/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ui.transaction/META-INF/MANIFEST.MF
index c5256e8..603659e 100644
--- a/bundles/org.eclipse.emf.ecp.ui.transaction/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ui.transaction/META-INF/MANIFEST.MF
@@ -2,36 +2,36 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Transactional UI
 Bundle-SymbolicName: org.eclipse.emf.ecp.ui.transaction;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.ui.transaction;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.ui.transaction;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.emf.transaction;bundle-version="1.4.0",
-  org.eclipse.emf.ecp.ui;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.emfstore.core;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.ui;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.emfstore.core;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.ui.transaction
 Import-Package: org.eclipse.core.commands;version="0.0.0",
-  org.eclipse.emf.edit.ui.action;version="0.0.0",
-  org.eclipse.emf.edit.ui.dnd;version="0.0.0",
-  org.eclipse.emf.edit.ui.provider;version="0.0.0",
-  org.eclipse.jface.action;version="0.0.0",
-  org.eclipse.jface.dialogs;version="0.0.0",
-  org.eclipse.jface.layout;version="0.0.0",
-  org.eclipse.jface.resource;version="0.0.0",
-  org.eclipse.jface.viewers;version="0.0.0",
-  org.eclipse.jface.window;version="0.0.0",
-  org.eclipse.jface.wizard;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.custom;version="0.0.0",
-  org.eclipse.swt.dnd;version="0.0.0",
-  org.eclipse.swt.events;version="0.0.0",
-  org.eclipse.swt.graphics;version="0.0.0",
-  org.eclipse.swt.layout;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0",
-  org.eclipse.ui;ui.workbench=split;version="0.0.0",
-  org.eclipse.ui.dialogs;ui.workbench=split;version="0.0.0",
-  org.eclipse.ui.handlers;version="0.0.0",
-  org.eclipse.ui.part;ui.workbench=split;version="0.0.0",
-  org.eclipse.ui.plugin;version="0.0.0",
-  org.eclipse.ui.views.properties;ui.views=split;version="0.0.0"
+ org.eclipse.emf.edit.ui.action;version="0.0.0",
+ org.eclipse.emf.edit.ui.dnd;version="0.0.0",
+ org.eclipse.emf.edit.ui.provider;version="0.0.0",
+ org.eclipse.jface.action;version="0.0.0",
+ org.eclipse.jface.dialogs;version="0.0.0",
+ org.eclipse.jface.layout;version="0.0.0",
+ org.eclipse.jface.resource;version="0.0.0",
+ org.eclipse.jface.viewers;version="0.0.0",
+ org.eclipse.jface.window;version="0.0.0",
+ org.eclipse.jface.wizard;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.custom;version="0.0.0",
+ org.eclipse.swt.dnd;version="0.0.0",
+ org.eclipse.swt.events;version="0.0.0",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.eclipse.swt.layout;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.eclipse.ui;ui.workbench=split;version="0.0.0",
+ org.eclipse.ui.dialogs;ui.workbench=split;version="0.0.0",
+ org.eclipse.ui.handlers;version="0.0.0",
+ org.eclipse.ui.part;ui.workbench=split;version="0.0.0",
+ org.eclipse.ui.plugin;version="0.0.0",
+ org.eclipse.ui.views.properties;ui.views=split;version="0.0.0"
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.ui.transaction/pom.xml b/bundles/org.eclipse.emf.ecp.ui.transaction/pom.xml
index 7c4329d..30c6fd0 100644
--- a/bundles/org.eclipse.emf.ecp.ui.transaction/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.transaction/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.ui.transaction</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.ui.validation.e4/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ui.validation.e4/META-INF/MANIFEST.MF
index 605f623..d1f5c0f 100644
--- a/bundles/org.eclipse.emf.ecp.ui.validation.e4/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ui.validation.e4/META-INF/MANIFEST.MF
@@ -2,23 +2,23 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP UI Validation E4
 Bundle-SymbolicName: org.eclipse.emf.ecp.ui.validation.e4;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.ui.validation.e4.handler;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.ui.validation.e4.view;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.ui.validation.e4.handler;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.ui.validation.e4.view;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.e4.ui.workbench.swt;bundle-version="[0.10.0,1.0.0)",
-  org.eclipse.e4.ui.workbench;bundle-version="[0.10.0,2.0.0)",
-  org.eclipse.emf.ecp.ui.validation;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.e4.ui.di;bundle-version="[0.10.0,2.0.0)",
-  org.eclipse.jface;bundle-version="[3.9.1,4.0.0)",
-  org.eclipse.emf.ecp.validation.diagnostician;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)",
-  org.eclipse.e4.ui.services;bundle-version="[0.1.0,2.0.0)",
-  org.eclipse.e4.ui.model.workbench;bundle-version="[1.0.1,3.0.0)",
-  org.eclipse.core.expressions;bundle-version="[3.4.500,4.0.0)"
+ org.eclipse.e4.ui.workbench;bundle-version="[0.10.0,2.0.0)",
+ org.eclipse.emf.ecp.ui.validation;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.e4.ui.di;bundle-version="[0.10.0,2.0.0)",
+ org.eclipse.jface;bundle-version="[3.9.1,4.0.0)",
+ org.eclipse.emf.ecp.validation.diagnostician;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)",
+ org.eclipse.e4.ui.services;bundle-version="[0.1.0,2.0.0)",
+ org.eclipse.e4.ui.model.workbench;bundle-version="[1.0.1,3.0.0)",
+ org.eclipse.core.expressions;bundle-version="[3.4.500,4.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.ui.validation.e4
 Import-Package: javax.annotation;version="1.1.0",
-  javax.inject;version="1.0.0",
-  org.eclipse.e4.core.di.annotations;version="0.0.0"
+ javax.inject;version="1.0.0",
+ org.eclipse.e4.core.di.annotations;version="0.0.0"
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.ui.validation.e4/pom.xml b/bundles/org.eclipse.emf.ecp.ui.validation.e4/pom.xml
index 3200a3d..4509503 100644
--- a/bundles/org.eclipse.emf.ecp.ui.validation.e4/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.validation.e4/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.ui.validation.e4</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.ui.validation.e4/src/org/eclipse/emf/ecp/ui/validation/e4/view/DiagnosticView.java b/bundles/org.eclipse.emf.ecp.ui.validation.e4/src/org/eclipse/emf/ecp/ui/validation/e4/view/DiagnosticView.java
index 95231c6..aa7a130 100644
--- a/bundles/org.eclipse.emf.ecp.ui.validation.e4/src/org/eclipse/emf/ecp/ui/validation/e4/view/DiagnosticView.java
+++ b/bundles/org.eclipse.emf.ecp.ui.validation.e4/src/org/eclipse/emf/ecp/ui/validation/e4/view/DiagnosticView.java
@@ -67,13 +67,11 @@
 							if (structuredSelection.size() == 1) {
 								selectionService
 									.setSelection(structuredSelection.getFirstElement());
-							}
-							else {
+							} else {
 								selectionService
 									.setSelection(structuredSelection.toList());
 							}
-						}
-						else {
+						} else {
 							selectionService.setSelection(null);
 						}
 					}
@@ -90,6 +88,29 @@
 	}
 
 	/**
+	 * Return the Tree showing the diagnostic data..
+	 *
+	 * @return The {@link TreeViewer} which contains the actual data
+	 */
+	public TreeViewer getDiagnosticTree() {
+		return diagnosticTree;
+	}
+
+	/**
+	 * Expand the diagnostic tree.
+	 */
+	public void expandAll() {
+		diagnosticTree.expandAll();
+	}
+
+	/**
+	 * Collapse the diagnostic tree.
+	 */
+	public void collapseAll() {
+		diagnosticTree.collapseAll();
+	}
+
+	/**
 	 * Sets the focus to the tree.
 	 */
 	@Focus
diff --git a/bundles/org.eclipse.emf.ecp.ui.validation/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ui.validation/META-INF/MANIFEST.MF
index 1ab8fa3..2744a12 100644
--- a/bundles/org.eclipse.emf.ecp.ui.validation/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ui.validation/META-INF/MANIFEST.MF
@@ -2,20 +2,20 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Validation View
 Bundle-SymbolicName: org.eclipse.emf.ecp.ui.validation;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.internal.ui.validation.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.internal.ui.validation;version="1.19.0";x-friends:="org.eclipse.emf.ecp.ui.validation.e4,org.eclipse.emf.ecp.ide.migration",
-  org.eclipse.emf.ecp.ui.validation;version="1.19.0";x-friends:="org.eclipse.emf.ecp.ui.validation.e4"
+Export-Package: org.eclipse.emf.ecp.internal.ui.validation;version="1.20.0";x-friends:="org.eclipse.emf.ecp.ui.validation.e4,org.eclipse.emf.ecp.ide.migration",
+ org.eclipse.emf.ecp.ui.validation;version="1.20.0";x-friends:="org.eclipse.emf.ecp.ui.validation.e4"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)"
 Import-Package: org.eclipse.emf.edit.ui.provider;version="0.0.0",
-  org.eclipse.jface.resource;version="0.0.0",
-  org.eclipse.jface.viewers;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.graphics;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0"
+ org.eclipse.jface.resource;version="0.0.0",
+ org.eclipse.jface.viewers;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.ui.validation
 Service-Component: OSGI-INF/component.xml
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.ui.validation/pom.xml b/bundles/org.eclipse.emf.ecp.ui.validation/pom.xml
index 03af1b0..e3e4e1f 100644
--- a/bundles/org.eclipse.emf.ecp.ui.validation/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.validation/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.ui.validation</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/META-INF/MANIFEST.MF
index ef4b8cf..52070ea 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/META-INF/MANIFEST.MF
@@ -2,51 +2,51 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Controls
 Bundle-SymbolicName: org.eclipse.emf.ecp.ui.view.editor.controls;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.view.internal.editor.controls.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.internal.editor.controls;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.internal.editor.handler;version="1.19.0";x-friends:="org.eclipse.emf.ecp.view.model.project.installer,org.eclipse.emf.ecp.view.model.editor,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt",
-  org.eclipse.emf.ecp.view.spi.editor.controls;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.internal.editor.controls;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.internal.editor.handler;version="1.20.0";x-friends:="org.eclipse.emf.ecp.view.model.project.installer,org.eclipse.emf.ecp.view.model.editor,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt",
+ org.eclipse.emf.ecp.view.spi.editor.controls;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="3.7.0",
-  org.eclipse.emf.ecp.edit.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit.ui;bundle-version="2.8.0",
-  org.eclipse.emf.ecp.ui;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.rule.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.workspace.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.table.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ide.view.service;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecore.xmi;bundle-version="[2.7.0,3.0.0)",
-  org.eclipse.emf.ecp.view.treemasterdetail.ui.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.stack.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)",
-  org.eclipse.emf.ecp.view.label.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.common.ui;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.custom.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
-  org.eclipse.emfforms.localization;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core.di;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.control.multiattribute;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ide.util;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.edit.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit.ui;bundle-version="2.8.0",
+ org.eclipse.emf.ecp.ui;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.rule.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.workspace.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.table.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ide.view.service;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.7.0,3.0.0)",
+ org.eclipse.emf.ecp.view.treemasterdetail.ui.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.stack.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)",
+ org.eclipse.emf.ecp.view.label.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.common.ui;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.custom.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.control.multiattribute;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ide.util;bundle-version="[1.20.0,1.21.0)"
 Import-Package: org.eclipse.core.resources;version="0.0.0",
-  org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.19.0,1.20.0)",
-  org.eclipse.jface.databinding.swt;version="0.0.0",
-  org.eclipse.jface.databinding.viewers;version="0.0.0",
-  org.eclipse.jface.resource;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.graphics;version="0.0.0",
-  org.eclipse.swt.layout;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0",
-  org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
+ org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.20.0,1.21.0)",
+ org.eclipse.jface.databinding.swt;version="0.0.0",
+ org.eclipse.jface.databinding.viewers;version="0.0.0",
+ org.eclipse.jface.resource;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.eclipse.swt.layout;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
 Automatic-Module-Name: org.eclipse.emf.ecp.ui.view.editor.controls
 Service-Component: OSGI-INF/ControlRootEClassControl2SWTRendererService.xml,
  OSGI-INF/ControlRootEClassControlChangeableSWTRendererService.xml,
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/pom.xml b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/pom.xml
index 995a8de..8f3afc4 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/DomainModelReferenceControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/DomainModelReferenceControlSWTRenderer.java
index 2a8166d..d9e9873 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/DomainModelReferenceControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/DomainModelReferenceControlSWTRenderer.java
@@ -32,7 +32,7 @@
 import org.eclipse.emf.ecore.EStructuralFeature;
 import org.eclipse.emf.ecore.impl.EReferenceImpl;
 import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecp.core.util.ECPUtil;
+import org.eclipse.emf.ecp.common.spi.EMFUtils;
 import org.eclipse.emf.ecp.edit.internal.swt.SWTImageHelper;
 import org.eclipse.emf.ecp.edit.spi.swt.reference.DeleteReferenceAction;
 import org.eclipse.emf.ecp.edit.spi.swt.reference.NewReferenceAction;
@@ -407,7 +407,7 @@
 
 		@Override
 		public void widgetSelected(SelectionEvent e) {
-			final Collection<EClass> classes = ECPUtil.getSubClasses(((EReferenceImpl) eStructuralFeature)
+			final Collection<EClass> classes = EMFUtils.getSubClasses(((EReferenceImpl) eStructuralFeature)
 				.getEReferenceType());
 
 			final EClass eclass = Helper.getRootEClass(getViewModelContext().getDomainModel());
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/LeafConditionControlRenderer.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/LeafConditionControlRenderer.java
index bec988c..a4cabb8 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/LeafConditionControlRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/LeafConditionControlRenderer.java
@@ -22,7 +22,7 @@
 import org.eclipse.emf.ecore.EReference;
 import org.eclipse.emf.ecore.EStructuralFeature;
 import org.eclipse.emf.ecore.EStructuralFeature.Setting;
-import org.eclipse.emf.ecp.core.util.ECPUtil;
+import org.eclipse.emf.ecp.common.spi.EMFUtils;
 import org.eclipse.emf.ecp.spi.common.ui.CompositeFactory;
 import org.eclipse.emf.ecp.spi.common.ui.composites.SelectionComposite;
 import org.eclipse.emf.ecp.view.internal.editor.handler.CreateDomainModelReferenceWizard;
@@ -97,7 +97,7 @@
 		if (EReference.class.isInstance(structuralFeature)) {
 			final EReference reference = EReference.class.cast(structuralFeature);
 			final EClass referenceType = reference.getEReferenceType();
-			final Collection<EClass> dmrEClasses = ECPUtil.getSubClasses(VViewPackage.eINSTANCE
+			final Collection<EClass> dmrEClasses = EMFUtils.getSubClasses(VViewPackage.eINSTANCE
 				.getDomainModelReference());
 			final Setting valueDMRSeting = ((LeafConditionImpl) condition).eSetting(RulePackage.eINSTANCE
 				.getLeafCondition_ValueDomainModelReference());
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableColumnsDMRTableControl.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableColumnsDMRTableControl.java
index 5146eca..ed0b037 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableColumnsDMRTableControl.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableColumnsDMRTableControl.java
@@ -37,7 +37,7 @@
 import org.eclipse.emf.ecore.EPackage;
 import org.eclipse.emf.ecore.EReference;
 import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecp.core.util.ECPUtil;
+import org.eclipse.emf.ecp.common.spi.EMFUtils;
 import org.eclipse.emf.ecp.internal.ui.Messages;
 import org.eclipse.emf.ecp.spi.common.ui.CompositeFactory;
 import org.eclipse.emf.ecp.spi.common.ui.composites.SelectionComposite;
@@ -439,7 +439,7 @@
 			}
 			final EClass eclass = EReference.class.cast(valueProperty.getValueType()).getEReferenceType();
 
-			final Collection<EClass> classes = ECPUtil.getSubClasses(VViewPackage.eINSTANCE
+			final Collection<EClass> classes = EMFUtils.getSubClasses(VViewPackage.eINSTANCE
 				.getDomainModelReference());
 
 			final CreateDomainModelReferenceWizard wizard = new CreateDomainModelReferenceWizard(
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/GenerateControlsHandler.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/GenerateControlsHandler.java
index cde3b44..d016e21 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/GenerateControlsHandler.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/GenerateControlsHandler.java
@@ -61,9 +61,14 @@
 			composedAdapterFactory);
 		final Set<EStructuralFeature> featuresToAdd = new LinkedHashSet<EStructuralFeature>();
 		IItemPropertyDescriptor propertyDescriptor = null;
+		final EClass rootClass = sad.getRootClass();
 		for (final EStructuralFeature feature : features) {
+			if (rootClass.isAbstract() || rootClass.isInterface()) {
+				featuresToAdd.add(feature);
+				continue;
+			}
 			propertyDescriptor = adapterFactoryItemDelegator
-				.getPropertyDescriptor(EcoreUtil.create(sad.getRootClass()), feature);
+				.getPropertyDescriptor(EcoreUtil.create(rootClass), feature);
 			if (propertyDescriptor != null) {
 				featuresToAdd.add(feature);
 			} else {
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/spi/editor/controls/Helper.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/spi/editor/controls/Helper.java
index 17e38d3..6dfd5e0 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/spi/editor/controls/Helper.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/spi/editor/controls/Helper.java
@@ -24,6 +24,7 @@
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EReference;
 import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.impl.DynamicEObjectImpl;
 import org.eclipse.emf.ecore.util.EcoreUtil;
 import org.eclipse.emf.ecp.core.ECPProject;
 import org.eclipse.emf.ecp.core.util.ECPUtil;
@@ -197,8 +198,15 @@
 		final AdapterFactoryItemDelegator adapterFactoryItemDelegator = new AdapterFactoryItemDelegator(
 			composedAdapterFactory);
 
+		EObject toCheck;
+		if (eClassToCheck.getInstanceClass() != null) {
+			toCheck = EcoreUtil.create(eClassToCheck);
+		} else {
+			toCheck = new DynamicEObjectImpl(eClassToCheck);
+		}
+
 		final IItemPropertyDescriptor propertyDescriptor = adapterFactoryItemDelegator
-			.getPropertyDescriptor(EcoreUtil.create(eClassToCheck), featureToCheck);
+			.getPropertyDescriptor(toCheck, featureToCheck);
 
 		composedAdapterFactory.dispose();
 		return propertyDescriptor != null;
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.linewrapper/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ui.view.linewrapper/META-INF/MANIFEST.MF
index c84921c..692214b 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.linewrapper/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ui.view.linewrapper/META-INF/MANIFEST.MF
@@ -2,10 +2,10 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP String Modifier with Line Wrapping
 Bundle-SymbolicName: org.eclipse.emf.ecp.ui.view.linewrapper;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.internal.ui.view.linewrapper;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emf.ecp.internal.ui.view.linewrapper;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.ui.view.linewrapper
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.linewrapper/pom.xml b/bundles/org.eclipse.emf.ecp.ui.view.linewrapper/pom.xml
index d0ebd91..9f3fdf7 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.linewrapper/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.view.linewrapper/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt.di/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ui.view.swt.di/META-INF/MANIFEST.MF
index 402d864..6462193 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt.di/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt.di/META-INF/MANIFEST.MF
@@ -2,31 +2,31 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Dependency Injection SWT Renderer
 Bundle-SymbolicName: org.eclipse.emf.ecp.ui.view.swt.di;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.ui.view.swt.di.renderer;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.ui.view.swt.di.util;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.view.model.common.di;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.databinding.observable;bundle-version="[1.4.1,2.0.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.core.databinding;bundle-version="[1.4.1,2.0.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.e4.core.contexts;bundle-version="[1.3.100,2.0.0)",
-  org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.localization;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)"
+Export-Package: org.eclipse.emf.ecp.ui.view.swt.di.renderer;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.ui.view.swt.di.util;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emf.ecp.view.model.common.di;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.databinding.observable;bundle-version="[1.4.1,2.0.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.core.databinding;bundle-version="[1.4.1,2.0.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.e4.core.contexts;bundle-version="[1.3.100,2.0.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.ui.view.swt.di
-Import-Package: org.eclipse.emf.ecp.edit.spi.swt.util;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.common.locale;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.swt.graphics;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0",
-  org.osgi.framework;version="1.8.0"
+Import-Package: org.eclipse.emf.ecp.edit.spi.swt.util;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.common.locale;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.osgi.framework;version="1.8.0"
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt.di/pom.xml b/bundles/org.eclipse.emf.ecp.ui.view.swt.di/pom.xml
index 0319158..d6195c8 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt.di/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt.di/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt.di/src/org/eclipse/emf/ecp/ui/view/swt/di/renderer/DIContainerSWTRenderer.java b/bundles/org.eclipse.emf.ecp.ui.view.swt.di/src/org/eclipse/emf/ecp/ui/view/swt/di/renderer/DIContainerSWTRenderer.java
index d460395..0d51465 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt.di/src/org/eclipse/emf/ecp/ui/view/swt/di/renderer/DIContainerSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt.di/src/org/eclipse/emf/ecp/ui/view/swt/di/renderer/DIContainerSWTRenderer.java
@@ -19,7 +19,6 @@
 import org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer;
 import org.eclipse.emf.ecp.view.spi.model.VElement;
 import org.eclipse.emfforms.spi.common.report.ReportService;
-import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
 import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
 import org.eclipse.swt.widgets.Composite;
 
@@ -39,11 +38,10 @@
 	 * @param viewContext the view context
 	 * @param reportService the {@link ReportService}
 	 * @param factory the {@link EMFFormsRendererFactory}
-	 * @param emfFormsDatabinding The {@link EMFFormsDatabinding}
 	 */
 	public DIContainerSWTRenderer(VElement vElement, ViewModelContext viewContext, ReportService reportService,
-		EMFFormsRendererFactory factory, EMFFormsDatabinding emfFormsDatabinding) {
-		super(vElement, viewContext, reportService, factory, emfFormsDatabinding);
+		EMFFormsRendererFactory factory) {
+		super(vElement, viewContext, reportService, factory);
 	}
 
 	/**
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt.di/src/org/eclipse/emf/ecp/ui/view/swt/di/renderer/DIViewSWTRenderer.java b/bundles/org.eclipse.emf.ecp.ui.view.swt.di/src/org/eclipse/emf/ecp/ui/view/swt/di/renderer/DIViewSWTRenderer.java
index 40e18d7..57c530b 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt.di/src/org/eclipse/emf/ecp/ui/view/swt/di/renderer/DIViewSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt.di/src/org/eclipse/emf/ecp/ui/view/swt/di/renderer/DIViewSWTRenderer.java
@@ -22,7 +22,6 @@
 import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
 import org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleProvider;
 import org.eclipse.emfforms.spi.common.report.ReportService;
-import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
 import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
 import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
 import org.eclipse.swt.widgets.Composite;
@@ -42,12 +41,11 @@
 	 * @param viewContext the view context
 	 * @param reportService the {@link ReportService}
 	 * @param factory the {@link EMFFormsRendererFactory}
-	 * @param emfFormsDatabinding The {@link EMFFormsDatabinding}
 	 * @param localeProvider The {@link EMFFormsLocaleProvider}
 	 */
 	public DIViewSWTRenderer(VView vElement, ViewModelContext viewContext, ReportService reportService,
-		EMFFormsRendererFactory factory, EMFFormsDatabinding emfFormsDatabinding, EMFFormsLocaleProvider localeProvider) {
-		super(vElement, viewContext, reportService, factory, emfFormsDatabinding, localeProvider);
+		EMFFormsRendererFactory factory, EMFFormsLocaleProvider localeProvider) {
+		super(vElement, viewContext, reportService, factory, localeProvider);
 	}
 
 	private Object pojo;
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt.di/src/org/eclipse/emf/ecp/ui/view/swt/di/renderer/DIViewSWTRendererService.java b/bundles/org.eclipse.emf.ecp.ui.view.swt.di/src/org/eclipse/emf/ecp/ui/view/swt/di/renderer/DIViewSWTRendererService.java
index 6a93143..d2d5d4f 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt.di/src/org/eclipse/emf/ecp/ui/view/swt/di/renderer/DIViewSWTRendererService.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt.di/src/org/eclipse/emf/ecp/ui/view/swt/di/renderer/DIViewSWTRendererService.java
@@ -16,7 +16,6 @@
 import org.eclipse.emf.ecp.view.spi.model.VView;
 import org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleProvider;
 import org.eclipse.emfforms.spi.common.report.ReportService;
-import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
 import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
 import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
 import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererService;
@@ -31,7 +30,6 @@
  */
 public class DIViewSWTRendererService implements EMFFormsRendererService<VView> {
 
-	private EMFFormsDatabinding databindingService;
 	private EMFFormsRendererFactory rendererFactory;
 	private ReportService reportService;
 	private ServiceReference<EMFFormsRendererFactory> serviceReference;
@@ -57,24 +55,6 @@
 	}
 
 	/**
-	 * Called by the initializer to set the EMFFormsDatabinding.
-	 *
-	 * @param databindingService The EMFFormsDatabinding
-	 */
-	protected void setEMFFormsDatabinding(EMFFormsDatabinding databindingService) {
-		this.databindingService = databindingService;
-	}
-
-	/**
-	 * Called by the initializer to unset the EMFFormsDatabinding.
-	 *
-	 * @param databindingService The EMFFormsDatabinding
-	 */
-	protected void unsetEMFFormsDatabinding(EMFFormsDatabinding databindingService) {
-		this.databindingService = null;
-	}
-
-	/**
 	 * Called by the initializer to set the ReportService.
 	 *
 	 * @param reportService The ReportService
@@ -131,8 +111,7 @@
 	 */
 	@Override
 	public AbstractSWTRenderer<VView> getRendererInstance(VView vElement, ViewModelContext viewModelContext) {
-		return new DIViewSWTRenderer(vElement, viewModelContext, reportService, rendererFactory, databindingService,
-			localeProvider);
+		return new DIViewSWTRenderer(vElement, viewModelContext, reportService, rendererFactory, localeProvider);
 	}
 
 }
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ui.view.swt/META-INF/MANIFEST.MF
index 234497e..a51d150 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/META-INF/MANIFEST.MF
@@ -2,48 +2,51 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name
 Bundle-SymbolicName: org.eclipse.emf.ecp.ui.view.swt;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.view.internal.swt.Activator
 Bundle-Vendor: %Bundle-Vendor
-Export-Package: org.eclipse.emf.ecp.ui.view.swt;version="1.19.0",
-  org.eclipse.emf.ecp.ui.view.swt.reference;version="1.19.0",
-  org.eclipse.emf.ecp.view.internal.swt;version="1.19.0";x-friends:="org.eclipse.emf.ecp.view.table.ui.swt.test,org.eclipse.emf.ecp.view.context.test",
-  org.eclipse.emf.ecp.view.spi.swt;version="1.19.0",
-  org.eclipse.emf.ecp.view.spi.swt.layout;version="1.19.0",
-  org.eclipse.emf.ecp.view.spi.swt.reporting;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.ui.view.swt;version="1.20.0",
+ org.eclipse.emf.ecp.ui.view.swt.reference;version="1.20.0",
+ org.eclipse.emf.ecp.view.internal.swt;version="1.20.0";x-friends:="org.eclipse.emf.ecp.view.table.ui.swt.test,org.eclipse.emf.ecp.view.context.test",
+ org.eclipse.emf.ecp.view.spi.swt;version="1.20.0",
+ org.eclipse.emf.ecp.view.spi.swt.layout;version="1.20.0",
+ org.eclipse.emf.ecp.view.spi.swt.reporting;version="1.20.0",
+ org.eclipse.emf.ecp.view.spi.swt.services;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.edit;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.edit.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model.common;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.common.ui;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emfforms.core.bazaar;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.edit;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.edit.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.common.ui;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emfforms.core.bazaar;bundle-version="[1.20.0,1.21.0)"
 Import-Package: org.eclipse.core.commands;version="0.0.0",
-  org.eclipse.emf.ecp.edit.spi.swt.util;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.view;version="[1.19.0,1.20.0)",
-  org.eclipse.jface;version="0.0.0",
-  org.eclipse.jface.action;version="0.0.0",
-  org.eclipse.jface.dialogs;version="0.0.0",
-  org.eclipse.jface.layout;version="0.0.0",
-  org.eclipse.jface.resource;version="0.0.0",
-  org.eclipse.jface.viewers;version="0.0.0",
-  org.eclipse.jface.window;version="0.0.0",
-  org.eclipse.jface.wizard;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.custom;version="0.0.0",
-  org.eclipse.swt.events;version="0.0.0",
-  org.eclipse.swt.graphics;version="0.0.0",
-  org.eclipse.swt.layout;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0",
-  org.osgi.service.component;version="[1.2.0,2.0.0)",
-  org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
+ org.eclipse.emf.ecp.edit.spi.swt.util;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.view;version="[1.20.0,1.21.0)",
+ org.eclipse.jface;version="0.0.0",
+ org.eclipse.jface.action;version="0.0.0",
+ org.eclipse.jface.dialogs;version="0.0.0",
+ org.eclipse.jface.layout;version="0.0.0",
+ org.eclipse.jface.resource;version="0.0.0",
+ org.eclipse.jface.viewers;version="0.0.0",
+ org.eclipse.jface.window;version="0.0.0",
+ org.eclipse.jface.wizard;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.custom;version="0.0.0",
+ org.eclipse.swt.events;version="0.0.0",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.eclipse.swt.layout;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.osgi.service.component;version="[1.2.0,2.0.0)",
+ org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
 Automatic-Module-Name: org.eclipse.emf.ecp.ui.view.swt
-Service-Component: OSGI-INF/org.eclipse.emf.ecp.ui.view.swt.DefaultReferenceServiceFactory.xml,OSGI-INF/DefaultCreateNewModelElementStrategyProvider.xml
+Service-Component: OSGI-INF/org.eclipse.emf.ecp.ui.view.swt.DefaultReferenceServiceFactory.xml,
+ OSGI-INF/DefaultCreateNewModelElementStrategyProvider.xml,
+ OSGI-INF/org.eclipse.emf.ecp.view.internal.swt.DefaultSelectionProviderServiceFactory.xml
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/OSGI-INF/org.eclipse.emf.ecp.view.internal.swt.DefaultSelectionProviderServiceFactory.xml b/bundles/org.eclipse.emf.ecp.ui.view.swt/OSGI-INF/org.eclipse.emf.ecp.view.internal.swt.DefaultSelectionProviderServiceFactory.xml
new file mode 100644
index 0000000..0098a0e
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/OSGI-INF/org.eclipse.emf.ecp.view.internal.swt.DefaultSelectionProviderServiceFactory.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emf.ecp.view.internal.swt.DefaultSelectionProviderServiceFactory">
+   <service>
+      <provide interface="org.eclipse.emfforms.spi.core.services.view.EMFFormsViewServiceFactory"/>
+   </service>
+   <implementation class="org.eclipse.emf.ecp.view.internal.swt.DefaultSelectionProviderServiceFactory"/>
+</scr:component>
\ No newline at end of file
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/pom.xml b/bundles/org.eclipse.emf.ecp.ui.view.swt/pom.xml
index 2182c7d..a15d5cb 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/ui/view/swt/reference/ReferenceStrategy.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/ui/view/swt/reference/ReferenceStrategy.java
index 5dc7793..4230cd4 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/ui/view/swt/reference/ReferenceStrategy.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/ui/view/swt/reference/ReferenceStrategy.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2018 Christian W. Damus and others.
+ * Copyright (c) 2018, 2019 Christian W. Damus and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -38,11 +38,7 @@
 		public boolean addElementsToReference(EObject owner, EReference reference, Set<? extends EObject> objects) {
 			final EditingDomain domain = AdapterFactoryEditingDomain.getEditingDomainFor(owner);
 
-			// The ECPControlHelper generic signature is wrong. It should be an upper bound,
-			// but because this utility never actually adds to the set, this cast is safe
-			@SuppressWarnings("unchecked")
-			final Set<EObject> objectsToAdd = (Set<EObject>) objects;
-			ECPControlHelper.addModelElementsInReference(owner, objectsToAdd, reference, domain);
+			ECPControlHelper.addModelElementsInReference(owner, objects, reference, domain);
 
 			return true;
 		}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/internal/swt/DefaultSelectionProviderServiceFactory.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/internal/swt/DefaultSelectionProviderServiceFactory.java
new file mode 100644
index 0000000..d8fdd38
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/internal/swt/DefaultSelectionProviderServiceFactory.java
@@ -0,0 +1,68 @@
+/*******************************************************************************
+ * Copyright (c) 2019 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.internal.swt;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.swt.services.DefaultSelectionProviderService;
+import org.eclipse.emf.ecp.view.spi.swt.services.ECPSelectionProviderService;
+import org.eclipse.emfforms.spi.core.services.view.EMFFormsViewContext;
+import org.eclipse.emfforms.spi.core.services.view.EMFFormsViewServiceFactory;
+import org.eclipse.emfforms.spi.core.services.view.EMFFormsViewServicePolicy;
+import org.eclipse.emfforms.spi.core.services.view.EMFFormsViewServiceScope;
+import org.osgi.service.component.annotations.Component;
+
+/**
+ * Factory for the default {@link ECPSelectionProviderService} implementation.
+ */
+@Component
+public class DefaultSelectionProviderServiceFactory implements EMFFormsViewServiceFactory<ECPSelectionProviderService> {
+
+	/**
+	 * Initializes me.
+	 */
+	public DefaultSelectionProviderServiceFactory() {
+		super();
+	}
+
+	@Override
+	public EMFFormsViewServicePolicy getPolicy() {
+		return EMFFormsViewServicePolicy.LAZY;
+	}
+
+	@Override
+	public EMFFormsViewServiceScope getScope() {
+		return EMFFormsViewServiceScope.GLOBAL;
+	}
+
+	@Override
+	public double getPriority() {
+		return 0;
+	}
+
+	@Override
+	public Class<ECPSelectionProviderService> getType() {
+		return ECPSelectionProviderService.class;
+	}
+
+	@Override
+	public ECPSelectionProviderService createService(EMFFormsViewContext emfFormsViewContext) {
+		if (!(emfFormsViewContext instanceof ViewModelContext)) {
+			throw new IllegalArgumentException("emfFormsViewContext not a view model context"); //$NON-NLS-1$
+		}
+
+		final ViewModelContext viewModelContext = (ViewModelContext) emfFormsViewContext;
+		final ECPSelectionProviderService result = new DefaultSelectionProviderService();
+		result.instantiate(viewModelContext);
+		return result;
+	}
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/services/DefaultSelectionProviderService.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/services/DefaultSelectionProviderService.java
new file mode 100644
index 0000000..327e767
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/services/DefaultSelectionProviderService.java
@@ -0,0 +1,207 @@
+/*******************************************************************************
+ * Copyright (c) 2019 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.spi.swt.services;
+
+import static java.util.Collections.singleton;
+import static java.util.Objects.requireNonNull;
+import static org.eclipse.emf.ecore.util.EcoreUtil.getAllContents;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+import org.eclipse.core.runtime.ListenerList;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.ModelChangeAddRemoveListener;
+import org.eclipse.emf.ecp.view.spi.model.ModelChangeNotification;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
+
+/**
+ * A selection provider service that simply delegates the selection provider API
+ * to the selection provider registered for the "top-most" element in the view model,
+ * where "top-most" is the first element in a depth-first traversal.
+ *
+ * @since 1.20
+ */
+public class DefaultSelectionProviderService implements ECPSelectionProviderService {
+
+	private final Map<VElement, ISelectionProvider> registeredProviders = new HashMap<VElement, ISelectionProvider>();
+
+	private ViewModelContext context;
+	private DelegatingSelectionProvider selectionProvider;
+	private ModelChangeAddRemoveListener viewListener;
+
+	/**
+	 * Initializes me.
+	 */
+	public DefaultSelectionProviderService() {
+		super();
+	}
+
+	@Override
+	public void instantiate(ViewModelContext context) {
+		this.context = context;
+		selectionProvider = new DelegatingSelectionProvider();
+
+		viewListener = createViewListener();
+		context.registerViewChangeListener(viewListener);
+	}
+
+	@Override
+	public void dispose() {
+		registeredProviders.clear();
+		selectionProvider = null;
+
+		if (context != null) {
+			context.unregisterViewChangeListener(viewListener);
+			viewListener = null;
+			context = null;
+		}
+	}
+
+	@Override
+	public int getPriority() {
+		return 0;
+	}
+
+	@Override
+	public ISelectionProvider getSelectionProvider() {
+		return selectionProvider;
+	}
+
+	@Override
+	public void registerSelectionProvider(VElement element, ISelectionProvider selectionProvider) {
+		if (registeredProviders.put(requireNonNull(element), requireNonNull(selectionProvider)) != selectionProvider) {
+			update();
+		}
+	}
+
+	private void update() {
+		ISelectionProvider delegate = null;
+
+		// Find the "top-most" selection provider
+		for (final Iterator<EObject> iter = getAllContents(singleton(context.getViewModel())); delegate == null
+			&& iter.hasNext();) {
+			delegate = registeredProviders.get(iter.next());
+		}
+
+		selectionProvider.setDelegate(delegate);
+	}
+
+	/**
+	 * Create a listener that detects removal of elements from the view model
+	 * and updates our selection-provider registration (and delegation) accordingly.
+	 *
+	 * @return the view model listener
+	 */
+	private ModelChangeAddRemoveListener createViewListener() {
+		return new ModelChangeAddRemoveListener() {
+
+			@Override
+			public void notifyRemove(Notifier notifier) {
+				if (registeredProviders.remove(notifier) != null) {
+					update();
+				}
+			}
+
+			@Override
+			public void notifyAdd(Notifier notifier) {
+				// Not interesting. We would need a registration call
+
+			}
+
+			@Override
+			public void notifyChange(ModelChangeNotification notification) {
+				// Not interesting
+			}
+
+		};
+	}
+
+	//
+	// Nested types
+	//
+
+	/**
+	 * A selection provider that delegates to the "top-most" registered provider.
+	 */
+	private static class DelegatingSelectionProvider implements ISelectionProvider {
+
+		private ISelectionProvider delegate;
+
+		private final ISelectionChangedListener delegateListener = this::selectionChanged;
+		private final ListenerList<ISelectionChangedListener> listeners = new ListenerList<>();
+
+		DelegatingSelectionProvider() {
+			super();
+		}
+
+		@Override
+		public ISelection getSelection() {
+			return delegate == null ? StructuredSelection.EMPTY : delegate.getSelection();
+		}
+
+		@Override
+		public void setSelection(ISelection selection) {
+			if (delegate != null) {
+				delegate.setSelection(selection);
+			}
+		}
+
+		@Override
+		public void addSelectionChangedListener(ISelectionChangedListener listener) {
+			listeners.add(listener);
+		}
+
+		@Override
+		public void removeSelectionChangedListener(ISelectionChangedListener listener) {
+			listeners.remove(listener);
+		}
+
+		void setDelegate(ISelectionProvider delegate) {
+			if (delegate == this.delegate) {
+				return;
+			}
+
+			if (this.delegate != null) {
+				this.delegate.removeSelectionChangedListener(delegateListener);
+			}
+
+			this.delegate = delegate;
+
+			if (this.delegate != null) {
+				this.delegate.addSelectionChangedListener(delegateListener);
+				fireSelection(delegate.getSelection());
+			}
+		}
+
+		void selectionChanged(SelectionChangedEvent event) {
+			fireSelection(event.getSelection());
+		}
+
+		private void fireSelection(ISelection selection) {
+			if (!listeners.isEmpty()) {
+				final SelectionChangedEvent event = new SelectionChangedEvent(this, selection);
+				listeners.forEach(l -> l.selectionChanged(event));
+			}
+		}
+
+	}
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/services/ECPSelectionProviderService.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/services/ECPSelectionProviderService.java
new file mode 100644
index 0000000..3569a5f
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/services/ECPSelectionProviderService.java
@@ -0,0 +1,51 @@
+/*******************************************************************************
+ * Copyright (c) 2019 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.spi.swt.services;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelService;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.jface.viewers.ISelectionProvider;
+
+/**
+ * A mediator of selection providers for the {@link ViewModelContext}, to provide
+ * a coherent selection provider for the rendering of a view.
+ *
+ * @since 1.20
+ */
+public interface ECPSelectionProviderService extends ViewModelService {
+
+	/**
+	 * Obtain a selection provider that aggregates the selection in the
+	 * view model context. This should be suitable for use as, for example,
+	 * the selection provider of an Eclipse workbench part site. The
+	 * selection provider is never {@code null}, but if there are no
+	 * registered providers to which it can delegate, it may have no useful effect.
+	 *
+	 * @return the selection provider
+	 */
+	ISelectionProvider getSelectionProvider();
+
+	/**
+	 * Register a selection provider for a given {@code element}. The effect
+	 * is undefined if the {@code element} already has a provider registered.
+	 * It is probably a good practice that only the renderer of the {@code element}
+	 * be responsible for registering a selection provider for it.
+	 *
+	 * @param element an element in the view model
+	 * @param selectionProvider a selection provider to register for it
+	 *
+	 * @throws NullPointerException if the either the element or the selection provider is {@code null}
+	 */
+	void registerSelectionProvider(VElement element, ISelectionProvider selectionProvider);
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ui.view/META-INF/MANIFEST.MF
index 8d10d3b..c7f1c8d 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ui.view/META-INF/MANIFEST.MF
@@ -2,21 +2,21 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: MPI UI View
 Bundle-SymbolicName: org.eclipse.emf.ecp.ui.view;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.view.internal.ui.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.ui.view;version="1.19.0",
-  org.eclipse.emf.ecp.view.internal.provider;version="1.19.0";x-friends:="org.eclipse.emf.ecp.view.context.test",
-  org.eclipse.emf.ecp.view.internal.ui;version="1.19.0";x-friends:="org.eclipse.emf.ecp.view.table.ui.swt",
-  org.eclipse.emf.ecp.view.spi.provider;version="1.19.0",
-  org.eclipse.emf.ecp.view.spi.provider.reporting;version="1.19.0",
-  org.eclipse.emf.ecp.view.spi.renderer;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.ui.view;version="1.20.0",
+ org.eclipse.emf.ecp.view.internal.provider;version="1.20.0";x-friends:="org.eclipse.emf.ecp.view.context.test",
+ org.eclipse.emf.ecp.view.internal.ui;version="1.20.0";x-friends:="org.eclipse.emf.ecp.view.table.ui.swt",
+ org.eclipse.emf.ecp.view.spi.provider;version="1.20.0",
+ org.eclipse.emf.ecp.view.spi.provider.reporting;version="1.20.0",
+ org.eclipse.emf.ecp.view.spi.renderer;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.edit;bundle-version="[1.19.0,1.20.0)"
-Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.edit;bundle-version="[1.20.0,1.21.0)"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
 Automatic-Module-Name: org.eclipse.emf.ecp.ui.view
 Service-Component: OSGI-INF/EMFFormsViewService.xml
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.ui.view/pom.xml b/bundles/org.eclipse.emf.ecp.ui.view/pom.xml
index 9569053..ce4641b 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.view/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ui/META-INF/MANIFEST.MF
index a9bb91a..d717e28 100644
--- a/bundles/org.eclipse.emf.ecp.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ui/META-INF/MANIFEST.MF
@@ -2,77 +2,77 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP UI
 Bundle-SymbolicName: org.eclipse.emf.ecp.ui;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.internal.ui.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.internal.ui;version="1.19.0";
-   x-friends:="org.eclipse.emf.ecp.explorereditorbridge,
-    org.eclipse.emf.ecp.edit.ecore.swt,
-    org.eclipse.emf.ecp.emfstore.ui,
-    org.eclipse.emf.ecp.ui.rcp",
-  org.eclipse.emf.ecp.internal.ui.composites;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.internal.ui.dialogs;version="1.19.0";x-friends:="org.eclipse.emf.ecp.explorereditorbridge",
-  org.eclipse.emf.ecp.internal.ui.model;version="1.19.0";x-friends:="org.eclipse.emf.ecp.ui.e4,org.eclipse.emf.ecp.ui.e3,org.eclipse.emf.ecp.ui.transaction",
-  org.eclipse.emf.ecp.internal.ui.tester;version="1.19.0",
-  org.eclipse.emf.ecp.internal.ui.util;version="1.19.0";
-   x-friends:="org.eclipse.emf.ecp.explorereditorbridge,
-    org.eclipse.emf.ecp.ui.e3,
-    org.eclipse.emf.ecp.ui.e4,
-    org.eclipse.emf.ecp.emfstore.ui.e3,
-    org.eclipse.emf.ecp.validationvieweditorbridge,
-    org.eclipse.emf.ecp.emfstore.ui,
-    org.eclipse.emf.ecp.ui.rcp",
-  org.eclipse.emf.ecp.internal.wizards;version="1.19.0";
-   x-friends:="org.eclipse.emf.ecp.edit.ecore.swt,
-    org.eclipse.emf.ecp.explorereditorbridge,
-    org.eclipse.emf.ecp.workspace.ui,
-    org.eclipse.emf.ecp.view.table.editor,
-    org.eclipse.emf.ecp.emfstore.ui",
-  org.eclipse.emf.ecp.internal.wizards.page;version="1.19.0";x-friends:="org.eclipse.emf.ecp.explorereditorbridge",
-  org.eclipse.emf.ecp.spi.ui;version="1.19.0",
-  org.eclipse.emf.ecp.spi.ui.util;version="1.19.0",
-  org.eclipse.emf.ecp.ui;version="1.19.0",
-  org.eclipse.emf.ecp.ui.common;version="1.19.0";
-   x-friends:="org.eclipse.emf.ecp.edit.ecore.swt,
-    org.eclipse.emf.ecp.explorereditorbridge,
-    org.eclipse.emf.ecp.ui.e3,
-    org.eclipse.emf.ecp.view.table.editor,
-    org.eclipse.emf.ecp.view.ui.editor.test,
-    org.eclipse.emf.ecp.workspace.ui,
-    org.eclipse.emf.ecp.ui.e4",
-  org.eclipse.emf.ecp.ui.common.dnd;version="1.19.0";x-friends:="org.eclipse.emf.ecp.ui.view.editor.controls",
-  org.eclipse.emf.ecp.ui.util;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.internal.ui;version="1.20.0";
+  x-friends:="org.eclipse.emf.ecp.explorereditorbridge,
+   org.eclipse.emf.ecp.edit.ecore.swt,
+   org.eclipse.emf.ecp.emfstore.ui,
+   org.eclipse.emf.ecp.ui.rcp",
+ org.eclipse.emf.ecp.internal.ui.composites;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.internal.ui.dialogs;version="1.20.0";x-friends:="org.eclipse.emf.ecp.explorereditorbridge",
+ org.eclipse.emf.ecp.internal.ui.model;version="1.20.0";x-friends:="org.eclipse.emf.ecp.ui.e4,org.eclipse.emf.ecp.ui.e3,org.eclipse.emf.ecp.ui.transaction",
+ org.eclipse.emf.ecp.internal.ui.tester;version="1.20.0",
+ org.eclipse.emf.ecp.internal.ui.util;version="1.20.0";
+  x-friends:="org.eclipse.emf.ecp.explorereditorbridge,
+   org.eclipse.emf.ecp.ui.e3,
+   org.eclipse.emf.ecp.ui.e4,
+   org.eclipse.emf.ecp.emfstore.ui.e3,
+   org.eclipse.emf.ecp.validationvieweditorbridge,
+   org.eclipse.emf.ecp.emfstore.ui,
+   org.eclipse.emf.ecp.ui.rcp",
+ org.eclipse.emf.ecp.internal.wizards;version="1.20.0";
+  x-friends:="org.eclipse.emf.ecp.edit.ecore.swt,
+   org.eclipse.emf.ecp.explorereditorbridge,
+   org.eclipse.emf.ecp.workspace.ui,
+   org.eclipse.emf.ecp.view.table.editor,
+   org.eclipse.emf.ecp.emfstore.ui",
+ org.eclipse.emf.ecp.internal.wizards.page;version="1.20.0";x-friends:="org.eclipse.emf.ecp.explorereditorbridge",
+ org.eclipse.emf.ecp.spi.ui;version="1.20.0",
+ org.eclipse.emf.ecp.spi.ui.util;version="1.20.0",
+ org.eclipse.emf.ecp.ui;version="1.20.0",
+ org.eclipse.emf.ecp.ui.common;version="1.20.0";
+  x-friends:="org.eclipse.emf.ecp.edit.ecore.swt,
+   org.eclipse.emf.ecp.explorereditorbridge,
+   org.eclipse.emf.ecp.ui.e3,
+   org.eclipse.emf.ecp.view.table.editor,
+   org.eclipse.emf.ecp.view.ui.editor.test,
+   org.eclipse.emf.ecp.workspace.ui,
+   org.eclipse.emf.ecp.ui.e4",
+ org.eclipse.emf.ecp.ui.common.dnd;version="1.20.0";x-friends:="org.eclipse.emf.ecp.ui.view.editor.controls",
+ org.eclipse.emf.ecp.ui.util;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.emf.ecp.core;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.net4j.util;bundle-version="[3.0.0,4.0.0)",
-  org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.emf.ecp.edit;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.common.ui;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.core;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.net4j.util;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.emf.ecp.edit;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.common.ui;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Import-Package: org.eclipse.core.commands;version="0.0.0",
-  org.eclipse.emf.edit.ui.action;version="0.0.0",
-  org.eclipse.emf.edit.ui.dnd;version="0.0.0",
-  org.eclipse.emf.edit.ui.provider;version="0.0.0",
-  org.eclipse.jface.action;version="0.0.0",
-  org.eclipse.jface.dialogs;version="0.0.0",
-  org.eclipse.jface.layout;version="0.0.0",
-  org.eclipse.jface.resource;version="0.0.0",
-  org.eclipse.jface.viewers;version="0.0.0",
-  org.eclipse.jface.window;version="0.0.0",
-  org.eclipse.jface.wizard;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.custom;version="0.0.0",
-  org.eclipse.swt.dnd;version="0.0.0",
-  org.eclipse.swt.events;version="0.0.0",
-  org.eclipse.swt.graphics;version="0.0.0",
-  org.eclipse.swt.layout;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0",
-  org.eclipse.ui;ui.workbench=split;version="0.0.0",
-  org.eclipse.ui.dialogs;ui.workbench=split;version="0.0.0",
-  org.eclipse.ui.handlers;version="0.0.0",
-  org.eclipse.ui.part;ui.workbench=split;version="0.0.0",
-  org.eclipse.ui.plugin;version="0.0.0",
-  org.eclipse.ui.views.properties;ui.views=split;version="0.0.0"
+ org.eclipse.emf.edit.ui.action;version="0.0.0",
+ org.eclipse.emf.edit.ui.dnd;version="0.0.0",
+ org.eclipse.emf.edit.ui.provider;version="0.0.0",
+ org.eclipse.jface.action;version="0.0.0",
+ org.eclipse.jface.dialogs;version="0.0.0",
+ org.eclipse.jface.layout;version="0.0.0",
+ org.eclipse.jface.resource;version="0.0.0",
+ org.eclipse.jface.viewers;version="0.0.0",
+ org.eclipse.jface.window;version="0.0.0",
+ org.eclipse.jface.wizard;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.custom;version="0.0.0",
+ org.eclipse.swt.dnd;version="0.0.0",
+ org.eclipse.swt.events;version="0.0.0",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.eclipse.swt.layout;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.eclipse.ui;ui.workbench=split;version="0.0.0",
+ org.eclipse.ui.dialogs;ui.workbench=split;version="0.0.0",
+ org.eclipse.ui.handlers;version="0.0.0",
+ org.eclipse.ui.part;ui.workbench=split;version="0.0.0",
+ org.eclipse.ui.plugin;version="0.0.0",
+ org.eclipse.ui.views.properties;ui.views=split;version="0.0.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.ui
diff --git a/bundles/org.eclipse.emf.ecp.ui/pom.xml b/bundles/org.eclipse.emf.ecp.ui/pom.xml
index 59d8d8d..8084cd2 100644
--- a/bundles/org.eclipse.emf.ecp.ui/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ui/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.ui</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
   
   <properties>
diff --git a/bundles/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/spi/ui/ECPReferenceServiceImpl.java b/bundles/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/spi/ui/ECPReferenceServiceImpl.java
index 7dd9334..7d81dd4 100644
--- a/bundles/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/spi/ui/ECPReferenceServiceImpl.java
+++ b/bundles/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/spi/ui/ECPReferenceServiceImpl.java
@@ -21,6 +21,7 @@
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EPackage;
 import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecp.common.spi.EMFUtils;
 import org.eclipse.emf.ecp.core.ECPProject;
 import org.eclipse.emf.ecp.core.util.ECPUtil;
 import org.eclipse.emf.ecp.edit.spi.ReferenceService;
@@ -98,7 +99,7 @@
 			return Optional.empty();
 		}
 		EObject newModelElement = null;
-		final Collection<EClass> classes = ECPUtil.getSubClasses(eReference.getEReferenceType());
+		final Collection<EClass> classes = EMFUtils.getSubClasses(eReference.getEReferenceType());
 
 		if (classes.size() > 1) {
 			final SelectionComposite<TreeViewer> helper = ECPCompositeFactory.getSelectModelClassComposite(
diff --git a/bundles/org.eclipse.emf.ecp.validation.connector/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.validation.connector/META-INF/MANIFEST.MF
index d44e0db..cd8c325 100644
--- a/bundles/org.eclipse.emf.ecp.validation.connector/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.validation.connector/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Validation Connector Plugin
 Bundle-SymbolicName: org.eclipse.emf.ecp.validation.connector;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.validation.connector.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.validation.connector;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.validation.connector;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.emf.ecp.validation;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.validation;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Import-Package: org.eclipse.jface.resource;version="0.0.0",
-  org.eclipse.jface.viewers;version="0.0.0",
-  org.eclipse.swt.graphics;version="0.0.0"
+ org.eclipse.jface.viewers;version="0.0.0",
+ org.eclipse.swt.graphics;version="0.0.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.validation.connector
diff --git a/bundles/org.eclipse.emf.ecp.validation.connector/pom.xml b/bundles/org.eclipse.emf.ecp.validation.connector/pom.xml
index 3e96268..85d86e7 100644
--- a/bundles/org.eclipse.emf.ecp.validation.connector/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.validation.connector/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.validation.connector</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
   
   <properties>
diff --git a/bundles/org.eclipse.emf.ecp.validation/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.validation/META-INF/MANIFEST.MF
index c9479b4..94f69aa 100644
--- a/bundles/org.eclipse.emf.ecp.validation/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.validation/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Validation Service
 Bundle-SymbolicName: org.eclipse.emf.ecp.validation;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.internal.validation;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.validation.api;version="1.19.0";x-friends:="org.eclipse.emf.ecp.validation.connector"
+Export-Package: org.eclipse.emf.ecp.internal.validation;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.validation.api;version="1.20.0";x-friends:="org.eclipse.emf.ecp.validation.connector"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="2.8.0",
-  org.eclipse.emf.ecp.ui;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.common;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecore;bundle-version="2.8.0",
+ org.eclipse.emf.ecp.ui;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.common;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.validation
 Service-Component: OSGI-INF/validationService.xml
diff --git a/bundles/org.eclipse.emf.ecp.validation/pom.xml b/bundles/org.eclipse.emf.ecp.validation/pom.xml
index e12821b..32a7e6f 100644
--- a/bundles/org.eclipse.emf.ecp.validation/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.validation/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.validation</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
   <properties>
diff --git a/bundles/org.eclipse.emf.ecp.validationvieweditorbridge/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.validationvieweditorbridge/META-INF/MANIFEST.MF
index a6743e6..51d7b59 100644
--- a/bundles/org.eclipse.emf.ecp.validationvieweditorbridge/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.validationvieweditorbridge/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Validation View to Editor Bridge
 Bundle-SymbolicName: org.eclipse.emf.ecp.validationvieweditorbridge;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.internal.validationvieweditorbridge;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.ui;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.validation;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emf.ecp.internal.validationvieweditorbridge;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emf.ecp.ui;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.validation;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.validationvieweditorbridge
 Import-Package: org.eclipse.jface.viewers;version="0.0.0"
diff --git a/bundles/org.eclipse.emf.ecp.validationvieweditorbridge/pom.xml b/bundles/org.eclipse.emf.ecp.validationvieweditorbridge/pom.xml
index cc7436d..e21b075 100644
--- a/bundles/org.eclipse.emf.ecp.validationvieweditorbridge/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.validationvieweditorbridge/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.validationvieweditorbridge</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/META-INF/MANIFEST.MF
index 43e2c9b..8d27580 100644
--- a/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/META-INF/MANIFEST.MF
@@ -2,21 +2,21 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.categorization.model.edit;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.ecp.view.spi.categorization.model.provider.CategorizationEditPlugin$Implementation
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.spi.categorization.model.provider;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.spi.categorization.model.provider;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore.edit;bundle-version="[2.6.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.common;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.edit;bundle-version="[2.6.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.common;bundle-version="[1.20.0,1.21.0)"
 Automatic-Module-Name: org.eclipse.emf.ecp.view.categorization.model.edit
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/pom.xml
index 66af793..cb8c691 100644
--- a/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
@@ -15,5 +15,5 @@
   <packaging>eclipse-plugin</packaging>
 
   <groupId>org.eclipse.emf.ecp</groupId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.categorization.model/META-INF/MANIFEST.MF
index d1e72e1..3ff2fba 100644
--- a/bundles/org.eclipse.emf.ecp.view.categorization.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.model/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.categorization.model;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.spi.categorization.model;version="1.19.0",
-  org.eclipse.emf.ecp.view.spi.categorization.model.impl;version="1.19.0",
-  org.eclipse.emf.ecp.view.spi.categorization.model.util;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.spi.categorization.model;version="1.20.0",
+ org.eclipse.emf.ecp.view.spi.categorization.model.impl;version="1.20.0",
+ org.eclipse.emf.ecp.view.spi.categorization.model.util;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.view.categorization.model
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.model/pom.xml b/bundles/org.eclipse.emf.ecp.view.categorization.model/pom.xml
index edc4360..7507f39 100644
--- a/bundles/org.eclipse.emf.ecp.view.categorization.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.model/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
@@ -15,5 +15,5 @@
   <packaging>eclipse-plugin</packaging>
 
   <groupId>org.eclipse.emf.ecp</groupId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.categorization.swt/META-INF/MANIFEST.MF
index 0f8ce45..90c22f1 100644
--- a/bundles/org.eclipse.emf.ecp.view.categorization.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.swt/META-INF/MANIFEST.MF
@@ -2,38 +2,38 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Categorization SWT
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.categorization.swt;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.view.internal.categorization.swt.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.internal.categorization.swt;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.spi.categorization.swt;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.internal.categorization.swt;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.spi.categorization.swt;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.edit.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.localization;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.databinding.edit;bundle-version="[1.2.0,2.0.0)",
-  org.eclipse.emfforms.swt.core.di;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.categorization.model.edit;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.edit.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.databinding.edit;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.categorization.model.edit;bundle-version="[1.20.0,1.21.0)"
 Import-Package: javax.inject;version="1.0.0",
-  org.eclipse.core.databinding.property.value;version="0.0.0",
-  org.eclipse.emf.edit.ui.provider;version="0.0.0",
-  org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.databinding;version="[1.19.0,1.20.0)",
-  org.eclipse.jface.databinding.swt;version="0.0.0",
-  org.eclipse.jface.layout;version="0.0.0",
-  org.eclipse.jface.resource;version="0.0.0",
-  org.eclipse.jface.viewers;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.custom;version="0.0.0",
-  org.eclipse.swt.events;version="0.0.0",
-  org.eclipse.swt.graphics;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0"
+ org.eclipse.core.databinding.property.value;version="0.0.0",
+ org.eclipse.emf.edit.ui.provider;version="0.0.0",
+ org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.databinding;version="[1.20.0,1.21.0)",
+ org.eclipse.jface.databinding.swt;version="0.0.0",
+ org.eclipse.jface.layout;version="0.0.0",
+ org.eclipse.jface.resource;version="0.0.0",
+ org.eclipse.jface.viewers;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.custom;version="0.0.0",
+ org.eclipse.swt.events;version="0.0.0",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.view.categorization.swt
 Service-Component: OSGI-INF/categorizationElementTabbedRendererService.xml,OSGI-INF/compositeCategoryTreeRendererService.xml,OSGI-INF/compositeCategoryTabRendererService.xml,OSGI-INF/swtCategorizationElementRendererService.xml,OSGI-INF/swtCategorizationRendererService.xml,OSGI-INF/swtCategoryRendererService.xml
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/pom.xml b/bundles/org.eclipse.emf.ecp.view.categorization.swt/pom.xml
index 99478dc..5943245 100644
--- a/bundles/org.eclipse.emf.ecp.view.categorization.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.swt/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
@@ -15,5 +15,5 @@
   <packaging>eclipse-plugin</packaging>
 
   <groupId>org.eclipse.emf.ecp</groupId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/SWTCategoryRenderer.java b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/SWTCategoryRenderer.java
index 2769e0d..af77682 100644
--- a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/SWTCategoryRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/SWTCategoryRenderer.java
@@ -22,7 +22,6 @@
 import org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer;
 import org.eclipse.emf.ecp.view.spi.model.VContainedElement;
 import org.eclipse.emfforms.spi.common.report.ReportService;
-import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
 import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
 
 /**
@@ -40,13 +39,12 @@
 	 * @param viewContext the view context
 	 * @param reportService the {@link ReportService}
 	 * @param factory the {@link EMFFormsRendererFactory}
-	 * @param emfFormsDatabinding The {@link EMFFormsDatabinding}
 	 * @since 1.6
 	 */
 	@Inject
 	public SWTCategoryRenderer(VCategory vElement, ViewModelContext viewContext, ReportService reportService,
-		EMFFormsRendererFactory factory, EMFFormsDatabinding emfFormsDatabinding) {
-		super(vElement, viewContext, reportService, factory, emfFormsDatabinding);
+		EMFFormsRendererFactory factory) {
+		super(vElement, viewContext, reportService, factory);
 	}
 
 	/**
@@ -94,7 +92,7 @@
 	// .getLog()
 	// .log(
 	// new Status(IStatus.INFO, Activator.PLUGIN_ID, String.format(
-	//						"No Renderer for %s found.", getVElement().getComposite().eClass().getName()))); //$NON-NLS-1$
+	// "No Renderer for %s found.", getVElement().getComposite().eClass().getName()))); //$NON-NLS-1$
 	// return categoryComposite;
 	// }
 	// final SWTGridDescription gridDescription = renderer.getGridDescription(GridDescriptionFactory.INSTANCE
diff --git a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model.edit/META-INF/MANIFEST.MF
index 3b17228..ee9404a 100644
--- a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model.edit/META-INF/MANIFEST.MF
@@ -2,19 +2,19 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.compoundcontrol.model.edit;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.ecp.view.spi.compoundcontrol.model.provider.HorizontalEditPlugin$Implementation
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.spi.compoundcontrol.model.provider;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.spi.compoundcontrol.model.provider;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.view.compoundcontrol.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore.edit;bundle-version="[2.6.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emf.ecp.view.compoundcontrol.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.edit;bundle-version="[2.6.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
 Automatic-Module-Name: org.eclipse.emf.ecp.view.compoundcontrol.model.edit
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model.edit/pom.xml
index 9a6fa5d..12af923 100644
--- a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model.edit/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model/META-INF/MANIFEST.MF
index e23d5df..c75487d 100644
--- a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.compoundcontrol.model;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.spi.compoundcontrol.model;version="1.19.0",
-  org.eclipse.emf.ecp.view.spi.compoundcontrol.model.impl;version="1.19.0",
-  org.eclipse.emf.ecp.view.spi.compoundcontrol.model.util;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.spi.compoundcontrol.model;version="1.20.0",
+ org.eclipse.emf.ecp.view.spi.compoundcontrol.model.impl;version="1.20.0",
+ org.eclipse.emf.ecp.view.spi.compoundcontrol.model.util;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.view.compoundcontrol.model
diff --git a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model/pom.xml b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model/pom.xml
index 59e2dc8..3a421c1 100644
--- a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.swt/META-INF/MANIFEST.MF
index 52c397d..2ed1a50 100644
--- a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.swt/META-INF/MANIFEST.MF
@@ -2,29 +2,29 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Compound Control SWT Renderer
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.compoundcontrol.swt;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.internal.compoundcontrol.swt;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.spi.compoundcontrol.swt;version="1.19.0"
-Require-Bundle: org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.compoundcontrol.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emfforms.swt.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emfforms.swt.core.di;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.emf;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emf.ecp.view.internal.compoundcontrol.swt;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.spi.compoundcontrol.swt;version="1.20.0"
+Require-Bundle: org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.compoundcontrol.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.emf;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/CompoundControlDIRendererService.xml
 Bundle-ActivationPolicy: lazy
 Import-Package: javax.inject;version="1.0.0",
-  org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.jface.databinding.swt;version="0.0.0",
-  org.eclipse.jface.layout;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.graphics;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0",
-  org.osgi.service.component.annotations;version="1.2.0";resolution:=optional
+ org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.jface.databinding.swt;version="0.0.0",
+ org.eclipse.jface.layout;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.osgi.service.component.annotations;version="1.2.0";resolution:=optional
 Automatic-Module-Name: org.eclipse.emf.ecp.view.compoundcontrol.swt
diff --git a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.swt/pom.xml b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.swt/pom.xml
index 96ae343..d8c59fe 100644
--- a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.swt/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.tooling/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.tooling/META-INF/MANIFEST.MF
index 78f3f5c..b7fedd5 100644
--- a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.tooling/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.tooling/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Compound Control Tooling
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.compoundcontrol.tooling;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.tooling/pom.xml b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.tooling/pom.xml
index 7eb1f7e..b72ad09 100644
--- a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.tooling/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.tooling/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.context.locale/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.context.locale/META-INF/MANIFEST.MF
index 15ac3d0..89bc7c8 100644
--- a/bundles/org.eclipse.emf.ecp.view.context.locale/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.context.locale/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Forms Locale View Service
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.context.locale;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.context.internal.locale;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.edit;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emf.ecp.view.context.internal.locale;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.edit;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.context.locale
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.view.context.locale/pom.xml b/bundles/org.eclipse.emf.ecp.view.context.locale/pom.xml
index fc46f71..295bff2 100644
--- a/bundles/org.eclipse.emf.ecp.view.context.locale/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.context.locale/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emf.ecp.view.context.locale</artifactId>
   <packaging>eclipse-plugin</packaging>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 
   <groupId>org.eclipse.emf.ecp</groupId>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.context/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.context/META-INF/MANIFEST.MF
index aefc58b..a2db9ff 100644
--- a/bundles/org.eclipse.emf.ecp.view.context/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.context/META-INF/MANIFEST.MF
@@ -2,19 +2,19 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: View Model Context
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.context;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.internal.context;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.spi.context;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.internal.context;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.spi.context;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.common;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.core.databinding.observable;bundle-version="[1.4.0,2.0.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.common;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.core.databinding.observable;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.context
-Import-Package: org.eclipse.emfforms.common;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
+Import-Package: org.eclipse.emfforms.common;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.view.context/pom.xml b/bundles/org.eclipse.emf.ecp.view.context/pom.xml
index bd0f7da..d480209 100644
--- a/bundles/org.eclipse.emf.ecp.view.context/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.context/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.control.multireference/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.control.multireference/META-INF/MANIFEST.MF
index fdd72cf..a14b4ef 100644
--- a/bundles/org.eclipse.emf.ecp.view.control.multireference/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.control.multireference/META-INF/MANIFEST.MF
@@ -2,40 +2,40 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Multireference
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.control.multireference;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.internal.control.multireference;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.view.internal.control.multireference;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.core.databinding;bundle-version="[1.4.1,2.0.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.edit.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
-  org.eclipse.emfforms.localization;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emfforms.swt.core.di;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.view.annotation.model;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.core.databinding;bundle-version="[1.4.1,2.0.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.edit.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.view.annotation.model;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/multiReferenceRendererService.xml,OSGI-INF/LinkOnlyMultiReferenceRendererService.xml
 Bundle-ActivationPolicy: lazy
 Import-Package: javax.inject;version="1.0.0",
-  org.eclipse.emf.edit.ui.provider;version="0.0.0",
-  org.eclipse.emfforms.internal.core.services.label;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.swt.core;version="[1.19.0,1.20.0)",
-  org.eclipse.jface.databinding.swt;version="0.0.0",
-  org.eclipse.jface.databinding.viewers;version="0.0.0",
-  org.eclipse.jface.layout;version="0.0.0",
-  org.eclipse.jface.viewers;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.events;version="0.0.0",
-  org.eclipse.swt.graphics;version="0.0.0",
-  org.eclipse.swt.layout;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0",
-  org.osgi.framework;version="1.3.0",
-  org.osgi.service.component.annotations;version="1.2.0";resolution:=optional
+ org.eclipse.emf.edit.ui.provider;version="0.0.0",
+ org.eclipse.emfforms.internal.core.services.label;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.swt.core;version="[1.20.0,1.21.0)",
+ org.eclipse.jface.databinding.swt;version="0.0.0",
+ org.eclipse.jface.databinding.viewers;version="0.0.0",
+ org.eclipse.jface.layout;version="0.0.0",
+ org.eclipse.jface.viewers;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.events;version="0.0.0",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.eclipse.swt.layout;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.osgi.framework;version="1.3.0",
+ org.osgi.service.component.annotations;version="1.2.0";resolution:=optional
 Automatic-Module-Name: org.eclipse.emf.ecp.view.control.multireference
diff --git a/bundles/org.eclipse.emf.ecp.view.control.multireference/pom.xml b/bundles/org.eclipse.emf.ecp.view.control.multireference/pom.xml
index 0f3e00b..c12fc6e 100644
--- a/bundles/org.eclipse.emf.ecp.view.control.multireference/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.control.multireference/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
@@ -15,5 +15,5 @@
   <packaging>eclipse-plugin</packaging>
 
   <groupId>org.eclipse.emf.ecp</groupId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.control.multireference/src/org/eclipse/emf/ecp/view/internal/control/multireference/MultiReferenceSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.control.multireference/src/org/eclipse/emf/ecp/view/internal/control/multireference/MultiReferenceSWTRenderer.java
index d466c0f..0c9a8ea 100644
--- a/bundles/org.eclipse.emf.ecp.view.control.multireference/src/org/eclipse/emf/ecp/view/internal/control/multireference/MultiReferenceSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.control.multireference/src/org/eclipse/emf/ecp/view/internal/control/multireference/MultiReferenceSWTRenderer.java
@@ -62,6 +62,7 @@
 import org.eclipse.emfforms.internal.core.services.label.BundleResolverImpl;
 import org.eclipse.emfforms.spi.common.report.AbstractReport;
 import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.common.sort.NumberAwareStringComparator;
 import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
 import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
 import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
@@ -72,6 +73,7 @@
 import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
 import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
 import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
+import org.eclipse.emfforms.spi.swt.core.ui.ObjectViewerComparator;
 import org.eclipse.jface.databinding.swt.WidgetProperties;
 import org.eclipse.jface.databinding.viewers.ObservableListContentProvider;
 import org.eclipse.jface.layout.GridDataFactory;
@@ -85,12 +87,12 @@
 import org.eclipse.jface.viewers.DoubleClickEvent;
 import org.eclipse.jface.viewers.IDoubleClickListener;
 import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
 import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
 import org.eclipse.jface.viewers.TableViewer;
 import org.eclipse.jface.viewers.TableViewerColumn;
 import org.eclipse.jface.viewers.TableViewerEditor;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerComparator;
 import org.eclipse.osgi.util.NLS;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionAdapter;
@@ -214,7 +216,28 @@
 	 * @return true if the 'AddExisting' button is shown, false otherwise
 	 */
 	protected boolean showAddExistingButton() {
-		return true;
+		EReference eReference = null;
+		try {
+			eReference = (EReference) getModelValue().getValueType();
+		} catch (final DatabindingFailedException ex) {
+			getReportService().report(new AbstractReport(ex));
+		}
+
+		if (eReference != null) {
+			// Always show the add existing button for cross references
+			if (!eReference.isContainment()) {
+				return true;
+			}
+
+			VTReferenceStyleProperty referenceStyle = RendererUtil.getStyleProperty(
+				getVTViewTemplateProvider(), getVElement(), getViewModelContext(), VTReferenceStyleProperty.class);
+			if (referenceStyle == null) {
+				referenceStyle = getDefaultReferenceStyle();
+			}
+			return referenceStyle.isShowLinkButtonForContainmentReferences();
+		}
+
+		return false;
 	}
 
 	/**
@@ -349,7 +372,7 @@
 			getReportService().report(new RenderingFailedReport(ex));
 			return createErrorLabel(composite, ex);
 		}
-		updateButtonEnabling();
+		updateButtons();
 		return composite;
 	}
 
@@ -402,7 +425,8 @@
 		}
 
 		if (getTableStyleProperty().getRenderMode() == RenderMode.DEFAULT) {
-			updateButtonEnabling();
+			initButtons();
+			updateButtons();
 		}
 
 		SWTDataElementIdHelper.setElementIdDataForVControl(composite, getVElement(), getViewModelContext());
@@ -410,6 +434,15 @@
 		return composite;
 	}
 
+	private void initButtons() {
+		getTableViewer().addSelectionChangedListener(new ISelectionChangedListener() {
+			@Override
+			public void selectionChanged(SelectionChangedEvent event) {
+				updateButtonEnabling();
+			}
+		});
+	}
+
 	/**
 	 * Creates the composite which will be the parent for the table.
 	 *
@@ -519,7 +552,7 @@
 			public void widgetSelected(SelectionEvent e) {
 				super.widgetSelected(e);
 				handleMoveUp(tableViewer, container, structuralFeature);
-				updateButtonEnabling();
+				updateButtons();
 			}
 
 		});
@@ -551,7 +584,7 @@
 			public void widgetSelected(SelectionEvent e) {
 				super.widgetSelected(e);
 				handleMoveDown(tableViewer, container, structuralFeature);
-				updateButtonEnabling();
+				updateButtons();
 			}
 
 		});
@@ -583,7 +616,7 @@
 			public void widgetSelected(SelectionEvent e) {
 				super.widgetSelected(e);
 				handleAddExisting(tableViewer, container, structuralFeature);
-				updateButtonEnabling();
+				updateButtons();
 			}
 
 		});
@@ -615,7 +648,7 @@
 			public void widgetSelected(SelectionEvent e) {
 				super.widgetSelected(e);
 				handleAddNew(tableViewer, container, structuralFeature);
-				updateButtonEnabling();
+				updateButtons();
 			}
 
 		});
@@ -646,33 +679,89 @@
 			public void widgetSelected(SelectionEvent e) {
 				super.widgetSelected(e);
 				handleDelete(tableViewer, container, structuralFeature);
-				updateButtonEnabling();
+				updateButtons();
 			}
 		});
 		return btnDelete;
 	}
 
 	/**
-	 * Updates the 'addExisting', 'addNew', 'delete', 'moveUp' and 'moveDown' buttons according to the bound input.
+	 * Updates button visibility and enablement.
+	 */
+	protected void updateButtons() {
+		updateButtonVisibility();
+		updateButtonEnabling();
+	}
+
+	/**
+	 * Updates the enablement of 'addExisting', 'addNew', 'delete', 'moveUp' and 'moveDown' buttons according to the
+	 * bound input.
 	 */
 	protected void updateButtonEnabling() {
-		final boolean isReadOnly = getVElement().isEffectivelyReadonly();
+		final boolean isEnable = getVElement().isEffectivelyEnabled();
 		final int listSize = tableViewerInputList != null ? tableViewerInputList.size() : 0;
+		final int selectionIndex = tableViewer != null ? tableViewer.getTable().getSelectionIndex() : -1;
 
-		if (showMoveUpButton()) {
-			btnMoveUp.setEnabled(!isReadOnly && listSize > 1);
+		enableUpButton(isEnable, listSize, selectionIndex);
+		enableDownButton(isEnable, listSize, selectionIndex);
+		enableAddExistingButton(isEnable, listSize, selectionIndex);
+		enableAddNewButton(isEnable, listSize, selectionIndex);
+		enableDeleteButton(isEnable, listSize, selectionIndex);
+	}
+
+	private void enableUpButton(boolean baseEnable, int listSize, int selectionIndex) {
+		if (btnMoveUp != null && showMoveUpButton()) {
+			final boolean enabled = baseEnable && listSize > 1 && selectionIndex > 0;
+			btnMoveUp.setEnabled(enabled);
 		}
-		if (showMoveDownButton()) {
-			btnMoveDown.setEnabled(!isReadOnly && listSize > 1);
+	}
+
+	private void enableDownButton(boolean baseEnable, int listSize, int selectionIndex) {
+		if (btnMoveDown != null && showMoveDownButton()) {
+			final boolean enabled = baseEnable && listSize > 1 && selectionIndex != -1 && selectionIndex < listSize - 1;
+			btnMoveDown.setEnabled(enabled);
 		}
-		if (showAddExistingButton()) {
-			btnAddExisting.setEnabled(!isReadOnly);
+	}
+
+	private void enableAddExistingButton(boolean baseEnable, int listSize, int selectionIndex) {
+		if (btnAddExisting != null && showAddExistingButton()) {
+			btnAddExisting.setEnabled(baseEnable);
 		}
-		if (showAddNewButton()) {
-			btnAddNew.setEnabled(!isReadOnly);
+	}
+
+	private void enableAddNewButton(boolean baseEnable, int listSize, int selectionIndex) {
+		if (btnAddNew != null && showAddNewButton()) {
+			btnAddNew.setEnabled(baseEnable);
 		}
-		if (showDeleteButton()) {
-			btnDelete.setEnabled(!isReadOnly && listSize > 0);
+	}
+
+	private void enableDeleteButton(boolean baseEnable, int listSize, int selectionIndex) {
+		if (btnDelete != null && showDeleteButton()) {
+			btnDelete.setEnabled(baseEnable && listSize > 0 && selectionIndex != -1);
+		}
+	}
+
+	/**
+	 * Updates the visibility of 'addExisting', 'addNew', 'delete', 'moveUp' and 'moveDown' buttons according to the
+	 * bound input.
+	 */
+	protected void updateButtonVisibility() {
+		final boolean isVisible = !getVElement().isEffectivelyReadonly();
+
+		if (btnMoveUp != null) {
+			btnMoveUp.setVisible(showMoveUpButton() && isVisible);
+		}
+		if (btnMoveDown != null) {
+			btnMoveDown.setVisible(showMoveDownButton() && isVisible);
+		}
+		if (btnAddExisting != null) {
+			btnAddExisting.setVisible(showAddExistingButton() && isVisible);
+		}
+		if (btnAddNew != null) {
+			btnAddNew.setVisible(showAddNewButton() && isVisible);
+		}
+		if (btnDelete != null) {
+			btnDelete.setVisible(showDeleteButton() && isVisible);
 		}
 	}
 
@@ -809,6 +898,9 @@
 		final ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(tableViewer) {
 			@Override
 			protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
+				if (getVElement().isEffectivelyReadonly()) {
+					return false;
+				}
 				return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL
 					|| event.eventType == ColumnViewerEditorActivationEvent.MOUSE_CLICK_SELECTION
 					|| event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && event.keyCode == SWT.CR
@@ -821,8 +913,8 @@
 			| ColumnViewerEditor.KEYBOARD_ACTIVATION);
 		ColumnViewerToolTipSupport.enableFor(tableViewer);
 
-		final ECPTableViewerComparator comparator = new ECPTableViewerComparator();
-		final boolean isMoveDisabled = !showMoveUpButton() && !showMoveDownButton();
+		final ObjectViewerComparator comparator = new ObjectViewerComparator(this::compare);
+		final boolean isMoveDisabled = isMoveDisabled();
 		if (isMoveDisabled) {
 			tableViewer.setComparator(comparator);
 		}
@@ -873,16 +965,22 @@
 
 			@Override
 			public void doubleClick(DoubleClickEvent event) {
-				final EObject selectedObject = (EObject) IStructuredSelection.class.cast(event.getSelection())
-					.getFirstElement();
-				handleDoubleClick(selectedObject);
+				if (!getVElement().isEffectivelyReadonly()) {
+					final EObject selectedObject = (EObject) IStructuredSelection.class.cast(event.getSelection())
+						.getFirstElement();
+					handleDoubleClick(selectedObject);
+				}
 			}
 
 		});
 	}
 
+	private boolean isMoveDisabled() {
+		return !showMoveUpButton() && !showMoveDownButton();
+	}
+
 	private SelectionAdapter getSelectionAdapter(final TableViewer tableViewer,
-		final ECPTableViewerComparator comparator, final TableColumn column) {
+		final ObjectViewerComparator comparator, final TableColumn column) {
 		final SelectionAdapter selectionAdapter = new SelectionAdapter() {
 			@Override
 			public void widgetSelected(SelectionEvent e) {
@@ -1022,47 +1120,6 @@
 		}
 	}
 
-	/**
-	 * The {@link ViewerComparator} for the multi reference renderer's table which allows 3 states for sort order:
-	 * none, up and down. This comparator does not use column specific values but only the objects' labels because the
-	 * multi reference renderer always only has one column that shows the label.
-	 *
-	 * @author Eugen Neufeld
-	 *
-	 */
-	private class ECPTableViewerComparator extends ViewerComparator {
-		private static final int NONE = 0;
-		private int direction = NONE;
-
-		ECPTableViewerComparator() {
-			direction = NONE;
-		}
-
-		/** Toggles through the sorting directions: NONE -&gt; UP -&gt; DOWN -&gt; NONE. */
-		public void toggleDirection() {
-			direction = (direction + 1) % 3;
-		}
-
-		public int getDirection() {
-			switch (direction) {
-			case 0:
-				return SWT.NONE;
-			case 1:
-				return SWT.UP;
-			case 2:
-				return SWT.DOWN;
-			default:
-				return SWT.NONE;
-			}
-
-		}
-
-		@Override
-		public int compare(Viewer viewer, Object e1, Object e2) {
-			return MultiReferenceSWTRenderer.this.compare(direction, e1, e2);
-		}
-	}
-
 	@Override
 	protected void rootDomainModelChanged() throws DatabindingFailedException {
 		// TODO rebinding of text and tooltip needed? If yes, complete!
@@ -1086,10 +1143,32 @@
 			.getObservableValue(getVElement().getDomainModelReference(), getViewModelContext().getDomainModel());
 		container = (EObject) ((IObserving) observableValue).getObserved();
 		observableValue.dispose();
+		applyEnable();
+		applyReadOnly();
+	}
+
+	@Override
+	protected boolean ignoreEnableOnReadOnly() {
+		// always take the enable state into account (read only but enable let the user sort the table content for
+		// example)
+		return false;
+	}
+
+	@Override
+	protected void applyEnable() {
+		super.applyEnable();
+		// specific handling for buttons
 		updateButtonEnabling();
 	}
 
 	@Override
+	protected void applyReadOnly() {
+		// specific handling for buttons
+		// do not let the super method disable the control, so the table is still enabled for sorting for example
+		updateButtonVisibility();
+	}
+
+	@Override
 	protected void applyValidation() {
 		Display.getDefault().asyncExec(new Runnable() {
 
@@ -1134,11 +1213,15 @@
 		final String label1 = labelProvider.getText(object1);
 		final String label2 = labelProvider.getText(object2);
 		if (label1 == null) {
-			rc = 1;
+			if (label2 == null) {
+				rc = 0;
+			} else {
+				rc = 1;
+			}
 		} else if (label2 == null) {
 			rc = -1;
 		} else {
-			rc = label1.toString().compareTo(label2.toString());
+			rc = NumberAwareStringComparator.getInstance().compare(label1.toString(), label2.toString());
 		}
 		// If descending order, flip the direction
 		if (direction == 2) {
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.core.swt/.settings/.api_filters
index 96d817d..58fc119 100644
--- a/bundles/org.eclipse.emf.ecp.view.core.swt/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/.settings/.api_filters
@@ -7,6 +7,12 @@
                 <message_argument value="1.17.0"/>
             </message_arguments>
         </filter>
+        <filter comment="SPI Change" id="923795461">
+            <message_arguments>
+                <message_argument value="1.19.0"/>
+                <message_argument value="1.9.0"/>
+            </message_arguments>
+        </filter>
         <filter comment="SPI Change in 1.6" id="923795461">
             <message_arguments>
                 <message_argument value="1.6.0"/>
@@ -61,6 +67,12 @@
                 <message_argument value="ContainerSWTRenderer(SWTRendererFactory)"/>
             </message_arguments>
         </filter>
+        <filter comment="SPI Change" id="338722907">
+            <message_arguments>
+                <message_argument value="org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer"/>
+                <message_argument value="ContainerSWTRenderer(VELEMENT, ViewModelContext, ReportService, EMFFormsRendererFactory, EMFFormsDatabinding)"/>
+            </message_arguments>
+        </filter>
         <filter comment="EMFForms 1.6 SPI Change" id="338792546">
             <message_arguments>
                 <message_argument value="org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer"/>
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.core.swt/META-INF/MANIFEST.MF
index 1ceead7..796a138 100644
--- a/bundles/org.eclipse.emf.ecp.view.core.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/META-INF/MANIFEST.MF
@@ -2,48 +2,48 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: View Core SWT
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.core.swt;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.view.internal.core.swt.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.internal.core.swt;version="1.19.0";x-friends:="org.eclipse.emf.ecp.view.table.ui.swt",
-  org.eclipse.emf.ecp.view.internal.core.swt.renderer;version="1.19.0";x-friends:="org.eclipse.emf.ecp.ui.view.editor.controls,org.eclipse.emf.ecp.view.context.test",
-  org.eclipse.emf.ecp.view.spi.core.swt;version="1.19.0";
-   uses:="org.eclipse.emf.ecp.ui.view.swt.internal,
-    org.eclipse.emf.ecp.view.spi.model,
-    org.eclipse.swt.widgets,
-    org.eclipse.emf.ecp.view.spi.context,
-    org.eclipse.emf.ecp.edit.spi.swt.util",
-  org.eclipse.emf.ecp.view.spi.core.swt.renderer;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.internal.core.swt;version="1.20.0";x-friends:="org.eclipse.emf.ecp.view.table.ui.swt",
+ org.eclipse.emf.ecp.view.internal.core.swt.renderer;version="1.20.0";x-friends:="org.eclipse.emf.ecp.ui.view.editor.controls,org.eclipse.emf.ecp.view.context.test",
+ org.eclipse.emf.ecp.view.spi.core.swt;version="1.20.0";
+  uses:="org.eclipse.emf.ecp.ui.view.swt.internal,
+   org.eclipse.emf.ecp.view.spi.model,
+   org.eclipse.swt.widgets,
+   org.eclipse.emf.ecp.view.spi.context,
+   org.eclipse.emf.ecp.edit.spi.swt.util",
+ org.eclipse.emf.ecp.view.spi.core.swt.renderer;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.edit.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.databinding.property;bundle-version="[1.4.200,2.0.0)",
-  org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emfforms.localization;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core.di;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.edit.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.4.200,2.0.0)",
+ org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.20.0,1.21.0)"
 Import-Package: javax.inject;version="1.0.0",
-  org.eclipse.emfforms.spi.common.locale;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.jface.databinding.swt;version="0.0.0",
-  org.eclipse.jface.databinding.viewers;version="0.0.0",
-  org.eclipse.jface.dialogs;version="0.0.0",
-  org.eclipse.jface.layout;version="0.0.0",
-  org.eclipse.jface.resource;version="0.0.0",
-  org.eclipse.jface.viewers;version="0.0.0",
-  org.eclipse.jface.window;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.custom;version="0.0.0",
-  org.eclipse.swt.events;version="0.0.0",
-  org.eclipse.swt.graphics;version="0.0.0",
-  org.eclipse.swt.layout;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0"
+ org.eclipse.emfforms.spi.common.locale;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.jface.databinding.swt;version="0.0.0",
+ org.eclipse.jface.databinding.viewers;version="0.0.0",
+ org.eclipse.jface.dialogs;version="0.0.0",
+ org.eclipse.jface.layout;version="0.0.0",
+ org.eclipse.jface.resource;version="0.0.0",
+ org.eclipse.jface.viewers;version="0.0.0",
+ org.eclipse.jface.window;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.custom;version="0.0.0",
+ org.eclipse.swt.events;version="0.0.0",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.eclipse.swt.layout;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.view.core.swt
 Service-Component: OSGI-INF/booleanControlService.xml,OSGI-INF/dateTimeControlService.xml,OSGI-INF/enumControlService.xml,OSGI-INF/numberControlService.xml,OSGI-INF/textControlService.xml,OSGI-INF/xmlDateControlService.xml,OSGI-INF/viewRendererService.xml,OSGI-INF/linkControlService.xml,OSGI-INF/enumLiteralFilteredControlService.xml
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/pom.xml b/bundles/org.eclipse.emf.ecp.view.core.swt/pom.xml
index 149d86d..a37aefd 100644
--- a/bundles/org.eclipse.emf.ecp.view.core.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
@@ -15,5 +15,5 @@
   <packaging>eclipse-plugin</packaging>
 
   <groupId>org.eclipse.emf.ecp</groupId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/LinkControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/LinkControlSWTRenderer.java
index 189b38f..5fe6c64 100644
--- a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/LinkControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/LinkControlSWTRenderer.java
@@ -233,7 +233,11 @@
 			getReportService().report(new AbstractReport(ex));
 		}
 
-		createAddReferenceButton(parent, elementDisplayName);
+		VTReferenceStyleProperty referenceStyle = RendererUtil.getStyleProperty(
+			getVTViewTemplateProvider(), getVElement(), getViewModelContext(), VTReferenceStyleProperty.class);
+		if (referenceStyle == null) {
+			referenceStyle = getDefaultReferenceStyle();
+		}
 
 		EReference eReference = null;
 		try {
@@ -241,17 +245,19 @@
 		} catch (final DatabindingFailedException ex) {
 			getReportService().report(new AbstractReport(ex));
 		}
-		// Only allow to create new elements in the reference if it is a containment reference or if it was configured
-		// in a reference style property.
+
 		if (eReference != null) {
 			if (eReference.isContainment()) {
+				// Only allow to link existing elements in a containment reference if it was allowed in a reference
+				// style property.
+				if (referenceStyle.isShowLinkButtonForContainmentReferences()) {
+					createAddReferenceButton(parent, elementDisplayName);
+				}
 				createNewReferenceButton(parent, elementDisplayName);
 			} else {
-				VTReferenceStyleProperty referenceStyle = RendererUtil.getStyleProperty(
-					getVTViewTemplateProvider(), getVElement(), getViewModelContext(), VTReferenceStyleProperty.class);
-				if (referenceStyle == null) {
-					referenceStyle = getDefaultReferenceStyle();
-				}
+				createAddReferenceButton(parent, elementDisplayName);
+				// Only allow to create new elements in a cross reference if it was allowed in a reference style
+				// property.
 				if (referenceStyle.isShowCreateAndLinkButtonForCrossReferences()) {
 					createNewReferenceButton(parent, elementDisplayName);
 				}
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/ViewSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/ViewSWTRenderer.java
index ce789e2..3f5c00e 100644
--- a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/ViewSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/ViewSWTRenderer.java
@@ -26,7 +26,6 @@
 import org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleChangeListener;
 import org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleProvider;
 import org.eclipse.emfforms.spi.common.report.ReportService;
-import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
 import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
 import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
 import org.eclipse.swt.widgets.Composite;
@@ -47,13 +46,13 @@
 	 * @param viewContext the view context
 	 * @param reportService the {@link ReportService}
 	 * @param factory the {@link EMFFormsRendererFactory}
-	 * @param emfFormsDatabinding The {@link EMFFormsDatabinding}
 	 * @param localeProvider The {@link EMFFormsLocaleProvider}
 	 */
 	@Inject
 	public ViewSWTRenderer(VView vElement, ViewModelContext viewContext, ReportService reportService,
-		EMFFormsRendererFactory factory, EMFFormsDatabinding emfFormsDatabinding, EMFFormsLocaleProvider localeProvider) {
-		super(vElement, viewContext, reportService, factory, emfFormsDatabinding);
+		EMFFormsRendererFactory factory,
+		EMFFormsLocaleProvider localeProvider) {
+		super(vElement, viewContext, reportService, factory);
 		this.localeProvider = localeProvider;
 		localeProvider.addEMFFormsLocaleChangeListener(this);
 	}
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/spi/core/swt/AbstractControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/spi/core/swt/AbstractControlSWTRenderer.java
index 47cf395..d11870a 100644
--- a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/spi/core/swt/AbstractControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/spi/core/swt/AbstractControlSWTRenderer.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -19,6 +19,7 @@
 import org.eclipse.core.databinding.observable.IObserving;
 import org.eclipse.core.databinding.observable.value.IObservableValue;
 import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.emf.databinding.EMFDataBindingContext;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EStructuralFeature;
@@ -171,13 +172,9 @@
 				if (changeTester.isStructureChanged(getVElement().getDomainModelReference(),
 					getViewModelContext().getDomainModel(), notification)) {
 
-					Display.getDefault().asyncExec(new Runnable() {
-
-						@Override
-						public void run() {
-							if (!isDisposed) {
-								applyEnable();
-							}
+					Display.getDefault().asyncExec(() -> {
+						if (!isDisposed) {
+							applyEnable();
 						}
 					});
 				}
@@ -189,14 +186,37 @@
 			getViewModelContext().registerDomainChangeListener(modelChangeListener);
 		}
 		applyEnable();
+		applyReadOnly();
+		if (isUnchangeableFeature()) {
+			applyUnchangeableFeature();
+		}
 	}
 
 	/**
-	 * {@inheritDoc}
+	 * Checks if the value referenced by the DMR can be changed or not by the user.
 	 *
-	 * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#render(org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell,
-	 *      org.eclipse.swt.widgets.Composite)
+	 * @return <code>true</code> if the value cannot be changed.
 	 */
+	protected boolean isUnchangeableFeature() {
+		final VDomainModelReference ref = getVElement().getDomainModelReference();
+		if (ref == null) {
+			getReportService()
+				.report(new AbstractReport(
+					String.format("No DomainModelReference could be found for the VElement %1$s.", //$NON-NLS-1$
+						getVElement().getName()),
+					IStatus.ERROR));
+		}
+		final EObject eObject = getViewModelContext().getDomainModel();
+		try {
+			@SuppressWarnings("rawtypes")
+			final IValueProperty valueProperty = getEMFFormsDatabinding().getValueProperty(ref, eObject);
+			return !EStructuralFeature.class.cast(valueProperty.getValueType()).isChangeable();
+		} catch (final DatabindingFailedException ex) {
+			getReportService().report(new DatabindingFailedReport(ex));
+			return false;
+		}
+	}
+
 	@Override
 	public Control render(SWTGridCell cell, Composite parent)
 		throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
@@ -214,6 +234,16 @@
 	}
 
 	/**
+	 * This method is applied if the control's feature is configured as unchangeable.
+	 * The renderer is usually disabled when feature is not changeable.
+	 *
+	 * @since 1.20
+	 */
+	protected void applyUnchangeableFeature() {
+		getVElement().setReadonly(true);
+	}
+
+	/**
 	 * <p>
 	 * Indicates if the given Control SWT renderer takes the responsibility to call a possibly existing
 	 * {@link EMFFormsControlProcessorService} itself.
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/spi/core/swt/ContainerSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/spi/core/swt/ContainerSWTRenderer.java
index 44d108d..da946ce 100644
--- a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/spi/core/swt/ContainerSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/spi/core/swt/ContainerSWTRenderer.java
@@ -34,7 +34,6 @@
 import org.eclipse.emf.ecp.view.spi.swt.reporting.RenderingFailedReport;
 import org.eclipse.emfforms.spi.common.report.AbstractReport;
 import org.eclipse.emfforms.spi.common.report.ReportService;
-import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
 import org.eclipse.emfforms.spi.swt.core.AbstractAdditionalSWTRenderer;
 import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
 import org.eclipse.emfforms.spi.swt.core.EMFFormsNoRendererException;
@@ -59,7 +58,6 @@
  */
 public abstract class ContainerSWTRenderer<VELEMENT extends VElement> extends AbstractSWTRenderer<VELEMENT> {
 	private final EMFFormsRendererFactory factory;
-	private final EMFFormsDatabinding emfFormsDatabinding;
 
 	/**
 	 * The {@link EMFFormsRendererFactory} to use.
@@ -78,14 +76,12 @@
 	 * @param viewContext the view context
 	 * @param reportService the {@link ReportService}
 	 * @param factory the {@link EMFFormsRendererFactory}
-	 * @param emfFormsDatabinding The {@link EMFFormsDatabinding}
-	 * @since 1.6
+	 * @since 1.20
 	 */
 	public ContainerSWTRenderer(VELEMENT vElement, ViewModelContext viewContext, ReportService reportService,
-		EMFFormsRendererFactory factory, EMFFormsDatabinding emfFormsDatabinding) {
+		EMFFormsRendererFactory factory) {
 		super(vElement, viewContext, reportService);
 		this.factory = factory;
-		this.emfFormsDatabinding = emfFormsDatabinding;
 	}
 
 	private SWTGridDescription rendererGridDescription;
@@ -211,17 +207,6 @@
 		return columnComposite;
 	}
 
-	/**
-	 * Returns the {@link EMFFormsDatabinding}.
-	 *
-	 * @return The {@link EMFFormsDatabinding}
-	 * @since 1.12
-	 */
-	protected EMFFormsDatabinding getEMFFormsDatabinding() {
-		// Method is eventually needed to check the validity of controls that are to be rendered.
-		return emfFormsDatabinding;
-	}
-
 	// TODO: possible duplicate code
 	private Control renderDiagnoseControl(Composite parent, VContainedElement child) throws NoRendererFoundException,
 		NoPropertyDescriptorFoundExeption {
diff --git a/bundles/org.eclipse.emf.ecp.view.custom.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.custom.model.edit/META-INF/MANIFEST.MF
index 36a040b..b83e262 100644
--- a/bundles/org.eclipse.emf.ecp.view.custom.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.custom.model.edit/META-INF/MANIFEST.MF
@@ -2,19 +2,19 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.custom.model.edit;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.ecp.view.spi.custom.model.provider.CustomEditPlugin$Implementation
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.spi.custom.model.provider;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.spi.custom.model.provider;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.view.custom.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.view.custom.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.20.0,1.21.0)"
 Automatic-Module-Name: org.eclipse.emf.ecp.view.custom.model.edit
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emf.ecp.view.custom.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.view.custom.model.edit/pom.xml
index b5590fe..c51fb9d 100644
--- a/bundles/org.eclipse.emf.ecp.view.custom.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.custom.model.edit/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.custom.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.custom.model/META-INF/MANIFEST.MF
index 9abc3e1..60e03ae 100644
--- a/bundles/org.eclipse.emf.ecp.view.custom.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.custom.model/META-INF/MANIFEST.MF
@@ -2,32 +2,32 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.custom.model;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.ecp.view.spi.custom.model.impl.Activator
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.spi.custom.model;version="1.19.0",
-  org.eclipse.emf.ecp.view.spi.custom.model.impl;version="1.19.0",
-  org.eclipse.emf.ecp.view.spi.custom.model.util;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.spi.custom.model;version="1.20.0",
+ org.eclipse.emf.ecp.view.spi.custom.model.impl;version="1.20.0",
+ org.eclipse.emf.ecp.view.spi.custom.model.util;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.edit;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.localization;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit;bundle-version="[2.12.0,3.0.0)"
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.edit;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit;bundle-version="[2.12.0,3.0.0)"
 Import-Package: org.eclipse.core.databinding.property.list;version="0.0.0",
-  org.eclipse.core.databinding.property.value;version="0.0.0",
-  org.eclipse.emf.databinding;version="0.0.0",
-  org.eclipse.emf.ecp.common.spi;version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.common.spi.asserts;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.databinding;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.domainexpander;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.mappingprovider;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.structuralchange;version="[1.19.0,1.20.0)",
-  org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
+ org.eclipse.core.databinding.property.value;version="0.0.0",
+ org.eclipse.emf.databinding;version="0.0.0",
+ org.eclipse.emf.ecp.common.spi;version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.common.spi.asserts;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.databinding;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.domainexpander;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.mappingprovider;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.structuralchange;version="[1.20.0,1.21.0)",
+ org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.view.custom.model
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emf.ecp.view.custom.model/pom.xml b/bundles/org.eclipse.emf.ecp.view.custom.model/pom.xml
index 99745a4..c336fd3 100644
--- a/bundles/org.eclipse.emf.ecp.view.custom.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.custom.model/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.custom.ui.swt.di/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.custom.ui.swt.di/META-INF/MANIFEST.MF
index 4956b4a..f03d049 100644
--- a/bundles/org.eclipse.emf.ecp.view.custom.ui.swt.di/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.custom.ui.swt.di/META-INF/MANIFEST.MF
@@ -2,20 +2,20 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Custom View SWT DI
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.custom.ui.swt.di;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.custom.ui.swt.di.renderer;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.view.custom.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.custom.ui.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model.common.di;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.e4.core.contexts;bundle-version="[1.3.100,2.0.0)",
-  org.eclipse.e4.core.di;bundle-version="[1.4.0,2.0.0)",
-  org.eclipse.emf.ecp.ui.view.swt.di;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.osgi;bundle-version="[3.10.0,4.0.0)",
-  org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)"
+Export-Package: org.eclipse.emf.ecp.view.custom.ui.swt.di.renderer;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emf.ecp.view.custom.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.custom.ui.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.common.di;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.e4.core.contexts;bundle-version="[1.3.100,2.0.0)",
+ org.eclipse.e4.core.di;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emf.ecp.ui.view.swt.di;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.osgi;bundle-version="[3.10.0,4.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.custom.ui.swt.di
-Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.swt.widgets;version="0.0.0"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.swt.widgets;version="0.0.0"
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.view.custom.ui.swt.di/pom.xml b/bundles/org.eclipse.emf.ecp.view.custom.ui.swt.di/pom.xml
index 5f33658..cbdf890 100644
--- a/bundles/org.eclipse.emf.ecp.view.custom.ui.swt.di/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.custom.ui.swt.di/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/META-INF/MANIFEST.MF
index 9eba1d8..2c87543 100644
--- a/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/META-INF/MANIFEST.MF
@@ -2,35 +2,35 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Custom View SWT
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.custom.ui.swt;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.view.internal.custom.swt.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.internal.custom.swt;version="1.19.0";x-friends:="org.eclipse.emf.ecp.view.custom.ui.swt.test",
-  org.eclipse.emf.ecp.view.spi.custom.swt;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.internal.custom.swt;version="1.20.0";x-friends:="org.eclipse.emf.ecp.view.custom.ui.swt.test",
+ org.eclipse.emf.ecp.view.spi.custom.swt;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.edit;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.edit.swt;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
-  org.eclipse.emf.ecp.view.custom.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emfforms.localization;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.edit;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.edit.swt;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emf.ecp.view.custom.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.swt.core;version="[1.19.0,1.20.0)",
-  org.eclipse.jface.databinding.swt;version="0.0.0",
-  org.eclipse.jface.databinding.viewers;version="0.0.0",
-  org.eclipse.jface.dialogs;version="0.0.0",
-  org.eclipse.jface.layout;version="0.0.0",
-  org.eclipse.jface.resource;version="0.0.0",
-  org.eclipse.jface.viewers;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.events;version="0.0.0",
-  org.eclipse.swt.graphics;version="0.0.0",
-  org.eclipse.swt.layout;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.swt.core;version="[1.20.0,1.21.0)",
+ org.eclipse.jface.databinding.swt;version="0.0.0",
+ org.eclipse.jface.databinding.viewers;version="0.0.0",
+ org.eclipse.jface.dialogs;version="0.0.0",
+ org.eclipse.jface.layout;version="0.0.0",
+ org.eclipse.jface.resource;version="0.0.0",
+ org.eclipse.jface.viewers;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.events;version="0.0.0",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.eclipse.swt.layout;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.view.custom.ui.swt
diff --git a/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/pom.xml b/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/pom.xml
index 66f7e39..cb0904d 100644
--- a/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.edapt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.edapt/META-INF/MANIFEST.MF
index 54a0c78..fda96a9 100644
--- a/bundles/org.eclipse.emf.ecp.view.edapt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.edapt/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Edapt
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.edapt;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.view.edapt.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.edapt;version="1.19.0"
-Require-Bundle: org.eclipse.emf.ecp.view.migrator;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edapt.history;bundle-version="[1.0.0,2.0.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emf.ecp.view.edapt;version="1.20.0"
+Require-Bundle: org.eclipse.emf.ecp.view.migrator;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edapt.history;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.edapt
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.view.edapt/pom.xml b/bundles/org.eclipse.emf.ecp.view.edapt/pom.xml
index 1833822..06e5ac5 100644
--- a/bundles/org.eclipse.emf.ecp.view.edapt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.edapt/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.edapt</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.group.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.group.model.edit/META-INF/MANIFEST.MF
index f4942e8..f7bfd81 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.group.model.edit/META-INF/MANIFEST.MF
@@ -2,19 +2,19 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.group.model.edit;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.ecp.view.spi.group.model.provider.GroupEditPlugin$Implementation
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.spi.group.model.provider;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.spi.group.model.provider;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.view.group.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emf.ecp.view.group.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
 Automatic-Module-Name: org.eclipse.emf.ecp.view.group.model.edit
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emf.ecp.view.group.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.view.group.model.edit/pom.xml
index fc735b3..50fb795 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.group.model.edit/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.group.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.group.model/META-INF/MANIFEST.MF
index fab2ccb..56c3948 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.group.model/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.group.model;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.spi.group.model;version="1.19.0",
-  org.eclipse.emf.ecp.view.spi.group.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.spi.group.model.util;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.spi.group.model;version="1.20.0",
+ org.eclipse.emf.ecp.view.spi.group.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.spi.group.model.util;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.view.group.model
diff --git a/bundles/org.eclipse.emf.ecp.view.group.model/pom.xml b/bundles/org.eclipse.emf.ecp.view.group.model/pom.xml
index 2f47dd0..1a13b77 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.group.model/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/META-INF/MANIFEST.MF
index c641903..1e0e5e3 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/META-INF/MANIFEST.MF
@@ -2,31 +2,31 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Collapsable Group
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.group.swt.collapsable
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.group.swt.internal.collapsable;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.view.model.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.group.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core.di;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.databinding.edit;bundle-version="[1.2.0,2.0.0)",
-  org.eclipse.jface;bundle-version="[3.3.0,4.0.0)"
+Export-Package: org.eclipse.emf.ecp.view.group.swt.internal.collapsable;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emf.ecp.view.model.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.group.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.databinding.edit;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.jface;bundle-version="[3.3.0,4.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/collapsableGroupRendererService.xml
 Bundle-ActivationPolicy: lazy
 Import-Package: javax.inject;version="1.0.0",
-  org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.databinding;version="[1.19.0,1.20.0)",
-  org.eclipse.jface.databinding.swt;version="0.0.0",
-  org.eclipse.jface.layout;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.events;version="0.0.0",
-  org.eclipse.swt.graphics;version="0.0.0",
-  org.eclipse.swt.layout;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0",
-  org.osgi.framework;version="1.6.0"
+ org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.databinding;version="[1.20.0,1.21.0)",
+ org.eclipse.jface.databinding.swt;version="0.0.0",
+ org.eclipse.jface.layout;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.events;version="0.0.0",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.eclipse.swt.layout;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.osgi.framework;version="1.6.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.view.group.swt.collapsable
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/pom.xml b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/pom.xml
index f4f4d76..e041975 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/src/org/eclipse/emf/ecp/view/group/swt/internal/collapsable/CollapsableGroupSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/src/org/eclipse/emf/ecp/view/group/swt/internal/collapsable/CollapsableGroupSWTRenderer.java
index 5f8e354..5a18ff8 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/src/org/eclipse/emf/ecp/view/group/swt/internal/collapsable/CollapsableGroupSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/src/org/eclipse/emf/ecp/view/group/swt/internal/collapsable/CollapsableGroupSWTRenderer.java
@@ -24,7 +24,6 @@
 import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
 import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
 import org.eclipse.emfforms.spi.common.report.ReportService;
-import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
 import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
 import org.eclipse.emfforms.spi.swt.core.layout.EMFFormsSWTLayoutUtil;
 import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
@@ -68,12 +67,11 @@
 	 * @param viewContext the view context
 	 * @param reportService the {@link ReportService}
 	 * @param factory the {@link EMFFormsRendererFactory}
-	 * @param emfFormsDatabinding The {@link EMFFormsDatabinding}
 	 */
 	@Inject
 	public CollapsableGroupSWTRenderer(VGroup vElement, ViewModelContext viewContext, ReportService reportService,
-		EMFFormsRendererFactory factory, EMFFormsDatabinding emfFormsDatabinding) {
-		super(vElement, viewContext, reportService, factory, emfFormsDatabinding);
+		EMFFormsRendererFactory factory) {
+		super(vElement, viewContext, reportService, factory);
 		dbc = new EMFDataBindingContext();
 	}
 
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/META-INF/MANIFEST.MF
index e4c95c5..6049718 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/META-INF/MANIFEST.MF
@@ -2,25 +2,25 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Collapsible Group Renderer using PGroup
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.group.swt.internal.collapsible.pgroup;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.group.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core.di;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emf.ecp.view.group.swt.internal.collapsible.pgroup;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.group.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/pGroupRendererService.xml
 Bundle-ActivationPolicy: lazy
 Import-Package: javax.inject;version="1.0.0",
-  org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.nebula.widgets.pgroup;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.events;version="0.0.0",
-  org.eclipse.swt.graphics;version="0.0.0",
-  org.eclipse.swt.layout;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0",
-  org.osgi.framework;version="1.6.0"
+ org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.nebula.widgets.pgroup;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.events;version="0.0.0",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.eclipse.swt.layout;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.osgi.framework;version="1.6.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/pom.xml b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/pom.xml
index 0f6683f..7015d01 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/src/org/eclipse/emf/ecp/view/group/swt/internal/collapsible/pgroup/PGroupRenderer.java b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/src/org/eclipse/emf/ecp/view/group/swt/internal/collapsible/pgroup/PGroupRenderer.java
index 5620fd6..8144713 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/src/org/eclipse/emf/ecp/view/group/swt/internal/collapsible/pgroup/PGroupRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/src/org/eclipse/emf/ecp/view/group/swt/internal/collapsible/pgroup/PGroupRenderer.java
@@ -25,7 +25,6 @@
 import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
 import org.eclipse.emf.ecp.view.spi.swt.layout.LayoutProviderHelper;
 import org.eclipse.emfforms.spi.common.report.ReportService;
-import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
 import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
 import org.eclipse.emfforms.spi.swt.core.layout.EMFFormsSWTLayoutUtil;
 import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
@@ -57,12 +56,11 @@
 	 * @param viewContext the view context
 	 * @param reportService the {@link ReportService}
 	 * @param factory the {@link EMFFormsRendererFactory}
-	 * @param emfFormsDatabinding The {@link EMFFormsDatabinding}
 	 */
 	@Inject
 	public PGroupRenderer(VGroup vElement, ViewModelContext viewContext, ReportService reportService,
-		EMFFormsRendererFactory factory, EMFFormsDatabinding emfFormsDatabinding) {
-		super(vElement, viewContext, reportService, factory, emfFormsDatabinding);
+		EMFFormsRendererFactory factory) {
+		super(vElement, viewContext, reportService, factory);
 	}
 
 	@Override
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/META-INF/MANIFEST.MF
index 19bdfc9..59b8a81 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/META-INF/MANIFEST.MF
@@ -2,24 +2,24 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: AlignmentGroup SWT
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.group.swt.embedded
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.alignmentgroup.internal.swt;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.group.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core.di;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.databinding.edit;bundle-version="[1.2.0,2.0.0)"
+Export-Package: org.eclipse.emf.ecp.view.alignmentgroup.internal.swt;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.group.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.databinding.edit;bundle-version="[1.2.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/embeddedGroupRendererService.xml
 Bundle-ActivationPolicy: lazy
 Import-Package: javax.inject;version="1.0.0",
-  org.eclipse.core.runtime;version="3.4.0",
-  org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.jface.databinding.swt;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0",
-  org.osgi.framework;version="1.6.0"
+ org.eclipse.core.runtime;version="3.4.0",
+ org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.jface.databinding.swt;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.osgi.framework;version="1.6.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.view.group.swt.embedded
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/pom.xml b/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/pom.xml
index 94ab449..019cdf8 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.group.ui.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.group.ui.swt/META-INF/MANIFEST.MF
index 9fac1de..ee47d79 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.ui.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.group.ui.swt/META-INF/MANIFEST.MF
@@ -2,30 +2,30 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: View Model Group UI SWT
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.group.ui.swt;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.spi.group.swt;version="1.19.0",
-  org.eclipse.emfforms.internal.group.swt;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.view.spi.group.swt;version="1.20.0",
+ org.eclipse.emfforms.internal.group.swt;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.view.group.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emf.ecp.edit.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.databinding.edit;bundle-version="[1.2.0,2.0.0)",
-  org.eclipse.core.databinding.property;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emfforms.swt.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core.di;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.view.group.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.ecp.edit.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.databinding.edit;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/groupRendererService.xml
 Bundle-ActivationPolicy: lazy
 Import-Package: javax.inject;version="1.0.0",
-  org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.databinding;version="[1.19.0,1.20.0)",
-  org.eclipse.jface.databinding.swt;version="0.0.0",
-  org.eclipse.jface.layout;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.graphics;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0"
+ org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.databinding;version="[1.20.0,1.21.0)",
+ org.eclipse.jface.databinding.swt;version="0.0.0",
+ org.eclipse.jface.layout;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.view.group.ui.swt
diff --git a/bundles/org.eclipse.emf.ecp.view.group.ui.swt/pom.xml b/bundles/org.eclipse.emf.ecp.view.group.ui.swt/pom.xml
index ab73393..3e98d38 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.ui.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.group.ui.swt/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.group.ui.swt/src/org/eclipse/emf/ecp/view/spi/group/swt/GroupSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.group.ui.swt/src/org/eclipse/emf/ecp/view/spi/group/swt/GroupSWTRenderer.java
index 2e87109..6ac652f 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.ui.swt/src/org/eclipse/emf/ecp/view/spi/group/swt/GroupSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.group.ui.swt/src/org/eclipse/emf/ecp/view/spi/group/swt/GroupSWTRenderer.java
@@ -28,7 +28,6 @@
 import org.eclipse.emf.edit.domain.EditingDomain;
 import org.eclipse.emfforms.internal.group.swt.GroupTextProperty;
 import org.eclipse.emfforms.spi.common.report.ReportService;
-import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
 import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
 import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
 import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
@@ -56,13 +55,12 @@
 	 * @param viewContext the view context
 	 * @param reportService the {@link ReportService}
 	 * @param factory the {@link EMFFormsRendererFactory}
-	 * @param emfFormsDatabinding The {@link EMFFormsDatabinding}
 	 * @since 1.6
 	 */
 	@Inject
 	public GroupSWTRenderer(VGroup vElement, ViewModelContext viewContext, ReportService reportService,
-		EMFFormsRendererFactory factory, EMFFormsDatabinding emfFormsDatabinding) {
-		super(vElement, viewContext, reportService, factory, emfFormsDatabinding);
+		EMFFormsRendererFactory factory) {
+		super(vElement, viewContext, reportService, factory);
 		dbc = new EMFDataBindingContext();
 	}
 
diff --git a/bundles/org.eclipse.emf.ecp.view.groupedgrid.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.groupedgrid.model.edit/META-INF/MANIFEST.MF
index 0c3988d..a2cb2ba 100644
--- a/bundles/org.eclipse.emf.ecp.view.groupedgrid.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.groupedgrid.model.edit/META-INF/MANIFEST.MF
@@ -2,19 +2,19 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.groupedgrid.model.edit;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.ecp.view.spi.groupedgrid.model.provider.GroupedGridEditPlugin$Implementation
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.spi.groupedgrid.model.provider;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.spi.groupedgrid.model.provider;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.groupedgrid.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.groupedgrid.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.20.0,1.21.0)"
 Automatic-Module-Name: org.eclipse.emf.ecp.view.groupedgrid.model.edit
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emf.ecp.view.groupedgrid.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.view.groupedgrid.model.edit/pom.xml
index d777b36..9bf1265 100644
--- a/bundles/org.eclipse.emf.ecp.view.groupedgrid.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.groupedgrid.model.edit/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emf.ecp.view.groupedgrid.model.edit</artifactId>
   <packaging>eclipse-plugin</packaging>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 
   <groupId>org.eclipse.emf.ecp</groupId>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.groupedgrid.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.groupedgrid.model/META-INF/MANIFEST.MF
index 8ccef3a..deb2772 100644
--- a/bundles/org.eclipse.emf.ecp.view.groupedgrid.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.groupedgrid.model/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.groupedgrid.model;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.spi.groupedgrid.model;version="1.19.0",
-  org.eclipse.emf.ecp.view.spi.groupedgrid.model.impl;version="1.19.0",
-  org.eclipse.emf.ecp.view.spi.groupedgrid.model.util;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.spi.groupedgrid.model;version="1.20.0",
+ org.eclipse.emf.ecp.view.spi.groupedgrid.model.impl;version="1.20.0",
+ org.eclipse.emf.ecp.view.spi.groupedgrid.model.util;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.view.groupedgrid.model
diff --git a/bundles/org.eclipse.emf.ecp.view.groupedgrid.model/pom.xml b/bundles/org.eclipse.emf.ecp.view.groupedgrid.model/pom.xml
index 60c223d..20004ee 100644
--- a/bundles/org.eclipse.emf.ecp.view.groupedgrid.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.groupedgrid.model/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emf.ecp.view.groupedgrid.model</artifactId>
   <packaging>eclipse-plugin</packaging>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 
   <groupId>org.eclipse.emf.ecp</groupId>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.groupedgrid.ui.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.groupedgrid.ui.swt/META-INF/MANIFEST.MF
index a65ca0a..5856ef6 100644
--- a/bundles/org.eclipse.emf.ecp.view.groupedgrid.ui.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.groupedgrid.ui.swt/META-INF/MANIFEST.MF
@@ -2,23 +2,23 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: View Model Grouped Grid UI SWT
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.groupedgrid.ui.swt;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.spi.groupedgrid.swt;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.spi.groupedgrid.swt;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.groupedgrid.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.edit.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core.di;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.groupedgrid.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.edit.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/GroupedGridSWTRendererService.xml
 Bundle-ActivationPolicy: lazy
 Import-Package: javax.inject;version="1.0.0",
-  org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.jface.layout;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.layout;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0",
-  org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
+ org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.jface.layout;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.layout;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
 Automatic-Module-Name: org.eclipse.emf.ecp.view.groupedgrid.ui.swt
diff --git a/bundles/org.eclipse.emf.ecp.view.groupedgrid.ui.swt/pom.xml b/bundles/org.eclipse.emf.ecp.view.groupedgrid.ui.swt/pom.xml
index f646ef1..dbd0acb 100644
--- a/bundles/org.eclipse.emf.ecp.view.groupedgrid.ui.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.groupedgrid.ui.swt/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.horizontal.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.horizontal.model.edit/META-INF/MANIFEST.MF
index 4c49578..df2afbc 100644
--- a/bundles/org.eclipse.emf.ecp.view.horizontal.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.horizontal.model.edit/META-INF/MANIFEST.MF
@@ -2,19 +2,19 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.horizontal.model.edit;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.ecp.view.spi.horizontal.model.provider.HorizontalEditPlugin$Implementation
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.spi.horizontal.model.provider;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.spi.horizontal.model.provider;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.view.horizontal.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emf.ecp.view.horizontal.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
 Automatic-Module-Name: org.eclipse.emf.ecp.view.horizontal.model.edit
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emf.ecp.view.horizontal.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.view.horizontal.model.edit/pom.xml
index 6eb8fc9..45826fa 100644
--- a/bundles/org.eclipse.emf.ecp.view.horizontal.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.horizontal.model.edit/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emf.ecp.view.horizontal.model.edit</artifactId>
   <packaging>eclipse-plugin</packaging>
 
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <groupId>org.eclipse.emf.ecp</groupId>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.horizontal.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.horizontal.model/META-INF/MANIFEST.MF
index f133f74..b2fb2ec 100644
--- a/bundles/org.eclipse.emf.ecp.view.horizontal.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.horizontal.model/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Horizontal View Model
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.horizontal.model;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.spi.horizontal.model;version="1.19.0",
-  org.eclipse.emf.ecp.view.spi.horizontal.model.impl;version="1.19.0",
-  org.eclipse.emf.ecp.view.spi.horizontal.model.util;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.spi.horizontal.model;version="1.20.0",
+ org.eclipse.emf.ecp.view.spi.horizontal.model.impl;version="1.20.0",
+ org.eclipse.emf.ecp.view.spi.horizontal.model.util;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.view.horizontal.model
diff --git a/bundles/org.eclipse.emf.ecp.view.horizontal.model/pom.xml b/bundles/org.eclipse.emf.ecp.view.horizontal.model/pom.xml
index cd94197..d00e2d3 100644
--- a/bundles/org.eclipse.emf.ecp.view.horizontal.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.horizontal.model/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emf.ecp.view.horizontal.model</artifactId>
   <packaging>eclipse-plugin</packaging>
 
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <groupId>org.eclipse.emf.ecp</groupId>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/META-INF/MANIFEST.MF
index 3da255e..a10993e 100644
--- a/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/META-INF/MANIFEST.MF
@@ -2,24 +2,24 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: View Model Horizontal UI SWT
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.horizontal.ui.swt
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.internal.horizontal.swt;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.spi.horizontal.swt;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.internal.horizontal.swt;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.spi.horizontal.swt;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.view.horizontal.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emf.ecp.edit;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core.di;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.view.horizontal.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.ecp.edit;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/horizontalLayoutRendererService.xml
 Bundle-ActivationPolicy: lazy
 Import-Package: javax.inject;version="1.0.0",
-  org.eclipse.emf.ecp.view.internal.core.swt;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.jface.layout;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0"
+ org.eclipse.emf.ecp.view.internal.core.swt;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.jface.layout;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.view.horizontal.ui.swt
diff --git a/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/pom.xml b/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/pom.xml
index 542c36d..75baa9b 100644
--- a/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.indexdmr.model.edit/META-INF/MANIFEST.MF
index ea888d8..66c29c1 100644
--- a/bundles/org.eclipse.emf.ecp.view.indexdmr.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.indexdmr.model.edit/META-INF/MANIFEST.MF
@@ -2,19 +2,19 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.indexdmr.model.edit;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.ecp.view.spi.indexdmr.model.provider.IndexdmrEditPlugin$Implementation
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.spi.indexdmr.model.provider;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.view.spi.indexdmr.model.provider;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.view.indexdmr.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emf.ecp.view.indexdmr.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
 Automatic-Module-Name: org.eclipse.emf.ecp.view.indexdmr.model.edit
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.view.indexdmr.model.edit/pom.xml
index a93e25b..c09b7de 100644
--- a/bundles/org.eclipse.emf.ecp.view.indexdmr.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.indexdmr.model.edit/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.indexdmr.model/META-INF/MANIFEST.MF
index dbc59a2..1811690 100644
--- a/bundles/org.eclipse.emf.ecp.view.indexdmr.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.indexdmr.model/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.indexdmr.model;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.spi.indexdmr.model;version="1.19.0",
-  org.eclipse.emf.ecp.view.spi.indexdmr.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.spi.indexdmr.model.util;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.spi.indexdmr.model;version="1.20.0",
+ org.eclipse.emf.ecp.view.spi.indexdmr.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.spi.indexdmr.model.util;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.view.indexdmr.model
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.model/pom.xml b/bundles/org.eclipse.emf.ecp.view.indexdmr.model/pom.xml
index 527fbb5..0e99c7c 100644
--- a/bundles/org.eclipse.emf.ecp.view.indexdmr.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.indexdmr.model/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.tooling/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.indexdmr.tooling/META-INF/MANIFEST.MF
index dc6a507..bf1a71d 100644
--- a/bundles/org.eclipse.emf.ecp.view.indexdmr.tooling/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.indexdmr.tooling/META-INF/MANIFEST.MF
@@ -2,35 +2,35 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms Index DMR Tooling
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.indexdmr.tooling;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.indexdmr.tooling;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.ui.view.editor.controls;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.indexdmr.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emf.ecp.ui;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.databinding;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.common.ui;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
-  org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
-  org.eclipse.emf.ecp.edit.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emfforms.core.services.emf;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core.di;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emf.ecp.view.indexdmr.tooling;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emf.ecp.ui.view.editor.controls;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.indexdmr.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.ecp.ui;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.databinding;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.common.ui;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emf.ecp.edit.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emfforms.core.services.emf;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Automatic-Module-Name: org.eclipse.emf.ecp.view.indexdmr.tooling
-Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.jface.dialogs;version="0.0.0",
-  org.eclipse.jface.resource;version="0.0.0",
-  org.eclipse.jface.viewers;version="0.0.0",
-  org.eclipse.jface.window;version="0.0.0",
-  org.eclipse.jface.wizard;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0",
-  org.osgi.service.component.annotations;version="1.2.0"
-Bundle-ActivationPolicy: lazy
 Service-Component: OSGI-INF/PrefixDmrDomainModelReferenceRendererService.xml
+Bundle-ActivationPolicy: lazy
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.jface.dialogs;version="0.0.0",
+ org.eclipse.jface.resource;version="0.0.0",
+ org.eclipse.jface.viewers;version="0.0.0",
+ org.eclipse.jface.window;version="0.0.0",
+ org.eclipse.jface.wizard;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.osgi.service.component.annotations;version="1.2.0"
+Automatic-Module-Name: org.eclipse.emf.ecp.view.indexdmr.tooling
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.tooling/pom.xml b/bundles/org.eclipse.emf.ecp.view.indexdmr.tooling/pom.xml
index 54e928e..72d8fa9 100644
--- a/bundles/org.eclipse.emf.ecp.view.indexdmr.tooling/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.indexdmr.tooling/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model.edit/META-INF/MANIFEST.MF
index 507e176..31a6f5b 100644
--- a/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model.edit/META-INF/MANIFEST.MF
@@ -2,19 +2,19 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.keyattributedmr.model.edit;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.ecp.view.spi.keyattributedmr.model.provider.KeyattributedmrEditPlugin$Implementation
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.spi.keyattributedmr.model.provider;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.view.spi.keyattributedmr.model.provider;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.keyattributedmr.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.keyattributedmr.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
 Automatic-Module-Name: org.eclipse.emf.ecp.view.keyattributedmr.model.edit
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model.edit/pom.xml
index ba8ce7c..e09ab50 100644
--- a/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model.edit/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model/META-INF/MANIFEST.MF
index 694b6ae..3f76cef 100644
--- a/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.keyattributedmr.model;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.spi.keyattributedmr.model;version="1.19.0",
-  org.eclipse.emf.ecp.view.spi.keyattributedmr.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.spi.keyattributedmr.model.util;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.spi.keyattributedmr.model;version="1.20.0",
+ org.eclipse.emf.ecp.view.spi.keyattributedmr.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.spi.keyattributedmr.model.util;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.view.keyattributedmr.model
diff --git a/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model/pom.xml b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model/pom.xml
index abf55c9..e1a4cc5 100644
--- a/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.keyattributedmr.tooling/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.tooling/META-INF/MANIFEST.MF
index b5ab43f..3aedbf4 100644
--- a/bundles/org.eclipse.emf.ecp.view.keyattributedmr.tooling/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.tooling/META-INF/MANIFEST.MF
@@ -2,36 +2,36 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Forms Key Attribute DMR Tooling
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.keyattributedmr.tooling;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.keyattributedmr.tooling;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.ui.view.editor.controls;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emf.ecp.ui;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.databinding;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.keyattributedmr.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.common.ui;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
-  org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
-  org.eclipse.emf.ecp.edit.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emfforms.swt.core.di;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emf.ecp.view.keyattributedmr.tooling;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emf.ecp.ui.view.editor.controls;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.ecp.ui;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.databinding;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.keyattributedmr.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.common.ui;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
+ org.eclipse.emf.ecp.edit.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/KeyValueControlRendererService.xml
 Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.jface.dialogs;version="0.0.0",
-  org.eclipse.jface.resource;version="0.0.0",
-  org.eclipse.jface.viewers;version="0.0.0",
-  org.eclipse.jface.window;version="0.0.0",
-  org.eclipse.jface.wizard;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0",
-  org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.jface.dialogs;version="0.0.0",
+ org.eclipse.jface.resource;version="0.0.0",
+ org.eclipse.jface.viewers;version="0.0.0",
+ org.eclipse.jface.window;version="0.0.0",
+ org.eclipse.jface.wizard;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
 Automatic-Module-Name: org.eclipse.emf.ecp.view.keyattributedmr.tooling
diff --git a/bundles/org.eclipse.emf.ecp.view.keyattributedmr.tooling/pom.xml b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.tooling/pom.xml
index a870a8e..df35528 100644
--- a/bundles/org.eclipse.emf.ecp.view.keyattributedmr.tooling/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.tooling/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.label.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.label.model.edit/META-INF/MANIFEST.MF
index 8507c21..175746c 100644
--- a/bundles/org.eclipse.emf.ecp.view.label.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.label.model.edit/META-INF/MANIFEST.MF
@@ -2,19 +2,19 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.label.model.edit;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.ecp.view.spi.label.model.provider.LabelEditPlugin$Implementation
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.spi.label.model.provider;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.spi.label.model.provider;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.label.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.label.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
 Automatic-Module-Name: org.eclipse.emf.ecp.view.label.model.edit
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emf.ecp.view.label.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.view.label.model.edit/pom.xml
index e02fdbe..95879e1 100644
--- a/bundles/org.eclipse.emf.ecp.view.label.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.label.model.edit/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emf.ecp.view.label.model.edit</artifactId>
   <packaging>eclipse-plugin</packaging>
 
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <groupId>org.eclipse.emf.ecp</groupId>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.label.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.label.model/META-INF/MANIFEST.MF
index a99a7c1..4c614ad 100644
--- a/bundles/org.eclipse.emf.ecp.view.label.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.label.model/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.label.model;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.spi.label.model;version="1.19.0",
-  org.eclipse.emf.ecp.view.spi.label.model.impl;version="1.19.0",
-  org.eclipse.emf.ecp.view.spi.label.model.util;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.spi.label.model;version="1.20.0",
+ org.eclipse.emf.ecp.view.spi.label.model.impl;version="1.20.0",
+ org.eclipse.emf.ecp.view.spi.label.model.util;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.view.label.model
diff --git a/bundles/org.eclipse.emf.ecp.view.label.model/pom.xml b/bundles/org.eclipse.emf.ecp.view.label.model/pom.xml
index 0f88d2b..be5bd9d 100644
--- a/bundles/org.eclipse.emf.ecp.view.label.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.label.model/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emf.ecp.view.label.model</artifactId>
   <packaging>eclipse-plugin</packaging>
 
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <groupId>org.eclipse.emf.ecp</groupId>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.label.ui.rap/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.label.ui.rap/META-INF/MANIFEST.MF
index 4d2691f..87ca319 100644
--- a/bundles/org.eclipse.emf.ecp.view.label.ui.rap/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.label.ui.rap/META-INF/MANIFEST.MF
@@ -2,22 +2,22 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: View Model Label Rap
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.label.rap
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.label.rap;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.view.label.rap;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.emf.ecp.view.label.ui.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.label.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core.di;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.view.label.ui.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.label.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/labelRAPRendererService.xml
 Bundle-ActivationPolicy: lazy
 Import-Package: javax.inject;version="1.0.0",
-  org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.databinding;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.swt.core;version="[1.19.0,1.20.0)",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0"
+ org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.databinding;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.swt.core;version="[1.20.0,1.21.0)",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.view.label.rap
diff --git a/bundles/org.eclipse.emf.ecp.view.label.ui.rap/pom.xml b/bundles/org.eclipse.emf.ecp.view.label.ui.rap/pom.xml
index 72660b7..3d5a51b 100644
--- a/bundles/org.eclipse.emf.ecp.view.label.ui.rap/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.label.ui.rap/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emf.ecp.view.label.rap</artifactId>
   <packaging>eclipse-plugin</packaging>
 
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <groupId>org.eclipse.emf.ecp</groupId>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.label.ui.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.label.ui.swt/META-INF/MANIFEST.MF
index 1ef714b..8b2f58c 100644
--- a/bundles/org.eclipse.emf.ecp.view.label.ui.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.label.ui.swt/META-INF/MANIFEST.MF
@@ -2,30 +2,30 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: View Model Label UI SWT
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.label.ui.swt
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.internal.label.swt;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.spi.label.swt;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.internal.label.swt;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.spi.label.swt;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.emf.ecp.view.label.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.edit.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emf.databinding.edit;bundle-version="[1.2.0,2.0.0)",
-  org.eclipse.emfforms.swt.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core.di;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.view.label.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.edit.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emf.databinding.edit;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/labelRendererService.xml
 Bundle-ActivationPolicy: lazy
 Import-Package: javax.inject;version="1.0.0",
-  org.eclipse.core.databinding.property.value;version="0.0.0",
-  org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.databinding;version="[1.19.0,1.20.0)",
-  org.eclipse.jface.databinding.swt;version="0.0.0",
-  org.eclipse.jface.layout;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.events;version="0.0.0",
-  org.eclipse.swt.graphics;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0"
+ org.eclipse.core.databinding.property.value;version="0.0.0",
+ org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.databinding;version="[1.20.0,1.21.0)",
+ org.eclipse.jface.databinding.swt;version="0.0.0",
+ org.eclipse.jface.layout;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.events;version="0.0.0",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.view.label.ui.swt
diff --git a/bundles/org.eclipse.emf.ecp.view.label.ui.swt/pom.xml b/bundles/org.eclipse.emf.ecp.view.label.ui.swt/pom.xml
index 096f84d..6b3fa84 100644
--- a/bundles/org.eclipse.emf.ecp.view.label.ui.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.label.ui.swt/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.mappingdmr.model.edit/META-INF/MANIFEST.MF
index b85664a..7d5647a 100644
--- a/bundles/org.eclipse.emf.ecp.view.mappingdmr.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.mappingdmr.model.edit/META-INF/MANIFEST.MF
@@ -2,19 +2,19 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.mappingdmr.model.edit;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.ecp.view.spi.mappingdmr.model.provider.MappingdmrEditPlugin$Implementation
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.spi.mappingdmr.model.provider;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.view.spi.mappingdmr.model.provider;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.view.mappingdmr.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore;bundle-version="[2.9.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emf.ecp.view.mappingdmr.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore;bundle-version="[2.9.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
 Automatic-Module-Name: org.eclipse.emf.ecp.view.mappingdmr.model.edit
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.view.mappingdmr.model.edit/pom.xml
index 5eafa82..b79c428 100644
--- a/bundles/org.eclipse.emf.ecp.view.mappingdmr.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.mappingdmr.model.edit/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.mappingdmr.model/META-INF/MANIFEST.MF
index d4f3524..e65fbf0 100644
--- a/bundles/org.eclipse.emf.ecp.view.mappingdmr.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.mappingdmr.model/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.mappingdmr.model;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.spi.mappingdmr.model;version="1.19.0",
-  org.eclipse.emf.ecp.view.spi.mappingdmr.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.spi.mappingdmr.model.util;version="1.19.0";x-friends:="org.eclipse.emf.ecp.view.mappingdmr.model.edit"
+Export-Package: org.eclipse.emf.ecp.view.spi.mappingdmr.model;version="1.20.0",
+ org.eclipse.emf.ecp.view.spi.mappingdmr.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.spi.mappingdmr.model.util;version="1.20.0";x-friends:="org.eclipse.emf.ecp.view.mappingdmr.model.edit"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.9.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emf.ecore;bundle-version="[2.9.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.view.mappingdmr.model
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.model/pom.xml b/bundles/org.eclipse.emf.ecp.view.mappingdmr.model/pom.xml
index ae9f6cf..8f1f526 100644
--- a/bundles/org.eclipse.emf.ecp.view.mappingdmr.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.mappingdmr.model/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.tooling/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.mappingdmr.tooling/META-INF/MANIFEST.MF
index 7cc768b..12345d4 100644
--- a/bundles/org.eclipse.emf.ecp.view.mappingdmr.tooling/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.mappingdmr.tooling/META-INF/MANIFEST.MF
@@ -2,31 +2,31 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Mapping DMR Tooling
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.mappingdmr.tooling;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.mappingdmr.tooling;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.9.0,3.0.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.databinding;bundle-version="[1.4.0,2.0.0)",
-  org.eclipse.emf.ecp.ui.view.editor.controls;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.mappingdmr.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.ui;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.common.ui;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)"
+Export-Package: org.eclipse.emf.ecp.view.mappingdmr.tooling;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.9.0,3.0.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.databinding;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emf.ecp.ui.view.editor.controls;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.mappingdmr.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.emf.ecp.ui;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.common.ui;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.mappingdmr.tooling
-Import-Package: org.eclipse.emf.ecp.edit.spi.swt.util;version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit.ui.provider;version="0.0.0",
-  org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.jface.viewers;version="0.0.0",
-  org.eclipse.jface.window;version="0.0.0",
-  org.eclipse.jface.wizard;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0",
-  org.eclipse.ui.dialogs;ui.workbench=split;version="0.0.0"
+Import-Package: org.eclipse.emf.ecp.edit.spi.swt.util;version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit.ui.provider;version="0.0.0",
+ org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.jface.viewers;version="0.0.0",
+ org.eclipse.jface.window;version="0.0.0",
+ org.eclipse.jface.wizard;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.eclipse.ui.dialogs;ui.workbench=split;version="0.0.0"
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.tooling/pom.xml b/bundles/org.eclipse.emf.ecp.view.mappingdmr.tooling/pom.xml
index 8c14d0b..b9cd7f4 100644
--- a/bundles/org.eclipse.emf.ecp.view.mappingdmr.tooling/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.mappingdmr.tooling/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.migrator/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.migrator/META-INF/MANIFEST.MF
index eed36f8..b7bfbb6 100644
--- a/bundles/org.eclipse.emf.ecp.view.migrator/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.migrator/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Migrator
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.migrator;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.spi.view.migrator;version="1.19.0",
-  org.eclipse.emf.ecp.spi.view.migrator.string;version="1.19.0",
-  org.eclipse.emf.ecp.view.migrator;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.spi.view.migrator;version="1.20.0",
+ org.eclipse.emf.ecp.spi.view.migrator.string;version="1.20.0",
+ org.eclipse.emf.ecp.view.migrator;version="1.20.0"
 Require-Bundle: org.eclipse.emf.common;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.emfforms.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)",
-  org.eclipse.core.resources;bundle-version="[3.10.0,4.0.0)"
+ org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.emfforms.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)",
+ org.eclipse.core.resources;bundle-version="[3.10.0,4.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.migrator
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.view.migrator/pom.xml b/bundles/org.eclipse.emf.ecp.view.migrator/pom.xml
index fe7527f..d5722c0 100644
--- a/bundles/org.eclipse.emf.ecp.view.migrator/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.migrator/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.migrator</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
   
   <properties>
diff --git a/bundles/org.eclipse.emf.ecp.view.model.common.di/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.model.common.di/META-INF/MANIFEST.MF
index ceaf402..47b282a 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.common.di/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.model.common.di/META-INF/MANIFEST.MF
@@ -2,20 +2,20 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Common View Model Classes for Dependency Injection
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.model.common.di;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.model.common.di.messages;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.model.common.di.renderer;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.model.common.di.service;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.model.common.di.service.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.model.common.di.util;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.view.model.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.e4.core.contexts;bundle-version="[1.3.100,2.0.0)",
-  org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.e4.core.di;bundle-version="[1.4.0,2.0.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emf.ecp.view.model.common.di.messages;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.model.common.di.renderer;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.model.common.di.service;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.model.common.di.service.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.model.common.di.util;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emf.ecp.view.model.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.e4.core.contexts;bundle-version="[1.3.100,2.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.e4.core.di;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.model.common.di
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.view.model.common.di/pom.xml b/bundles/org.eclipse.emf.ecp.view.model.common.di/pom.xml
index c0d94d6..348febf 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.common.di/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.model.common.di/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.model.common/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.model.common/META-INF/MANIFEST.MF
index eeffc2e..dd9f2f4 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.common/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.model.common/META-INF/MANIFEST.MF
@@ -2,24 +2,24 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Common View Model Classes
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.model.common
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.model.common;version="1.19.0",
-  org.eclipse.emf.ecp.view.model.common.edit.provider;version="1.19.0",
-  org.eclipse.emf.ecp.view.model.common.util;version="1.19.0",
-  org.eclipse.emf.ecp.view.spi.common.callback;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.model.common;version="1.20.0",
+ org.eclipse.emf.ecp.view.model.common.edit.provider;version="1.20.0",
+ org.eclipse.emf.ecp.view.model.common.util;version="1.20.0",
+ org.eclipse.emf.ecp.view.spi.common.callback;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.core.databinding.observable;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.core.databinding.property;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.core.databinding.observable;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.model.common
-Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.databinding;version="[1.19.0,1.20.0)",
-  org.osgi.framework;version="1.3.0"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.databinding;version="[1.20.0,1.21.0)",
+ org.osgi.framework;version="1.3.0"
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.view.model.common/pom.xml b/bundles/org.eclipse.emf.ecp.view.model.common/pom.xml
index 194cabb..e5ffafb 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.common/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.model.common/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.model.edapt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.model.edapt/META-INF/MANIFEST.MF
index eba420d..4cdb7be 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.edapt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.model.edapt/META-INF/MANIFEST.MF
@@ -2,10 +2,10 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Edapt Migration for Core View Model
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.model.edapt;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.internal.view.model.edapt._160to170;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.internal.view.model.edapt._160to170;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.emf.edapt.migration;bundle-version="[1.1.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.view.model.edapt
+Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.view.model.edapt/pom.xml b/bundles/org.eclipse.emf.ecp.view.model.edapt/pom.xml
index d5ff594..cb8ffbd 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.edapt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.model.edapt/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.model.edapt</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.model.edit/META-INF/MANIFEST.MF
index 0a4f2b9..0a1cfce 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.model.edit/META-INF/MANIFEST.MF
@@ -2,17 +2,17 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.model.edit;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.ecp.view.spi.model.provider.ViewEditPlugin$Implementation
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.spi.model.provider;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.spi.model.provider;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport
 Automatic-Module-Name: org.eclipse.emf.ecp.view.model.edit
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emf.ecp.view.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.view.model.edit/pom.xml
index bbf8e11..32990e0 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.model.edit/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.model.editor.project.installer/.classpath b/bundles/org.eclipse.emf.ecp.view.model.editor.project.installer/.classpath
index 64c5e31..eca7bdb 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.editor.project.installer/.classpath
+++ b/bundles/org.eclipse.emf.ecp.view.model.editor.project.installer/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="output" path="bin"/>
diff --git a/bundles/org.eclipse.emf.ecp.view.model.editor.project.installer/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.emf.ecp.view.model.editor.project.installer/.settings/org.eclipse.jdt.core.prefs
index 83b8580..0309974 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.editor.project.installer/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.emf.ecp.view.model.editor.project.installer/.settings/org.eclipse.jdt.core.prefs
@@ -25,9 +25,9 @@
 org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
 org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.compliance=1.8
 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -130,7 +130,7 @@
 org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
 org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
 org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.source=1.8
 org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
 org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
 org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
diff --git a/bundles/org.eclipse.emf.ecp.view.model.editor.project.installer/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.model.editor.project.installer/META-INF/MANIFEST.MF
index 8274fd1..e4405db 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.editor.project.installer/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.model.editor.project.installer/META-INF/MANIFEST.MF
@@ -2,22 +2,22 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: New View Model Project Wizard
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.model.project.installer;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.view.model.internal.project.installer.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.model.internal.project.handlers;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.model.internal.project.installer;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.view.model.internal.project.handlers;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.model.internal.project.installer;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.emf.ecp.view.model.editor;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.edit.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.editor.controls;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ide.view.service;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.resources;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.ui.ide;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.common.ui;bundle-version="[2.5.0,3.0.0)",
-  org.eclipse.emf.ecp.view.model.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ide.util;bundle-version="[1.19.0,1.20.0)"
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+ org.eclipse.emf.ecp.view.model.editor;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.edit.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.editor.controls;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ide.view.service;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.resources;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.ui.ide;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.emf.common.ui;bundle-version="[2.5.0,3.0.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ide.util;bundle-version="[1.20.0,1.21.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.model.project.installer
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.view.model.editor.project.installer/pom.xml b/bundles/org.eclipse.emf.ecp.view.model.editor.project.installer/pom.xml
index 958e111..9db3aad 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.editor.project.installer/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.model.editor.project.installer/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.model.project.installer</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.model.editor.project.installer/templates/ViewModelProjectTemplate/.project b/bundles/org.eclipse.emf.ecp.view.model.editor.project.installer/templates/ViewModelProjectTemplate/.project
index fc5d806..9fcfbab 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.editor.project.installer/templates/ViewModelProjectTemplate/.project
+++ b/bundles/org.eclipse.emf.ecp.view.model.editor.project.installer/templates/ViewModelProjectTemplate/.project
@@ -15,8 +15,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.emfforms.ide.builder.viewModelBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
 		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.emfforms.ide.builder.viewModelNature</nature>
 	</natures>
 </projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.model.editor/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.model.editor/META-INF/MANIFEST.MF
index 7e1d119..6c03f43 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.editor/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.model.editor/META-INF/MANIFEST.MF
@@ -2,26 +2,26 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.model.editor;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.ecp.view.model.presentation.ViewEditorPlugin$Implementation
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.model.actions;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.model.presentation;version="1.19.0";x-friends:="org.eclipse.emf.ecp.view.model.project.installer"
+Export-Package: org.eclipse.emf.ecp.view.model.actions;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.model.presentation;version="1.20.0";x-friends:="org.eclipse.emf.ecp.view.model.project.installer"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.core.resources;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecore.xmi;bundle-version="[2.7.0,3.0.0)",
-  org.eclipse.emf.edit.ui;bundle-version="[2.7.0,3.0.0)",
-  org.eclipse.ui.ide;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ide.view.service;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)",
-  org.eclipse.emf.ecp.edit.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.editor.controls;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ide.util;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.core.resources;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.7.0,3.0.0)",
+ org.eclipse.emf.edit.ui;bundle-version="[2.7.0,3.0.0)",
+ org.eclipse.ui.ide;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.emf.ecp.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ide.view.service;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)",
+ org.eclipse.emf.ecp.edit.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.editor.controls;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ide.util;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.view.model.editor
diff --git a/bundles/org.eclipse.emf.ecp.view.model.editor/pom.xml b/bundles/org.eclipse.emf.ecp.view.model.editor/pom.xml
index f8494e6..cb30137 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.editor/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.model.editor/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.model.editor/src/org/eclipse/emf/ecp/view/model/presentation/SelectEClassWizardPage.java b/bundles/org.eclipse.emf.ecp.view.model.editor/src/org/eclipse/emf/ecp/view/model/presentation/SelectEClassWizardPage.java
index a2cee69..2b4f77d 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.editor/src/org/eclipse/emf/ecp/view/model/presentation/SelectEClassWizardPage.java
+++ b/bundles/org.eclipse.emf.ecp.view.model.editor/src/org/eclipse/emf/ecp/view/model/presentation/SelectEClassWizardPage.java
@@ -225,10 +225,7 @@
 				children.addAll(EPackage.class.cast(parentElement).getESubpackages());
 				for (final EObject obj : EPackage.class.cast(parentElement).getEClassifiers()) {
 					if (EClass.class.isInstance(obj)) {
-						final EClass eClass = EClass.class.cast(obj);
-						if (!eClass.isAbstract() && !eClass.isInterface()) {
-							children.add(obj);
-						}
+						children.add(obj);
 					}
 				}
 				return children.toArray();
diff --git a/bundles/org.eclipse.emf.ecp.view.model.generator/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.model.generator/META-INF/MANIFEST.MF
index 13814f7..6af5391 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.generator/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.model.generator/META-INF/MANIFEST.MF
@@ -2,13 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Generator
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.model.provider.generator;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.model.generator;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.view.model.generator;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.table.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.model.provider.generator
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.view.model.generator/pom.xml b/bundles/org.eclipse.emf.ecp.view.model.generator/pom.xml
index baaae91..4ece081 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.generator/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.model.generator/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.model.generator/src/org/eclipse/emf/ecp/view/model/generator/ViewProvider.java b/bundles/org.eclipse.emf.ecp.view.model.generator/src/org/eclipse/emf/ecp/view/model/generator/ViewProvider.java
index 767c77f..c21075e 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.generator/src/org/eclipse/emf/ecp/view/model/generator/ViewProvider.java
+++ b/bundles/org.eclipse.emf.ecp.view.model.generator/src/org/eclipse/emf/ecp/view/model/generator/ViewProvider.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2018 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -22,16 +22,19 @@
 import org.eclipse.emf.ecore.EReference;
 import org.eclipse.emf.ecore.EStructuralFeature;
 import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecp.view.model.common.edit.provider.CustomReflectiveItemProviderAdapterFactory;
 import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
 import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
 import org.eclipse.emf.ecp.view.spi.model.VView;
 import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
 import org.eclipse.emf.ecp.view.spi.model.VViewModelProperties;
 import org.eclipse.emf.ecp.view.spi.provider.IViewProvider;
+import org.eclipse.emf.ecp.view.spi.table.model.VTableDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.table.model.VTableFactory;
 import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
 import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
 
 /**
  * View Provider.
@@ -44,18 +47,22 @@
 		view.setUuid(generateId(eObject.eClass(), null));
 		final ComposedAdapterFactory composedAdapterFactory = new ComposedAdapterFactory(
 			new AdapterFactory[] {
-				new ReflectiveItemProviderAdapterFactory(),
+				new CustomReflectiveItemProviderAdapterFactory(),
 				new ComposedAdapterFactory(
 					ComposedAdapterFactory.Descriptor.Registry.INSTANCE) });
 		final AdapterFactoryItemDelegator delegator = new AdapterFactoryItemDelegator(
 			composedAdapterFactory);
 		for (final EStructuralFeature feature : getValidFeatures(delegator, eObject)) {
-
-			final VControl control = VViewFactory.eINSTANCE.createControl();
-			final VFeaturePathDomainModelReference modelReference = VViewFactory.eINSTANCE
-				.createFeaturePathDomainModelReference();
-			modelReference.setDomainModelEFeature(feature);
-			control.setDomainModelReference(modelReference);
+			final VControl control;
+			if (isTableFeature(feature)) {
+				control = VTableFactory.eINSTANCE.createTableControl();
+				final VTableDomainModelReference tableDmr = VTableFactory.eINSTANCE.createTableDomainModelReference();
+				tableDmr.setDomainModelReference(createModelReference(feature));
+				control.setDomainModelReference(tableDmr);
+			} else {
+				control = VViewFactory.eINSTANCE.createControl();
+				control.setDomainModelReference(createModelReference(feature));
+			}
 			control.setReadonly(isReadOnly(delegator, eObject, feature));
 			control.setUuid(generateId(eObject.eClass(), feature));
 			view.getChildren().add(control);
@@ -66,6 +73,21 @@
 		return view;
 	}
 
+	private VDomainModelReference createModelReference(final EStructuralFeature feature) {
+		final VFeaturePathDomainModelReference modelReference = VViewFactory.eINSTANCE
+			.createFeaturePathDomainModelReference();
+		modelReference.setDomainModelEFeature(feature);
+		return modelReference;
+	}
+
+	private boolean isTableFeature(EStructuralFeature feature) {
+		if (feature instanceof EReference) {
+			final EReference ref = (EReference) feature;
+			return ref.isMany() && ref.isContainment();
+		}
+		return false;
+	}
+
 	private boolean isReadOnly(AdapterFactoryItemDelegator delegator,
 		EObject owner, EStructuralFeature feature) {
 		if (!feature.isChangeable()) {
diff --git a/bundles/org.eclipse.emf.ecp.view.model.preview.common/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.model.preview.common/META-INF/MANIFEST.MF
index 5a6b20c..8e5bceb 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.preview.common/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.model.preview.common/META-INF/MANIFEST.MF
@@ -2,28 +2,28 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: View Model Preview Common
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.model.preview.common;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.view.model.preview.common.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.model.preview.common;version="1.19.0";x-friends:="org.eclipse.emf.ecp.view.model.preview.e3,org.eclipse.emf.ecp.view.model.preview.e4"
+Export-Package: org.eclipse.emf.ecp.view.model.preview.common;version="1.20.0";x-friends:="org.eclipse.emf.ecp.view.model.preview.e3,org.eclipse.emf.ecp.view.model.preview.e4"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.ui.workbench;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.edit;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.view.model.localization;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.localization;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.ui.workbench;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.emf.ecp.edit;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.view.model.localization;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)"
 Import-Package: org.eclipse.core.resources;version="0.0.0",
-  org.eclipse.emf.ecp.ui.view.swt;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.common.locale;version="[1.19.0,1.20.0)",
-  org.eclipse.jface;version="0.0.0",
-  org.eclipse.jface.layout;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0",
-  org.osgi.service.component.annotations;version="1.2.0"
+ org.eclipse.emf.ecp.ui.view.swt;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.common.locale;version="[1.20.0,1.21.0)",
+ org.eclipse.jface;version="0.0.0",
+ org.eclipse.jface.layout;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.osgi.service.component.annotations;version="1.2.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.view.model.preview.common
 Service-Component: OSGI-INF/org.eclipse.emf.ecp.view.model.preview.common.PreviewWorkspaceViewProvider.xml
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.view.model.preview.common/pom.xml b/bundles/org.eclipse.emf.ecp.view.model.preview.common/pom.xml
index f3e2c1c..5c43990 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.preview.common/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.model.preview.common/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.model.preview.common</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.model.preview.common/src/org/eclipse/emf/ecp/view/model/preview/common/Preview.java b/bundles/org.eclipse.emf.ecp.view.model.preview.common/src/org/eclipse/emf/ecp/view/model/preview/common/Preview.java
index 9ab09fc..77ced20 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.preview.common/src/org/eclipse/emf/ecp/view/model/preview/common/Preview.java
+++ b/bundles/org.eclipse.emf.ecp.view.model.preview.common/src/org/eclipse/emf/ecp/view/model/preview/common/Preview.java
@@ -21,7 +21,10 @@
 import org.eclipse.emf.common.util.URI;
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
 import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.EcoreFactory;
+import org.eclipse.emf.ecore.impl.DynamicEObjectImpl;
 import org.eclipse.emf.ecore.resource.Resource;
 import org.eclipse.emf.ecore.resource.ResourceSet;
 import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
@@ -135,7 +138,22 @@
 				if (myPreviewEClass == null || myPreviewEClass.eIsProxy()) {
 					return;
 				}
-				dummyData = EcoreUtil.create(myPreviewEClass);
+				if (myPreviewEClass.isAbstract() || myPreviewEClass.isInterface()) {
+					final EPackage result = EcoreFactory.eINSTANCE.createEPackage();
+					result.setName("dummy"); //$NON-NLS-1$
+					result.setNsURI("dummy"); //$NON-NLS-1$
+					result.setNsPrefix("dummy"); //$NON-NLS-1$
+
+					final EClass wrapper = EcoreFactory.eINSTANCE.createEClass();
+					wrapper.getESuperTypes().add(myPreviewEClass);
+					wrapper.setName(myPreviewEClass.getName());
+					result.getEClassifiers().add(wrapper);
+					dummyData = new DynamicEObjectImpl(wrapper);
+				} else if (myPreviewEClass.getInstanceClass() == null) {
+					dummyData = new DynamicEObjectImpl(myPreviewEClass);
+				} else {
+					dummyData = EcoreUtil.create(myPreviewEClass);
+				}
 				final ResourceSet resourceSet = new ResourceSetImpl();
 				final AdapterFactoryEditingDomain domain = new AdapterFactoryEditingDomain(
 					new ComposedAdapterFactory(new AdapterFactory[] {
diff --git a/bundles/org.eclipse.emf.ecp.view.model.preview.e3/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.model.preview.e3/META-INF/MANIFEST.MF
index c96ebf0..41254eb 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.preview.e3/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.model.preview.e3/META-INF/MANIFEST.MF
@@ -2,43 +2,43 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Preview View
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.model.preview.e3;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.view.model.internal.preview.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.model.internal.preview;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.model.internal.preview.actions;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.model.internal.preview.e3.views;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.view.model.internal.preview;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.model.internal.preview.actions;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.model.internal.preview.e3.views;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.emf.ecp.view.model.preview.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.treemasterdetail.ui.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.ui.workbench;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emf.ecp.view.model.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ide.view.service;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ide.editor.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.editor.viewmodel;bundle-version="[1.19.0,1.20.0)";resolution:=optional,
-  org.eclipse.emfforms.editor;bundle-version="[1.19.0,1.20.0)";resolution:=optional
+ org.eclipse.emf.ecp.view.model.preview.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.treemasterdetail.ui.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.ui.workbench;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ide.view.service;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ide.editor.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.editor.viewmodel;bundle-version="[1.20.0,1.21.0)";resolution:=optional,
+ org.eclipse.emfforms.editor;bundle-version="[1.20.0,1.21.0)";resolution:=optional
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Import-Package: org.eclipse.core.commands;version="0.0.0",
-  org.eclipse.core.resources;version="0.0.0",
-  org.eclipse.emf.common.ui.dialogs;version="0.0.0",
-  org.eclipse.jface.action;version="0.0.0",
-  org.eclipse.jface.dialogs;version="0.0.0",
-  org.eclipse.jface.layout;version="0.0.0",
-  org.eclipse.jface.resource;version="0.0.0",
-  org.eclipse.jface.viewers;version="0.0.0",
-  org.eclipse.jface.window;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.custom;version="0.0.0",
-  org.eclipse.swt.events;version="0.0.0",
-  org.eclipse.swt.graphics;version="0.0.0",
-  org.eclipse.swt.layout;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0",
-  org.eclipse.ui;ui.workbench=split;version="0.0.0",
-  org.eclipse.ui.model;version="0.0.0",
-  org.eclipse.ui.part;ui.workbench=split;version="0.0.0",
-  org.eclipse.ui.plugin;version="0.0.0"
+ org.eclipse.core.resources;version="0.0.0",
+ org.eclipse.emf.common.ui.dialogs;version="0.0.0",
+ org.eclipse.jface.action;version="0.0.0",
+ org.eclipse.jface.dialogs;version="0.0.0",
+ org.eclipse.jface.layout;version="0.0.0",
+ org.eclipse.jface.resource;version="0.0.0",
+ org.eclipse.jface.viewers;version="0.0.0",
+ org.eclipse.jface.window;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.custom;version="0.0.0",
+ org.eclipse.swt.events;version="0.0.0",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.eclipse.swt.layout;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.eclipse.ui;ui.workbench=split;version="0.0.0",
+ org.eclipse.ui.model;version="0.0.0",
+ org.eclipse.ui.part;ui.workbench=split;version="0.0.0",
+ org.eclipse.ui.plugin;version="0.0.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.view.model.preview.e3
diff --git a/bundles/org.eclipse.emf.ecp.view.model.preview.e3/pom.xml b/bundles/org.eclipse.emf.ecp.view.model.preview.e3/pom.xml
index ba01b97..a1a0130 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.preview.e3/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.model.preview.e3/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.model.preview.e3</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.model.provider.xmi/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.model.provider.xmi/META-INF/MANIFEST.MF
index 1068a29..0acffd6 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.provider.xmi/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.model.provider.xmi/META-INF/MANIFEST.MF
@@ -2,18 +2,18 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: XMI View Model Provider
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.model.provider.xmi;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.internal.view.model.provider.xmi.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.internal.view.model.provider.xmi;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.model.provider.xmi;version="1.19.0";x-friends:="org.eclipse.emf.ecp.ui.view.editor.controls"
+Export-Package: org.eclipse.emf.ecp.internal.view.model.provider.xmi;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.model.provider.xmi;version="1.20.0";x-friends:="org.eclipse.emf.ecp.ui.view.editor.controls"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="3.8.0",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecore.xmi;bundle-version="2.8.0",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emfforms.localization;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.migrator;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;bundle-version="2.8.0",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emfforms.localization;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.migrator;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)"
 Automatic-Module-Name: org.eclipse.emf.ecp.view.model.provider.xmi
diff --git a/bundles/org.eclipse.emf.ecp.view.model.provider.xmi/pom.xml b/bundles/org.eclipse.emf.ecp.view.model.provider.xmi/pom.xml
index 632b3d0..8f3fc6c 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.provider.xmi/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.model.provider.xmi/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.model/META-INF/MANIFEST.MF
index 46f5e1b..ecebea3 100644
--- a/bundles/org.eclipse.emf.ecp.view.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.model/META-INF/MANIFEST.MF
@@ -2,20 +2,20 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.model;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.ecp.view.spi.model.impl.Activator
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.model.internal.reporting;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.spi.model;version="1.19.0",
-  org.eclipse.emf.ecp.view.spi.model.impl;version="1.19.0",
-  org.eclipse.emf.ecp.view.spi.model.reporting;version="1.19.0",
-  org.eclipse.emf.ecp.view.spi.model.util;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.model.internal.reporting;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.spi.model;version="1.20.0",
+ org.eclipse.emf.ecp.view.spi.model.impl;version="1.20.0",
+ org.eclipse.emf.ecp.view.spi.model.reporting;version="1.20.0",
+ org.eclipse.emf.ecp.view.spi.model.util;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore.xmi;bundle-version="[2.7.0,3.0.0)";visibility:=reexport
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.7.0,3.0.0)";visibility:=reexport
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.view.model
-Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)"
diff --git a/bundles/org.eclipse.emf.ecp.view.model/pom.xml b/bundles/org.eclipse.emf.ecp.view.model/pom.xml
index 310362a..2f30716 100644
--- a/bundles/org.eclipse.emf.ecp.view.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.model/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/impl/VDiagnosticImpl.java b/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/impl/VDiagnosticImpl.java
index 5b42489..880daa7 100644
--- a/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/impl/VDiagnosticImpl.java
+++ b/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/impl/VDiagnosticImpl.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -8,6 +8,7 @@
  *
  * Contributors:
  * Eugen Neufeld - initial API and implementation
+ * Christian W. Damus - bug 543160
  */
 package org.eclipse.emf.ecp.view.spi.model.impl;
 
@@ -15,14 +16,13 @@
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Comparator;
+import java.util.HashSet;
 import java.util.LinkedHashMap;
 import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
 import org.eclipse.emf.common.util.BasicEList;
 import org.eclipse.emf.common.util.Diagnostic;
 import org.eclipse.emf.common.util.EList;
@@ -53,43 +53,6 @@
  */
 // TODO performance
 public class VDiagnosticImpl extends EObjectImpl implements VDiagnostic {
-	/**
-	 * @generated NOT
-	 */
-	private final class DiagnosticAdapter extends AdapterImpl {
-		@SuppressWarnings("unchecked")
-		@Override
-		public void notifyChanged(Notification msg) {
-			super.notifyChanged(msg);
-			if (msg.getFeature() != VViewPackage.eINSTANCE.getDiagnostic_Diagnostics()) {
-				return;
-			}
-			switch (msg.getEventType()) {
-			case Notification.ADD:
-				addNewDiagnostic((Diagnostic) msg.getNewValue());
-				break;
-			case Notification.ADD_MANY:
-				if (msg.getNewValue() != null) {
-					for (final Diagnostic diagnostic : (Collection<Diagnostic>) msg.getNewValue()) {
-						addNewDiagnostic(diagnostic);
-					}
-				}
-				break;
-			case Notification.REMOVE:
-				removeOldDiagnostic((Diagnostic) msg.getOldValue());
-				break;
-			case Notification.REMOVE_MANY:
-				if (msg.getOldValue() != null) {
-					for (final Diagnostic diagnostic : (Collection<Diagnostic>) msg.getOldValue()) {
-						removeOldDiagnostic(diagnostic);
-					}
-				}
-				break;
-			default:
-				break;
-			}
-		}
-	}
 
 	/**
 	 * The cached value of the '{@link #getDiagnostics() <em>Diagnostics</em>}' attribute list.
@@ -107,46 +70,70 @@
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 *
-	 * @generated NOT
+	 * @generated
 	 */
 	protected VDiagnosticImpl() {
 		super();
-		eAdapters().add(new DiagnosticAdapter());
 	}
-	// end of custom code
 
 	private void removeOldDiagnostic(Diagnostic diagnostic) {
-		if (diagnostic == null) {
+		final EObject eObject = getDiagnosticSubject(diagnostic);
+		if (eObject == null) {
 			return;
 		}
-		final EObject eObject = (EObject) diagnostic.getData().get(0);
-		if (!diagnosticMap.containsKey(eObject)) {
-			return;
-		}
-		final Set<Diagnostic> diagnostics = diagnosticMap.get(eObject);
-		diagnostics.remove(diagnostic);
-		if (diagnostics.size() == 0) {
-			diagnosticMap.remove(eObject);
+
+		EObject parent = eObject;
+		while (parent != null) {
+			final Set<Diagnostic> diagnostics = diagnosticMap.get(parent);
+			if (diagnostics != null) {
+				diagnostics.remove(diagnostic);
+			}
+			parent = parent.eContainer();
 		}
 	}
 
 	private void addNewDiagnostic(Diagnostic diagnostic) {
-		if (diagnostic == null || diagnostic.getData().isEmpty()
-			|| !EObject.class.isInstance(diagnostic.getData().get(0))) {
+		final EObject eObject = getDiagnosticSubject(diagnostic);
+		if (eObject == null) {
 			return;
 		}
-		final EObject eObject = (EObject) diagnostic.getData().get(0);
+
 		EObject parent = eObject;
 		while (parent != null) {
-			if (!diagnosticMap.containsKey(parent)) {
-				diagnosticMap.put(parent, new LinkedHashSet<Diagnostic>());
+			Set<Diagnostic> diagnostics = diagnosticMap.get(parent);
+			if (diagnostics == null) {
+				diagnostics = new LinkedHashSet<Diagnostic>();
+				diagnosticMap.put(parent, diagnostics);
 			}
-			diagnosticMap.get(parent).add(diagnostic);
+			diagnostics.add(diagnostic);
 			parent = parent.eContainer();
 		}
 	}
 
 	/**
+	 * Get the {@link EObject} that is the subject of a {@code diagnostic}.
+	 *
+	 * @param diagnostic a purported {@link Diagnostic}
+	 * @return the object that is the first {@linkplain Diagnostic#getData() data element}
+	 *         of the {@code diagnostic}, or {@code null} if none
+	 */
+	private EObject getDiagnosticSubject(Object diagnostic) {
+		EObject result = null;
+
+		if (diagnostic instanceof Diagnostic) {
+			final Diagnostic d = (Diagnostic) diagnostic;
+			if (!d.getData().isEmpty()) {
+				final Object first = d.getData().get(0);
+				if (first instanceof EObject) {
+					result = (EObject) first;
+				}
+			}
+		}
+
+		return result;
+	}
+
+	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 *
@@ -161,17 +148,76 @@
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 *
-	 * @generated
+	 * @generated NOT
 	 */
 	@Override
 	public EList<Object> getDiagnostics() {
 		if (diagnostics == null) {
-			diagnostics = new EDataTypeUniqueEList<Object>(Object.class, this, VViewPackage.DIAGNOSTIC__DIAGNOSTICS);
+			diagnostics = new DiagnosticEList();
 		}
 		return diagnostics;
 	}
 
 	/**
+	 * Implementation of the list of diagnostics with hooks for tracking diagnostics in
+	 * the per-object sets and leveraging those sets for efficient containment testing
+	 * and duplicate filtering.
+	 */
+	@SuppressWarnings("serial")
+	private final class DiagnosticEList extends EDataTypeUniqueEList<Object> {
+		private DiagnosticEList() {
+			super(Object.class, VDiagnosticImpl.this, VViewPackage.DIAGNOSTIC__DIAGNOSTICS);
+		}
+
+		@Override
+		protected Collection<Object> getNonDuplicates(Collection<? extends Object> collection) {
+			// Our implementation of 'contains' is constant-time
+			final Collection<Object> result = new HashSet<Object>(collection.size() * 2, 0.5f);
+			for (final Object next : collection) {
+				if (!contains(next)) {
+					result.add(next);
+				}
+			}
+			return result;
+		}
+
+		@Override
+		public boolean contains(Object object) {
+			// We can leverage the efficiency of sets maintained already for
+			// unique tracking per object
+			final EObject subject = getDiagnosticSubject(object);
+			final Set<Diagnostic> diagnostics = diagnosticMap.get(subject);
+			if (diagnostics != null) {
+				return diagnostics.contains(object);
+			}
+
+			// Okay, it's not a diagnostic or it doesn't have a subject.
+			// Fall back to the default linear search
+			return super.contains(object);
+		}
+
+		@Override
+		protected void didAdd(int index, Object newObject) {
+			addNewDiagnostic((Diagnostic) newObject);
+		}
+
+		@Override
+		protected void didRemove(int index, Object oldObject) {
+			removeOldDiagnostic((Diagnostic) oldObject);
+		}
+
+		@Override
+		protected void didSet(int index, Object newObject, Object oldObject) {
+			if (newObject != oldObject) {
+				didRemove(index, oldObject);
+				didAdd(index, newObject);
+			}
+		}
+	}
+
+	// end of custom code
+
+	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 *
diff --git a/bundles/org.eclipse.emf.ecp.view.rule.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.rule.model.edit/META-INF/MANIFEST.MF
index f77e7af..11c8025 100644
--- a/bundles/org.eclipse.emf.ecp.view.rule.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.rule.model.edit/META-INF/MANIFEST.MF
@@ -2,19 +2,19 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Rule Model Edit Plugin
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.rule.model.edit;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.ecp.view.spi.rule.model.provider.RuleEditPlugin$Implementation
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.spi.rule.model.provider;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.spi.rule.model.provider;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.view.rule.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emf.ecp.view.rule.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
 Automatic-Module-Name: org.eclipse.emf.ecp.view.rule.model.edit
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emf.ecp.view.rule.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.view.rule.model.edit/pom.xml
index b6073c1..c9ef17d 100644
--- a/bundles/org.eclipse.emf.ecp.view.rule.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.rule.model.edit/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emf.ecp.view.rule.model.edit</artifactId>
   <packaging>eclipse-plugin</packaging>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 
   <groupId>org.eclipse.emf.ecp</groupId>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.rule.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.rule.model/META-INF/MANIFEST.MF
index 853fe3f..0fbd5ce 100644
--- a/bundles/org.eclipse.emf.ecp.view.rule.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.rule.model/META-INF/MANIFEST.MF
@@ -2,22 +2,22 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Rule Model Plugin
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.rule.model;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.ecp.view.spi.rule.model.Activator
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.spi.rule.model;version="1.19.0",
-  org.eclipse.emf.ecp.view.spi.rule.model.impl;version="1.19.0",
-  org.eclipse.emf.ecp.view.spi.rule.model.util;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.spi.rule.model;version="1.20.0",
+ org.eclipse.emf.ecp.view.spi.rule.model.impl;version="1.20.0",
+ org.eclipse.emf.ecp.view.spi.rule.model.util;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.databinding.observable;bundle-version="[1.4.0,2.0.0)"
+ org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.databinding.observable;bundle-version="[1.4.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.view.rule.model
-Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.databinding;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.19.0,1.20.0)"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.databinding;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.20.0,1.21.0)"
diff --git a/bundles/org.eclipse.emf.ecp.view.rule.model/model/rule.history b/bundles/org.eclipse.emf.ecp.view.rule.model/model/rule.history
index 9ae3418..783be61 100644
--- a/bundles/org.eclipse.emf.ecp.view.rule.model/model/rule.history
+++ b/bundles/org.eclipse.emf.ecp.view.rule.model/model/rule.history
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <history:History xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:history="http://www.eclipse.org/emf/edapt/history/0.3" xmi:id="_g9tCoH_iEeaZjMd1mcUoMw">
-  <releases xmi:id="_g9528H_iEeaZjMd1mcUoMw" date="2014-08-28T05:34:24.390-0400" label="140">
+  <releases xmi:id="_g9528H_iEeaZjMd1mcUoMw" date="2014-08-28T11:34:24.390+0200" label="140">
     <changes xsi:type="history:CompositeChange" xmi:id="_g97FEH_iEeaZjMd1mcUoMw">
       <changes xsi:type="history:Create" xmi:id="_g98TMH_iEeaZjMd1mcUoMw">
         <element href="rule.ecore#/"/>
@@ -245,8 +245,6 @@
         <parameters xmi:id="_g-cCdX_iEeaZjMd1mcUoMw" name="opposite"/>
       </operation>
     </changes>
-  </releases>
-  <releases xmi:id="_g-cpgH_iEeaZjMd1mcUoMw">
     <changes xsi:type="history:OperationChange" xmi:id="_EI8oYH_jEeaZjMd1mcUoMw">
       <changes xsi:type="history:Create" xmi:id="_EI9PcH_jEeaZjMd1mcUoMw" referenceName="eClassifiers">
         <target href="rule.ecore#/"/>
@@ -870,4 +868,5 @@
       </operation>
     </changes>
   </releases>
+  <releases xmi:id="_g-cpgH_iEeaZjMd1mcUoMw"/>
 </history:History>
diff --git a/bundles/org.eclipse.emf.ecp.view.rule.model/pom.xml b/bundles/org.eclipse.emf.ecp.view.rule.model/pom.xml
index 6c64749..fc5e85a 100644
--- a/bundles/org.eclipse.emf.ecp.view.rule.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.rule.model/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emf.ecp.view.rule.model</artifactId>
   <packaging>eclipse-plugin</packaging>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 
   <groupId>org.eclipse.emf.ecp</groupId>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.rule/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.rule/META-INF/MANIFEST.MF
index e1fa6f1..ef0cd61 100644
--- a/bundles/org.eclipse.emf.ecp.view.rule/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.rule/META-INF/MANIFEST.MF
@@ -2,17 +2,17 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: View Model Rule
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.rule;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.internal.rule;version="1.19.0";x-friends:="org.eclipse.emf.ecp.view.rule.test,org.eclipse.emf.ecp.view.model.integrationtest,org.eclipse.emf.ecp.view.unset.test",
-  org.eclipse.emf.ecp.view.spi.rule;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.internal.rule;version="1.20.0";x-friends:="org.eclipse.emf.ecp.view.rule.test,org.eclipse.emf.ecp.view.model.integrationtest,org.eclipse.emf.ecp.view.unset.test",
+ org.eclipse.emf.ecp.view.spi.rule;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.rule.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.emf;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.rule.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.emf;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/org.eclipse.emf.ecp.view.internal.rule.OrConditionService.xml,
  OSGI-INF/org.eclipse.emf.ecp.view.internal.rule.LeafConditionService.xml,
@@ -24,7 +24,7 @@
  OSGI-INF/org.eclipse.emf.ecp.view.internal.rule.TrueConditionService.xml,
  OSGI-INF/org.eclipse.emf.ecp.view.internal.rule.IsProxyConditionService.xml
 Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.view;version="[1.19.0,1.20.0)",
-  org.osgi.service.component.annotations;version="1.2.0"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.view;version="[1.20.0,1.21.0)",
+ org.osgi.service.component.annotations;version="1.2.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.view.rule
diff --git a/bundles/org.eclipse.emf.ecp.view.rule/pom.xml b/bundles/org.eclipse.emf.ecp.view.rule/pom.xml
index 7dff4a0..ecf564a 100644
--- a/bundles/org.eclipse.emf.ecp.view.rule/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.rule/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emf.ecp.view.rule</artifactId>
   <packaging>eclipse-plugin</packaging>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   
diff --git a/bundles/org.eclipse.emf.ecp.view.section.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.section.model.edit/META-INF/MANIFEST.MF
index f120a12..f62876f 100644
--- a/bundles/org.eclipse.emf.ecp.view.section.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.section.model.edit/META-INF/MANIFEST.MF
@@ -2,19 +2,19 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.section.model.edit;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.ecp.view.spi.section.model.provider.SectionEditPlugin$Implementation
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.spi.section.model.provider;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.spi.section.model.provider;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.view.section.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emf.ecp.view.section.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
 Automatic-Module-Name: org.eclipse.emf.ecp.view.section.model.edit
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emf.ecp.view.section.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.view.section.model.edit/pom.xml
index 735ed5f..36997c7 100644
--- a/bundles/org.eclipse.emf.ecp.view.section.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.section.model.edit/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.section.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.section.model/META-INF/MANIFEST.MF
index f41ae54..f3ea307 100644
--- a/bundles/org.eclipse.emf.ecp.view.section.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.section.model/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.section.model;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.spi.section.model;version="1.19.0",
-  org.eclipse.emf.ecp.view.spi.section.model.impl;version="1.19.0",
-  org.eclipse.emf.ecp.view.spi.section.model.util;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.spi.section.model;version="1.20.0",
+ org.eclipse.emf.ecp.view.spi.section.model.impl;version="1.20.0",
+ org.eclipse.emf.ecp.view.spi.section.model.util;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.view.section.model
diff --git a/bundles/org.eclipse.emf.ecp.view.section.model/pom.xml b/bundles/org.eclipse.emf.ecp.view.section.model/pom.xml
index 56d11d5..fa231e9 100644
--- a/bundles/org.eclipse.emf.ecp.view.section.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.section.model/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.section.ui.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.section.ui.swt/META-INF/MANIFEST.MF
index a704165..22c907f 100644
--- a/bundles/org.eclipse.emf.ecp.view.section.ui.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.section.ui.swt/META-INF/MANIFEST.MF
@@ -2,35 +2,36 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: View Model Section UI SWT
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.section.ui.swt;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.view.internal.section.ui.swt.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.internal.section.swt;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.internal.section.ui.swt;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.spi.section.swt;version="1.19.0"
-Require-Bundle: org.eclipse.emf.ecp.view.section.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
-  org.eclipse.emfforms.swt.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core.di;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.view.annotation.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emf.ecp.view.internal.section.swt;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.internal.section.ui.swt;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.spi.section.swt;version="1.20.0"
+Require-Bundle: org.eclipse.emf.ecp.view.section.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.view.annotation.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.databinding.beans;bundle-version="[1.3.0,2.0.0)"
 Import-Package: javax.inject;version="1.0.0",
-  org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.jface.databinding.swt;version="0.0.0",
-  org.eclipse.jface.layout;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.graphics;version="0.0.0",
-  org.eclipse.swt.layout;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0",
-  org.eclipse.ui.forms.events;version="0.0.0",
-  org.eclipse.ui.forms.widgets;version="0.0.0",
-  org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
+ org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.jface.databinding.swt;version="0.0.0",
+ org.eclipse.jface.layout;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.eclipse.swt.layout;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.eclipse.ui.forms.events;version="0.0.0",
+ org.eclipse.ui.forms.widgets;version="0.0.0",
+ org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
 Automatic-Module-Name: org.eclipse.emf.ecp.view.section.ui.swt
 Service-Component: OSGI-INF/SectionLeafSWTRendererService.xml,OSGI-INF/SectionNodeSWTRendererService.xml,OSGI-INF/SectionedAreaSWTRendererService.xml
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.view.section.ui.swt/pom.xml b/bundles/org.eclipse.emf.ecp.view.section.ui.swt/pom.xml
index fd05069..88c699d 100644
--- a/bundles/org.eclipse.emf.ecp.view.section.ui.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.section.ui.swt/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.section.ui.swt/src/org/eclipse/emf/ecp/view/spi/section/swt/SectionLeafSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.section.ui.swt/src/org/eclipse/emf/ecp/view/spi/section/swt/SectionLeafSWTRenderer.java
index 647844a..c897f0e 100644
--- a/bundles/org.eclipse.emf.ecp.view.section.ui.swt/src/org/eclipse/emf/ecp/view/spi/section/swt/SectionLeafSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.section.ui.swt/src/org/eclipse/emf/ecp/view/spi/section/swt/SectionLeafSWTRenderer.java
@@ -80,13 +80,20 @@
 			.extendedMargins(computeLeftMargin(), 0, 0, 0)
 			.applyTo(composite);
 
+		final EditingDomain editingDomain = AdapterFactoryEditingDomain.getEditingDomainFor(getVElement());
 		final Label label = new Label(composite, getLabelStyleBits());
-		final String text = getVElement().getName() == null ? "" //$NON-NLS-1$
-			: getVElement().getName();
-		label.setText(text);
+
+		final IObservableValue modelLabelValue = EMFEditObservables.observeValue(
+			editingDomain,
+			getVElement(),
+			VViewPackage.eINSTANCE.getElement_Label());
+
+		final IObservableValue textObservable = WidgetProperties.text().observe(label);
+
+		getDataBindingContext().bindValue(textObservable, modelLabelValue);
+
 		GridDataFactory.fillDefaults().grab(true, false).applyTo(label);
 
-		final EditingDomain editingDomain = AdapterFactoryEditingDomain.getEditingDomainFor(getVElement());
 		final IObservableValue modelTooltipValue = EMFEditObservables.observeValue(
 			editingDomain,
 			getVElement(),
diff --git a/bundles/org.eclipse.emf.ecp.view.section.ui.swt/src/org/eclipse/emf/ecp/view/spi/section/swt/SectionNodeSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.section.ui.swt/src/org/eclipse/emf/ecp/view/spi/section/swt/SectionNodeSWTRenderer.java
index 412ef05..dfa44f3 100644
--- a/bundles/org.eclipse.emf.ecp.view.section.ui.swt/src/org/eclipse/emf/ecp/view/spi/section/swt/SectionNodeSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.section.ui.swt/src/org/eclipse/emf/ecp/view/spi/section/swt/SectionNodeSWTRenderer.java
@@ -19,7 +19,9 @@
 
 import javax.inject.Inject;
 
+import org.eclipse.core.databinding.beans.PojoProperties;
 import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.core.databinding.observable.value.WritableValue;
 import org.eclipse.emf.databinding.edit.EMFEditObservables;
 import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
 import org.eclipse.emf.ecp.view.spi.model.ModelChangeListener;
@@ -258,12 +260,21 @@
 		setExpandableComposite(new ExpandableComposite(
 			composite, SWT.NONE, ExpandableComposite.TWISTIE));
 		getExpandableComposite().setExpanded(!getVElement().isCollapsed());
-		final String text = getVElement().getName() == null ? "" //$NON-NLS-1$
-			: getVElement().getName();
-		getExpandableComposite().setText(text);
+		final EditingDomain editingDomain = AdapterFactoryEditingDomain.getEditingDomainFor(getVElement());
+
+		final IObservableValue modelLabelValue = EMFEditObservables.observeValue(
+			editingDomain,
+			getVElement(),
+			VViewPackage.eINSTANCE.getElement_Label());
+		final String text = "text"; //$NON-NLS-1$
+		final WritableValue value = new WritableValue(text, String.class);
+		final IObservableValue textObservable = PojoProperties.value(ExpandableComposite.class, text, String.class)
+			.observe(expandableComposite);
+
+		getDataBindingContext().bindValue(textObservable, modelLabelValue);
+
 		initExpandableComposite(getExpandableComposite());
 
-		final EditingDomain editingDomain = AdapterFactoryEditingDomain.getEditingDomainFor(getVElement());
 		final IObservableValue modelTooltipValue = EMFEditObservables.observeValue(
 			editingDomain,
 			getVElement(),
diff --git a/bundles/org.eclipse.emf.ecp.view.stack.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.stack.model.edit/META-INF/MANIFEST.MF
index 7f53f83..1954fe5 100644
--- a/bundles/org.eclipse.emf.ecp.view.stack.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.stack.model.edit/META-INF/MANIFEST.MF
@@ -2,19 +2,19 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.stack.model.edit;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.ecp.view.spi.stack.model.provider.StackEditPlugin$Implementation
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
 Export-Package: org.eclipse.emf.ecp.view.spi.stack.model.provider;version="0.1.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.view.stack.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore.edit;bundle-version="[2.6.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emf.ecp.view.stack.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.edit;bundle-version="[2.6.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
 Automatic-Module-Name: org.eclipse.emf.ecp.view.stack.model.edit
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emf.ecp.view.stack.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.view.stack.model.edit/pom.xml
index edc9cf7..afe568a 100644
--- a/bundles/org.eclipse.emf.ecp.view.stack.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.stack.model.edit/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.stack.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.stack.model/META-INF/MANIFEST.MF
index 10d7349..efd0b22 100644
--- a/bundles/org.eclipse.emf.ecp.view.stack.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.stack.model/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.stack.model;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
 Export-Package: org.eclipse.emf.ecp.view.spi.stack.model;version="0.1.0",
-  org.eclipse.emf.ecp.view.spi.stack.model.impl;version="0.1.0",
-  org.eclipse.emf.ecp.view.spi.stack.model.util;version="0.1.0"
+ org.eclipse.emf.ecp.view.spi.stack.model.impl;version="0.1.0",
+ org.eclipse.emf.ecp.view.spi.stack.model.util;version="0.1.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.view.stack.model
diff --git a/bundles/org.eclipse.emf.ecp.view.stack.model/pom.xml b/bundles/org.eclipse.emf.ecp.view.stack.model/pom.xml
index e0abf8e..ac5a013 100644
--- a/bundles/org.eclipse.emf.ecp.view.stack.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.stack.model/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/META-INF/MANIFEST.MF
index 37ac887..9ca59c7 100644
--- a/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/META-INF/MANIFEST.MF
@@ -2,28 +2,28 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.stack.ui.swt;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.view.internal.stack.ui.swt.Activator
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.internal.stack.ui.swt;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.spi.stack.ui.swt;version="1.19.0"
-Require-Bundle: org.eclipse.emf.ecp.view.stack.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.localization;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.databinding.observable;bundle-version="[1.4.0,2.0.0)",
-  org.eclipse.emfforms.swt.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core.di;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emf.ecp.view.internal.stack.ui.swt;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.spi.stack.ui.swt;version="1.20.0"
+Require-Bundle: org.eclipse.emf.ecp.view.stack.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.databinding.observable;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.view.stack.ui.swt
 Service-Component: OSGI-INF/SWTStackLayoutRendererService.xml,OSGI-INF/stackItemRendererService.xml
 Import-Package: javax.inject;version="1.0.0",
-  org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.databinding;version="[1.19.0,1.20.0)",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.custom;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0",
-  org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
+ org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.databinding;version="[1.20.0,1.21.0)",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.custom;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
diff --git a/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/pom.xml b/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/pom.xml
index ddb7579..709b5b4 100644
--- a/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/src/org/eclipse/emf/ecp/view/spi/stack/ui/swt/SWTStackItemRenderer.java b/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/src/org/eclipse/emf/ecp/view/spi/stack/ui/swt/SWTStackItemRenderer.java
index 98d4c96..cbc543d 100644
--- a/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/src/org/eclipse/emf/ecp/view/spi/stack/ui/swt/SWTStackItemRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/src/org/eclipse/emf/ecp/view/spi/stack/ui/swt/SWTStackItemRenderer.java
@@ -20,7 +20,6 @@
 import org.eclipse.emf.ecp.view.spi.model.VContainedElement;
 import org.eclipse.emf.ecp.view.spi.stack.model.VStackItem;
 import org.eclipse.emfforms.spi.common.report.ReportService;
-import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
 import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
 
 /**
@@ -38,14 +37,13 @@
 	 * @param viewContext the view context
 	 * @param reportService the {@link ReportService}
 	 * @param factory the {@link EMFFormsRendererFactory}
-	 * @param emfFormsDatabinding The {@link EMFFormsDatabinding}
 	 * @since 1.6
 	 */
 	@Inject
 	public SWTStackItemRenderer(VStackItem vElement, ViewModelContext viewContext,
 		ReportService reportService,
-		EMFFormsRendererFactory factory, EMFFormsDatabinding emfFormsDatabinding) {
-		super(vElement, viewContext, reportService, factory, emfFormsDatabinding);
+		EMFFormsRendererFactory factory) {
+		super(vElement, viewContext, reportService, factory);
 	}
 
 	private static final String LAYOUT_STACK_ITEM = "org_eclipse_emf_ecp_ui_layout_stackitem"; //$NON-NLS-1$
diff --git a/bundles/org.eclipse.emf.ecp.view.stack.viewmodel/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.stack.viewmodel/META-INF/MANIFEST.MF
index 1844adf..d04330e 100644
--- a/bundles/org.eclipse.emf.ecp.view.stack.viewmodel/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.stack.viewmodel/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Stack Layout Viewmodel
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.stack.viewmodel;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Require-Bundle: org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.19.0,1.20.0)"
+Require-Bundle: org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.20.0,1.21.0)"
 Automatic-Module-Name: org.eclipse.emf.ecp.view.stack.viewmodel
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emf.ecp.view.stack.viewmodel/pom.xml b/bundles/org.eclipse.emf.ecp.view.stack.viewmodel/pom.xml
index f257745..ed73c79 100644
--- a/bundles/org.eclipse.emf.ecp.view.stack.viewmodel/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.stack.viewmodel/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.swt.layout/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.swt.layout/META-INF/MANIFEST.MF
index 1039479..a80f967 100644
--- a/bundles/org.eclipse.emf.ecp.view.swt.layout/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.swt.layout/META-INF/MANIFEST.MF
@@ -2,17 +2,17 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Default LayoutProvider
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.swt.layout;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.swt.internal.layout;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emf.ecp.view.swt.internal.layout;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/org.eclipse.emf.ecp.view.swt.internal.layout.ECPLayoutProvider.xml
 Bundle-ActivationPolicy: lazy
 Import-Package: org.eclipse.jface.layout;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.graphics;version="0.0.0",
-  org.eclipse.swt.layout;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0",
-  org.osgi.service.component.annotations;version="1.2.0"
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.eclipse.swt.layout;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.osgi.service.component.annotations;version="1.2.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.view.swt.layout
diff --git a/bundles/org.eclipse.emf.ecp.view.swt.layout/pom.xml b/bundles/org.eclipse.emf.ecp.view.swt.layout/pom.xml
index a4cd9c0..9506691 100644
--- a/bundles/org.eclipse.emf.ecp.view.swt.layout/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.swt.layout/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emf.ecp.view.swt.layout</artifactId>
   <packaging>eclipse-plugin</packaging>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.celleditor.rcp/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.table.celleditor.rcp/META-INF/MANIFEST.MF
index 82525d7..abee022 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.celleditor.rcp/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.table.celleditor.rcp/META-INF/MANIFEST.MF
@@ -2,18 +2,18 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Table UI SWT Additional Cell Editors for Non-RAP Applications
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.table.celleditor.rcp;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.internal.table.celleditor.rcp;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.spi.table.celleditor.rcp;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.view.internal.table.celleditor.rcp;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.spi.table.celleditor.rcp;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.jface;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.edit.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
-  org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.jface.databinding;bundle-version="[1.4.0,2.0.0)",
-  org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)"
+ org.eclipse.emf.ecp.edit.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.jface.databinding;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.table.celleditor.rcp
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.view.table.celleditor.rcp/pom.xml b/bundles/org.eclipse.emf.ecp.view.table.celleditor.rcp/pom.xml
index f8bac4c..cc6136f 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.celleditor.rcp/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.table.celleditor.rcp/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.table.celleditor.rcp</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.columnservice/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.table.columnservice/META-INF/MANIFEST.MF
index 4b55f49..08aa344 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.columnservice/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.table.columnservice/META-INF/MANIFEST.MF
@@ -2,17 +2,17 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP View Table Column Service
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.table.columnservice;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.view.internal.table.columnservice.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.internal.table.columnservice;version="1.19.0";x-friends:="org.eclipse.emf.ecp.view.table.ui.swt.test"
-Require-Bundle: org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.table.model;bundle-version="[1.19.0,1.20.0)",
+Export-Package: org.eclipse.emf.ecp.view.internal.table.columnservice;version="1.20.0";x-friends:="org.eclipse.emf.ecp.view.table.ui.swt.test"
+Require-Bundle: org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.table.model;bundle-version="[1.20.0,1.21.0)",
  org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
-  org.eclipse.emfforms.view.multisegment.model;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emfforms.view.multisegment.model;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)"
 Automatic-Module-Name: org.eclipse.emf.ecp.view.table.columnservice
diff --git a/bundles/org.eclipse.emf.ecp.view.table.columnservice/pom.xml b/bundles/org.eclipse.emf.ecp.view.table.columnservice/pom.xml
index 52645e3..31c20f2 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.columnservice/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.table.columnservice/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emf.ecp.view.table.columnservice</artifactId>
   <packaging>eclipse-plugin</packaging>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.edapt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.table.edapt/META-INF/MANIFEST.MF
index d26cf3e..f3ad52d 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.edapt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.table.edapt/META-INF/MANIFEST.MF
@@ -2,10 +2,10 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Edapt Migration for Table View Model
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.table.edapt;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.table.edapt._140to150;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.view.table.edapt._140to150;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.emf.edapt.migration;bundle-version="[1.0.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.view.table.edapt
+Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.view.table.edapt/pom.xml b/bundles/org.eclipse.emf.ecp.view.table.edapt/pom.xml
index 85d695a..6a64ea3 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.edapt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.table.edapt/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.table.edapt</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.table.model.edit/META-INF/MANIFEST.MF
index fe2905a..3469ffe 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.table.model.edit/META-INF/MANIFEST.MF
@@ -2,19 +2,19 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.table.model.edit;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.ecp.view.spi.table.model.provider.TableEditPlugin$Implementation
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.spi.table.model.provider;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.spi.table.model.provider;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.view.table.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emf.ecp.view.table.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
 Automatic-Module-Name: org.eclipse.emf.ecp.view.table.model.edit
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emf.ecp.view.table.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.view.table.model.edit/pom.xml
index b56c4f9..636c283 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.table.model.edit/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emf.ecp.view.table.model.edit</artifactId>
   <packaging>eclipse-plugin</packaging>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.model.edit/src/org/eclipse/emf/ecp/view/spi/table/model/provider/TableControlItemProvider.java b/bundles/org.eclipse.emf.ecp.view.table.model.edit/src/org/eclipse/emf/ecp/view/spi/table/model/provider/TableControlItemProvider.java
index ea77172..4672333 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.model.edit/src/org/eclipse/emf/ecp/view/spi/table/model/provider/TableControlItemProvider.java
+++ b/bundles/org.eclipse.emf.ecp.view.table.model.edit/src/org/eclipse/emf/ecp/view/spi/table/model/provider/TableControlItemProvider.java
@@ -34,7 +34,7 @@
  * This is the item provider adapter for a {@link org.eclipse.emf.ecp.view.spi.table.model.VTableControl} object.
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
- *
+ * 
  * @generated
  */
 public class TableControlItemProvider
@@ -43,7 +43,7 @@
 	 * This constructs an instance from a factory and a notifier.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
+	 * 
 	 * @generated
 	 */
 	public TableControlItemProvider(AdapterFactory adapterFactory) {
@@ -54,7 +54,7 @@
 	 * This returns the property descriptors for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
+	 * 
 	 * @generated
 	 */
 	@Override
@@ -76,7 +76,7 @@
 	 * This adds a property descriptor for the Add Remove Disabled feature.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
+	 * 
 	 * @generated
 	 */
 	protected void addAddRemoveDisabledPropertyDescriptor(Object object) {
@@ -99,7 +99,7 @@
 	 * This adds a property descriptor for the Move Up Down Disabled feature.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
+	 * 
 	 * @generated
 	 */
 	protected void addMoveUpDownDisabledPropertyDescriptor(Object object) {
@@ -122,7 +122,7 @@
 	 * This adds a property descriptor for the Detail Editing feature.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
+	 * 
 	 * @generated
 	 */
 	protected void addDetailEditingPropertyDescriptor(Object object) {
@@ -145,7 +145,7 @@
 	 * This adds a property descriptor for the Detail View feature.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
+	 * 
 	 * @generated
 	 */
 	protected void addDetailViewPropertyDescriptor(Object object) {
@@ -168,7 +168,7 @@
 	 * This adds a property descriptor for the Enable Detail Editing Dialog feature.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
+	 * 
 	 * @generated
 	 */
 	protected void addEnableDetailEditingDialogPropertyDescriptor(Object object) {
@@ -193,9 +193,7 @@
 	 *
 	 * @since 1.18
 	 *        <!-- end-user-doc -->
-	 *
 	 * @generated
-	 *
 	 */
 	protected void addDuplicateDisabledPropertyDescriptor(Object object) {
 		itemPropertyDescriptors
@@ -219,7 +217,7 @@
 	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
+	 * 
 	 * @generated
 	 */
 	@Override
@@ -235,7 +233,7 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
+	 * 
 	 * @generated
 	 */
 	@Override
@@ -250,7 +248,7 @@
 	 * This returns TableControl.gif.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
+	 * 
 	 * @generated
 	 */
 	@Override
@@ -280,7 +278,7 @@
 	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
+	 * 
 	 * @generated
 	 */
 	@Override
@@ -308,7 +306,7 @@
 	 * that can be created under this object.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
+	 * 
 	 * @generated
 	 */
 	@Override
@@ -326,9 +324,6 @@
 
 		newChildDescriptors.add(createChildParameter(VTablePackage.Literals.TABLE_CONTROL__COLUMN_CONFIGURATIONS,
 			VTableFactory.eINSTANCE.createEnablementConfiguration()));
-
-		newChildDescriptors.add(createChildParameter(VTablePackage.Literals.TABLE_CONTROL__DETAIL_VIEW,
-			VViewFactory.eINSTANCE.createView()));
 	}
 
 }
diff --git a/bundles/org.eclipse.emf.ecp.view.table.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.table.model/META-INF/MANIFEST.MF
index df8f9ab..d6d0a69 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.table.model/META-INF/MANIFEST.MF
@@ -2,30 +2,28 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.table.model;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.ecp.view.internal.table.model.Activator
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.internal.table.generator;version="1.19.0";
-  x-friends:="org.eclipse.emf.ecp.view.table.columnservice,
-   org.eclipse.emf.ecp.view.table.editor",
-  org.eclipse.emf.ecp.view.internal.table.model;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.spi.table.model;version="1.19.0",
-  org.eclipse.emf.ecp.view.spi.table.model.impl;version="1.19.0",
-  org.eclipse.emf.ecp.view.spi.table.model.util;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.internal.table.generator;version="1.20.0";x-friends:="org.eclipse.emf.ecp.view.table.columnservice,org.eclipse.emf.ecp.view.table.editor",
+ org.eclipse.emf.ecp.view.internal.table.model;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.spi.table.model;version="1.20.0",
+ org.eclipse.emf.ecp.view.spi.table.model.impl;version="1.20.0",
+ org.eclipse.emf.ecp.view.spi.table.model.util;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
-  org.eclipse.emfforms.view.multisegment.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit;bundle-version="[2.12.0,3.0.0)"
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emfforms.view.multisegment.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit;bundle-version="[2.12.0,3.0.0)"
 Import-Package: org.eclipse.emf.databinding;version="0.0.0",
-  org.eclipse.emf.ecp.common.spi.asserts;version="1.19.0",
-  org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.19.0,1.20.0)",
-  org.osgi.service.component.annotations;version="1.2.0"
+ org.eclipse.emf.ecp.common.spi.asserts;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.20.0,1.21.0)",
+ org.osgi.service.component.annotations;version="1.2.0"
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.view.table.model
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emf.ecp.view.table.model/model/table.genmodel b/bundles/org.eclipse.emf.ecp.view.table.model/model/table.genmodel
index da86eae..49afeae 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.model/model/table.genmodel
+++ b/bundles/org.eclipse.emf.ecp.view.table.model/model/table.genmodel
@@ -4,7 +4,7 @@
     modelDirectory="/org.eclipse.emf.ecp.view.table.model/src" modelPluginID="org.eclipse.emf.ecp.view.table.model"
     modelName="Table" nonNLSMarkers="true" codeFormatting="true" commentFormatting="true"
     importerID="org.eclipse.emf.importer.ecore" complianceLevel="6.0" copyrightFields="false"
-    usedGenPackages="../../org.eclipse.emf.ecp.view.model/model/view.genmodel#//model"
+    usedGenPackages="../../org.eclipse.emf.ecp.view.model/model/view.genmodel#//model ../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore"
     interfaceNamePattern="V{0}" classNamePattern="V{0}Impl">
   <foreignModel>table.ecore</foreignModel>
   <genPackages prefix="Table" basePackage="org.eclipse.emf.ecp.view.spi" disposableProviderFactory="true"
@@ -19,10 +19,12 @@
     </genEnums>
     <genClasses ecoreClass="table.ecore#//TableControl">
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute table.ecore#//TableControl/addRemoveDisabled"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute table.ecore#//TableControl/moveUpDownDisabled"/>
       <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference table.ecore#//TableControl/columnConfigurations"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute table.ecore#//TableControl/detailEditing"/>
-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference table.ecore#//TableControl/detailView"/>
+      <genFeatures children="true" createChild="false" ecoreFeature="ecore:EReference table.ecore#//TableControl/detailView"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute table.ecore#//TableControl/enableDetailEditingDialog"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute table.ecore#//TableControl/duplicateDisabled"/>
     </genClasses>
     <genClasses image="false" ecoreClass="table.ecore#//TableColumnConfiguration"/>
     <genClasses ecoreClass="table.ecore#//TableDomainModelReference">
diff --git a/bundles/org.eclipse.emf.ecp.view.table.model/pom.xml b/bundles/org.eclipse.emf.ecp.view.table.model/pom.xml
index d239543..ad5246f 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.table.model/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emf.ecp.view.table.model</artifactId>
   <packaging>eclipse-plugin</packaging>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.nebula.grid/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.table.ui.nebula.grid/META-INF/MANIFEST.MF
index 1dfdc09..d27fccc 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.ui.nebula.grid/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.nebula.grid/META-INF/MANIFEST.MF
@@ -2,56 +2,56 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Forms Nebula Grid Table UI
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.table.ui.nebula.grid;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-Localization: OSGI-INF/l10n/bundle
-Export-Package: org.eclipse.emf.ecp.view.internal.table.nebula.grid;version="1.19.0",
-  org.eclipse.emf.ecp.view.spi.table.nebula.grid;version="1.19.0"
-Require-Bundle: org.eclipse.emf.ecp.edit.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emfforms.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.commands;bundle-version="[3.5.0,4.0.0)",
-  org.eclipse.emfforms.swt.core.di;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.table.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.table;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.table.ui.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emf.ecp.view.internal.table.nebula.grid;version="1.20.0",
+ org.eclipse.emf.ecp.view.spi.table.nebula.grid;version="1.20.0"
+Require-Bundle: org.eclipse.emf.ecp.edit.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emfforms.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.commands;bundle-version="[3.5.0,4.0.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.table.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.table;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.table.ui.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)"
 Import-Package: javax.inject;version="1.0.0",
-  org.eclipse.emf.ecp.view.spi.table.model;version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.spi.table.swt;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.localization;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.swt.core.di;version="[1.19.0,1.20.0)",
-  org.eclipse.jface.action;version="0.0.0",
-  org.eclipse.jface.databinding.swt;version="0.0.0",
-  org.eclipse.jface.databinding.viewers;version="0.0.0",
-  org.eclipse.jface.dialogs;version="0.0.0",
-  org.eclipse.jface.layout;version="0.0.0",
-  org.eclipse.jface.resource;version="0.0.0",
-  org.eclipse.jface.viewers;version="0.0.0",
-  org.eclipse.jface.window;version="0.0.0",
-  org.eclipse.nebula.jface.gridviewer;version="0.0.0",
-  org.eclipse.nebula.widgets.grid;version="0.0.0",
-  org.eclipse.nebula.widgets.grid.internal;version="0.0.0",
-  org.eclipse.osgi.util;version="1.1.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.custom;version="0.0.0",
-  org.eclipse.swt.dnd;version="0.0.0",
-  org.eclipse.swt.events;version="0.0.0",
-  org.eclipse.swt.graphics;version="0.0.0",
-  org.eclipse.swt.layout;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0",
-  org.osgi.framework;version="1.8.0",
-  org.osgi.service.component.annotations;version="1.2.0";resolution:=optional
+ org.eclipse.emf.ecp.view.spi.table.model;version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.spi.table.swt;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.localization;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.swt.core.di;version="[1.20.0,1.21.0)",
+ org.eclipse.jface.action;version="0.0.0",
+ org.eclipse.jface.databinding.swt;version="0.0.0",
+ org.eclipse.jface.databinding.viewers;version="0.0.0",
+ org.eclipse.jface.dialogs;version="0.0.0",
+ org.eclipse.jface.layout;version="0.0.0",
+ org.eclipse.jface.resource;version="0.0.0",
+ org.eclipse.jface.viewers;version="0.0.0",
+ org.eclipse.jface.window;version="0.0.0",
+ org.eclipse.nebula.jface.gridviewer;version="0.0.0",
+ org.eclipse.nebula.widgets.grid;version="0.0.0",
+ org.eclipse.nebula.widgets.grid.internal;version="0.0.0",
+ org.eclipse.osgi.util;version="1.1.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.custom;version="0.0.0",
+ org.eclipse.swt.dnd;version="0.0.0",
+ org.eclipse.swt.events;version="0.0.0",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.eclipse.swt.layout;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.osgi.framework;version="1.8.0",
+ org.osgi.service.component.annotations;version="1.2.0";resolution:=optional
 Automatic-Module-Name: org.eclipse.emf.ecp.view.table.ui.nebula.grid
 Service-Component: OSGI-INF/GridControlSWTRendererService.xml,OSGI-INF/org.eclipse.emf.ecp.view.internal.table.nebula.grid.GridControlDetailPanelSWTRendererService.xml
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.nebula.grid/pom.xml b/bundles/org.eclipse.emf.ecp.view.table.ui.nebula.grid/pom.xml
index 230f5ab..7662202 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.ui.nebula.grid/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.nebula.grid/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.table.ui.nebula.grid</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.nebula.grid/src/org/eclipse/emf/ecp/view/spi/table/nebula/grid/GridControlDetailPanelRenderer.java b/bundles/org.eclipse.emf.ecp.view.table.ui.nebula.grid/src/org/eclipse/emf/ecp/view/spi/table/nebula/grid/GridControlDetailPanelRenderer.java
index 6d03012..41c397d 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.ui.nebula.grid/src/org/eclipse/emf/ecp/view/spi/table/nebula/grid/GridControlDetailPanelRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.nebula.grid/src/org/eclipse/emf/ecp/view/spi/table/nebula/grid/GridControlDetailPanelRenderer.java
@@ -48,10 +48,10 @@
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.SashForm;
 import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.graphics.Point;
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Event;
 import org.eclipse.swt.widgets.Label;
 
 /**
@@ -124,6 +124,9 @@
 		/* scrolled composite */
 		scrolledComposite = createScrolledDetail(sashForm);
 
+		scrolledComposite.addListener(SWT.Resize,
+			(Event event) -> scrolledComposite.setMinSize(detailPanel.computeSize(SWT.DEFAULT, SWT.DEFAULT)));
+
 		// As a default the table gets 1/3 of the space and the detail panel 2/3.
 		sashForm.setWeights(new int[] { 1, 2 });
 
@@ -181,7 +184,8 @@
 	 * @return The ScrolledComposite containing the detail panel
 	 */
 	protected ScrolledComposite createScrolledDetail(Composite parent) {
-		final ScrolledComposite scrolledComposite = new ScrolledComposite(parent, SWT.V_SCROLL | SWT.BORDER);
+		final ScrolledComposite scrolledComposite = new ScrolledComposite(parent,
+			SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER);
 		scrolledComposite.setBackground(parent.getBackground());
 		scrolledComposite.setLayout(GridLayoutFactory.fillDefaults().create());
 		GridDataFactory.fillDefaults().grab(true, true).align(SWT.FILL, SWT.FILL).applyTo(scrolledComposite);
@@ -193,9 +197,6 @@
 		GridDataFactory.fillDefaults().grab(true, true).align(SWT.FILL, SWT.FILL).applyTo(detailPanel);
 		scrolledComposite.setContent(detailPanel);
 
-		detailPanel.layout();
-		final Point point = detailPanel.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-		scrolledComposite.setMinHeight(point.y);
 		return scrolledComposite;
 	}
 
@@ -293,8 +294,7 @@
 		final EObject object = (EObject) selection.getFirstElement();
 		renderSelectedObject(compositeToRenderOn, object);
 		border.layout(true, true);
-		final Point point = detailPanel.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-		scrolledComposite.setMinHeight(point.y);
+		scrolledComposite.setMinSize(detailPanel.computeSize(SWT.DEFAULT, SWT.DEFAULT));
 	}
 
 	/**
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.nebula.grid/src/org/eclipse/emf/ecp/view/spi/table/nebula/grid/GridTableViewerComposite.java b/bundles/org.eclipse.emf.ecp.view.table.ui.nebula.grid/src/org/eclipse/emf/ecp/view/spi/table/nebula/grid/GridTableViewerComposite.java
index cf5143d..5177eec 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.ui.nebula.grid/src/org/eclipse/emf/ecp/view/spi/table/nebula/grid/GridTableViewerComposite.java
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.nebula.grid/src/org/eclipse/emf/ecp/view/spi/table/nebula/grid/GridTableViewerComposite.java
@@ -332,10 +332,6 @@
 		@Override
 		public boolean select(Viewer viewer, Object parentElement, Object element) {
 
-			if (grid.getItemCount() == 0) {
-				return true;
-			}
-
 			grid.setRedraw(false);
 			final GridItem dummyItem = new GridItem(grid, SWT.NONE);
 
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.rcp/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.table.ui.rcp/META-INF/MANIFEST.MF
index 32f9175..202573e 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.ui.rcp/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.rcp/META-INF/MANIFEST.MF
@@ -2,30 +2,30 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Table UI RCP
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.table.ui.rcp
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.internal.table.ui.rcp;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.spi.table.ui.rcp;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.internal.table.ui.rcp;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.spi.table.ui.rcp;version="1.20.0"
 Require-Bundle: org.eclipse.swt;bundle-version="[3.0.0,4.0.0)",
-  org.eclipse.jface;bundle-version="[3.0.0,4.0.0)",
-  org.eclipse.emf.edit.ui;bundle-version="[2.7.0,3.0.0)",
-  org.eclipse.emf.ecp.view.table.ui.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.table.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.emf;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.databinding;bundle-version="[1.5.0,2.0.0)",
-  org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emfforms.swt.table;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core.di;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.jface;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.emf.edit.ui;bundle-version="[2.7.0,3.0.0)",
+ org.eclipse.emf.ecp.view.table.ui.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.table.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.emf;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.databinding;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emfforms.swt.table;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/TableControlRCPRendererService.xml,OSGI-INF/TableControlDetailDialogRCPRendererService.xml,OSGI-INF/TableControlDetailPanelRCPRendererService.xml
 Bundle-ActivationPolicy: lazy
 Import-Package: javax.inject;version="1.0.0",
-  org.eclipse.emf.ecp.edit.spi.swt.util;version="[1.19.0,1.20.0)",
-  org.osgi.service.component.annotations;version="1.2.0";resolution:=optional
+ org.eclipse.emf.ecp.edit.spi.swt.util;version="[1.20.0,1.21.0)",
+ org.osgi.service.component.annotations;version="1.2.0";resolution:=optional
 Automatic-Module-Name: org.eclipse.emf.ecp.view.table.ui.rcp
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.rcp/pom.xml b/bundles/org.eclipse.emf.ecp.view.table.ui.rcp/pom.xml
index 25c8ade..c2a36d5 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.ui.rcp/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.rcp/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emf.ecp.view.table.ui.rcp</artifactId>
   <packaging>eclipse-plugin</packaging>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.swt.persistedstate/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.table.ui.swt.persistedstate/META-INF/MANIFEST.MF
index 73caac6..4f91cb7 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.ui.swt.persistedstate/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.swt.persistedstate/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Table UI SWT Service for Persisting State
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.table.ui.swt.persistedstate
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.internal.view.table.ui.swt.persistedstate.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.internal.view.table.ui.swt.persistedstate;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.spi.view.table.ui.swt.persistedstate;version="1.19.0"
-Require-Bundle: org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.table.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.emfforms.view.multisegment.model;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emf.ecp.internal.view.table.ui.swt.persistedstate;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.spi.view.table.ui.swt.persistedstate;version="1.20.0"
+Require-Bundle: org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.table.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.emfforms.view.multisegment.model;bundle-version="[1.20.0,1.21.0)"
 Import-Package: org.osgi.service.component.annotations;version="1.2.0";resolution:=optional
 Automatic-Module-Name: org.eclipse.emf.ecp.view.table.ui.swt.persistedstate
 Service-Component: OSGI-INF/PersistTableStateServiceFactory.xml
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.swt.persistedstate/pom.xml b/bundles/org.eclipse.emf.ecp.view.table.ui.swt.persistedstate/pom.xml
index 4a8aee4..2b96b25 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.ui.swt.persistedstate/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.swt.persistedstate/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emf.ecp.view.table.ui.swt.persistedstate</artifactId>
   <packaging>eclipse-plugin</packaging>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/META-INF/MANIFEST.MF
index 5002781..84983d3 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/META-INF/MANIFEST.MF
@@ -2,52 +2,52 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Table UI SWT
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.table.ui.swt;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.view.internal.table.swt.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.internal.table.swt;version="1.19.0";x-friends:="org.eclipse.emf.ecp.view.ui.editor.test,org.eclipse.emf.ecp.view.table.ui.swt.test",
-  org.eclipse.emf.ecp.view.internal.table.swt.cell;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.spi.table.swt;version="1.19.0",
-  org.eclipse.emf.ecp.view.spi.table.swt.action;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.internal.table.swt;version="1.20.0";x-friends:="org.eclipse.emf.ecp.view.ui.editor.test,org.eclipse.emf.ecp.view.table.ui.swt.test",
+ org.eclipse.emf.ecp.view.internal.table.swt.cell;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.spi.table.swt;version="1.20.0",
+ org.eclipse.emf.ecp.view.spi.table.swt.action;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.table.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emf.ecp.edit.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
-  org.eclipse.core.commands;bundle-version="[3.5.0,4.0.0)",
-  org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.localization;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core.di;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.table;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.view.multisegment.model;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.table.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.ecp.edit.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.core.commands;bundle-version="[3.5.0,4.0.0)",
+ org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.table;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.view.multisegment.model;bundle-version="[1.20.0,1.21.0)"
 Import-Package: javax.inject;version="1.0.0",
-  org.eclipse.emf.edit.ui.dnd;version="0.0.0",
-  org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.19.0,1.20.0)",
-  org.eclipse.jface.bindings.keys;version="0.0.0",
-  org.eclipse.jface.databinding.swt;version="0.0.0",
-  org.eclipse.jface.databinding.viewers;version="0.0.0",
-  org.eclipse.jface.dialogs;version="0.0.0",
-  org.eclipse.jface.layout;version="0.0.0",
-  org.eclipse.jface.resource;version="0.0.0",
-  org.eclipse.jface.viewers;version="0.0.0",
-  org.eclipse.jface.window;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.custom;version="0.0.0",
-  org.eclipse.swt.dnd;version="0.0.0",
-  org.eclipse.swt.events;version="0.0.0",
-  org.eclipse.swt.graphics;version="0.0.0",
-  org.eclipse.swt.layout;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0"
+ org.eclipse.emf.edit.ui.dnd;version="0.0.0",
+ org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.20.0,1.21.0)",
+ org.eclipse.jface.bindings.keys;version="0.0.0",
+ org.eclipse.jface.databinding.swt;version="0.0.0",
+ org.eclipse.jface.databinding.viewers;version="0.0.0",
+ org.eclipse.jface.dialogs;version="0.0.0",
+ org.eclipse.jface.layout;version="0.0.0",
+ org.eclipse.jface.resource;version="0.0.0",
+ org.eclipse.jface.viewers;version="0.0.0",
+ org.eclipse.jface.window;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.custom;version="0.0.0",
+ org.eclipse.swt.dnd;version="0.0.0",
+ org.eclipse.swt.events;version="0.0.0",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.eclipse.swt.layout;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.view.table.ui.swt
 Service-Component: OSGI-INF/tableDetailDialogRendererService.xml,OSGI-INF/tableDetailPanelRendererService.xml,OSGI-INF/tableRendererService.xml
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/pom.xml b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/pom.xml
index b01e351..928375c 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emf.ecp.view.table.ui.swt</artifactId>
   <packaging>eclipse-plugin</packaging>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/internal/table/swt/RunnableManager.java b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/internal/table/swt/RunnableManager.java
index 13b9a5e..3d17830 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/internal/table/swt/RunnableManager.java
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/internal/table/swt/RunnableManager.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2017 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -8,10 +8,12 @@
  *
  * Contributors:
  * Edgar Mueller - initial API and implementation
+ * Christian W. Damus - bug 544116
  ******************************************************************************/
 package org.eclipse.emf.ecp.view.internal.table.swt;
 
 import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicReference;
 
 import org.eclipse.swt.widgets.Display;
 
@@ -26,7 +28,7 @@
 public class RunnableManager {
 
 	private final AtomicBoolean isRunning = new AtomicBoolean(false);
-	private final AtomicBoolean isPending = new AtomicBoolean(false);
+	private final AtomicReference<Runnable> pending = new AtomicReference<>();
 	private final Display display;
 
 	/**
@@ -42,8 +44,9 @@
 		// validation finished
 		isRunning.compareAndSet(true, false);
 		// re-trigger validation if we have a pending request
-		if (isPending.compareAndSet(true, false)) {
-			executeAsync(runnable);
+		final Runnable next = pending.getAndSet(null);
+		if (next != null) {
+			executeAsync(next);
 		}
 	}
 
@@ -69,7 +72,7 @@
 		if (isRunning.compareAndSet(false, true)) {
 			getDisplay().asyncExec(createWrapperRunnable(runnable));
 		} else {
-			isPending.compareAndSet(false, true);
+			pending.compareAndSet(null, runnable);
 		}
 	}
 
@@ -79,4 +82,17 @@
 	public synchronized Display getDisplay() {
 		return display;
 	}
+
+	/**
+	 * Query whether a runnable is in progress (asynchronously) on the display thread.
+	 * The implication is that posting a new runnable at this instant would be redundant.
+	 *
+	 * @return {@code true} if a runnable is currently running on the display thread
+	 *         or waiting to run on the display thread; {@code false}, otherwise
+	 * @since 1.20
+	 */
+	public boolean isRunning() {
+		return isRunning.get();
+	}
+
 }
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlDetailPanelRenderer.java b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlDetailPanelRenderer.java
index e0a23c4..bd67fa1 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlDetailPanelRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlDetailPanelRenderer.java
@@ -50,10 +50,10 @@
 import org.eclipse.jface.viewers.SelectionChangedEvent;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.graphics.Point;
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Event;
 import org.eclipse.swt.widgets.Label;
 
 /**
@@ -129,7 +129,7 @@
 		GridLayoutFactory.fillDefaults().numColumns(1).applyTo(border);
 
 		/* scrolled composite */
-		scrolledComposite = new ScrolledComposite(border, SWT.V_SCROLL);
+		scrolledComposite = new ScrolledComposite(border, SWT.V_SCROLL | SWT.H_SCROLL);
 		scrolledComposite.setBackground(composite.getBackground());
 		scrolledComposite.setLayout(GridLayoutFactory.fillDefaults().create());
 		GridDataFactory.fillDefaults().grab(true, true).align(SWT.FILL, SWT.FILL).applyTo(scrolledComposite);
@@ -141,9 +141,8 @@
 		GridDataFactory.fillDefaults().grab(true, true).align(SWT.FILL, SWT.FILL).applyTo(detailPanel);
 		scrolledComposite.setContent(detailPanel);
 
-		detailPanel.layout();
-		final Point point = detailPanel.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-		scrolledComposite.setMinHeight(point.y);
+		scrolledComposite.addListener(SWT.Resize,
+			(Event event) -> scrolledComposite.setMinSize(detailPanel.computeSize(SWT.DEFAULT, SWT.DEFAULT)));
 
 		return tableComposite;
 	}
@@ -262,8 +261,7 @@
 		final EObject object = (EObject) selection.getFirstElement();
 		renderSelectedObject(compositeToRenderOn, object);
 		border.layout(true, true);
-		final Point point = detailPanel.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-		scrolledComposite.setMinHeight(point.y);
+		scrolledComposite.setMinSize(detailPanel.computeSize(SWT.DEFAULT, SWT.DEFAULT));
 	}
 
 	/**
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlSWTRenderer.java
index 7224241..6359988 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlSWTRenderer.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -9,9 +9,12 @@
  * Contributors:
  * Eugen Neufeld - initial API and implementation
  * Johannes Faltermeier - refactorings
+ * Christian W. Damus - bugs 544116, 544537
  ******************************************************************************/
 package org.eclipse.emf.ecp.view.spi.table.swt;
 
+import static java.util.stream.Collectors.toCollection;
+
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.text.MessageFormat;
@@ -21,7 +24,10 @@
 import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Set;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 import javax.inject.Inject;
 
@@ -38,6 +44,7 @@
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.emf.common.command.Command;
 import org.eclipse.emf.common.command.CompoundCommand;
+import org.eclipse.emf.common.notify.Notification;
 import org.eclipse.emf.common.util.Diagnostic;
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.databinding.EMFDataBindingContext;
@@ -67,6 +74,8 @@
 import org.eclipse.emf.ecp.view.spi.core.swt.AbstractControlSWTRendererUtil;
 import org.eclipse.emf.ecp.view.spi.model.DiagnosticMessageExtractor;
 import org.eclipse.emf.ecp.view.spi.model.LabelAlignment;
+import org.eclipse.emf.ecp.view.spi.model.ModelChangeListener;
+import org.eclipse.emf.ecp.view.spi.model.ModelChangeNotification;
 import org.eclipse.emf.ecp.view.spi.model.VDiagnostic;
 import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
 import org.eclipse.emf.ecp.view.spi.provider.ECPTooltipModifierHelper;
@@ -108,6 +117,7 @@
 import org.eclipse.emfforms.common.Optional;
 import org.eclipse.emfforms.spi.common.report.AbstractReport;
 import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.common.sort.NumberAwareStringComparator;
 import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
 import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
 import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
@@ -242,11 +252,18 @@
 	private AbstractTableViewerComposite<? extends AbstractTableViewer> tableViewerComposite;
 	private int regularColumnsStartIndex;
 	private boolean isDisposing;
-	private IObservableList list;
+	private IObservableList<?> list;
 	private final RunnableManager runnableManager = new RunnableManager(Display.getDefault());
 
 	private TableViewerSWTCustomization<?> customization;
 
+	/** The EReference describing the list shown by the table. */
+	private EReference tableEReference;
+	private EStructuralFeature[] columnFeatures;
+	/** The feature of the column which is currently used for sorting. */
+	private java.util.Optional<EStructuralFeature> sortColumnFeature = java.util.Optional.empty();
+	private ModelChangeListener autoSortModelChangeListener;
+
 	/**
 	 * Default constructor.
 	 *
@@ -320,11 +337,12 @@
 		return renderTableControl(gridCell, parent);
 	}
 
+	@SuppressWarnings("unchecked")
 	@Override
 	protected Control createLabel(final Composite parent) {
 		final VDomainModelReference dmrToCheck = getDMRToMultiReference();
-		final IObservableValue labelText = getLabelText(dmrToCheck);
-		final IObservableValue labelTooltipText = getLabelTooltipText(dmrToCheck);
+		final IObservableValue<?> labelText = getLabelText(dmrToCheck);
+		final IObservableValue<?> labelTooltipText = getLabelTooltipText(dmrToCheck);
 
 		final Label titleLabel = new Label(parent, AbstractControlSWTRendererUtil
 			.getLabelStyleBits(getVTViewTemplateProvider(), getVElement(), getViewModelContext()));
@@ -366,14 +384,17 @@
 			list = getEMFFormsDatabinding().getObservableList(dmrToCheck,
 				getViewModelContext().getDomainModel());
 
+			/* get the EReference describing the list shown by the table */
+			tableEReference = (EReference) list.getElementType();
+
 			final TableRendererViewerActionContext actionContext = createViewerActionContext();
 			final ActionConfiguration actionConfiguration = configureActions(actionContext);
 			final TableActionBar<? extends AbstractTableViewer> actionBar = createActionBar(actionContext,
 				actionConfiguration);
 
 			/* get the label text/tooltip */
-			final IObservableValue labelText = getLabelText(dmrToCheck);
-			final IObservableValue labelTooltipText = getLabelTooltipText(dmrToCheck);
+			final IObservableValue<?> labelText = getLabelText(dmrToCheck);
+			final IObservableValue<?> labelTooltipText = getLabelTooltipText(dmrToCheck);
 
 			/* content provider */
 			final ObservableListContentProvider cp = new ObservableListContentProvider();
@@ -438,6 +459,9 @@
 
 			customization = tableViewerSWTBuilder.getCustomization();
 
+			autoSortModelChangeListener = new AutoSortModelChangeListener();
+			getViewModelContext().registerDomainChangeListener(autoSortModelChangeListener);
+
 			return tableViewerComposite;
 
 		} catch (final DatabindingFailedException ex) {
@@ -644,8 +668,10 @@
 	 *
 	 */
 	// CHECKSTYLE.OFF: ParameterNumber
-	protected TableViewerSWTBuilder createTableViewerSWTBuilder(Composite parent, IObservableList list,
-		IObservableValue labelText, IObservableValue labelTooltipText, TableViewerCompositeBuilder compositeBuilder,
+	protected TableViewerSWTBuilder createTableViewerSWTBuilder(Composite parent,
+		@SuppressWarnings("rawtypes") IObservableList list,
+		@SuppressWarnings("rawtypes") IObservableValue labelText,
+		@SuppressWarnings("rawtypes") IObservableValue labelTooltipText, TableViewerCompositeBuilder compositeBuilder,
 		ObservableListContentProvider cp, ECPTableViewerComparator comparator,
 		TableActionBar<? extends AbstractTableViewer> actionBar) {
 		// CHECKSTYLE.ON: ParameterNumber
@@ -756,7 +782,7 @@
 			: Optional.<Integer> empty();
 	}
 
-	private void addRelayoutListenerIfNeeded(IObservableList list, final Composite composite) {
+	private <T> void addRelayoutListenerIfNeeded(IObservableList<T> list, final Composite composite) {
 		if (list == null) {
 			return;
 		}
@@ -770,9 +796,9 @@
 		}
 
 		final GridData gridData = GridData.class.cast(composite.getLayoutData());
-		list.addListChangeListener(new IListChangeListener() {
+		list.addListChangeListener(new IListChangeListener<T>() {
 			@Override
-			public void handleListChange(ListChangeEvent event) {
+			public void handleListChange(ListChangeEvent<? extends T> event) {
 				gridData.heightHint = getTableHeightHint();
 				EMFFormsSWTLayoutUtil.adjustParentSize(composite);
 			}
@@ -795,23 +821,25 @@
 			tempInstance = getInstanceOf(clazz);
 		}
 
+		final List<VDomainModelReference> columns = getColumnDomainModelReferences().stream().filter(Objects::nonNull)
+			.collect(Collectors.toList());
 		/* regular columns */
-		for (final VDomainModelReference dmr : getColumnDomainModelReferences()) {
+		columnFeatures = new EStructuralFeature[columns.size()];
+		for (int i = 0; i < columns.size(); i++) {
 			try {
-				if (dmr == null) {
-					continue;
-				}
-
-				final IObservableValue text = getLabelTextForColumn(dmr, clazz);
-				final IObservableValue tooltip = getLabelTooltipTextForColumn(dmr, clazz);
+				final VDomainModelReference dmr = columns.get(i);
+				final IObservableValue<?> text = getLabelTextForColumn(dmr, clazz);
+				final IObservableValue<?> tooltip = getLabelTooltipTextForColumn(dmr, clazz);
 
 				// Use the same editing domain for the columns as for the view's domain object
 				final EditingDomain editingDomain = getEditingDomain(getViewModelContext().getDomainModel());
-				final IValueProperty valueProperty = getEMFFormsDatabinding().getValueProperty(dmr, clazz,
+				final IValueProperty<?, ?> valueProperty = getEMFFormsDatabinding().getValueProperty(dmr, clazz,
 					editingDomain);
 				final EStructuralFeature eStructuralFeature = (EStructuralFeature) valueProperty.getValueType();
+				columnFeatures[i] = eStructuralFeature;
 
-				final IObservableMap observableMap = valueProperty.observeDetail(cp.getKnownElements());
+				@SuppressWarnings("unchecked")
+				final IObservableMap<?, ?> observableMap = valueProperty.observeDetail(cp.getKnownElements());
 
 				final TableControlEditingSupportAndLabelProvider labelProvider = new TableControlEditingSupportAndLabelProvider(
 					tempInstance, eStructuralFeature, dmr, valueProperty, observableMap,
@@ -891,7 +919,7 @@
 		tableViewerComposite.setComparator(comparator, sortableColumns);
 	}
 
-	private IObservableValue getLabelText(VDomainModelReference dmrToCheck) {
+	private IObservableValue<?> getLabelText(VDomainModelReference dmrToCheck) {
 		switch (getVElement().getLabelAlignment()) {
 		case NONE:
 			return Observables.constantObservableValue("", String.class); //$NON-NLS-1$
@@ -906,7 +934,7 @@
 		}
 	}
 
-	private IObservableValue getLabelTextForColumn(VDomainModelReference dmrToCheck, EClass dmrRootEClass) {
+	private IObservableValue<?> getLabelTextForColumn(VDomainModelReference dmrToCheck, EClass dmrRootEClass) {
 		try {
 			return getEMFFormsLabelProvider().getDisplayName(dmrToCheck, dmrRootEClass);
 		} catch (final NoLabelFoundException e) {
@@ -916,7 +944,7 @@
 		}
 	}
 
-	private IObservableValue getLabelTooltipText(VDomainModelReference dmrToCheck) {
+	private IObservableValue<?> getLabelTooltipText(VDomainModelReference dmrToCheck) {
 		switch (getVElement().getLabelAlignment()) {
 		case NONE:
 			return Observables.constantObservableValue("", String.class); //$NON-NLS-1$
@@ -931,7 +959,7 @@
 		}
 	}
 
-	private IObservableValue getLabelTooltipTextForColumn(VDomainModelReference dmrToCheck, EClass dmrRootEClass) {
+	private IObservableValue<?> getLabelTooltipTextForColumn(VDomainModelReference dmrToCheck, EClass dmrRootEClass) {
 		try {
 			return getEMFFormsLabelProvider().getDescription(dmrToCheck, dmrRootEClass);
 		} catch (final NoLabelFoundException e) {
@@ -1071,6 +1099,7 @@
 	 * @return the table viewer composite
 	 * @since 1.13
 	 */
+	@SuppressWarnings("rawtypes")
 	protected AbstractTableViewerComposite getTableViewerComposite() {
 		return tableViewerComposite;
 	}
@@ -1142,7 +1171,11 @@
 	 * @since 1.6
 	 */
 	protected Image getImage(String path) {
-		return imageRegistryService.getImage(FrameworkUtil.getBundle(TableControlSWTRenderer.class), path);
+		Image result = imageRegistryService.getImage(FrameworkUtil.getBundle(getClass()), path);
+		if (result == null && getClass() != TableControlSWTRenderer.class) {
+			result = imageRegistryService.getImage(FrameworkUtil.getBundle(TableControlSWTRenderer.class), path);
+		}
+		return result;
 	}
 
 	/**
@@ -1451,8 +1484,34 @@
 	}
 
 	@Override
+	protected void applyValidation(VDiagnostic oldDiagnostic, VDiagnostic newDiagnostic) {
+		final Stream<Object> oldDiagnostics = oldDiagnostic == null ? Stream.empty()
+			: oldDiagnostic.getDiagnostics().stream();
+		final Stream<Object> newDiagnostics = newDiagnostic == null ? Stream.empty()
+			: newDiagnostic.getDiagnostics().stream();
+
+		final Set<Object> updates = Stream.concat(oldDiagnostics, newDiagnostics)
+			.map(this::getSubject).filter(Objects::nonNull).collect(toCollection(LinkedHashSet::new));
+
+		runnableManager.executeAsync(new ApplyValidationRunnable(updates));
+	}
+
+	private Object getSubject(Object diagnostic) {
+		Object result = null;
+
+		if (diagnostic instanceof Diagnostic) {
+			final List<?> data = ((Diagnostic) diagnostic).getData();
+			result = data.isEmpty() ? null : data.get(0);
+		}
+
+		return result;
+	}
+
+	@Override
 	protected void applyValidation() {
-		runnableManager.executeAsync(new ApplyValidationRunnable());
+		if (!runnableManager.isRunning()) {
+			runnableManager.executeAsync(new ApplyValidationRunnable());
+		}
 	}
 
 	/**
@@ -1540,13 +1599,28 @@
 
 	@Override
 	protected void applyEnable() {
-		if (tableViewerComposite != null && tableViewerComposite.getActionBar().isPresent()) {
-			tableViewerComposite.getActionBar().get().updateActionBar();
-		}
+		updateActionBar();
 	}
 
 	@Override
 	protected void applyReadOnly() {
+		updateActionBar();
+	}
+
+	@Override
+	protected void applyUnchangeableFeature() {
+		getVElement().setAddRemoveDisabled(true);
+		getVElement().setDuplicateDisabled(true);
+		getVElement().setMoveUpDownDisabled(true);
+		updateActionBar();
+	}
+
+	/**
+	 * Update this table control's action bar if it is present.
+	 *
+	 * @since 1.20
+	 */
+	protected void updateActionBar() {
 		if (tableViewerComposite != null && tableViewerComposite.getActionBar().isPresent()) {
 			tableViewerComposite.getActionBar().get().updateActionBar();
 		}
@@ -1568,10 +1642,14 @@
 			}
 			columnIndexToComparatorMap.clear();
 		}
-		tableViewerComposite.dispose();
-		tableViewerComposite = null;
-		tableViewer.getControl().dispose();
-		tableViewer = null;
+		if (tableViewerComposite != null) {
+			tableViewerComposite.dispose();
+			tableViewerComposite = null;
+		}
+		if (tableViewer != null) {
+			tableViewer.getControl().dispose();
+			tableViewer = null;
+		}
 
 		if (customization != null) {
 			for (final ColumnConfiguration columnConfig : customization.getColumnConfigurations()) {
@@ -1581,6 +1659,10 @@
 			customization.getTableConfiguration().dispose();
 		}
 
+		if (autoSortModelChangeListener != null) {
+			getViewModelContext().unregisterDomainChangeListener(autoSortModelChangeListener);
+			autoSortModelChangeListener = null;
+		}
 		super.dispose();
 	}
 
@@ -1592,7 +1674,8 @@
 	 * @param right the second object of the comparison
 	 * @param propertyIndex index of the selection column. the index is aligned with the index of the associated column
 	 *            domain model reference
-	 * @param direction {@link SWT#NONE}, {@link SWT#UP} or {@link SWT#DOWN} according to the indication displayed at
+	 * @param direction 0 (no sorting = insertion order := {@link SWT#NONE}), 1 (ascending := {@link SWT#DOWN}) or 2
+	 *            (descending := {@link SWT#UP}) according to the indication displayed at
 	 *            the table column.
 	 * @return a negative number if the first element is less than the
 	 *         second element; the value <code>0</code> if the first element is
@@ -1600,6 +1683,7 @@
 	 *         element is greater than the second element
 	 * @since 1.8
 	 */
+	@SuppressWarnings("unchecked")
 	protected int compare(Viewer viewer, Object left, Object right, int direction, int propertyIndex) {
 		if (direction == 0) {
 			return 0;
@@ -1622,11 +1706,20 @@
 		}
 
 		if (leftValue == null) {
-			rc = 1;
+			if (rightValue == null) {
+				rc = 0;
+			} else {
+				rc = 1;
+			}
 		} else if (rightValue == null) {
 			rc = -1;
 		} else {
-			rc = leftValue.toString().compareTo(rightValue.toString());
+			if (!(leftValue instanceof String) && leftValue instanceof Comparable
+				&& leftValue.getClass().isInstance(rightValue)) {
+				rc = Comparable.class.cast(leftValue).compareTo(rightValue);
+			} else {
+				rc = NumberAwareStringComparator.getInstance().compare(leftValue.toString(), rightValue.toString());
+			}
 		}
 		// If descending order, flip the direction
 		if (direction == 2) {
@@ -1638,11 +1731,11 @@
 	@Override
 	protected void rootDomainModelChanged() throws DatabindingFailedException {
 
-		final IObservableList oldList = (IObservableList) getTableViewer().getInput();
+		final IObservableList<?> oldList = (IObservableList<?>) getTableViewer().getInput();
 		oldList.dispose();
 
 		final EObject domainModel = getViewModelContext().getDomainModel();
-		final IObservableList list = getEMFFormsDatabinding().getObservableList(getDMRToMultiReference(),
+		final IObservableList<?> list = getEMFFormsDatabinding().getObservableList(getDMRToMultiReference(),
 			domainModel);
 		getTableViewer().setInput(list);
 
@@ -1707,7 +1800,7 @@
 	protected CellLabelProvider createCellLabelProvider(
 		EStructuralFeature feature,
 		CellEditor cellEditor,
-		IObservableMap attributeMap,
+		@SuppressWarnings("rawtypes") IObservableMap attributeMap,
 		VTableControl vTableControl,
 		VDomainModelReference dmr,
 		Control table) {
@@ -1904,6 +1997,18 @@
 	 *
 	 */
 	private final class ApplyValidationRunnable implements Runnable {
+		private Collection<?> updates;
+
+		ApplyValidationRunnable() {
+			super();
+		}
+
+		ApplyValidationRunnable(Collection<?> updates) {
+			super();
+
+			this.updates = updates;
+		}
+
 		@Override
 		public void run() {
 			if (isDisposing) {
@@ -1930,11 +2035,12 @@
 			validationIcon.setImage(getValidationIcon(getVElement().getDiagnostic().getHighestSeverity()));
 			showValidationSummaryTooltip(setting.get(), showValidationSummaryTooltip);
 
-			final Collection<?> collection = (Collection<?>) setting.get().get(true);
-			if (!collection.isEmpty()) {
-				for (final Object object : collection) {
-					getTableViewer().update(object, null);
-				}
+			if (updates != null) {
+				// Update these specific objects
+				getTableViewer().update(updates.toArray(), null);
+			} else {
+				// Just refresh everything
+				getTableViewer().refresh();
 			}
 		}
 
@@ -1973,8 +2079,8 @@
 		private final InternalEObject tempInstance;
 		private final EStructuralFeature eStructuralFeature;
 		private final VDomainModelReference dmr;
-		private final IValueProperty valueProperty;
-		private final IObservableMap observableMap;
+		private final IValueProperty<?, ?> valueProperty;
+		private final IObservableMap<?, ?> observableMap;
 
 		private CellEditor cellEditor;
 		private ECPTableEditingSupport observableSupport;
@@ -1984,7 +2090,7 @@
 
 		private TableControlEditingSupportAndLabelProvider(InternalEObject tempInstance,
 			EStructuralFeature eStructuralFeature, VDomainModelReference dmr,
-			IValueProperty valueProperty, IObservableMap observableMap, int indexOfColumn) {
+			IValueProperty<?, ?> valueProperty, IObservableMap<?, ?> observableMap, int indexOfColumn) {
 			this.tempInstance = tempInstance;
 			this.eStructuralFeature = eStructuralFeature;
 			this.dmr = dmr;
@@ -2176,9 +2282,9 @@
 			case 0:
 				return SWT.NONE;
 			case 1:
-				return SWT.UP;
+				return SWT.DOWN; // ascending
 			case 2:
-				return SWT.DOWN;
+				return SWT.UP; // descending
 			default:
 				return SWT.NONE;
 			}
@@ -2195,6 +2301,13 @@
 				propertyIndex = column;
 				direction = 1;
 			}
+			// No sorting is the same as no column being selected for sorting
+			if (direction == NONE) {
+				sortColumnFeature = java.util.Optional.empty();
+			} else {
+				// columnFeatures starts at index 0 with the first regular column
+				sortColumnFeature = java.util.Optional.of(columnFeatures[propertyIndex - regularColumnsStartIndex]);
+			}
 		}
 
 		@Override
@@ -2204,6 +2317,34 @@
 	}
 
 	/**
+	 * Domain model change listener that re-sorts the table and reveals the added resp. changed object.
+	 *
+	 * @since 1.20
+	 */
+	protected class AutoSortModelChangeListener implements ModelChangeListener {
+
+		@Override
+		public void notifyChange(ModelChangeNotification notification) {
+			final int event = notification.getRawNotification().getEventType();
+			if (notification.getStructuralFeature() == tableEReference
+				&& sortColumnFeature.isPresent()
+				&& (event == Notification.ADD || event == Notification.ADD_MANY)) {
+				sortAndReveal(notification.getNewEObjects());
+			} else if (sortColumnFeature.isPresent()
+				&& notification.getStructuralFeature() == sortColumnFeature.get()) {
+				sortAndReveal(notification.getNotifier());
+			}
+		}
+
+		private void sortAndReveal(Object toReveal) {
+			Display.getDefault().asyncExec(() -> {
+				getTableViewer().refresh();
+				getTableViewer().reveal(toReveal);
+			});
+		}
+	}
+
+	/**
 	 * ECP specific cell label provider that does also implement {@link IColorProvider} in
 	 * order to correctly.
 	 *
@@ -2232,7 +2373,8 @@
 		 * @param table the swt table
 		 * @since 1.10
 		 */
-		public ECPCellLabelProvider(EStructuralFeature feature, CellEditor cellEditor, IObservableMap attributeMap,
+		public ECPCellLabelProvider(EStructuralFeature feature, CellEditor cellEditor,
+			@SuppressWarnings("rawtypes") IObservableMap attributeMap,
 			VTableControl vTableControl, VDomainModelReference dmr, Control table) {
 			super(attributeMap);
 			this.vTableControl = vTableControl;
@@ -2346,19 +2488,25 @@
 	 * @author Eugen Neufeld
 	 *
 	 */
-	private class ECPTableEditingSupport extends EditingSupport {
+	class ECPTableEditingSupport extends EditingSupport {
 
 		private final CellEditor cellEditor;
 
+		@SuppressWarnings("rawtypes")
 		private final IValueProperty valueProperty;
 
 		private final VDomainModelReference domainModelReference;
 
 		/**
-		 * @param viewer
+		 * Initializes me.
+		 *
+		 * @param viewer the viewer to edit
+		 * @param cellEditor the cell editor used to edit the {@code viewer}
+		 * @param domainModelReference the model reference that populates the {@code viewer}
+		 * @param valueProperty the value property that supplies the {@code viewer}
 		 */
 		ECPTableEditingSupport(ColumnViewer viewer, CellEditor cellEditor, VDomainModelReference domainModelReference,
-			IValueProperty valueProperty) {
+			IValueProperty<?, ?> valueProperty) {
 			super(viewer);
 			this.cellEditor = cellEditor;
 			this.valueProperty = valueProperty;
@@ -2381,7 +2529,8 @@
 			}
 
 			// TODO: use getSettingFromObservable(dmr, eObject) instead?
-			final IObservableValue observableValue = valueProperty.observe(element);
+			@SuppressWarnings("unchecked")
+			final IObservableValue<?> observableValue = valueProperty.observe(element);
 			final EObject eObject = (EObject) ((IObserving) observableValue).getObserved();
 
 			final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
@@ -2443,10 +2592,11 @@
 				ECPElementAwareCellEditor.class.cast(cellEditor).updateRowElement(cell.getElement());
 			}
 
-			final IObservableValue target = doCreateCellEditorObservable(cellEditor);
+			final IObservableValue<?> target = doCreateCellEditorObservable(cellEditor);
 			Assert.isNotNull(target, "doCreateCellEditorObservable(...) did not return an observable"); //$NON-NLS-1$
 
-			final IObservableValue model = valueProperty.observe(cell.getElement());
+			@SuppressWarnings("unchecked")
+			final IObservableValue<?> model = valueProperty.observe(cell.getElement());
 			Assert.isNotNull(model, "The databinding service did not return an observable"); //$NON-NLS-1$
 
 			final Binding binding = createBinding(target, model);
@@ -2463,6 +2613,14 @@
 			return cellEditor;
 		}
 
+		/**
+		 * Bind a {@code model} value to a {@code target} value.
+		 *
+		 * @param target the binding target
+		 * @param model the binding source
+		 * @return the binding
+		 */
+		@SuppressWarnings({ "rawtypes", "unchecked" })
 		protected Binding createBinding(IObservableValue target, IObservableValue model) {
 			if (ECPCellEditor.class.isInstance(cellEditor)) {
 				return getDataBindingContext().bindValue(target, model,
@@ -2472,6 +2630,13 @@
 			return getDataBindingContext().bindValue(target, model);
 		}
 
+		/**
+		 * Create an observable value to supply the cells edited by a cell editor.
+		 *
+		 * @param cellEditor a cell editor
+		 * @return the observable value to supply it with data to edit
+		 */
+		@SuppressWarnings({ "rawtypes", "unchecked" })
 		protected IObservableValue doCreateCellEditorObservable(CellEditor cellEditor) {
 			if (ECPCellEditor.class.isInstance(cellEditor)) {
 				return ((ECPCellEditor) cellEditor).getValueProperty().observe(cellEditor);
@@ -2481,7 +2646,9 @@
 
 		@Override
 		protected final void saveCellEditorValue(CellEditor cellEditor, ViewerCell cell) {
-			editingState.binding.updateTargetToModel();
+			if (editingState.isUpdateNeeded()) {
+				editingState.binding.updateTargetToModel();
+			}
 		}
 
 		/**
@@ -2532,21 +2699,46 @@
 		 */
 		class EditingState {
 
-			private final IObservableValue target;
-			private final IObservableValue model;
+			private final IObservableValue<?> target;
+			private final IObservableValue<?> model;
 			private final Binding binding;
 
-			EditingState(Binding binding, IObservableValue target, IObservableValue model) {
+			/**
+			 * Initializes me with the data binding details involved in editing.
+			 *
+			 * @param binding the data binding
+			 * @param target the bound target value
+			 * @param model the bound model value
+			 */
+			EditingState(Binding binding, IObservableValue<?> target, IObservableValue<?> model) {
 				this.binding = binding;
 				this.target = target;
 				this.model = model;
 			}
 
+			/**
+			 * Dispose the data binding that I maintain.
+			 */
 			void dispose() {
 				binding.dispose();
 				target.dispose();
 				model.dispose();
 			}
+
+			/**
+			 * Checks if an update is really needed.
+			 *
+			 * @return <code>true</code> if update is really needed, <code>false</code> otherwise.
+			 */
+			boolean isUpdateNeeded() {
+				final Object targetValue = target.getValue();
+				final Object modelValue = model.getValue();
+
+				if (targetValue == null) {
+					return modelValue != null;
+				}
+				return !targetValue.equals(modelValue);
+			}
 		}
 	}
 
diff --git a/bundles/org.eclipse.emf.ecp.view.table.validation/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.table.validation/META-INF/MANIFEST.MF
index 3447d11..fc5006d 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.validation/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.table.validation/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Forms Table Detail Validation (Legacy)
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.table.validation;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.table.internal.validation;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.table.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emf.ecp.view.table.internal.validation;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.table.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.table.validation
-Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)"
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.view.table.validation/pom.xml b/bundles/org.eclipse.emf.ecp.view.table.validation/pom.xml
index 9a0ef06..0c34cf5 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.validation/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.table.validation/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emf.ecp.view.table.validation</artifactId>
   <packaging>eclipse-plugin</packaging>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.template.annotation.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.template.annotation.model.edit/META-INF/MANIFEST.MF
index 8d1d565..0b2836d 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.annotation.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.template.annotation.model.edit/META-INF/MANIFEST.MF
@@ -2,17 +2,17 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.template.annotation.model.edit;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.ecp.view.template.selector.annotation.model.provider.AnnotationSelectorEditPlugin$Implementation
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.template.selector.annotation.model.provider;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.view.template.selector.annotation.model.provider;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.view.template.annotation.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.template.model.edit;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emf.ecp.view.template.annotation.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.template.model.edit;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
 Automatic-Module-Name: org.eclipse.emf.ecp.view.template.annotation.model.edit
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emf.ecp.view.template.annotation.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.view.template.annotation.model.edit/pom.xml
index b0869c0..8b91f1f 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.annotation.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.template.annotation.model.edit/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emf.ecp.view.template.annotation.model.edit</artifactId>
   <packaging>eclipse-plugin</packaging>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.template.annotation.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.template.annotation.model/META-INF/MANIFEST.MF
index 928280a..dc1b78c 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.annotation.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.template.annotation.model/META-INF/MANIFEST.MF
@@ -2,18 +2,18 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.template.annotation.model;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.template.selector.annotation.model;version="1.19.0",
-  org.eclipse.emf.ecp.view.template.selector.annotation.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.selector.annotation.model.util;version="1.19.0";x-friends:="org.eclipse.emf.ecp.view.template.annotation.model.edit"
+Export-Package: org.eclipse.emf.ecp.view.template.selector.annotation.model;version="1.20.0",
+ org.eclipse.emf.ecp.view.template.selector.annotation.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.selector.annotation.model.util;version="1.20.0";x-friends:="org.eclipse.emf.ecp.view.template.annotation.model.edit"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.view.annotation.model;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.view.annotation.model;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.view.template.annotation.model
diff --git a/bundles/org.eclipse.emf.ecp.view.template.annotation.model/pom.xml b/bundles/org.eclipse.emf.ecp.view.template.annotation.model/pom.xml
index 8289287..e9482b4 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.annotation.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.template.annotation.model/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emf.ecp.view.template.annotation.model</artifactId>
   <packaging>eclipse-plugin</packaging>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.template.model.edit/META-INF/MANIFEST.MF
index 7b41210..80c0e87 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.template.model.edit/META-INF/MANIFEST.MF
@@ -2,37 +2,37 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.template.model.edit;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.ecp.view.template.model.provider.TemplateEditPlugin$Implementation
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.template.model.provider;version="1.19.0";x-friends:="org.eclipse.emf.ecp.view.template.annotation.model.edit",
-  org.eclipse.emf.ecp.view.template.selector.bool.model.provider;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.selector.domainmodelreference.model.provider;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.selector.hierarchy.model.provider;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.selector.viewModelElement.model.provider;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.style.alignment.model.provider;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.style.background.model.provider;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.style.fontProperties.model.provider;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.style.keybinding.model.provider;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.style.labelwidth.model.provider;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.style.mandatory.model.provider;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.style.reference.model.provider;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.style.tab.model.provider;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.style.tableStyleProperty.model.provider;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.style.tableValidation.model.provider;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.style.textControlEnablement.model.provider;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.style.unsettable.model.provider;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.style.validation.model.provider;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.style.wrap.model.provider;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.view.template.model.provider;version="1.20.0";x-friends:="org.eclipse.emf.ecp.view.template.annotation.model.edit",
+ org.eclipse.emf.ecp.view.template.selector.bool.model.provider;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.selector.domainmodelreference.model.provider;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.selector.hierarchy.model.provider;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.selector.viewModelElement.model.provider;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.alignment.model.provider;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.background.model.provider;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.fontProperties.model.provider;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.keybinding.model.provider;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.labelwidth.model.provider;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.mandatory.model.provider;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.reference.model.provider;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.tab.model.provider;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.tableStyleProperty.model.provider;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.tableValidation.model.provider;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.textControlEnablement.model.provider;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.unsettable.model.provider;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.validation.model.provider;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.wrap.model.provider;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
 Automatic-Module-Name: org.eclipse.emf.ecp.view.template.model.edit
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model.edit/plugin.properties b/bundles/org.eclipse.emf.ecp.view.template.model.edit/plugin.properties
index 323a085..711b1cd 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.model.edit/plugin.properties
+++ b/bundles/org.eclipse.emf.ecp.view.template.model.edit/plugin.properties
@@ -256,3 +256,5 @@
 _UI_KeyBindings_bindings_feature = Bindings
 _UI_KeyBinding_id_feature = Id
 _UI_KeyBinding_keySequence_feature = Key Sequence
+_UI_ReferenceStyleProperty_showLinkButtonForContainmentReferences_feature = Show Link Button For Containment References
+_UI_ReferenceStyleProperty_showLinkButtonForContainmentReferences_description = If true, a button to link existing model objects is shown for containment reference controls. Otherwise, the button is hidden. [default: true]
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.view.template.model.edit/pom.xml
index 22a63af..1f49613 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.template.model.edit/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emf.ecp.view.template.model.edit</artifactId>
   <packaging>eclipse-plugin</packaging>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model.edit/src/org/eclipse/emf/ecp/view/template/style/reference/model/provider/ReferenceItemProviderAdapterFactory.java b/bundles/org.eclipse.emf.ecp.view.template.model.edit/src/org/eclipse/emf/ecp/view/template/style/reference/model/provider/ReferenceItemProviderAdapterFactory.java
index 5a5e31b..049e3c6 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.model.edit/src/org/eclipse/emf/ecp/view/template/style/reference/model/provider/ReferenceItemProviderAdapterFactory.java
+++ b/bundles/org.eclipse.emf.ecp.view.template.model.edit/src/org/eclipse/emf/ecp/view/template/style/reference/model/provider/ReferenceItemProviderAdapterFactory.java
@@ -90,7 +90,7 @@
 	 *
 	 * @generated
 	 */
-	protected Collection<Object> supportedTypes = new ArrayList<Object>();
+	protected Collection<Object> supportedTypes = new ArrayList<>();
 
 	/**
 	 * This constructs an instance.
@@ -365,7 +365,7 @@
 		 */
 		@Override
 		public Collection<Object> getNewChildDescriptors(Object object, EditingDomain editingDomain) {
-			final ArrayList<Object> result = new ArrayList<Object>();
+			final ArrayList<Object> result = new ArrayList<>();
 			new CreationSwitch(result, editingDomain).doSwitch((EObject) object);
 			return result;
 		}
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model.edit/src/org/eclipse/emf/ecp/view/template/style/reference/model/provider/ReferenceStylePropertyItemProvider.java b/bundles/org.eclipse.emf.ecp.view.template.model.edit/src/org/eclipse/emf/ecp/view/template/style/reference/model/provider/ReferenceStylePropertyItemProvider.java
index 129385e..4e82e3c 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.model.edit/src/org/eclipse/emf/ecp/view/template/style/reference/model/provider/ReferenceStylePropertyItemProvider.java
+++ b/bundles/org.eclipse.emf.ecp.view.template.model.edit/src/org/eclipse/emf/ecp/view/template/style/reference/model/provider/ReferenceStylePropertyItemProvider.java
@@ -1,11 +1,11 @@
 /**
  * Copyright (c) 2011-2018 EclipseSource Muenchen GmbH and others.
- * 
+ *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
+ *
  * Contributors:
  * EclipseSource Munich - initial API and implementation
  */
@@ -16,12 +16,9 @@
 
 import org.eclipse.emf.common.notify.AdapterFactory;
 import org.eclipse.emf.common.notify.Notification;
-
 import org.eclipse.emf.common.util.ResourceLocator;
-
 import org.eclipse.emf.ecp.view.template.style.reference.model.VTReferencePackage;
 import org.eclipse.emf.ecp.view.template.style.reference.model.VTReferenceStyleProperty;
-
 import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
 import org.eclipse.emf.edit.provider.IChildCreationExtender;
 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
@@ -39,7 +36,7 @@
  * {@link org.eclipse.emf.ecp.view.template.style.reference.model.VTReferenceStyleProperty} object.
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
- * 
+ *
  * @generated
  */
 public class ReferenceStylePropertyItemProvider
@@ -54,7 +51,7 @@
 	 * This constructs an instance from a factory and a notifier.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
+	 *
 	 * @generated
 	 */
 	public ReferenceStylePropertyItemProvider(AdapterFactory adapterFactory) {
@@ -65,7 +62,7 @@
 	 * This returns the property descriptors for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
+	 *
 	 * @generated
 	 */
 	@Override
@@ -74,6 +71,7 @@
 			super.getPropertyDescriptors(object);
 
 			addShowCreateAndLinkButtonForCrossReferencesPropertyDescriptor(object);
+			addShowLinkButtonForContainmentReferencesPropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
@@ -82,7 +80,7 @@
 	 * This adds a property descriptor for the Show Create And Link Button For Cross References feature.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
+	 *
 	 * @generated
 	 */
 	protected void addShowCreateAndLinkButtonForCrossReferencesPropertyDescriptor(Object object) {
@@ -103,10 +101,32 @@
 	}
 
 	/**
+	 * This adds a property descriptor for the Show Link Button For Containment References feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected void addShowLinkButtonForContainmentReferencesPropertyDescriptor(Object object) {
+		itemPropertyDescriptors
+			.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+				getResourceLocator(),
+				getString("_UI_ReferenceStyleProperty_showLinkButtonForContainmentReferences_feature"), //$NON-NLS-1$
+				getString("_UI_ReferenceStyleProperty_showLinkButtonForContainmentReferences_description"), //$NON-NLS-1$
+				VTReferencePackage.Literals.REFERENCE_STYLE_PROPERTY__SHOW_LINK_BUTTON_FOR_CONTAINMENT_REFERENCES,
+				true,
+				false,
+				false,
+				ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+				null,
+				null));
+	}
+
+	/**
 	 * This returns ReferenceStyleProperty.gif.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
+	 *
 	 * @generated
 	 */
 	@Override
@@ -118,12 +138,12 @@
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
+	 *
 	 * @generated
 	 */
 	@Override
 	public String getText(Object object) {
-		VTReferenceStyleProperty referenceStyleProperty = (VTReferenceStyleProperty) object;
+		final VTReferenceStyleProperty referenceStyleProperty = (VTReferenceStyleProperty) object;
 		return getString("_UI_ReferenceStyleProperty_type") + " " //$NON-NLS-1$ //$NON-NLS-2$
 			+ referenceStyleProperty.isShowCreateAndLinkButtonForCrossReferences();
 	}
@@ -133,7 +153,7 @@
 	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
+	 *
 	 * @generated
 	 */
 	@Override
@@ -142,6 +162,7 @@
 
 		switch (notification.getFeatureID(VTReferenceStyleProperty.class)) {
 		case VTReferencePackage.REFERENCE_STYLE_PROPERTY__SHOW_CREATE_AND_LINK_BUTTON_FOR_CROSS_REFERENCES:
+		case VTReferencePackage.REFERENCE_STYLE_PROPERTY__SHOW_LINK_BUTTON_FOR_CONTAINMENT_REFERENCES:
 			fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
 			return;
 		}
@@ -153,7 +174,7 @@
 	 * that can be created under this object.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
+	 *
 	 * @generated
 	 */
 	@Override
@@ -165,7 +186,7 @@
 	 * Return the resource locator for this item provider's resources.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
+	 *
 	 * @generated
 	 */
 	@Override
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.template.model/.settings/.api_filters
index c21dedf..a590ef5 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.model/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.template.model/.settings/.api_filters
@@ -314,6 +314,12 @@
                 <message_argument value="STYLE_SELECTOR_CONTAINER__SELECTOR"/>
             </message_arguments>
         </filter>
+        <filter comment="This is a static field" id="403767336">
+            <message_arguments>
+                <message_argument value="org.eclipse.emf.ecp.view.template.model.VTTemplatePackage"/>
+                <message_argument value="eCONTENT_TYPE"/>
+            </message_arguments>
+        </filter>
         <filter comment="spi change" id="403804204">
             <message_arguments>
                 <message_argument value="org.eclipse.emf.ecp.view.template.model.VTTemplatePackage"/>
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.template.model/META-INF/MANIFEST.MF
index fafe32a..3252451 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.template.model/META-INF/MANIFEST.MF
@@ -2,76 +2,92 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.template.model;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.ecp.internal.view.template.model.Activator
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.internal.view.template.model;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.model;version="1.19.0",
-  org.eclipse.emf.ecp.view.template.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.model.util;version="1.19.0";x-friends:="org.eclipse.emf.ecp.view.template.model.edit,org.eclipse.emf.ecp.view.template.annotation.model.edit",
-  org.eclipse.emf.ecp.view.template.selector.bool.model;version="1.19.0",
-  org.eclipse.emf.ecp.view.template.selector.bool.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.selector.bool.model.util;version="1.19.0";x-friends:="org.eclipse.emf.ecp.view.template.model.edit",
-  org.eclipse.emf.ecp.view.template.selector.domainmodelreference.model;version="1.19.0",
-  org.eclipse.emf.ecp.view.template.selector.domainmodelreference.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.selector.domainmodelreference.model.util;version="1.19.0";x-friends:="org.eclipse.emf.ecp.view.template.model.edit",
-  org.eclipse.emf.ecp.view.template.selector.hierarchy.model;version="1.19.0",
-  org.eclipse.emf.ecp.view.template.selector.hierarchy.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.selector.hierarchy.model.util;version="1.19.0";x-friends:="org.eclipse.emf.ecp.view.template.model.edit",
-  org.eclipse.emf.ecp.view.template.selector.viewModelElement.model;version="1.19.0",
-  org.eclipse.emf.ecp.view.template.selector.viewModelElement.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.selector.viewModelElement.model.util;version="1.19.0",
-  org.eclipse.emf.ecp.view.template.style.alignment.model;version="1.19.0",
-  org.eclipse.emf.ecp.view.template.style.alignment.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.style.alignment.model.util;version="1.19.0";x-friends:="org.eclipse.emf.ecp.view.template.model.edit",
-  org.eclipse.emf.ecp.view.template.style.background.model;version="1.19.0",
-  org.eclipse.emf.ecp.view.template.style.background.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.style.background.model.util;version="1.19.0";x-friends:="org.eclipse.emf.ecp.view.template.model.edit",
-  org.eclipse.emf.ecp.view.template.style.fontProperties.model;version="1.19.0",
-  org.eclipse.emf.ecp.view.template.style.fontProperties.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.style.fontProperties.model.util;version="1.19.0",
-  org.eclipse.emf.ecp.view.template.style.keybinding.model;version="1.19.0",
-  org.eclipse.emf.ecp.view.template.style.keybinding.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.style.keybinding.model.util;version="1.19.0",
-  org.eclipse.emf.ecp.view.template.style.labelwidth.model;version="1.19.0",
-  org.eclipse.emf.ecp.view.template.style.labelwidth.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.style.labelwidth.model.util;version="1.19.0";x-friends:="org.eclipse.emf.ecp.view.template.model.edit",
-  org.eclipse.emf.ecp.view.template.style.mandatory.model;version="1.19.0",
-  org.eclipse.emf.ecp.view.template.style.mandatory.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.style.mandatory.model.util;version="1.19.0";x-friends:="org.eclipse.emf.ecp.view.template.model.edit",
-  org.eclipse.emf.ecp.view.template.style.reference.model;version="1.19.0",
-  org.eclipse.emf.ecp.view.template.style.reference.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.style.reference.model.util;version="1.19.0";x-friends:="org.eclipse.emf.ecp.view.template.model.edit",
-  org.eclipse.emf.ecp.view.template.style.tab.model;version="1.19.0",
-  org.eclipse.emf.ecp.view.template.style.tab.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.style.tab.model.util;version="1.19.0",
-  org.eclipse.emf.ecp.view.template.style.tableStyleProperty.model;version="1.19.0",
-  org.eclipse.emf.ecp.view.template.style.tableStyleProperty.model.impl;version="1.19.0";x-friends:="org.eclipse.emf.ecp.view.template.model.edit",
-  org.eclipse.emf.ecp.view.template.style.tableStyleProperty.model.util;version="1.19.0";x-friends:="org.eclipse.emf.ecp.view.template.model.edit",
-  org.eclipse.emf.ecp.view.template.style.tableValidation.model;version="1.19.0",
-  org.eclipse.emf.ecp.view.template.style.tableValidation.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.style.tableValidation.model.util;version="1.19.0",
-  org.eclipse.emf.ecp.view.template.style.textControlEnablement.model;version="1.19.0",
-  org.eclipse.emf.ecp.view.template.style.textControlEnablement.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.style.textControlEnablement.model.util;version="1.19.0";x-friends:="org.eclipse.emf.ecp.view.template.model.edit",
-  org.eclipse.emf.ecp.view.template.style.unsettable.model;version="1.19.0",
-  org.eclipse.emf.ecp.view.template.style.unsettable.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.style.unsettable.model.util;version="1.19.0",
-  org.eclipse.emf.ecp.view.template.style.validation.model;version="1.19.0",
-  org.eclipse.emf.ecp.view.template.style.validation.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.style.validation.model.util;version="1.19.0";x-friends:="org.eclipse.emf.ecp.view.template.model.edit",
-  org.eclipse.emf.ecp.view.template.style.wrap.model;version="1.19.0",
-  org.eclipse.emf.ecp.view.template.style.wrap.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.style.wrap.model.util;version="1.19.0";x-friends:="org.eclipse.emf.ecp.view.template.model.edit"
+Export-Package: org.eclipse.emf.ecp.internal.view.template.model;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.model;version="1.20.0",
+ org.eclipse.emf.ecp.view.template.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.model.util;version="1.20.0";
+  x-friends:="org.eclipse.emf.ecp.view.template.model.edit,
+   org.eclipse.emf.ecp.view.template.annotation.model.edit",
+ org.eclipse.emf.ecp.view.template.selector.bool.model;version="1.20.0",
+ org.eclipse.emf.ecp.view.template.selector.bool.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.selector.bool.model.util;version="1.20.0";
+  x-friends:="org.eclipse.emf.ecp.view.template.model.edit",
+ org.eclipse.emf.ecp.view.template.selector.domainmodelreference.model;version="1.20.0",
+ org.eclipse.emf.ecp.view.template.selector.domainmodelreference.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.selector.domainmodelreference.model.util;version="1.20.0";
+  x-friends:="org.eclipse.emf.ecp.view.template.model.edit",
+ org.eclipse.emf.ecp.view.template.selector.hierarchy.model;version="1.20.0",
+ org.eclipse.emf.ecp.view.template.selector.hierarchy.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.selector.hierarchy.model.util;version="1.20.0";
+  x-friends:="org.eclipse.emf.ecp.view.template.model.edit",
+ org.eclipse.emf.ecp.view.template.selector.viewModelElement.model;version="1.20.0",
+ org.eclipse.emf.ecp.view.template.selector.viewModelElement.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.selector.viewModelElement.model.util;version="1.20.0",
+ org.eclipse.emf.ecp.view.template.style.alignment.model;version="1.20.0",
+ org.eclipse.emf.ecp.view.template.style.alignment.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.alignment.model.util;version="1.20.0";
+  x-friends:="org.eclipse.emf.ecp.view.template.model.edit",
+ org.eclipse.emf.ecp.view.template.style.background.model;version="1.20.0",
+ org.eclipse.emf.ecp.view.template.style.background.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.background.model.util;version="1.20.0";
+  x-friends:="org.eclipse.emf.ecp.view.template.model.edit",
+ org.eclipse.emf.ecp.view.template.style.fontProperties.model;version="1.20.0",
+ org.eclipse.emf.ecp.view.template.style.fontProperties.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.fontProperties.model.util;version="1.20.0",
+ org.eclipse.emf.ecp.view.template.style.keybinding.model;version="1.20.0",
+ org.eclipse.emf.ecp.view.template.style.keybinding.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.keybinding.model.util;version="1.20.0",
+ org.eclipse.emf.ecp.view.template.style.labelwidth.model;version="1.20.0",
+ org.eclipse.emf.ecp.view.template.style.labelwidth.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.labelwidth.model.util;version="1.20.0";
+  x-friends:="org.eclipse.emf.ecp.view.template.model.edit",
+ org.eclipse.emf.ecp.view.template.style.mandatory.model;version="1.20.0",
+ org.eclipse.emf.ecp.view.template.style.mandatory.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.mandatory.model.util;version="1.20.0";
+  x-friends:="org.eclipse.emf.ecp.view.template.model.edit",
+ org.eclipse.emf.ecp.view.template.style.reference.model;version="1.20.0",
+ org.eclipse.emf.ecp.view.template.style.reference.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.reference.model.util;version="1.20.0";
+  x-friends:="org.eclipse.emf.ecp.view.template.model.edit",
+ org.eclipse.emf.ecp.view.template.style.tab.model;version="1.20.0",
+ org.eclipse.emf.ecp.view.template.style.tab.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.tab.model.util;version="1.20.0",
+ org.eclipse.emf.ecp.view.template.style.tableStyleProperty.model;version="1.20.0",
+ org.eclipse.emf.ecp.view.template.style.tableStyleProperty.model.impl;version="1.20.0";
+  x-friends:="org.eclipse.emf.ecp.view.template.model.edit",
+ org.eclipse.emf.ecp.view.template.style.tableStyleProperty.model.util;version="1.20.0";
+  x-friends:="org.eclipse.emf.ecp.view.template.model.edit",
+ org.eclipse.emf.ecp.view.template.style.tableValidation.model;version="1.20.0",
+ org.eclipse.emf.ecp.view.template.style.tableValidation.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.tableValidation.model.util;version="1.20.0",
+ org.eclipse.emf.ecp.view.template.style.textControlEnablement.model;version="1.20.0",
+ org.eclipse.emf.ecp.view.template.style.textControlEnablement.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.textControlEnablement.model.util;version="1.20.0";
+  x-friends:="org.eclipse.emf.ecp.view.template.model.edit",
+ org.eclipse.emf.ecp.view.template.style.unsettable.model;version="1.20.0",
+ org.eclipse.emf.ecp.view.template.style.unsettable.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.unsettable.model.util;version="1.20.0",
+ org.eclipse.emf.ecp.view.template.style.validation.model;version="1.20.0",
+ org.eclipse.emf.ecp.view.template.style.validation.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.validation.model.util;version="1.20.0";
+  x-friends:="org.eclipse.emf.ecp.view.template.model.edit",
+ org.eclipse.emf.ecp.view.template.style.wrap.model;version="1.20.0",
+ org.eclipse.emf.ecp.view.template.style.wrap.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.wrap.model.util;version="1.20.0";
+  x-friends:="org.eclipse.emf.ecp.view.template.model.edit"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.common;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.common;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.view.template.model
-Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)"
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model/model/referenceStyle.ecore b/bundles/org.eclipse.emf.ecp.view.template.model/model/referenceStyle.ecore
index 1ccb73e..1ebc43b 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.model/model/referenceStyle.ecore
+++ b/bundles/org.eclipse.emf.ecp.view.template.model/model/referenceStyle.ecore
@@ -5,5 +5,12 @@
   <eClassifiers xsi:type="ecore:EClass" name="ReferenceStyleProperty" eSuperTypes="template.ecore#//StyleProperty">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="showCreateAndLinkButtonForCrossReferences"
         eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="true"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="showLinkButtonForContainmentReferences"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="propertyDescription" value="If true, a button to link existing model objects is shown for containment reference controls. Otherwise, the button is hidden. [default: true]"/>
+        <details key="documentation" value="If true, a button to link existing model objects is shown for containment reference controls. Otherwise, the button is hidden."/>
+      </eAnnotations>
+    </eStructuralFeatures>
   </eClassifiers>
 </ecore:EPackage>
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model/model/referenceStyle.genmodel b/bundles/org.eclipse.emf.ecp.view.template.model/model/referenceStyle.genmodel
index d808559..fbd01dd 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.model/model/referenceStyle.genmodel
+++ b/bundles/org.eclipse.emf.ecp.view.template.model/model/referenceStyle.genmodel
@@ -17,6 +17,8 @@
       extensibleProviderFactory="true" childCreationExtenders="true" ecorePackage="referenceStyle.ecore#/">
     <genClasses ecoreClass="referenceStyle.ecore#//ReferenceStyleProperty">
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute referenceStyle.ecore#//ReferenceStyleProperty/showCreateAndLinkButtonForCrossReferences"/>
+      <genFeatures createChild="false" propertyDescription="If true, a button to link existing model objects is shown for containment reference controls. Otherwise, the button is hidden. [default: true]"
+          ecoreFeature="ecore:EAttribute referenceStyle.ecore#//ReferenceStyleProperty/showLinkButtonForContainmentReferences"/>
     </genClasses>
   </genPackages>
 </genmodel:GenModel>
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model/model/template.ecore b/bundles/org.eclipse.emf.ecp.view.template.model/model/template.ecore
index 761f299..29bd48d 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.model/model/template.ecore
+++ b/bundles/org.eclipse.emf.ecp.view.template.model/model/template.ecore
@@ -4,7 +4,7 @@
     nsPrefix="org.eclipse.emf.ecp.view.template.model">
   <eClassifiers xsi:type="ecore:EClass" name="ViewTemplate">
     <eStructuralFeatures xsi:type="ecore:EReference" name="controlValidationConfiguration"
-        lowerBound="1" eType="#//ControlValidationTemplate" containment="true"/>
+        eType="#//ControlValidationTemplate" containment="true"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="styles" upperBound="-1"
         eType="#//Style" containment="true"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="referencedEcores" upperBound="-1"
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model/model/template.genmodel b/bundles/org.eclipse.emf.ecp.view.template.model/model/template.genmodel
index 83d52cc..3df646b 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.model/model/template.genmodel
+++ b/bundles/org.eclipse.emf.ecp.view.template.model/model/template.genmodel
@@ -12,7 +12,7 @@
       interfacePackageSuffix="model" metaDataPackageSuffix="model" classPackageSuffix="model.impl"
       utilityPackageSuffix="model.util" providerPackageSuffix="model.provider" presentationPackageSuffix="model.presentation"
       testsPackageSuffix="model.tests" extensibleProviderFactory="true" childCreationExtenders="true"
-      contentTypeIdentifier="" ecorePackage="template.ecore#/">
+      contentTypeIdentifier="org.eclipse.emf.ecp.view.template.model" ecorePackage="template.ecore#/">
     <genClasses ecoreClass="template.ecore#//ViewTemplate">
       <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference template.ecore#//ViewTemplate/controlValidationConfiguration"/>
       <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference template.ecore#//ViewTemplate/styles"/>
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model/plugin.properties b/bundles/org.eclipse.emf.ecp.view.template.model/plugin.properties
index d75a2be..5309e38 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.model/plugin.properties
+++ b/bundles/org.eclipse.emf.ecp.view.template.model/plugin.properties
@@ -1,4 +1,4 @@
-# Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+# Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
 # 
 # All rights reserved. This program and the accompanying materials
 # are made available under the terms of the Eclipse Public License v1.0
@@ -8,5 +8,6 @@
 # Contributors:
 # EclipseSource Munich - initial API and implementation
 
-pluginName = Template Model
+pluginName = EMFForms ViewTemplate Model
 providerName = Eclipse Modeling Project
+_UI_Template_content_type = EMF Forms View Template File
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model/plugin.xml b/bundles/org.eclipse.emf.ecp.view.template.model/plugin.xml
index e7dff36..cebcc73 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.model/plugin.xml
+++ b/bundles/org.eclipse.emf.ecp.view.template.model/plugin.xml
@@ -11,6 +11,28 @@
             class="org.eclipse.emf.ecp.view.template.model.VTTemplatePackage">
       </package>
    </extension>
+
+   <extension point="org.eclipse.emf.ecore.content_parser">
+      <!-- @generated template -->
+      <parser
+            contentTypeIdentifier="org.eclipse.emf.ecp.view.template.model"
+            class="org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl"/>
+   </extension>
+
+   <extension point="org.eclipse.core.contenttype.contentTypes">
+      <!-- @generated template -->
+      <content-type
+            base-type="org.eclipse.emf.ecore.xmi"
+            file-extensions="template"
+            id="org.eclipse.emf.ecp.view.template.model"
+            name="%_UI_Template_content_type"
+            priority="normal">
+         <describer class="org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer">
+            <parameter name="namespace" value="http://org/eclipse/emf/ecp/view/template/model"/>
+            <parameter name="kind" value="xmi"/>
+         </describer>
+      </content-type>
+   </extension>
    <extension
          name=""
          point="org.eclipse.emf.ecore.generated_package">
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model/pom.xml b/bundles/org.eclipse.emf.ecp.view.template.model/pom.xml
index 431ea38..109a01c 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.template.model/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emf.ecp.view.template.model</artifactId>
   <packaging>eclipse-plugin</packaging>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/model/VTTemplatePackage.java b/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/model/VTTemplatePackage.java
index ae017fb..487fa24 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/model/VTTemplatePackage.java
+++ b/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/model/VTTemplatePackage.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -8,6 +8,7 @@
  *
  * Contributors:
  * EclipseSource Munich - initial API and implementation
+ * Christian W. Damus - bug 544499
  */
 package org.eclipse.emf.ecp.view.template.model;
 
@@ -62,6 +63,16 @@
 	String eNS_PREFIX = "org.eclipse.emf.ecp.view.template.model"; //$NON-NLS-1$
 
 	/**
+	 * The package content type ID.
+	 * <!-- begin-user-doc -->
+	 *
+	 * @since 1.20
+	 *        <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eCONTENT_TYPE = "org.eclipse.emf.ecp.view.template.model"; //$NON-NLS-1$
+
+	/**
 	 * The singleton instance of the package.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -550,7 +561,6 @@
 	 *
 	 * @since 1.17
 	 *        <!-- end-user-doc -->
-	 *
 	 * @generated
 	 * @ordered
 	 */
@@ -1022,7 +1032,6 @@
 	 *
 	 * @since 1.17
 	 *        <!-- end-user-doc -->
-	 *
 	 * @return the meta object for the containment reference list '<em>Selectors</em>'.
 	 * @see org.eclipse.emf.ecp.view.template.model.VTMultiStyleSelectorContainer#getSelectors()
 	 * @see #getMultiStyleSelectorContainer()
@@ -1398,7 +1407,6 @@
 		 *
 		 * @since 1.17
 		 *        <!-- end-user-doc -->
-		 *
 		 * @generated
 		 */
 		EReference MULTI_STYLE_SELECTOR_CONTAINER__SELECTORS = eINSTANCE.getMultiStyleSelectorContainer_Selectors();
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/model/VTViewTemplate.java b/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/model/VTViewTemplate.java
index 2b8ff62..4664a4d 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/model/VTViewTemplate.java
+++ b/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/model/VTViewTemplate.java
@@ -50,7 +50,7 @@
 	 * @return the value of the '<em>Control Validation Configuration</em>' containment reference.
 	 * @see #setControlValidationConfiguration(VTControlValidationTemplate)
 	 * @see org.eclipse.emf.ecp.view.template.model.VTTemplatePackage#getViewTemplate_ControlValidationConfiguration()
-	 * @model containment="true" required="true"
+	 * @model containment="true"
 	 * @generated
 	 */
 	@Deprecated
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/model/impl/VTTemplatePackageImpl.java b/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/model/impl/VTTemplatePackageImpl.java
index bbad396..093a54a 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/model/impl/VTTemplatePackageImpl.java
+++ b/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/model/impl/VTTemplatePackageImpl.java
@@ -632,7 +632,7 @@
 		initEClass(viewTemplateEClass, VTViewTemplate.class, "ViewTemplate", !IS_ABSTRACT, !IS_INTERFACE, //$NON-NLS-1$
 			IS_GENERATED_INSTANCE_CLASS);
 		initEReference(getViewTemplate_ControlValidationConfiguration(), getControlValidationTemplate(), null,
-			"controlValidationConfiguration", null, 1, 1, VTViewTemplate.class, !IS_TRANSIENT, !IS_VOLATILE, //$NON-NLS-1$
+			"controlValidationConfiguration", null, 0, 1, VTViewTemplate.class, !IS_TRANSIENT, !IS_VOLATILE, //$NON-NLS-1$
 			IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEReference(getViewTemplate_Styles(), getStyle(), null, "styles", null, 0, -1, VTViewTemplate.class, //$NON-NLS-1$
 			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/model/impl/VTViewTemplateImpl.java b/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/model/impl/VTViewTemplateImpl.java
index b57585d..f7112d5 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/model/impl/VTViewTemplateImpl.java
+++ b/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/model/impl/VTViewTemplateImpl.java
@@ -103,9 +103,8 @@
 
 	/**
 	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * 
 	 * @deprecated
+	 * <!-- end-user-doc -->
 	 *
 	 * @generated
 	 */
@@ -140,9 +139,8 @@
 
 	/**
 	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * 
 	 * @deprecated
+	 * <!-- end-user-doc -->
 	 *
 	 * @generated
 	 */
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/reference/model/VTReferencePackage.java b/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/reference/model/VTReferencePackage.java
index 04bcc32..6ed579b 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/reference/model/VTReferencePackage.java
+++ b/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/reference/model/VTReferencePackage.java
@@ -27,10 +27,9 @@
  * <li>each enum,</li>
  * <li>and each data type</li>
  * </ul>
- * 
+ *
  * @since 1.18
  *        <!-- end-user-doc -->
- *
  * @see org.eclipse.emf.ecp.view.template.style.reference.model.VTReferenceFactory
  * @model kind="package"
  * @generated
@@ -98,6 +97,17 @@
 		+ 0;
 
 	/**
+	 * The feature id for the '<em><b>Show Link Button For Containment References</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int REFERENCE_STYLE_PROPERTY__SHOW_LINK_BUTTON_FOR_CONTAINMENT_REFERENCES = VTTemplatePackage.STYLE_PROPERTY_FEATURE_COUNT
+		+ 1;
+
+	/**
 	 * The number of structural features of the '<em>Style Property</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -105,7 +115,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int REFERENCE_STYLE_PROPERTY_FEATURE_COUNT = VTTemplatePackage.STYLE_PROPERTY_FEATURE_COUNT + 1;
+	int REFERENCE_STYLE_PROPERTY_FEATURE_COUNT = VTTemplatePackage.STYLE_PROPERTY_FEATURE_COUNT + 2;
 
 	/**
 	 * The number of operations of the '<em>Style Property</em>' class.
@@ -145,6 +155,20 @@
 	EAttribute getReferenceStyleProperty_ShowCreateAndLinkButtonForCrossReferences();
 
 	/**
+	 * Returns the meta object for the attribute
+	 * '{@link org.eclipse.emf.ecp.view.template.style.reference.model.VTReferenceStyleProperty#isShowLinkButtonForContainmentReferences
+	 * <em>Show Link Button For Containment References</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the attribute '<em>Show Link Button For Containment References</em>'.
+	 * @see org.eclipse.emf.ecp.view.template.style.reference.model.VTReferenceStyleProperty#isShowLinkButtonForContainmentReferences()
+	 * @see #getReferenceStyleProperty()
+	 * @generated
+	 */
+	EAttribute getReferenceStyleProperty_ShowLinkButtonForContainmentReferences();
+
+	/**
 	 * Returns the factory that creates the instances of the model.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -193,6 +217,17 @@
 		EAttribute REFERENCE_STYLE_PROPERTY__SHOW_CREATE_AND_LINK_BUTTON_FOR_CROSS_REFERENCES = eINSTANCE
 			.getReferenceStyleProperty_ShowCreateAndLinkButtonForCrossReferences();
 
+		/**
+		 * The meta object literal for the '<em><b>Show Link Button For Containment References</b></em>' attribute
+		 * feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EAttribute REFERENCE_STYLE_PROPERTY__SHOW_LINK_BUTTON_FOR_CONTAINMENT_REFERENCES = eINSTANCE
+			.getReferenceStyleProperty_ShowLinkButtonForContainmentReferences();
+
 	}
 
 } // VTReferencePackage
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/reference/model/VTReferenceStyleProperty.java b/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/reference/model/VTReferenceStyleProperty.java
index ec9c24e..8f26c91 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/reference/model/VTReferenceStyleProperty.java
+++ b/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/reference/model/VTReferenceStyleProperty.java
@@ -26,6 +26,8 @@
  *        <ul>
  *        <li>{@link org.eclipse.emf.ecp.view.template.style.reference.model.VTReferenceStyleProperty#isShowCreateAndLinkButtonForCrossReferences
  *        <em>Show Create And Link Button For Cross References</em>}</li>
+ *        <li>{@link org.eclipse.emf.ecp.view.template.style.reference.model.VTReferenceStyleProperty#isShowLinkButtonForContainmentReferences
+ *        <em>Show Link Button For Containment References</em>}</li>
  *        </ul>
  *
  * @see org.eclipse.emf.ecp.view.template.style.reference.model.VTReferencePackage#getReferenceStyleProperty()
@@ -64,4 +66,43 @@
 	 */
 	void setShowCreateAndLinkButtonForCrossReferences(boolean value);
 
+	/**
+	 * Returns the value of the '<em><b>Show Link Button For Containment References</b></em>' attribute.
+	 * The default value is <code>"true"</code>.
+	 * <!-- begin-user-doc -->
+	 *
+	 * @since 1.20
+	 *        <!-- end-user-doc -->
+	 *        <!-- begin-model-doc -->
+	 *        If true, a button to link existing model objects is shown for containment reference controls. Otherwise,
+	 *        the
+	 *        button is hidden.
+	 *        <!-- end-model-doc -->
+	 *
+	 * @return the value of the '<em>Show Link Button For Containment References</em>' attribute.
+	 * @see #setShowLinkButtonForContainmentReferences(boolean)
+	 * @see org.eclipse.emf.ecp.view.template.style.reference.model.VTReferencePackage#getReferenceStyleProperty_ShowLinkButtonForContainmentReferences()
+	 * @model default="true"
+	 *        annotation="http://www.eclipse.org/emf/2002/GenModel propertyDescription='If true, a button to link
+	 *        existing model objects is shown for containment reference controls. Otherwise, the button is hidden.
+	 *        [default: true]'"
+	 * @generated
+	 */
+	boolean isShowLinkButtonForContainmentReferences();
+
+	/**
+	 * Sets the value of the
+	 * '{@link org.eclipse.emf.ecp.view.template.style.reference.model.VTReferenceStyleProperty#isShowLinkButtonForContainmentReferences
+	 * <em>Show Link Button For Containment References</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * 
+	 * @since 1.20
+	 *        <!-- end-user-doc -->
+	 *
+	 * @param value the new value of the '<em>Show Link Button For Containment References</em>' attribute.
+	 * @see #isShowLinkButtonForContainmentReferences()
+	 * @generated
+	 */
+	void setShowLinkButtonForContainmentReferences(boolean value);
+
 } // VTReferenceStyleProperty
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/reference/model/impl/VTReferencePackageImpl.java b/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/reference/model/impl/VTReferencePackageImpl.java
index 47e286a..61230b7 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/reference/model/impl/VTReferencePackageImpl.java
+++ b/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/reference/model/impl/VTReferencePackageImpl.java
@@ -85,9 +85,10 @@
 		}
 
 		// Obtain or create and register package
-		final VTReferencePackageImpl theReferencePackage = (VTReferencePackageImpl) (EPackage.Registry.INSTANCE
-			.get(eNS_URI) instanceof VTReferencePackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI)
-				: new VTReferencePackageImpl());
+		final Object registeredReferencePackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+		final VTReferencePackageImpl theReferencePackage = registeredReferencePackage instanceof VTReferencePackageImpl
+			? (VTReferencePackageImpl) registeredReferencePackage
+			: new VTReferencePackageImpl();
 
 		isInited = true;
 
@@ -137,6 +138,17 @@
 	 * @generated
 	 */
 	@Override
+	public EAttribute getReferenceStyleProperty_ShowLinkButtonForContainmentReferences() {
+		return (EAttribute) referenceStylePropertyEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
 	public VTReferenceFactory getReferenceFactory() {
 		return (VTReferenceFactory) getEFactoryInstance();
 	}
@@ -167,6 +179,8 @@
 		referenceStylePropertyEClass = createEClass(REFERENCE_STYLE_PROPERTY);
 		createEAttribute(referenceStylePropertyEClass,
 			REFERENCE_STYLE_PROPERTY__SHOW_CREATE_AND_LINK_BUTTON_FOR_CROSS_REFERENCES);
+		createEAttribute(referenceStylePropertyEClass,
+			REFERENCE_STYLE_PROPERTY__SHOW_LINK_BUTTON_FOR_CONTAINMENT_REFERENCES);
 	}
 
 	/**
@@ -214,6 +228,9 @@
 			ecorePackage.getEBoolean(), "showCreateAndLinkButtonForCrossReferences", "true", 0, 1, //$NON-NLS-1$ //$NON-NLS-2$
 			VTReferenceStyleProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
 			IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getReferenceStyleProperty_ShowLinkButtonForContainmentReferences(), ecorePackage.getEBoolean(),
+			"showLinkButtonForContainmentReferences", "true", 0, 1, VTReferenceStyleProperty.class, !IS_TRANSIENT, //$NON-NLS-1$ //$NON-NLS-2$
+			!IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
 		// Create resource
 		createResource(eNS_URI);
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/reference/model/impl/VTReferenceStylePropertyImpl.java b/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/reference/model/impl/VTReferenceStylePropertyImpl.java
index e5fcdc1..1d0201b 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/reference/model/impl/VTReferenceStylePropertyImpl.java
+++ b/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/reference/model/impl/VTReferenceStylePropertyImpl.java
@@ -30,6 +30,8 @@
  * <ul>
  * <li>{@link org.eclipse.emf.ecp.view.template.style.reference.model.impl.VTReferenceStylePropertyImpl#isShowCreateAndLinkButtonForCrossReferences
  * <em>Show Create And Link Button For Cross References</em>}</li>
+ * <li>{@link org.eclipse.emf.ecp.view.template.style.reference.model.impl.VTReferenceStylePropertyImpl#isShowLinkButtonForContainmentReferences
+ * <em>Show Link Button For Containment References</em>}</li>
  * </ul>
  *
  * @generated
@@ -60,6 +62,30 @@
 	protected boolean showCreateAndLinkButtonForCrossReferences = SHOW_CREATE_AND_LINK_BUTTON_FOR_CROSS_REFERENCES_EDEFAULT;
 
 	/**
+	 * The default value of the '{@link #isShowLinkButtonForContainmentReferences() <em>Show Link Button For Containment
+	 * References</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #isShowLinkButtonForContainmentReferences()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean SHOW_LINK_BUTTON_FOR_CONTAINMENT_REFERENCES_EDEFAULT = true;
+
+	/**
+	 * The cached value of the '{@link #isShowLinkButtonForContainmentReferences() <em>Show Link Button For Containment
+	 * References</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #isShowLinkButtonForContainmentReferences()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean showLinkButtonForContainmentReferences = SHOW_LINK_BUTTON_FOR_CONTAINMENT_REFERENCES_EDEFAULT;
+
+	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 *
@@ -115,10 +141,40 @@
 	 * @generated
 	 */
 	@Override
+	public boolean isShowLinkButtonForContainmentReferences() {
+		return showLinkButtonForContainmentReferences;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setShowLinkButtonForContainmentReferences(boolean newShowLinkButtonForContainmentReferences) {
+		final boolean oldShowLinkButtonForContainmentReferences = showLinkButtonForContainmentReferences;
+		showLinkButtonForContainmentReferences = newShowLinkButtonForContainmentReferences;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET,
+				VTReferencePackage.REFERENCE_STYLE_PROPERTY__SHOW_LINK_BUTTON_FOR_CONTAINMENT_REFERENCES,
+				oldShowLinkButtonForContainmentReferences, showLinkButtonForContainmentReferences));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
 		case VTReferencePackage.REFERENCE_STYLE_PROPERTY__SHOW_CREATE_AND_LINK_BUTTON_FOR_CROSS_REFERENCES:
 			return isShowCreateAndLinkButtonForCrossReferences();
+		case VTReferencePackage.REFERENCE_STYLE_PROPERTY__SHOW_LINK_BUTTON_FOR_CONTAINMENT_REFERENCES:
+			return isShowLinkButtonForContainmentReferences();
 		}
 		return super.eGet(featureID, resolve, coreType);
 	}
@@ -135,6 +191,9 @@
 		case VTReferencePackage.REFERENCE_STYLE_PROPERTY__SHOW_CREATE_AND_LINK_BUTTON_FOR_CROSS_REFERENCES:
 			setShowCreateAndLinkButtonForCrossReferences((Boolean) newValue);
 			return;
+		case VTReferencePackage.REFERENCE_STYLE_PROPERTY__SHOW_LINK_BUTTON_FOR_CONTAINMENT_REFERENCES:
+			setShowLinkButtonForContainmentReferences((Boolean) newValue);
+			return;
 		}
 		super.eSet(featureID, newValue);
 	}
@@ -151,6 +210,9 @@
 		case VTReferencePackage.REFERENCE_STYLE_PROPERTY__SHOW_CREATE_AND_LINK_BUTTON_FOR_CROSS_REFERENCES:
 			setShowCreateAndLinkButtonForCrossReferences(SHOW_CREATE_AND_LINK_BUTTON_FOR_CROSS_REFERENCES_EDEFAULT);
 			return;
+		case VTReferencePackage.REFERENCE_STYLE_PROPERTY__SHOW_LINK_BUTTON_FOR_CONTAINMENT_REFERENCES:
+			setShowLinkButtonForContainmentReferences(SHOW_LINK_BUTTON_FOR_CONTAINMENT_REFERENCES_EDEFAULT);
+			return;
 		}
 		super.eUnset(featureID);
 	}
@@ -166,6 +228,8 @@
 		switch (featureID) {
 		case VTReferencePackage.REFERENCE_STYLE_PROPERTY__SHOW_CREATE_AND_LINK_BUTTON_FOR_CROSS_REFERENCES:
 			return showCreateAndLinkButtonForCrossReferences != SHOW_CREATE_AND_LINK_BUTTON_FOR_CROSS_REFERENCES_EDEFAULT;
+		case VTReferencePackage.REFERENCE_STYLE_PROPERTY__SHOW_LINK_BUTTON_FOR_CONTAINMENT_REFERENCES:
+			return showLinkButtonForContainmentReferences != SHOW_LINK_BUTTON_FOR_CONTAINMENT_REFERENCES_EDEFAULT;
 		}
 		return super.eIsSet(featureID);
 	}
@@ -182,9 +246,11 @@
 			return super.toString();
 		}
 
-		final StringBuffer result = new StringBuffer(super.toString());
+		final StringBuilder result = new StringBuilder(super.toString());
 		result.append(" (showCreateAndLinkButtonForCrossReferences: "); //$NON-NLS-1$
 		result.append(showCreateAndLinkButtonForCrossReferences);
+		result.append(", showLinkButtonForContainmentReferences: "); //$NON-NLS-1$
+		result.append(showLinkButtonForContainmentReferences);
 		result.append(')');
 		return result.toString();
 	}
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/reference/model/util/ReferenceAdapterFactory.java b/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/reference/model/util/ReferenceAdapterFactory.java
index 907f87e..4b5cafe 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/reference/model/util/ReferenceAdapterFactory.java
+++ b/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/reference/model/util/ReferenceAdapterFactory.java
@@ -23,10 +23,9 @@
  * <!-- 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.
- * 
+ *
  * @since 1.18
  *        <!-- end-user-doc -->
- *
  * @see org.eclipse.emf.ecp.view.template.style.reference.model.VTReferencePackage
  * @generated
  */
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/reference/model/util/ReferenceSwitch.java b/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/reference/model/util/ReferenceSwitch.java
index c4bd876..9ba4910 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/reference/model/util/ReferenceSwitch.java
+++ b/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/reference/model/util/ReferenceSwitch.java
@@ -27,10 +27,9 @@
  * and proceeding up the inheritance hierarchy
  * until a non-null result is returned,
  * which is the result of the switch.
- * 
+ *
  * @since 1.18
  *        <!-- end-user-doc -->
- *
  * @see org.eclipse.emf.ecp.view.template.style.reference.model.VTReferencePackage
  * @generated
  */
diff --git a/bundles/org.eclipse.emf.ecp.view.template.service/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.template.service/META-INF/MANIFEST.MF
index 19e202b..ac60424 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.service/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.template.service/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ViewTemplate Service
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.template.service;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.view.template.service.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.spi.view.template.service;version="1.19.0",
-  org.eclipse.emf.ecp.view.template.service;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.spi.view.template.service;version="1.20.0",
+ org.eclipse.emf.ecp.view.template.service;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecore.xmi;bundle-version="[2.7.0,3.0.0)",
-  org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.7.0,3.0.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)"
 Import-Package: org.osgi.service.component.annotations;version="1.2.0";resolution:=optional
 Automatic-Module-Name: org.eclipse.emf.ecp.view.template.service
 Service-Component: OSGI-INF/viewTemplate.xml,OSGI-INF/ViewTemplateSupplierImpl.xml
diff --git a/bundles/org.eclipse.emf.ecp.view.template.service/pom.xml b/bundles/org.eclipse.emf.ecp.view.template.service/pom.xml
index 0ad0132..4e4b715 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.service/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.template.service/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emf.ecp.view.template.service</artifactId>
   <packaging>eclipse-plugin</packaging>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 
   <properties>
   	<jacoco.percentage.instruction>0.1</jacoco.percentage.instruction>
diff --git a/bundles/org.eclipse.emf.ecp.view.template.tooling/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.template.tooling/META-INF/MANIFEST.MF
index 57d82e5..17b510c 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.tooling/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.template.tooling/META-INF/MANIFEST.MF
@@ -2,41 +2,41 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Template Tooling
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.template.tooling;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.view.template.internal.tooling.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.template.internal.tooling;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.internal.tooling.controls;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.internal.tooling.util;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.tooling;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.tooling.editor;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.tooling.wizards;version="1.19.0";x-friends:="org.eclipse.emf.ecp.ide.editor.view.templatebridge"
+Export-Package: org.eclipse.emf.ecp.view.template.internal.tooling;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.internal.tooling.controls;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.internal.tooling.util;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.tooling;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.tooling.editor;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.tooling.wizards;version="1.20.0";x-friends:="org.eclipse.emf.ecp.ide.editor.view.templatebridge"
 Require-Bundle: org.eclipse.core.resources;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.ui.ide;bundle-version="[3.9.0,4.0.0)",
-  org.eclipse.ui;bundle-version="[3.100.0,4.0.0)",
-  org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.9.0,3.0.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.core.databinding;bundle-version="[1.4.1,2.0.0)",
-  org.eclipse.emf.ecp.view.model.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.editor.controls;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ide.util;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model.editor;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.edit;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emfforms.editor;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.treemasterdetail;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.migrator;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.ui.ide;bundle-version="[3.9.0,4.0.0)",
+ org.eclipse.ui;bundle-version="[3.100.0,4.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.9.0,3.0.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.core.databinding;bundle-version="[1.4.1,2.0.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.editor.controls;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ide.util;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.editor;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.edit;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emfforms.editor;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.treemasterdetail;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.migrator;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.emf.ecp.edit.spi.swt.util;version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit.ui.provider;version="0.0.0",
-  org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.jface.databinding.swt;version="0.0.0"
+Import-Package: org.eclipse.emf.ecp.edit.spi.swt.util;version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit.ui.provider;version="0.0.0",
+ org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.jface.databinding.swt;version="0.0.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.view.template.tooling
diff --git a/bundles/org.eclipse.emf.ecp.view.template.tooling/plugin.xml b/bundles/org.eclipse.emf.ecp.view.template.tooling/plugin.xml
index a635ec2..1494a3a 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.tooling/plugin.xml
+++ b/bundles/org.eclipse.emf.ecp.view.template.tooling/plugin.xml
@@ -18,7 +18,7 @@
          point="org.eclipse.ui.editors">
       <editor
             class="org.eclipse.emf.ecp.view.template.tooling.editor.TemplateModelEditorPart"
-            default="false"
+            default="true"
             extensions="template"
             icon="icons/template.gif"
             id="org.eclipse.emf.ecp.view.template.tooling.editor"
@@ -28,6 +28,8 @@
    <extension
          name=""
          point="org.eclipse.emf.ecp.view.model.provider.xmi.file">
+	  <file 
+	  		filePath="viewmodel/MultiStyleSelectorContainer.view"/>
       <file
             filePath="viewmodel/KeyBindings.view">
       </file>
@@ -40,6 +42,9 @@
       <file
             filePath="viewmodel/template.view">
       </file>
+      <file
+            filePath="viewmodel/Style.view">
+      </file>
    </extension>
    <extension
          name=""
@@ -82,4 +87,7 @@
       </renderer>
    </extension>
 
+   <extension point="org.eclipse.emf.ecp.view.template">
+      <viewTemplate xmi="viewmodel/templateEditor.template"/>
+    </extension>
 </plugin>
diff --git a/bundles/org.eclipse.emf.ecp.view.template.tooling/pom.xml b/bundles/org.eclipse.emf.ecp.view.template.tooling/pom.xml
index 41950df..4a7fc89 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.tooling/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.template.tooling/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/tooling/editor/TemplateModelEditorPart.java b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/tooling/editor/TemplateModelEditorPart.java
index 2fc4c24..23ba1d7 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/tooling/editor/TemplateModelEditorPart.java
+++ b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/tooling/editor/TemplateModelEditorPart.java
@@ -239,4 +239,10 @@
 		}
 		return uris;
 	}
+
+	@Override
+	protected boolean enableValidation() {
+		return true;
+	}
+
 }
diff --git a/bundles/org.eclipse.emf.ecp.view.template.tooling/viewmodel/MultiStyleSelectorContainer.view b/bundles/org.eclipse.emf.ecp.view.template.tooling/viewmodel/MultiStyleSelectorContainer.view
new file mode 100644
index 0000000..8789337
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.template.tooling/viewmodel/MultiStyleSelectorContainer.view
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.ecp.view.model:View xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:org.eclipse.emf.ecp.view.model="http://org/eclipse/emf/ecp/view/model/1180" xmi:id="_pqX6UBuAEemsneQNT8DsOg" name="MultiStyleSelectorContainer">
+  <rootEClass href="http://org/eclipse/emf/ecp/view/template/model#//MultiStyleSelectorContainer"/>
+  <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_pq1NUBuAEemsneQNT8DsOg" name="Control selectors">
+    <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_pq1NURuAEemsneQNT8DsOg">
+      <domainModelEFeature xsi:type="ecore:EReference" href="http://org/eclipse/emf/ecp/view/template/model#//MultiStyleSelectorContainer/selectors"/>
+    </domainModelReference>
+  </children>
+  <ecorePaths>/org.eclipse.emf.ecp.view.template.model/model/template.ecore</ecorePaths>
+</org.eclipse.emf.ecp.view.model:View>
diff --git a/bundles/org.eclipse.emf.ecp.view.template.tooling/viewmodel/Style.view b/bundles/org.eclipse.emf.ecp.view.template.tooling/viewmodel/Style.view
new file mode 100644
index 0000000..0f886ff
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.template.tooling/viewmodel/Style.view
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.ecp.view.model:View xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:org.eclipse.emf.ecp.view.model="http://org/eclipse/emf/ecp/view/model/1180" xmi:id="_nr7fABswEemi2t7e-tayrA" name="Style">
+  <rootEClass href="http://org/eclipse/emf/ecp/view/template/model#//Style"/>
+  <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_nsCzwBswEemi2t7e-tayrA" name="Control selector">
+    <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_nsDa0BswEemi2t7e-tayrA">
+      <domainModelEFeature xsi:type="ecore:EReference" href="http://org/eclipse/emf/ecp/view/template/model#//StyleSelectorContainer/selector"/>
+    </domainModelReference>
+  </children>
+  <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_nsDa0RswEemi2t7e-tayrA" name="Control properties">
+    <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_nsDa0hswEemi2t7e-tayrA">
+      <domainModelEFeature xsi:type="ecore:EReference" href="http://org/eclipse/emf/ecp/view/template/model#//Style/properties"/>
+    </domainModelReference>
+  </children>
+  <ecorePaths>/org.eclipse.emf.ecp.view.template.model/model/template.ecore</ecorePaths>
+</org.eclipse.emf.ecp.view.model:View>
diff --git a/bundles/org.eclipse.emf.ecp.view.template.tooling/viewmodel/templateEditor.template b/bundles/org.eclipse.emf.ecp.view.template.tooling/viewmodel/templateEditor.template
new file mode 100644
index 0000000..6397519
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.template.tooling/viewmodel/templateEditor.template
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.ecp.view.template.model:ViewTemplate xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:org.eclipse.emf.ecp.view.model="http://org/eclipse/emf/ecp/view/model/1180" xmlns:org.eclipse.emf.ecp.view.template.model="http://org/eclipse/emf/ecp/view/template/model" xmlns:org.eclipse.emf.ecp.view.template.selector.domainmodelreference.model="http://www.eclipse.org/emf/ecp/view/template/selector/domainmodelreference/model" xmlns:org.eclipse.emf.ecp.view.template.style.reference.model="http://www.eclipse.org/emf/ecp/view/template/style/reference/model">
+  <styles>
+    <selector xsi:type="org.eclipse.emf.ecp.view.template.selector.domainmodelreference.model:DomainModelReferenceSelector">
+      <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference">
+        <domainModelEFeature xsi:type="ecore:EReference" href="http://org/eclipse/emf/ecp/view/template/model#//StyleSelectorContainer/selector"/>
+      </domainModelReference>
+    </selector>
+    <properties xsi:type="org.eclipse.emf.ecp.view.template.style.reference.model:ReferenceStyleProperty" showLinkButtonForContainmentReferences="false"/>
+  </styles>
+</org.eclipse.emf.ecp.view.template.model:ViewTemplate>
diff --git a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model.edit/META-INF/MANIFEST.MF
index 4347c77..aec517c 100644
--- a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model.edit/META-INF/MANIFEST.MF
@@ -2,19 +2,19 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.treemasterdetail.model.edit;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.ecp.view.treemasterdetail.model.provider.TreeMasterDetailEditPlugin$Implementation
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.treemasterdetail.model.provider;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.view.treemasterdetail.model.provider;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.emf.ecp.view.treemasterdetail.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.edit;bundle-version="[2.5.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore.edit;bundle-version="[2.5.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emf.ecp.view.treemasterdetail.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.edit;bundle-version="[2.5.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.edit;bundle-version="[2.5.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
 Automatic-Module-Name: org.eclipse.emf.ecp.view.treemasterdetail.model.edit
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model.edit/pom.xml
index 4efd919..60d2fdd 100644
--- a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model.edit/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.treemasterdetail.model.edit</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model/META-INF/MANIFEST.MF
index 945f58c..88482ff 100644
--- a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.treemasterdetail.model;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.treemasterdetail.model;version="1.19.0";x-friends:="org.eclipse.emf.ecp.view.treemasterdetail.model.edit,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt",
-  org.eclipse.emf.ecp.view.treemasterdetail.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.treemasterdetail.model.util;version="1.19.0";x-friends:="org.eclipse.emf.ecp.view.treemasterdetail.model.edit"
+Export-Package: org.eclipse.emf.ecp.view.treemasterdetail.model;version="1.20.0";x-friends:="org.eclipse.emf.ecp.view.treemasterdetail.model.edit,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt",
+ org.eclipse.emf.ecp.view.treemasterdetail.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.treemasterdetail.model.util;version="1.20.0";x-friends:="org.eclipse.emf.ecp.view.treemasterdetail.model.edit"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.view.treemasterdetail.model
diff --git a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model/pom.xml b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model/pom.xml
index e72df0a..6c91329 100644
--- a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.treemasterdetail.model</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt/META-INF/MANIFEST.MF
index f8de290..7bc0067 100644
--- a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt/META-INF/MANIFEST.MF
@@ -2,42 +2,42 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: View Model Vertical UI SWT
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.treemasterdetail.ui.swt;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.view.internal.treemasterdetail.ui.swt.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.internal.treemasterdetail.ui.swt;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.spi.treemasterdetail.ui.swt;version="1.19.0",
-  org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.internal;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.edit.ui.action.ecp;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.view.internal.treemasterdetail.ui.swt;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.spi.treemasterdetail.ui.swt;version="1.20.0",
+ org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.internal;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.edit.ui.action.ecp;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.edit;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.treemasterdetail.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.edit.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.validation;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emfforms.swt.core.di;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.edit;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.treemasterdetail.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.edit.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.validation;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.20.0,1.21.0)"
 Import-Package: javax.inject;version="1.0.0",
-  org.eclipse.core.commands;version="0.0.0",
-  org.eclipse.emf.edit.ui.dnd;version="0.0.0",
-  org.eclipse.emf.edit.ui.provider;version="0.0.0",
-  org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.view;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.swt.core;version="[1.19.0,1.20.0)",
-  org.eclipse.jface.action;version="0.0.0",
-  org.eclipse.jface.layout;version="0.0.0",
-  org.eclipse.jface.resource;version="0.0.0",
-  org.eclipse.jface.viewers;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.custom;version="0.0.0",
-  org.eclipse.swt.dnd;version="0.0.0",
-  org.eclipse.swt.events;version="0.0.0",
-  org.eclipse.swt.graphics;version="0.0.0",
-  org.eclipse.swt.layout;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0",
-  org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
+ org.eclipse.core.commands;version="0.0.0",
+ org.eclipse.emf.edit.ui.dnd;version="0.0.0",
+ org.eclipse.emf.edit.ui.provider;version="0.0.0",
+ org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.view;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.swt.core;version="[1.20.0,1.21.0)",
+ org.eclipse.jface.action;version="0.0.0",
+ org.eclipse.jface.layout;version="0.0.0",
+ org.eclipse.jface.resource;version="0.0.0",
+ org.eclipse.jface.viewers;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.custom;version="0.0.0",
+ org.eclipse.swt.dnd;version="0.0.0",
+ org.eclipse.swt.events;version="0.0.0",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.eclipse.swt.layout;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
 Automatic-Module-Name: org.eclipse.emf.ecp.view.treemasterdetail.ui.swt
 Service-Component: OSGI-INF/TreeMasterDetailSWTRendererService.xml
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt/pom.xml b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt/pom.xml
index 4292a41..611af74 100644
--- a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.treemasterdetail.ui.swt</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt/src/org/eclipse/emf/ecp/view/spi/treemasterdetail/ui/swt/TreeMasterDetailSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt/src/org/eclipse/emf/ecp/view/spi/treemasterdetail/ui/swt/TreeMasterDetailSWTRenderer.java
index 63b260b..36fd8aa 100644
--- a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt/src/org/eclipse/emf/ecp/view/spi/treemasterdetail/ui/swt/TreeMasterDetailSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt/src/org/eclipse/emf/ecp/view/spi/treemasterdetail/ui/swt/TreeMasterDetailSWTRenderer.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -11,6 +11,7 @@
  * Eugen Neufeld - Refactoring
  * Alexandra Buzila - Refactoring
  * Johannes Faltermeier - integration with validation service
+ * Christian W. Damus - bug 543376
  ******************************************************************************/
 package org.eclipse.emf.ecp.view.spi.treemasterdetail.ui.swt;
 
@@ -64,6 +65,7 @@
 import org.eclipse.emf.ecp.view.spi.provider.ViewProviderHelper;
 import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
 import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
+import org.eclipse.emf.ecp.view.spi.swt.services.ECPSelectionProviderService;
 import org.eclipse.emf.ecp.view.treemasterdetail.model.VTreeMasterDetail;
 import org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.internal.RootObject;
 import org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.internal.TreeMasterDetailSelectionManipulatorHelper;
@@ -467,6 +469,11 @@
 				treeViewer.removeSelectionChangedListener(treeMasterViewSelectionListener);
 			}
 		});
+
+		// Register my tree viewer as the selection provider for my element
+		getViewModelContext().getService(ECPSelectionProviderService.class)
+			.registerSelectionProvider(getVElement(), treeViewer);
+
 		return treeViewer;
 	}
 
diff --git a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.validation/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.validation/META-INF/MANIFEST.MF
index 26c825e..a9d7d8f 100644
--- a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.validation/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.validation/META-INF/MANIFEST.MF
@@ -2,18 +2,18 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Forms TreeMasterDetail Services
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.treemasterdetail.validation;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.treemasterdetail.internal.validation;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.view.treemasterdetail.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emf.ecp.view.model.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.treemasterdetail.ui.swt;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emf.ecp.view.treemasterdetail.internal.validation;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emf.ecp.view.treemasterdetail.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.treemasterdetail.ui.swt;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.treemasterdetail.validation
 Import-Package: org.eclipse.emf.edit.ui.provider;version="0.0.0",
-  org.eclipse.emfforms.spi.core.services.view;version="[1.19.0,1.20.0)",
-  org.eclipse.jface.viewers;version="0.0.0"
+ org.eclipse.emfforms.spi.core.services.view;version="[1.20.0,1.21.0)",
+ org.eclipse.jface.viewers;version="0.0.0"
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.validation/pom.xml b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.validation/pom.xml
index 01f196e..a41be9c 100644
--- a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.validation/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.validation/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.treemasterdetail.validation</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.validation/src/org/eclipse/emf/ecp/view/treemasterdetail/internal/validation/TreeMasterDetailValidationInitiator.java b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.validation/src/org/eclipse/emf/ecp/view/treemasterdetail/internal/validation/TreeMasterDetailValidationInitiator.java
index 8209944..8e4bf5f 100644
--- a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.validation/src/org/eclipse/emf/ecp/view/treemasterdetail/internal/validation/TreeMasterDetailValidationInitiator.java
+++ b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.validation/src/org/eclipse/emf/ecp/view/treemasterdetail/internal/validation/TreeMasterDetailValidationInitiator.java
@@ -11,6 +11,7 @@
  ******************************************************************************/
 package org.eclipse.emf.ecp.view.treemasterdetail.internal.validation;
 
+import java.util.Collection;
 import java.util.HashSet;
 import java.util.LinkedHashMap;
 import java.util.LinkedHashSet;
@@ -89,12 +90,8 @@
 						// For every removed child object, remove this listener and the TMD Validation Initiator as
 						// context users from the child object's context. This allows that the child context is disposed
 						// once its other listeners are removed, too.
-						for (final Object child : childrenTreeContextEntry) {
-							final ViewModelContext childContext = getExistingOrNewChildContext(treeContextEntry, child);
-							childContext.removeContextUser(this);
-							childContext.removeContextUser(TreeMasterDetailValidationInitiator.this);
-							mapping.get(treeContextEntry).remove(child);
-						}
+						final Object oldValue = notification.getRawNotification().getOldValue();
+						cleanupRemovedValues(oldValue, treeContextEntry);
 					}
 					return;
 				}
@@ -110,6 +107,38 @@
 		}
 
 		/**
+		 * Cleans up the removed values.
+		 * For every removed child object, remove this listener and the TMD Validation Initiator as
+		 * context users from the child object's context. This allows that the child context is disposed
+		 * once its other listeners are removed, too.
+		 *
+		 * @param removedValueObject the removed value object.
+		 * @param treeContextEntry the {@link TreeContextMapping} to retrieve the view model context to remove the
+		 *            context users from.
+		 */
+		private void cleanupRemovedValues(Object removedValueObject, TreeContextMapping treeContextEntry) {
+			if (removedValueObject != null) {
+				final Set<Object> removedChildren = new HashSet<Object>();
+				if (removedValueObject instanceof Collection) {
+					for (final Object removedListObject : (Collection<?>) removedValueObject) {
+						if (removedListObject instanceof EObject) {
+							removedChildren.add(removedListObject);
+						}
+					}
+				} else if (removedValueObject instanceof EObject) {
+					removedChildren.add(removedValueObject);
+				}
+				for (final Object removedChild : removedChildren) {
+					final ViewModelContext childContext = getExistingOrNewChildContext(treeContextEntry,
+						removedChild);
+					childContext.removeContextUser(this);
+					childContext.removeContextUser(TreeMasterDetailValidationInitiator.this);
+					mapping.get(treeContextEntry).remove(removedChild);
+				}
+			}
+		}
+
+		/**
 		 * Checks whether a child object has been removed by looking at the notification type and comparing the actual
 		 * children object to the children object known to the TreeMasterDetailValidationInitiator.
 		 *
diff --git a/bundles/org.eclipse.emf.ecp.view.unset/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.unset/META-INF/MANIFEST.MF
index 358269e..1562267 100644
--- a/bundles/org.eclipse.emf.ecp.view.unset/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.unset/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: View Model Unset Service
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.unset;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.internal.unset;version="1.19.0";x-friends:="org.eclipse.emf.ecp.view.unset.test"
-Require-Bundle: org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.common;bundle-version="[2.7.0,3.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emf.ecp.view.internal.unset;version="1.20.0";x-friends:="org.eclipse.emf.ecp.view.unset.test"
+Require-Bundle: org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.common;bundle-version="[2.7.0,3.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.unset
-Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)"
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.view.unset/pom.xml b/bundles/org.eclipse.emf.ecp.view.unset/pom.xml
index 03bd47c..0162c40 100644
--- a/bundles/org.eclipse.emf.ecp.view.unset/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.unset/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emf.ecp.view.unset</artifactId>
   <packaging>eclipse-plugin</packaging>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 
   <groupId>org.eclipse.emf.ecp</groupId>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.util.swt.rap/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.util.swt.rap/META-INF/MANIFEST.MF
index 714dbe7..7fae319 100644
--- a/bundles/org.eclipse.emf.ecp.view.util.swt.rap/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.util.swt.rap/META-INF/MANIFEST.MF
@@ -2,18 +2,18 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms SWT Util RAP
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.util.swt.rap
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.internal.util.swt.rap;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.view.internal.util.swt.rap;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.rap.rwt;bundle-version="[3.1.0,4.0.0)"
+ org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.rap.rwt;bundle-version="[3.1.0,4.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/org.eclipse.emf.ecp.view.internal.util.swt.rap.EMFFormsSWTLayoutDirect.xml,OSGI-INF/org.eclipse.emf.ecp.view.internal.util.swt.rap.RAPImageRegistryService.xml
 Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.emfforms.spi.swt.core.layout;version="[1.19.0,1.20.0)",
-  org.eclipse.jface.resource;version="0.0.0",
-  org.eclipse.swt.graphics;version="0.0.0",
-  org.osgi.framework;version="1.3.0",
-  org.osgi.service.component.annotations;version="1.2.0"
+Import-Package: org.eclipse.emfforms.spi.swt.core.layout;version="[1.20.0,1.21.0)",
+ org.eclipse.jface.resource;version="0.0.0",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.osgi.framework;version="1.3.0",
+ org.osgi.service.component.annotations;version="1.2.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.view.util.swt.rap
diff --git a/bundles/org.eclipse.emf.ecp.view.util.swt.rap/pom.xml b/bundles/org.eclipse.emf.ecp.view.util.swt.rap/pom.xml
index 1c1d903..5364ecc 100644
--- a/bundles/org.eclipse.emf.ecp.view.util.swt.rap/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.util.swt.rap/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.util.swt.rap</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.util.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.util.swt/META-INF/MANIFEST.MF
index 3aba568..7fd4a2c 100644
--- a/bundles/org.eclipse.emf.ecp.view.util.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.util.swt/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms SWT Util
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.util.swt
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.internal.util.swt;version="1.19.0";x-internal:=true,
- org.eclipse.emf.ecp.view.spi.util.swt;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.internal.util.swt;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.spi.util.swt;version="1.20.0"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Service-Component: OSGI-INF/rcpImageRegistry.xml
+Automatic-Module-Name: org.eclipse.emf.ecp.view.util.swt
 Import-Package: org.eclipse.jface.resource;version="0.0.0",
  org.eclipse.swt.graphics;version="0.0.0",
  org.osgi.framework;version="0.0.0"
+Service-Component: OSGI-INF/rcpImageRegistry.xml
 Bundle-ActivationPolicy: lazy
-Automatic-Module-Name: org.eclipse.emf.ecp.view.util.swt
diff --git a/bundles/org.eclipse.emf.ecp.view.util.swt/pom.xml b/bundles/org.eclipse.emf.ecp.view.util.swt/pom.xml
index 829dbaf..9228fb7 100644
--- a/bundles/org.eclipse.emf.ecp.view.util.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.util.swt/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.util.swt</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.validation.bean.default/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.validation.bean.default/META-INF/MANIFEST.MF
index a5b0e2a..e9059ba 100644
--- a/bundles/org.eclipse.emf.ecp.view.validation.bean.default/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.validation.bean.default/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Default Bean Validation
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.validation.bean.default;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.internal.validation.bean;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.view.validation;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.validation.bean;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.9.0,3.0.0)",
-  org.eclipse.emfforms.common.validation;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emf.ecp.view.internal.validation.bean;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emf.ecp.view.validation;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.validation.bean;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.9.0,3.0.0)",
+ org.eclipse.emfforms.common.validation;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.validation.bean.default
 Import-Package: javax.validation;version="[1.0.0,2.0.0)"
diff --git a/bundles/org.eclipse.emf.ecp.view.validation.bean.default/pom.xml b/bundles/org.eclipse.emf.ecp.view.validation.bean.default/pom.xml
index 9b5eda4..45bc5e8 100644
--- a/bundles/org.eclipse.emf.ecp.view.validation.bean.default/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.validation.bean.default/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.validation.bean.default</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.validation.bean/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.validation.bean/META-INF/MANIFEST.MF
index 37d48a1..9c998cd 100644
--- a/bundles/org.eclipse.emf.ecp.view.validation.bean/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.validation.bean/META-INF/MANIFEST.MF
@@ -2,18 +2,18 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Forms BeanValidation
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.validation.bean;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.view.internal.validation.bean.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.internal.validation.bean;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.validation.bean;version="1.19.0"
-Require-Bundle: org.eclipse.emf.ecp.view.validation;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)",
-  org.eclipse.core.runtime;bundle-version="[3.0.0,4.0.0)",
-  org.eclipse.emfforms.common.validation;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emf.ecp.view.internal.validation.bean;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.validation.bean;version="1.20.0"
+Require-Bundle: org.eclipse.emf.ecp.view.validation;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.emfforms.common.validation;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Import-Package: javax.validation;version="[1.0.0,2.0.0)",
-  javax.validation.bootstrap;version="[1.0.0,2.0.0)",
-  org.apache.commons.logging;version="[1.1.0,2.0.0)"
+ javax.validation.bootstrap;version="[1.0.0,2.0.0)",
+ org.apache.commons.logging;version="[1.1.0,2.0.0)"
 Automatic-Module-Name: org.eclipse.emf.ecp.view.validation.bean
diff --git a/bundles/org.eclipse.emf.ecp.view.validation.bean/pom.xml b/bundles/org.eclipse.emf.ecp.view.validation.bean/pom.xml
index b6770d4..e0dbfcf 100644
--- a/bundles/org.eclipse.emf.ecp.view.validation.bean/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.validation.bean/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.validation.bean</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.validation/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.validation/META-INF/MANIFEST.MF
index 689f1a9..3f2742a 100644
--- a/bundles/org.eclipse.emf.ecp.view.validation/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.validation/META-INF/MANIFEST.MF
@@ -2,30 +2,30 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: View Model Validation Service
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.validation;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.view.internal.validation.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.internal.validation;version="1.19.0";
-   x-friends:="org.eclipse.emf.ecp.view.table.ui,
-    org.eclipse.emf.ecp.view.custom.ui,
-    org.eclipse.emf.ecp.edit.swt,
-    org.eclipse.emf.ecp.test.model",
-  org.eclipse.emf.ecp.view.spi.validation;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.internal.validation;version="1.20.0";
+  x-friends:="org.eclipse.emf.ecp.view.table.ui,
+   org.eclipse.emf.ecp.view.custom.ui,
+   org.eclipse.emf.ecp.edit.swt,
+   org.eclipse.emf.ecp.test.model",
+ org.eclipse.emf.ecp.view.spi.validation;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.core.databinding.observable;bundle-version="[1.4.0,2.0.0)",
-  org.eclipse.emfforms.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.common.validation;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.core.databinding.observable;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emfforms.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.common.validation;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.controlmapper;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.databinding;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.mappingprovider;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.view;version="[1.19.0,1.20.0)",
-  org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.controlmapper;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.databinding;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.mappingprovider;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.view;version="[1.20.0,1.21.0)",
+ org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
 Automatic-Module-Name: org.eclipse.emf.ecp.view.validation
diff --git a/bundles/org.eclipse.emf.ecp.view.validation/pom.xml b/bundles/org.eclipse.emf.ecp.view.validation/pom.xml
index 432e154..3186de3 100644
--- a/bundles/org.eclipse.emf.ecp.view.validation/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.validation/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.validation</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.validation/src/org/eclipse/emf/ecp/view/internal/validation/ConcurrentLinkedSetQueue.java b/bundles/org.eclipse.emf.ecp.view.validation/src/org/eclipse/emf/ecp/view/internal/validation/ConcurrentLinkedSetQueue.java
new file mode 100644
index 0000000..657158e
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.validation/src/org/eclipse/emf/ecp/view/internal/validation/ConcurrentLinkedSetQueue.java
@@ -0,0 +1,140 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * nicole.behlen - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.internal.validation;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+import java.util.NoSuchElementException;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentLinkedQueue;
+
+/**
+ * An extension of {@link ConcurrentLinkedQueue} that additionally contains a set to avoid unnecessary
+ * duplicated entries in cases of non-concurrent additions.
+ * Duplication may still occur if multiple threads enqueue the same objects.
+ *
+ * @author nicole.behlen
+ *
+ * @param <E> the generic type of the elements to be queued.
+ */
+public class ConcurrentLinkedSetQueue<E> extends ConcurrentLinkedQueue<E> {
+
+	private static final long serialVersionUID = 290189755090394151L;
+
+	private final Set<Object> concurrentSet = Collections.newSetFromMap(new ConcurrentHashMap<Object, Boolean>());
+
+	/**
+	 * Adds the object to the tail of this queue, if not already contained.
+	 *
+	 * @param e adds if not already contained the object to the tail of this queue
+	 * @return <code>false</code> if object is already contained in queue, <code>true</code> otherwise.
+	 * @throws NullPointerException - if the specified element is null
+	 */
+	@Override
+	public boolean offer(E e) {
+		if (e == null) {
+			throw new NullPointerException();
+		}
+		if (!concurrentSet.contains(e)) {
+			concurrentSet.add(e);
+			return super.offer(e);
+		}
+		return false;
+	}
+
+	@Override
+	public E poll() {
+		final E next = super.poll();
+		if (next != null) {
+			concurrentSet.remove(next);
+		}
+		return next;
+	}
+
+	@Override
+	public boolean remove(Object o) {
+		if (o != null) {
+			concurrentSet.remove(o);
+		}
+		return super.remove(o);
+	}
+
+	@Override
+	public boolean addAll(Collection<? extends E> c) {
+		if (c == this) {
+			// As historically specified in AbstractQueue#addAll
+			throw new IllegalArgumentException();
+		}
+
+		final List<E> newColl = new ArrayList<>(c);
+		newColl.removeAll(concurrentSet);
+		concurrentSet.addAll(newColl);
+		return super.addAll(newColl);
+	}
+
+	@Override
+	public Iterator<E> iterator() {
+		final Iterator<E> iter = super.iterator();
+		return new IterWithRemove<>(iter);
+	}
+
+	/**
+	 *
+	 * Iterator over the elements of this queue in proper sequence, that removes
+	 * the elements from the {@link ConcurrentLinkedSetQueue#concurrentSet}.
+	 *
+	 * @author nicole.behlen
+	 *
+	 * @param <I> the generic type of the elements to iterate.
+	 */
+	private class IterWithRemove<I> implements Iterator<I> {
+
+		private final Iterator<I> delegate;
+
+		private I lastReturnedElement;
+
+		/**
+		 * Constructor setting the original iterator.
+		 */
+		IterWithRemove(Iterator<I> delegate) {
+			this.delegate = delegate;
+		}
+
+		@Override
+		public boolean hasNext() {
+			return this.delegate.hasNext();
+		}
+
+		@Override
+		public I next() {
+			if (this.delegate.hasNext()) {
+				lastReturnedElement = this.delegate.next();
+				return lastReturnedElement;
+			}
+			lastReturnedElement = null;
+			throw new NoSuchElementException();
+		}
+
+		@Override
+		public void remove() {
+			if (lastReturnedElement != null) {
+				concurrentSet.remove(lastReturnedElement);
+				lastReturnedElement = null;
+			}
+			delegate.remove();
+		}
+	}
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.emf.ecp.view.validation/src/org/eclipse/emf/ecp/view/internal/validation/ECPSubstitutionLabelProvider.java b/bundles/org.eclipse.emf.ecp.view.validation/src/org/eclipse/emf/ecp/view/internal/validation/ECPSubstitutionLabelProvider.java
index 9a8c706..88601ea 100644
--- a/bundles/org.eclipse.emf.ecp.view.validation/src/org/eclipse/emf/ecp/view/internal/validation/ECPSubstitutionLabelProvider.java
+++ b/bundles/org.eclipse.emf.ecp.view.validation/src/org/eclipse/emf/ecp/view/internal/validation/ECPSubstitutionLabelProvider.java
@@ -17,6 +17,7 @@
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EStructuralFeature;
 import org.eclipse.emf.ecore.EValidator;
+import org.eclipse.emf.ecore.impl.DynamicEObjectImpl;
 import org.eclipse.emf.ecore.util.EcoreUtil;
 import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
 import org.eclipse.emf.edit.provider.IItemLabelProvider;
@@ -43,11 +44,6 @@
 		adapterFactoryItemDelegator = new AdapterFactoryItemDelegator(factory);
 	}
 
-	/**
-	 * {@inheritDoc}
-	 *
-	 * @see org.eclipse.emf.ecore.EValidator.SubstitutionLabelProvider#getObjectLabel(org.eclipse.emf.ecore.EObject)
-	 */
 	@Override
 	public String getObjectLabel(EObject eObject) {
 		final Object provider = factory.adapt(
@@ -59,18 +55,18 @@
 		return IItemLabelProvider.class.cast(provider).getText(eObject);
 	}
 
-	/**
-	 * {@inheritDoc}
-	 *
-	 * @see org.eclipse.emf.ecore.EValidator.SubstitutionLabelProvider#getFeatureLabel(org.eclipse.emf.ecore.EStructuralFeature)
-	 */
 	@Override
 	public String getFeatureLabel(EStructuralFeature eStructuralFeature) {
 		final EClass eClass = eStructuralFeature.getEContainingClass();
 		if (eClass.isInterface() || eClass.isAbstract()) {
 			return eStructuralFeature.getName();
 		}
-		final EObject tempInstance = EcoreUtil.create(eClass);
+		EObject tempInstance;
+		if (eClass.getInstanceClass() != null) {
+			tempInstance = EcoreUtil.create(eClass);
+		} else {
+			tempInstance = new DynamicEObjectImpl(eClass);
+		}
 		final IItemPropertyDescriptor itemPropertyDescriptor = adapterFactoryItemDelegator.getPropertyDescriptor(
 			tempInstance, eStructuralFeature);
 
diff --git a/bundles/org.eclipse.emf.ecp.view.validation/src/org/eclipse/emf/ecp/view/internal/validation/ValidationServiceImpl.java b/bundles/org.eclipse.emf.ecp.view.validation/src/org/eclipse/emf/ecp/view/internal/validation/ValidationServiceImpl.java
index 0416ae9..0086f51 100644
--- a/bundles/org.eclipse.emf.ecp.view.validation/src/org/eclipse/emf/ecp/view/internal/validation/ValidationServiceImpl.java
+++ b/bundles/org.eclipse.emf.ecp.view.validation/src/org/eclipse/emf/ecp/view/internal/validation/ValidationServiceImpl.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2018 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -8,7 +8,7 @@
  *
  * Contributors:
  * Eugen - initial API and implementation
- * Christian W. Damus - bug 533522
+ * Christian W. Damus - bugs 533522, 543160
  ******************************************************************************/
 package org.eclipse.emf.ecp.view.internal.validation;
 
@@ -23,8 +23,8 @@
 import java.util.Queue;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentLinkedQueue;
 import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.function.Function;
 
 import org.eclipse.core.databinding.observable.IObserving;
 import org.eclipse.core.databinding.observable.value.IObservableValue;
@@ -63,6 +63,7 @@
 import org.eclipse.emfforms.spi.common.report.AbstractReport;
 import org.eclipse.emfforms.spi.common.report.ReportService;
 import org.eclipse.emfforms.spi.core.services.controlmapper.EMFFormsSettingToControlMapper;
+import org.eclipse.emfforms.spi.core.services.controlmapper.SubControlMapper;
 import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
 import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
 import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
@@ -304,7 +305,7 @@
 		@Override
 		public void notifyAdd(Notifier notifier) {
 			if (notifier == context.getDomainModel()) {
-				validate(getAllEObjectsToValidate());
+				validate(getAllEObjectsToValidate(context));
 			}
 		}
 
@@ -318,10 +319,16 @@
 	private ValidationDomainModelChangeListener domainChangeListener;
 	private ViewModelChangeListener viewChangeListener;
 	private ViewModelContext context;
-	private final Queue<EObject> validationQueue = new ConcurrentLinkedQueue<EObject>();
+	private final Queue<EObject> validationQueue = new ConcurrentLinkedSetQueue<EObject>();
 	private final Set<EObject> validated = Collections.newSetFromMap(new ConcurrentHashMap<EObject, Boolean>());
 	private final AtomicBoolean validationRunning = new AtomicBoolean(false);
-	private final Map<UniqueSetting, VDiagnostic> currentUpdates = new ConcurrentHashMap<UniqueSetting, VDiagnostic>();
+
+	// In a typical application, these lists will usually have zero or one element. In
+	// any case, uniqueness is ensured by the validation algorithm and so needs not be
+	// enforced by the collection, so just use simple lists
+	private final Map<UniqueSetting, List<Diagnostic>> currentUpdates = new ConcurrentHashMap<UniqueSetting, List<Diagnostic>>();
+	private final Function<Object, List<Diagnostic>> diagnosticListFactory = __ -> new ArrayList<>(3);
+
 	private ComposedAdapterFactory adapterFactory;
 	private ReportService reportService;
 
@@ -454,12 +461,32 @@
 		return result;
 	}
 
-	private Collection<EObject> getAllEObjectsToValidate() {
-		return getAllEObjectsToValidate(controlMapper);
+	private Collection<EObject> getAllEObjectsToValidate(ViewModelContext context) {
+		return getAllEObjectsToValidate(context, controlMapper);
 	}
 
-	private static Collection<EObject> getAllEObjectsToValidate(EMFFormsSettingToControlMapper controlMapper) {
-		return controlMapper.getEObjectsWithSettings();
+	private static Collection<EObject> getAllEObjectsToValidate(ViewModelContext context,
+		EMFFormsSettingToControlMapper controlMapper) {
+
+		if (context.getParentContext() == null || !(controlMapper instanceof SubControlMapper)) {
+			// Easy: validate the whole model
+			return controlMapper.getEObjectsWithSettings();
+		}
+
+		final SubControlMapper subMapper = (SubControlMapper) controlMapper;
+		final Collection<EObject> result = subMapper.getEObjectsWithSettings(context.getViewModel());
+
+		// And all container objects that have settings
+		for (ViewModelContext parent = context.getParentContext(); parent != null; parent = parent
+			.getParentContext()) {
+
+			final EObject parentObject = parent.getDomainModel();
+			if (controlMapper.hasControlsFor(parentObject)) {
+				result.add(parentObject);
+			}
+		}
+
+		return result;
 	}
 
 	@Override
@@ -522,17 +549,7 @@
 		final Map<VElement, VDiagnostic> controlDiagnosticMap = new LinkedHashMap<VElement, VDiagnostic>();
 
 		for (final VElement control : vElementToSettingMap.keySet()) {
-
-			if (!controlDiagnosticMap.containsKey(control)) {
-				controlDiagnosticMap.put(control, VViewFactory.eINSTANCE.createDiagnostic());
-			}
-			for (final UniqueSetting uniqueSetting : vElementToSettingMap.get(control)) {
-				// TODO Performance
-				// controlDiagnosticMap.get(control).getDiagnostics()
-				// .removeAll(currentUpdates.get(uniqueSetting).getDiagnostics());
-				controlDiagnosticMap.get(control).getDiagnostics()
-					.addAll(currentUpdates.get(uniqueSetting).getDiagnostics());
-			}
+			updateControlDiagnostics(control, vElementToSettingMap, controlDiagnosticMap);
 
 			// add all diagnostics of control which are not in the currentUpdates
 			if (control.getDiagnostic() == null) {
@@ -559,27 +576,39 @@
 				if (!currentUpdates.containsKey(uniqueSetting2)) {
 					controlDiagnosticMap.get(control).getDiagnostics().add(diagnosticObject);
 				}
-
 			}
-
 		}
 
 		updateAndPropagate(controlDiagnosticMap);
+	}
 
+	private void updateControlDiagnostics(final VElement control,
+		final Map<VElement, Set<UniqueSetting>> vElementToSettingMap,
+		final Map<VElement, VDiagnostic> controlDiagnosticMap) {
+
+		if (!controlDiagnosticMap.containsKey(control)) {
+			controlDiagnosticMap.put(control, VViewFactory.eINSTANCE.createDiagnostic());
+		}
+
+		for (final UniqueSetting uniqueSetting : vElementToSettingMap.get(control)) {
+			final List<Diagnostic> diagnostics = currentUpdates.get(uniqueSetting);
+			if (!diagnostics.isEmpty()) {
+				controlDiagnosticMap.get(control).getDiagnostics().addAll(diagnostics);
+			}
+		}
 	}
 
 	private Map<VElement, Set<UniqueSetting>> prepareVElementToSettingMap() {
 		final Map<VElement, Set<UniqueSetting>> result = new LinkedHashMap<VElement, Set<UniqueSetting>>();
+		final Function<VElement, Set<UniqueSetting>> setFactory = __ -> new LinkedHashSet<>();
+
 		for (final UniqueSetting uniqueSetting : currentUpdates.keySet()) {
 			final Set<VElement> controls = controlMapper.getControlsFor(uniqueSetting);
-			if (controls == null) {
+			if (controls == null || controls.isEmpty()) {
 				continue;
 			}
 			for (final VElement control : controls) {
-				if (!result.containsKey(control)) {
-					result.put(control, new LinkedHashSet<UniqueSetting>());
-				}
-				result.get(control).add(uniqueSetting);
+				result.computeIfAbsent(control, setFactory).add(uniqueSetting);
 			}
 		}
 		return result;
@@ -590,11 +619,9 @@
 	}
 
 	private void updateAndPropagate(Map<VElement, VDiagnostic> controlDiagnosticMap) {
-		for (final VElement control : controlDiagnosticMap.keySet()) {
-
-			control.setDiagnostic(controlDiagnosticMap.get(control));
-
-			reevaluateToTop(control.eContainer(), controlDiagnosticMap);
+		for (final Map.Entry<VElement, VDiagnostic> next : controlDiagnosticMap.entrySet()) {
+			next.getKey().setDiagnostic(next.getValue());
+			reevaluateToTop(next.getKey().eContainer(), controlDiagnosticMap);
 		}
 	}
 
@@ -639,9 +666,7 @@
 			}
 			for (final EStructuralFeature feature : eObject.eClass().getEAllStructuralFeatures()) {
 				final UniqueSetting uniqueSetting = UniqueSetting.createSetting(eObject, feature);
-				if (!currentUpdates.containsKey(uniqueSetting)) {
-					currentUpdates.put(uniqueSetting, VViewFactory.eINSTANCE.createDiagnostic());
-				}
+				currentUpdates.computeIfAbsent(uniqueSetting, diagnosticListFactory);
 			}
 			analyzeDiagnostic(diagnostic);
 		} finally {
@@ -671,11 +696,7 @@
 			}
 			final Setting setting = internalEObject.eSetting(eStructuralFeature);
 			final UniqueSetting uniqueSetting = UniqueSetting.createSetting(setting);
-			if (!currentUpdates.containsKey(uniqueSetting)) {
-				currentUpdates.put(uniqueSetting, VViewFactory.eINSTANCE.createDiagnostic());
-			}
-			currentUpdates.get(uniqueSetting).getDiagnostics().add(diagnostic);
-
+			currentUpdates.computeIfAbsent(uniqueSetting, diagnosticListFactory).add(diagnostic);
 		} else {
 			for (final Diagnostic childDiagnostic : diagnostic.getChildren()) {
 				analyzeDiagnostic(childDiagnostic);
@@ -691,8 +712,8 @@
 	@Override
 	public void addValidationProvider(ValidationProvider validationProvider, boolean revalidate) {
 		validationService.addValidator(validationProvider);
-		if (revalidate) {
-			validate(getAllEObjectsToValidate());
+		if (revalidate && context != null) {
+			validate(getAllEObjectsToValidate(context));
 		}
 	}
 
@@ -704,8 +725,8 @@
 	@Override
 	public void removeValidationProvider(ValidationProvider validationProvider, boolean revalidate) {
 		validationService.removeValidator(validationProvider);
-		if (revalidate) {
-			validate(getAllEObjectsToValidate());
+		if (revalidate && context != null) {
+			validate(getAllEObjectsToValidate(context));
 		}
 	}
 
@@ -744,7 +765,12 @@
 
 	@Override
 	public void childContextAdded(VElement parentElement, EMFFormsViewContext childContext) {
-		validate(getAllEObjectsToValidate());
+		// We are getting this from a parent content that is a view-model context, so the
+		// child really ought to be one, also
+		if (childContext instanceof ViewModelContext) {
+			validate(getAllEObjectsToValidate((ViewModelContext) childContext));
+		}
+
 		childContext.registerViewChangeListener(viewChangeListener);
 	}
 
@@ -757,7 +783,7 @@
 	@Override
 	public void contextInitialised() {
 		initialized = true;
-		validate(getAllEObjectsToValidate());
+		validate(getAllEObjectsToValidate(context));
 	}
 
 	@Override
@@ -777,4 +803,5 @@
 		}
 		return null;
 	}
+
 }
diff --git a/bundles/org.eclipse.emf.ecp.view.vertical.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.vertical.model.edit/META-INF/MANIFEST.MF
index bc10bb6..aba7c36 100644
--- a/bundles/org.eclipse.emf.ecp.view.vertical.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.vertical.model.edit/META-INF/MANIFEST.MF
@@ -2,19 +2,19 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.vertical.model.edit;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.ecp.view.spi.vertical.model.provider.VerticalEditPlugin$Implementation
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.spi.vertical.model.provider;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.spi.vertical.model.provider;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
 Automatic-Module-Name: org.eclipse.emf.ecp.view.vertical.model.edit
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emf.ecp.view.vertical.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.view.vertical.model.edit/pom.xml
index 7fad1f8..4bab285 100644
--- a/bundles/org.eclipse.emf.ecp.view.vertical.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.vertical.model.edit/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emf.ecp.view.vertical.model.edit</artifactId>
   <packaging>eclipse-plugin</packaging>
 
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <groupId>org.eclipse.emf.ecp</groupId>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.vertical.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.vertical.model/META-INF/MANIFEST.MF
index 892a5ab..a21544d 100644
--- a/bundles/org.eclipse.emf.ecp.view.vertical.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.vertical.model/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.vertical.model;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.spi.vertical.model;version="1.19.0",
-  org.eclipse.emf.ecp.view.spi.vertical.model.impl;version="1.19.0",
-  org.eclipse.emf.ecp.view.spi.vertical.model.util;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.spi.vertical.model;version="1.20.0",
+ org.eclipse.emf.ecp.view.spi.vertical.model.impl;version="1.20.0",
+ org.eclipse.emf.ecp.view.spi.vertical.model.util;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.view.vertical.model
diff --git a/bundles/org.eclipse.emf.ecp.view.vertical.model/pom.xml b/bundles/org.eclipse.emf.ecp.view.vertical.model/pom.xml
index d9d83c9..469f853 100644
--- a/bundles/org.eclipse.emf.ecp.view.vertical.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.vertical.model/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emf.ecp.view.vertical.model</artifactId>
   <packaging>eclipse-plugin</packaging>
 
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <groupId>org.eclipse.emf.ecp</groupId>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/META-INF/MANIFEST.MF
index 01a5a90..59a4024 100644
--- a/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/META-INF/MANIFEST.MF
@@ -2,24 +2,24 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: View Model Vertical UI SWT
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.vertical.ui.swt
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.internal.vertical.swt;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.spi.vertical.swt;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.internal.vertical.swt;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.spi.vertical.swt;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.edit;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core.di;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.edit;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/verticalLayoutRendererService.xml
 Bundle-ActivationPolicy: lazy
 Import-Package: javax.inject;version="1.0.0",
-  org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.databinding;version="[1.19.0,1.20.0)",
-  org.eclipse.jface.layout;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0"
+ org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.databinding;version="[1.20.0,1.21.0)",
+ org.eclipse.jface.layout;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.view.vertical.ui.swt
diff --git a/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/pom.xml b/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/pom.xml
index 7c342da..3f993be 100644
--- a/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/src/org/eclipse/emf/ecp/view/spi/vertical/swt/VerticalLayoutSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/src/org/eclipse/emf/ecp/view/spi/vertical/swt/VerticalLayoutSWTRenderer.java
index 0c5a605..a71daa1 100644
--- a/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/src/org/eclipse/emf/ecp/view/spi/vertical/swt/VerticalLayoutSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/src/org/eclipse/emf/ecp/view/spi/vertical/swt/VerticalLayoutSWTRenderer.java
@@ -21,7 +21,6 @@
 import org.eclipse.emf.ecp.view.spi.model.VContainedElement;
 import org.eclipse.emf.ecp.view.spi.vertical.model.VVerticalLayout;
 import org.eclipse.emfforms.spi.common.report.ReportService;
-import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
 import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
 
 /**
@@ -40,14 +39,13 @@
 	 * @param viewContext the view context
 	 * @param reportService the {@link ReportService}
 	 * @param factory the {@link EMFFormsRendererFactory}
-	 * @param emfFormsDatabinding The {@link EMFFormsDatabinding}
 	 * @since 1.6
 	 */
 	@Inject
 	public VerticalLayoutSWTRenderer(VVerticalLayout vElement, ViewModelContext viewContext,
 		ReportService reportService,
-		EMFFormsRendererFactory factory, EMFFormsDatabinding emfFormsDatabinding) {
-		super(vElement, viewContext, reportService, factory, emfFormsDatabinding);
+		EMFFormsRendererFactory factory) {
+		super(vElement, viewContext, reportService, factory);
 	}
 
 	private static final String CONTROL_COLUMN = "org_eclipse_emf_ecp_ui_layout_vertical"; //$NON-NLS-1$
diff --git a/bundles/org.eclipse.emf.ecp.view.viewproxy.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.viewproxy.model.edit/META-INF/MANIFEST.MF
index 294c613..e6b9bf9 100644
--- a/bundles/org.eclipse.emf.ecp.view.viewproxy.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.viewproxy.model.edit/META-INF/MANIFEST.MF
@@ -2,20 +2,20 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.viewproxy.model.edit;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.ecp.view.internal.viewproxy.model.provider.ViewproxyEditPlugin$Implementation
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.internal.viewproxy.model.provider;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.spi.viewproxy.model.provider;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.internal.viewproxy.model.provider;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.spi.viewproxy.model.provider;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.view.viewproxy.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emf.ecp.view.viewproxy.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
 Automatic-Module-Name: org.eclipse.emf.ecp.view.viewproxy.model.edit
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emf.ecp.view.viewproxy.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.view.viewproxy.model.edit/pom.xml
index 469a1a6..f247313 100644
--- a/bundles/org.eclipse.emf.ecp.view.viewproxy.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.viewproxy.model.edit/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.viewproxy.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.viewproxy.model/META-INF/MANIFEST.MF
index 64e89db..d4fd7d0 100644
--- a/bundles/org.eclipse.emf.ecp.view.viewproxy.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.viewproxy.model/META-INF/MANIFEST.MF
@@ -2,21 +2,21 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.viewproxy.model;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.internal.viewproxy.resolver;version="1.19.0",
-  org.eclipse.emf.ecp.view.spi.viewproxy.model;version="1.19.0",
-  org.eclipse.emf.ecp.view.spi.viewproxy.model.impl;version="1.19.0",
-  org.eclipse.emf.ecp.view.spi.viewproxy.model.util;version="1.19.0",
-  org.eclipse.emf.ecp.view.spi.viewproxy.resolver;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.internal.viewproxy.resolver;version="1.20.0",
+ org.eclipse.emf.ecp.view.spi.viewproxy.model;version="1.20.0",
+ org.eclipse.emf.ecp.view.spi.viewproxy.model.impl;version="1.20.0",
+ org.eclipse.emf.ecp.view.spi.viewproxy.model.util;version="1.20.0",
+ org.eclipse.emf.ecp.view.spi.viewproxy.resolver;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.view.viewproxy.model
diff --git a/bundles/org.eclipse.emf.ecp.view.viewproxy.model/pom.xml b/bundles/org.eclipse.emf.ecp.view.viewproxy.model/pom.xml
index 380481a..afbbce2 100644
--- a/bundles/org.eclipse.emf.ecp.view.viewproxy.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.viewproxy.model/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.view.viewproxy.model/src/org/eclipse/emf/ecp/view/internal/viewproxy/resolver/ProxyResolverViewService.java b/bundles/org.eclipse.emf.ecp.view.viewproxy.model/src/org/eclipse/emf/ecp/view/internal/viewproxy/resolver/ProxyResolverViewService.java
index 5738c77..9d31443 100644
--- a/bundles/org.eclipse.emf.ecp.view.viewproxy.model/src/org/eclipse/emf/ecp/view/internal/viewproxy/resolver/ProxyResolverViewService.java
+++ b/bundles/org.eclipse.emf.ecp.view.viewproxy.model/src/org/eclipse/emf/ecp/view/internal/viewproxy/resolver/ProxyResolverViewService.java
@@ -73,7 +73,10 @@
 	 */
 	@Override
 	public int getPriority() {
-		return -10;
+		// Must be lower than the LocalizationViewModelService's priority because otherwise labels of elements defined
+		// in the proxy view are not localized.
+		// Should be lower than the DmrToSegments service so that segments are generated for the loaded proxy views.
+		return -2000;
 	}
 
 	/**
diff --git a/bundles/org.eclipse.emf.ecp.view.workspace.migrator/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.workspace.migrator/META-INF/MANIFEST.MF
index ad92917..c5b978b 100644
--- a/bundles/org.eclipse.emf.ecp.view.workspace.migrator/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.workspace.migrator/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ViewModel Workspace Migrator
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.workspace.migrator;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.workspace.migrator;version="1.19.0"
-Require-Bundle: org.eclipse.emf.ecp.view.migrator;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.equinox.common;bundle-version="[3.6.0,4.0.0)",
-  org.eclipse.core.resources;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.ide.util;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emf.ecp.view.workspace.migrator;version="1.20.0"
+Require-Bundle: org.eclipse.emf.ecp.view.migrator;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.equinox.common;bundle-version="[3.6.0,4.0.0)",
+ org.eclipse.core.resources;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.emf.ecp.ide.util;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.workspace.migrator
 Service-Component: OSGI-INF/workspaceMigrator.xml
diff --git a/bundles/org.eclipse.emf.ecp.view.workspace.migrator/pom.xml b/bundles/org.eclipse.emf.ecp.view.workspace.migrator/pom.xml
index b00f3b9..4878cc3 100644
--- a/bundles/org.eclipse.emf.ecp.view.workspace.migrator/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.workspace.migrator/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.workspace.migrator</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
   
   <properties>
diff --git a/bundles/org.eclipse.emf.ecp.workspace.core/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.workspace.core/META-INF/MANIFEST.MF
index 30f14c1..f53ff17 100644
--- a/bundles/org.eclipse.emf.ecp.workspace.core/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.workspace.core/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Workspace Integration Core
 Bundle-SymbolicName: org.eclipse.emf.ecp.workspace.core;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.workspace.internal.core.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.workspace.internal.core;version="1.19.0";x-friends:="org.eclipse.emf.ecp.workspace.ui,org.eclipse.emf.ecp.ui.view.editor.controls"
+Export-Package: org.eclipse.emf.ecp.workspace.internal.core;version="1.20.0";x-friends:="org.eclipse.emf.ecp.workspace.ui,org.eclipse.emf.ecp.ui.view.editor.controls"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
  org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.emf.ecp.core;bundle-version="[1.19.0,1.20.0)",
+ org.eclipse.emf.ecp.core;bundle-version="[1.20.0,1.21.0)",
  org.eclipse.net4j.util;bundle-version="[3.0.0,4.0.0)",
  org.eclipse.emf.ecore.xmi;bundle-version="[2.11.0,3.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emf.ecp.workspace.core/pom.xml b/bundles/org.eclipse.emf.ecp.workspace.core/pom.xml
index 8a6993a..9760bde 100644
--- a/bundles/org.eclipse.emf.ecp.workspace.core/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.workspace.core/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.workspace.core</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.workspace.ui.rap/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.workspace.ui.rap/META-INF/MANIFEST.MF
index 91598a3..ba06b1f 100644
--- a/bundles/org.eclipse.emf.ecp.workspace.ui.rap/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.workspace.ui.rap/META-INF/MANIFEST.MF
@@ -2,30 +2,30 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Workspace Integration UI RAP
 Bundle-SymbolicName: org.eclipse.emf.ecp.workspace.ui.rap;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.workspace.internal.ui.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.workspace.internal.ui;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.workspace.internal.ui;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
  org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.emf.ecp.workspace.core;bundle-version="[1.19.0,1.20.0)",
- org.eclipse.emf.ecp.ui;bundle-version="[1.19.0,1.20.0)",
+ org.eclipse.emf.ecp.workspace.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui;bundle-version="[1.20.0,1.21.0)",
  org.eclipse.net4j.util;bundle-version="[3.0.0,4.0.0)",
  org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.emf.ecp.common.ui;bundle-version="[1.19.0,1.20.0)",
+ org.eclipse.emf.ecp.common.ui;bundle-version="[1.20.0,1.21.0)",
  org.eclipse.rap.filedialog;bundle-version="[3.1.2,4.0.0)",
  org.eclipse.rap.rwt;bundle-version="[3.1.2,4.0.0)",
  org.eclipse.emf.ecore.xmi;bundle-version="[2.11.0,3.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Import-Package: org.eclipse.core.commands;version="0.0.0",
-  org.eclipse.jface.action;version="0.0.0",
-  org.eclipse.jface.dialogs;version="0.0.0",
-  org.eclipse.jface.resource;version="0.0.0",
-  org.eclipse.jface.viewers;version="0.0.0",
-  org.eclipse.jface.window;version="0.0.0",
-  org.eclipse.jface.wizard;version="0.0.0",
-  org.eclipse.ui;ui.workbench=split;version="0.0.0",
-  org.eclipse.ui.handlers;version="0.0.0",
-  org.eclipse.ui.plugin;version="0.0.0"
+ org.eclipse.jface.action;version="0.0.0",
+ org.eclipse.jface.dialogs;version="0.0.0",
+ org.eclipse.jface.resource;version="0.0.0",
+ org.eclipse.jface.viewers;version="0.0.0",
+ org.eclipse.jface.window;version="0.0.0",
+ org.eclipse.jface.wizard;version="0.0.0",
+ org.eclipse.ui;ui.workbench=split;version="0.0.0",
+ org.eclipse.ui.handlers;version="0.0.0",
+ org.eclipse.ui.plugin;version="0.0.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.workspace.ui.rap
diff --git a/bundles/org.eclipse.emf.ecp.workspace.ui.rap/pom.xml b/bundles/org.eclipse.emf.ecp.workspace.ui.rap/pom.xml
index cb257ba..d64310e 100644
--- a/bundles/org.eclipse.emf.ecp.workspace.ui.rap/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.workspace.ui.rap/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.workspace.ui.rap</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
\ No newline at end of file
diff --git a/bundles/org.eclipse.emf.ecp.workspace.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.workspace.ui/META-INF/MANIFEST.MF
index 8ccad00..987576a 100644
--- a/bundles/org.eclipse.emf.ecp.workspace.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.workspace.ui/META-INF/MANIFEST.MF
@@ -2,40 +2,40 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Workspace Integration UI
 Bundle-SymbolicName: org.eclipse.emf.ecp.workspace.ui;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.workspace.internal.ui.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.workspace.internal.ui;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.workspace.internal.ui;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
  org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.emf.ecp.workspace.core;bundle-version="[1.19.0,1.20.0)",
- org.eclipse.emf.ecp.ui;bundle-version="[1.19.0,1.20.0)",
+ org.eclipse.emf.ecp.workspace.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui;bundle-version="[1.20.0,1.21.0)",
  org.eclipse.net4j.util;bundle-version="[3.0.0,4.0.0)",
  org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.emf.ecp.common.ui;bundle-version="[1.19.0,1.20.0)",
+ org.eclipse.emf.ecp.common.ui;bundle-version="[1.20.0,1.21.0)",
  org.eclipse.emf.ecore.xmi;bundle-version="[2.11.0,3.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Import-Package: org.eclipse.core.commands;version="0.0.0",
-  org.eclipse.jface.action;version="0.0.0",
-  org.eclipse.jface.dialogs;version="0.0.0",
-  org.eclipse.jface.resource;version="0.0.0",
-  org.eclipse.jface.viewers;version="0.0.0",
-  org.eclipse.jface.window;version="0.0.0",
-  org.eclipse.jface.wizard;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.custom;version="0.0.0",
-  org.eclipse.swt.events;version="0.0.0",
-  org.eclipse.swt.graphics;version="0.0.0",
-  org.eclipse.swt.layout;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0",
-  org.eclipse.ui;ui.workbench=split;version="0.0.0",
-  org.eclipse.ui.actions;version="0.0.0",
-  org.eclipse.ui.dialogs;version="0.0.0",
-  org.eclipse.ui.handlers;version="0.0.0",
-  org.eclipse.ui.internal.ide;version="0.0.0",
-  org.eclipse.ui.internal.ide.misc;version="0.0.0",
-  org.eclipse.ui.model;version="0.0.0",
-  org.eclipse.ui.plugin;version="0.0.0",
-  org.eclipse.ui.wizards.newresource;version="0.0.0"
+ org.eclipse.jface.action;version="0.0.0",
+ org.eclipse.jface.dialogs;version="0.0.0",
+ org.eclipse.jface.resource;version="0.0.0",
+ org.eclipse.jface.viewers;version="0.0.0",
+ org.eclipse.jface.window;version="0.0.0",
+ org.eclipse.jface.wizard;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.custom;version="0.0.0",
+ org.eclipse.swt.events;version="0.0.0",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.eclipse.swt.layout;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.eclipse.ui;ui.workbench=split;version="0.0.0",
+ org.eclipse.ui.actions;version="0.0.0",
+ org.eclipse.ui.dialogs;version="0.0.0",
+ org.eclipse.ui.handlers;version="0.0.0",
+ org.eclipse.ui.internal.ide;version="0.0.0",
+ org.eclipse.ui.internal.ide.misc;version="0.0.0",
+ org.eclipse.ui.model;version="0.0.0",
+ org.eclipse.ui.plugin;version="0.0.0",
+ org.eclipse.ui.wizards.newresource;version="0.0.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.workspace.ui
diff --git a/bundles/org.eclipse.emf.ecp.workspace.ui/pom.xml b/bundles/org.eclipse.emf.ecp.workspace.ui/pom.xml
index 47969e7..8b9409e 100644
--- a/bundles/org.eclipse.emf.ecp.workspace.ui/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.workspace.ui/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.workspace.ui</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
\ No newline at end of file
diff --git a/bundles/org.eclipse.emf.rap.edit.ui.minimal/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.rap.edit.ui.minimal/META-INF/MANIFEST.MF
index e56c449..b7c9cc9 100644
--- a/bundles/org.eclipse.emf.rap.edit.ui.minimal/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.rap.edit.ui.minimal/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Minimal RAP EMF Edit UI
 Bundle-SymbolicName: org.eclipse.emf.rap.edit.ui.minimal
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.edit.ui.provider.Activator
 Bundle-Vendor: Eclipse Modeling Project
 Export-Package: org.eclipse.emf.edit.ui.dnd;version="2.10.0",
@@ -11,6 +11,7 @@
  org.eclipse.emf.common;bundle-version="[2.7.0,3.0.0)",
  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-ActivationPolicy: lazy
 Import-Package: org.eclipse.jface.resource;version="0.0.0",
  org.eclipse.jface.viewers;version="0.0.0",
  org.eclipse.swt;version="0.0.0",
@@ -18,5 +19,4 @@
  org.eclipse.swt.events,
  org.eclipse.swt.graphics;version="0.0.0",
  org.eclipse.swt.widgets;version="0.0.0"
-Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.rap.edit.ui.minimal
diff --git a/bundles/org.eclipse.emf.rap.edit.ui.minimal/pom.xml b/bundles/org.eclipse.emf.rap.edit.ui.minimal/pom.xml
index 4449ef5..b9e5ea8 100644
--- a/bundles/org.eclipse.emf.rap.edit.ui.minimal/pom.xml
+++ b/bundles/org.eclipse.emf.rap.edit.ui.minimal/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.rap.edit.ui.minimal</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emfforms.common.prevalidation/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.common.prevalidation/META-INF/MANIFEST.MF
index 8493385..04a46d8 100644
--- a/bundles/org.eclipse.emfforms.common.prevalidation/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.common.prevalidation/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Pre-Set Validation
 Bundle-SymbolicName: org.eclipse.emfforms.common.prevalidation
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.internal.common.prevalidation;version="1.19.0"
+Export-Package: org.eclipse.emfforms.internal.common.prevalidation;version="1.20.0"
 Require-Bundle: org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)",
-  org.eclipse.emfforms.common;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emfforms.common;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/PreSetValidationServiceImpl.xml
 Bundle-ActivationPolicy: lazy
 Import-Package: org.osgi.framework;version="1.8.0",
-  org.osgi.service.component.annotations;version="1.2.0";resolution:=optional
+ org.osgi.service.component.annotations;version="1.2.0";resolution:=optional
 Automatic-Module-Name: org.eclipse.emfforms.common.prevalidation
diff --git a/bundles/org.eclipse.emfforms.common.prevalidation/pom.xml b/bundles/org.eclipse.emfforms.common.prevalidation/pom.xml
index d6eca4f..db33ad3 100644
--- a/bundles/org.eclipse.emfforms.common.prevalidation/pom.xml
+++ b/bundles/org.eclipse.emfforms.common.prevalidation/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.common.prevalidation</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
 </project>
diff --git a/bundles/org.eclipse.emfforms.common.validation/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.common.validation/META-INF/MANIFEST.MF
index e262fb4..b200a28 100644
--- a/bundles/org.eclipse.emfforms.common.validation/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.common.validation/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Common Validation
 Bundle-SymbolicName: org.eclipse.emfforms.common.validation;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.common.internal.validation;version="1.19.0";x-friends:="org.eclipse.emf.ecp.view.validation,org.eclipse.emf.ecp.ide.migration",
-  org.eclipse.emfforms.common.spi.validation;version="1.19.0",
-  org.eclipse.emfforms.common.spi.validation.exception;version="1.19.0",
-  org.eclipse.emfforms.common.spi.validation.filter;version="1.19.0"
+Export-Package: org.eclipse.emfforms.common.internal.validation;version="1.20.0";x-friends:="org.eclipse.emf.ecp.view.validation,org.eclipse.emf.ecp.ide.migration",
+ org.eclipse.emfforms.common.spi.validation;version="1.20.0",
+ org.eclipse.emfforms.common.spi.validation.exception;version="1.20.0",
+ org.eclipse.emfforms.common.spi.validation.filter;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emfforms.common;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emfforms.common;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.common.validation
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emfforms.common.validation/pom.xml b/bundles/org.eclipse.emfforms.common.validation/pom.xml
index 226513d..b55c0a8 100644
--- a/bundles/org.eclipse.emfforms.common.validation/pom.xml
+++ b/bundles/org.eclipse.emfforms.common.validation/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.common.validation</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
   <properties>
diff --git a/bundles/org.eclipse.emfforms.common.validation/src/org/eclipse/emfforms/common/internal/validation/ValidationServiceImpl.java b/bundles/org.eclipse.emfforms.common.validation/src/org/eclipse/emfforms/common/internal/validation/ValidationServiceImpl.java
index 312ac63..c455b75 100644
--- a/bundles/org.eclipse.emfforms.common.validation/src/org/eclipse/emfforms/common/internal/validation/ValidationServiceImpl.java
+++ b/bundles/org.eclipse.emfforms.common.validation/src/org/eclipse/emfforms/common/internal/validation/ValidationServiceImpl.java
@@ -29,6 +29,7 @@
 import org.eclipse.emf.ecore.EStructuralFeature;
 import org.eclipse.emf.ecore.EValidator;
 import org.eclipse.emf.ecore.EValidator.SubstitutionLabelProvider;
+import org.eclipse.emf.ecore.impl.DynamicEObjectImpl;
 import org.eclipse.emf.ecore.util.Diagnostician;
 import org.eclipse.emfforms.common.Optional;
 import org.eclipse.emfforms.common.spi.validation.ValidationResultListener;
@@ -366,13 +367,18 @@
 			Map<Object, Object> context) {
 			EValidator eValidator;
 			EClass eType = eClass;
-			while ((eValidator = eValidatorRegistry.getEValidator(eType.getEPackage())) == null) {
-				final List<EClass> eSuperTypes = eType.getESuperTypes();
-				if (eSuperTypes.isEmpty()) {
-					eValidator = eValidatorRegistry.getEValidator(null);
-					break;
+			// short cut dynamic emf to avoid ClassCastExceptions in custom validators
+			if (eObject instanceof DynamicEObjectImpl) {
+				eValidator = eValidatorRegistry.getEValidator(null);
+			} else {
+				while ((eValidator = eValidatorRegistry.getEValidator(eType.getEPackage())) == null) {
+					final List<EClass> eSuperTypes = eType.getESuperTypes();
+					if (eSuperTypes.isEmpty()) {
+						eValidator = eValidatorRegistry.getEValidator(null);
+						break;
+					}
+					eType = eSuperTypes.get(0);
 				}
-				eType = eSuperTypes.get(0);
 			}
 			return doValidate(eValidator, eType, eObject, diagnostics, context);
 		}
diff --git a/bundles/org.eclipse.emfforms.common/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.common/META-INF/MANIFEST.MF
index 5d8c27c..067eeff 100644
--- a/bundles/org.eclipse.emfforms.common/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.common/META-INF/MANIFEST.MF
@@ -2,20 +2,21 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms Common
 Bundle-SymbolicName: org.eclipse.emfforms.common
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.common;version="1.19.0",
- org.eclipse.emfforms.internal.common;version="1.19.0";x-internal:=true,
- org.eclipse.emfforms.internal.common.converter;version="1.19.0";x-internal:=true,
- org.eclipse.emfforms.internal.common.report;version="1.19.0";x-internal:=true,
- org.eclipse.emfforms.spi.common.converter;version="1.19.0",
- org.eclipse.emfforms.spi.common.locale;version="1.19.0",
- org.eclipse.emfforms.spi.common.report;version="1.19.0",
- org.eclipse.emfforms.spi.common.validation;version="1.19.0"
+Export-Package: org.eclipse.emfforms.common;version="1.20.0",
+ org.eclipse.emfforms.internal.common;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.common.converter;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.common.report;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.spi.common.converter;version="1.20.0",
+ org.eclipse.emfforms.spi.common.locale;version="1.20.0",
+ org.eclipse.emfforms.spi.common.report;version="1.20.0",
+ org.eclipse.emfforms.spi.common.sort;version="1.20.0",
+ org.eclipse.emfforms.spi.common.validation;version="1.20.0"
 Require-Bundle: org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Import-Package: org.osgi.framework;version="1.8.0",
- org.osgi.service.component.annotations;version="[1.1.0,2.0.0)";resolution:=optional
 Service-Component: OSGI-INF/org.eclipse.emfforms.internal.common.report.ReportServiceImpl.xml,OSGI-INF/org.eclipse.emfforms.internal.common.converter.EStructuralFeatureValueConverterServiceImpl.xml,OSGI-INF/org.eclipse.emfforms.internal.common.converter.DefaultEAttributeValueConverterImpl.xml
 Bundle-ActivationPolicy: lazy
+Import-Package: org.osgi.framework;version="1.8.0",
+ org.osgi.service.component.annotations;version="[1.1.0,2.0.0)";resolution:=optional
 Automatic-Module-Name: org.eclipse.emfforms.common
diff --git a/bundles/org.eclipse.emfforms.common/pom.xml b/bundles/org.eclipse.emfforms.common/pom.xml
index 82a9c89..1cc7d3a 100644
--- a/bundles/org.eclipse.emfforms.common/pom.xml
+++ b/bundles/org.eclipse.emfforms.common/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.common</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
   <properties>
diff --git a/bundles/org.eclipse.emfforms.common/src/org/eclipse/emfforms/common/TriFunction.java b/bundles/org.eclipse.emfforms.common/src/org/eclipse/emfforms/common/TriFunction.java
new file mode 100644
index 0000000..23e8b22
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.common/src/org/eclipse/emfforms/common/TriFunction.java
@@ -0,0 +1,48 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.common;
+
+import java.util.function.Function;
+
+/**
+ * Represents a function that accepts three arguments and produces a result.
+ * This is the three-arity specialization of {@link Function}.
+ *
+ * <p>
+ * This is a functional interface whose functional method is {@link #apply(Object, Object, Object)}.
+ *
+ * <p>
+ * This interface was introduced because Java 8 only provides {@link java.util.function.Function Function} and
+ * {@link java.util.function.BiFunction BiFunction}.
+ *
+ * @param <R> the type of the result of the function
+ * @param <T> the type of the first argument to the function
+ * @param <U> the type of the second argument to the function
+ * @param <V> the type of the third argument to the function
+ *
+ * @author Lucas Koehler
+ * @since 1.20
+ *
+ */
+@FunctionalInterface
+public interface TriFunction<R, T, U, V> {
+
+	/**
+	 * Applies this function to the given arguments.
+	 *
+	 * @param t the first function argument
+	 * @param u the second function argument
+	 * @param v the third function argument
+	 * @return the function result
+	 */
+	R apply(T t, U u, V v);
+}
diff --git a/bundles/org.eclipse.emfforms.common/src/org/eclipse/emfforms/spi/common/sort/NumberAwareStringComparator.java b/bundles/org.eclipse.emfforms.common/src/org/eclipse/emfforms/spi/common/sort/NumberAwareStringComparator.java
new file mode 100644
index 0000000..1e40d21
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.common/src/org/eclipse/emfforms/spi/common/sort/NumberAwareStringComparator.java
@@ -0,0 +1,86 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.common.sort;
+
+import java.math.BigInteger;
+import java.util.Comparator;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * A comparator for strings that compares numbers which are part of compared string as numbers and not as strings.
+ * This allows to sort strings that are a mixture of numbers and text (e.g. house numbers) in an intuitive fashion.
+ * For instance, plain string sorting sorts 200A greater than 1000A. This comparator sorts 1000A greater than 200A.
+ *
+ * @author Lucas Koehler
+ * @since 1.20
+ *
+ */
+public final class NumberAwareStringComparator implements Comparator<String> {
+
+	// First group matches zero or more non-digits. Second group matches zero or more digits
+	private static final Pattern PATTERN = Pattern.compile("(\\D*)(\\d*)"); //$NON-NLS-1$
+	private static NumberAwareStringComparator instance;
+
+	/**
+	 * @return the static {@link NumberAwareStringComparator} instance.
+	 */
+	public static NumberAwareStringComparator getInstance() {
+		if (instance == null) {
+			instance = new NumberAwareStringComparator();
+		}
+		return instance;
+	}
+
+	private NumberAwareStringComparator() {
+		// Static instance should be used.
+	}
+
+	@Override
+	public int compare(String o1, String o2) {
+		final Matcher matcher1 = PATTERN.matcher(o1);
+		final Matcher matcher2 = PATTERN.matcher(o2);
+
+		// For our pattern Matcher::find only returns false if the end of the string was reached.
+		while (matcher1.find() && matcher2.find()) {
+			// group(1) gets the results matched by \\D* (non-digits)
+			final int wordCompare = matcher1.group(1).compareToIgnoreCase(matcher2.group(1));
+			if (wordCompare != 0) {
+				return wordCompare;
+			}
+
+			// group(2) gets the results matched by \\d* (digits)
+			final String numberString1 = matcher1.group(2);
+			final String numberString2 = matcher2.group(2);
+
+			if (numberString1.isEmpty()) {
+				// Empty string is smaller than any other string
+				return numberString2.isEmpty() ? 0 : -1;
+			} else if (numberString2.isEmpty()) {
+				return 1;
+			}
+
+			final BigInteger number1 = new BigInteger(numberString1);
+			final BigInteger number2 = new BigInteger(numberString2);
+			final int numberCompare = number1.compareTo(number2);
+			if (numberCompare != 0) {
+				return numberCompare;
+			}
+		}
+
+		if (matcher1.hitEnd() && matcher2.hitEnd()) {
+			return 0;
+		}
+		return matcher1.hitEnd() ? -1 : 1;
+	}
+
+}
diff --git a/bundles/org.eclipse.emfforms.core.bazaar/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.core.bazaar/META-INF/MANIFEST.MF
index 1848ae7..340918c 100644
--- a/bundles/org.eclipse.emfforms.core.bazaar/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.core.bazaar/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms Bazaar
 Bundle-SymbolicName: org.eclipse.emfforms.core.bazaar
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
+Export-Package: org.eclipse.emfforms.bazaar;version="1.20.0",
+ org.eclipse.emfforms.bazaar.internal;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.spi.bazaar;version="1.20.0"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Automatic-Module-Name: org.eclipse.emfforms.core.bazaar
 Import-Package: javax.inject;version="1.0.0",
  org.eclipse.e4.core.contexts;version="0.0.0",
  org.eclipse.e4.core.di;version="0.0.0",
  org.eclipse.e4.core.di.annotations;version="0.0.0"
 Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.emfforms.bazaar;version="1.19.0",
- org.eclipse.emfforms.bazaar.internal;version="1.19.0";x-internal:=true,
- org.eclipse.emfforms.spi.bazaar;version="1.19.0"
-Automatic-Module-Name: org.eclipse.emfforms.core.bazaar
diff --git a/bundles/org.eclipse.emfforms.core.bazaar/pom.xml b/bundles/org.eclipse.emfforms.core.bazaar/pom.xml
index e021640..2376a44 100644
--- a/bundles/org.eclipse.emfforms.core.bazaar/pom.xml
+++ b/bundles/org.eclipse.emfforms.core.bazaar/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.core.bazaar</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
 </project>
diff --git a/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/META-INF/MANIFEST.MF
index 439766c..c6acd0c 100644
--- a/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Featurepath Databinding Services
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.databinding.featurepath
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.core.services.databinding.featurepath;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)"
+Export-Package: org.eclipse.emfforms.core.services.databinding.featurepath;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/featurePathDomainModelReferenceConverterService.xml
 Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.emfforms.spi.core.services.databinding;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.19.0,1.20.0)"
+Import-Package: org.eclipse.emfforms.spi.core.services.databinding;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.20.0,1.21.0)"
 Automatic-Module-Name: org.eclipse.emfforms.core.services.databinding.featurepath
diff --git a/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/pom.xml b/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/pom.xml
index 61e83b1..338c74e 100644
--- a/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/pom.xml
+++ b/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
@@ -15,5 +15,5 @@
   <packaging>eclipse-plugin</packaging>
 
   <groupId>org.eclipse.emf.ecp</groupId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/bundles/org.eclipse.emfforms.core.services.databinding.index/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.core.services.databinding.index/META-INF/MANIFEST.MF
index eccd94b..414f987 100644
--- a/bundles/org.eclipse.emfforms.core.services.databinding.index/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.core.services.databinding.index/META-INF/MANIFEST.MF
@@ -2,18 +2,18 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Index DMR Converter
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.databinding.index
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.internal.core.services.databinding.index;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
- org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
- org.eclipse.emf.ecp.view.indexdmr.model;bundle-version="[1.19.0,1.20.0)",
+Export-Package: org.eclipse.emfforms.internal.core.services.databinding.index;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.indexdmr.model;bundle-version="[1.20.0,1.21.0)",
  org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)",
- org.eclipse.emfforms.core.services.segments.index;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emfforms.core.services.segments.index;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/indexDomainModelReferenceConverter.xml
 Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.19.0,1.20.0)",
-  org.osgi.framework;version="[1.3.0,2.0.0)",
-  org.osgi.service.component.annotations;version="[1.1.0,2.0.0)"
+Import-Package: org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.20.0,1.21.0)",
+ org.osgi.framework;version="[1.3.0,2.0.0)",
+ org.osgi.service.component.annotations;version="[1.1.0,2.0.0)"
 Automatic-Module-Name: org.eclipse.emfforms.core.services.databinding.index
diff --git a/bundles/org.eclipse.emfforms.core.services.databinding.index/pom.xml b/bundles/org.eclipse.emfforms.core.services.databinding.index/pom.xml
index d9306e6..ac6bb6f 100644
--- a/bundles/org.eclipse.emfforms.core.services.databinding.index/pom.xml
+++ b/bundles/org.eclipse.emfforms.core.services.databinding.index/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
@@ -15,5 +15,5 @@
   <packaging>eclipse-plugin</packaging>
 
   <groupId>org.eclipse.emfforms</groupId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/bundles/org.eclipse.emfforms.core.services.databinding.keyattribute/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.core.services.databinding.keyattribute/META-INF/MANIFEST.MF
index 25da792..3d88ab0 100644
--- a/bundles/org.eclipse.emfforms.core.services.databinding.keyattribute/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.core.services.databinding.keyattribute/META-INF/MANIFEST.MF
@@ -2,18 +2,18 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Keyattribute DMR Converter
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.databinding.keyattribute
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.internal.core.services.databinding.keyattribute;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.view.keyattributedmr.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)"
+Export-Package: org.eclipse.emfforms.internal.core.services.databinding.keyattribute;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emf.ecp.view.keyattributedmr.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/KeyAttributeDomainModelReferenceConverter.xml
 Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.19.0,1.20.0)",
-  org.osgi.framework;version="[1.3.0,2.0.0)",
-  org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
+Import-Package: org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.20.0,1.21.0)",
+ org.osgi.framework;version="[1.3.0,2.0.0)",
+ org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
 Automatic-Module-Name: org.eclipse.emfforms.core.services.databinding.keyattribute
diff --git a/bundles/org.eclipse.emfforms.core.services.databinding.keyattribute/pom.xml b/bundles/org.eclipse.emfforms.core.services.databinding.keyattribute/pom.xml
index 92389e3..95d6e3b 100644
--- a/bundles/org.eclipse.emfforms.core.services.databinding.keyattribute/pom.xml
+++ b/bundles/org.eclipse.emfforms.core.services.databinding.keyattribute/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.core.services.databinding.keyattribute</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
 </project>
diff --git a/bundles/org.eclipse.emfforms.core.services.databinding.mapping/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.core.services.databinding.mapping/META-INF/MANIFEST.MF
index b767545..bd7394e 100644
--- a/bundles/org.eclipse.emfforms.core.services.databinding.mapping/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.core.services.databinding.mapping/META-INF/MANIFEST.MF
@@ -2,17 +2,17 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Mapping DMR Converter
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.databinding.mapping
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.internal.core.services.databinding.mapping;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
- org.eclipse.emf.ecp.view.mappingdmr.model;bundle-version="[1.19.0,1.20.0)",
+Export-Package: org.eclipse.emfforms.internal.core.services.databinding.mapping;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.mappingdmr.model;bundle-version="[1.20.0,1.21.0)",
  org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)",
- org.eclipse.emfforms.core.services.segments.mapping;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emfforms.core.services.segments.mapping;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/mappingDomainModelReferenceConverter.xml
 Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.19.0,1.20.0)",
-  org.osgi.framework;version="[1.3.0,2.0.0)",
-  org.osgi.service.component.annotations;version="[1.1.0,2.0.0)"
+Import-Package: org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.20.0,1.21.0)",
+ org.osgi.framework;version="[1.3.0,2.0.0)",
+ org.osgi.service.component.annotations;version="[1.1.0,2.0.0)"
 Automatic-Module-Name: org.eclipse.emfforms.core.services.databinding.mapping
diff --git a/bundles/org.eclipse.emfforms.core.services.databinding.mapping/pom.xml b/bundles/org.eclipse.emfforms.core.services.databinding.mapping/pom.xml
index cbe7424..dc238e5 100644
--- a/bundles/org.eclipse.emfforms.core.services.databinding.mapping/pom.xml
+++ b/bundles/org.eclipse.emfforms.core.services.databinding.mapping/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
@@ -15,5 +15,5 @@
   <packaging>eclipse-plugin</packaging>
 
   <groupId>org.eclipse.emfforms</groupId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/bundles/org.eclipse.emfforms.core.services.datatemplate/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.core.services.datatemplate/META-INF/MANIFEST.MF
index f23aa05..c565991 100644
--- a/bundles/org.eclipse.emfforms.core.services.datatemplate/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.core.services.datatemplate/META-INF/MANIFEST.MF
@@ -2,29 +2,29 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms DataTemplate Service
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.datatemplate;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.core.services.datatemplate;version="1.19.0",
-  org.eclipse.emfforms.internal.core.services.datatemplate;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emfforms.core.services.datatemplate;version="1.20.0",
+ org.eclipse.emfforms.internal.core.services.datatemplate;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emf.ecp.edit;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.common.ui;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.localization;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.emf;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.datatemplate.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.bazaar;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.ecp.edit;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.common.ui;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.emf;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.datatemplate.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.bazaar;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/XmiTemplateProvider.xml,OSGI-INF/TemplateCreateNewModelElementStrategyProvider.xml,OSGI-INF/BlankTemplateProvider.xml
 Bundle-ActivationPolicy: lazy
 Import-Package: org.eclipse.emf.edit.ui.provider;version="0.0.0",
-  org.eclipse.jface.dialogs;version="0.0.0",
-  org.eclipse.jface.viewers;version="0.0.0",
-  org.eclipse.jface.window;version="0.0.0",
-  org.eclipse.jface.wizard;version="0.0.0",
-  org.eclipse.swt.graphics;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0",
-  org.osgi.service.component;version="[1.3.0,2.0.0)",
-  org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
+ org.eclipse.jface.dialogs;version="0.0.0",
+ org.eclipse.jface.viewers;version="0.0.0",
+ org.eclipse.jface.window;version="0.0.0",
+ org.eclipse.jface.wizard;version="0.0.0",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.osgi.service.component;version="[1.3.0,2.0.0)",
+ org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
 Automatic-Module-Name: org.eclipse.emfforms.core.services.datatemplate
diff --git a/bundles/org.eclipse.emfforms.core.services.datatemplate/pom.xml b/bundles/org.eclipse.emfforms.core.services.datatemplate/pom.xml
index fe639c7..5ea5c16 100644
--- a/bundles/org.eclipse.emfforms.core.services.datatemplate/pom.xml
+++ b/bundles/org.eclipse.emfforms.core.services.datatemplate/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.core.services.datatemplate</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emfforms.core.services.datatemplate/src/org/eclipse/emfforms/internal/core/services/datatemplate/TemplateCreateNewModelElementStrategyProvider.java b/bundles/org.eclipse.emfforms.core.services.datatemplate/src/org/eclipse/emfforms/internal/core/services/datatemplate/TemplateCreateNewModelElementStrategyProvider.java
index 3bb849b..254e768 100644
--- a/bundles/org.eclipse.emfforms.core.services.datatemplate/src/org/eclipse/emfforms/internal/core/services/datatemplate/TemplateCreateNewModelElementStrategyProvider.java
+++ b/bundles/org.eclipse.emfforms.core.services.datatemplate/src/org/eclipse/emfforms/internal/core/services/datatemplate/TemplateCreateNewModelElementStrategyProvider.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2018 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -8,7 +8,7 @@
  *
  * Contributors:
  * lucas - initial API and implementation
- * Christian W. Damus - bug 529138
+ * Christian W. Damus - bugs 529138, 543461
  ******************************************************************************/
 package org.eclipse.emfforms.internal.core.services.datatemplate;
 
@@ -16,7 +16,9 @@
 import static org.osgi.service.component.annotations.ReferencePolicy.DYNAMIC;
 
 import java.util.LinkedHashSet;
+import java.util.Objects;
 import java.util.Set;
+import java.util.stream.Collectors;
 
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.EObject;
@@ -185,9 +187,14 @@
 	 *
 	 * @author Lucas Koehler
 	 */
-	private class Strategy implements CreateNewModelElementStrategy {
+	class Strategy implements CreateNewModelElementStrategy {
 		private final EClassSelectionStrategy classSelectionStrategy;
 
+		/**
+		 * Initializes me with a strategy for selecting classes permitted in the particular form context.
+		 *
+		 * @param classSelectionStrategy my class selection strategy
+		 */
 		Strategy(final EClassSelectionStrategy classSelectionStrategy) {
 			super();
 			this.classSelectionStrategy = classSelectionStrategy;
@@ -214,6 +221,12 @@
 
 			Template selected = availableTemplates.iterator().next();
 			if (availableTemplates.size() > 1) {
+				// Don't show classes for which we don't have templates (bug 543461)
+				final Set<EClass> templateClasses = availableTemplates.stream()
+					.map(Template::getInstance).filter(Objects::nonNull).map(EObject::eClass)
+					.collect(Collectors.toSet());
+				subClasses.retainAll(templateClasses);
+
 				final Optional<Template> selectedElement = showSelectModelInstancesDialog(subClasses,
 					availableTemplates);
 
diff --git a/bundles/org.eclipse.emfforms.core.services.domainexpander.default/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.core.services.domainexpander.default/META-INF/MANIFEST.MF
index 75ae8be..1a0ca06 100644
--- a/bundles/org.eclipse.emfforms.core.services.domainexpander.default/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.core.services.domainexpander.default/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Default Domain Expander
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.domainexpander.default
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.internal.core.services.domainexpander.defaultheuristic;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emfforms.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.common;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emfforms.internal.core.services.domainexpander.defaultheuristic;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emfforms.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.common;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/EMFFormsDomainExpanderDefaultHeuristic.xml,OSGI-INF/EMFFormsDomainExpanderImpl.xml
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emfforms.core.services.domainexpander.default/pom.xml b/bundles/org.eclipse.emfforms.core.services.domainexpander.default/pom.xml
index 2fbee0e..597eaeb 100644
--- a/bundles/org.eclipse.emfforms.core.services.domainexpander.default/pom.xml
+++ b/bundles/org.eclipse.emfforms.core.services.domainexpander.default/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.core.services.domainexpander.default</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
 </project>
diff --git a/bundles/org.eclipse.emfforms.core.services.domainexpander.index/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.core.services.domainexpander.index/META-INF/MANIFEST.MF
index 8eec6dd..1a9ff95 100644
--- a/bundles/org.eclipse.emfforms.core.services.domainexpander.index/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.core.services.domainexpander.index/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Index DMR Expander
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.domainexpander.index
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.internal.core.services.domainexpander.index;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.indexdmr.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.common;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emfforms.internal.core.services.domainexpander.index;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.indexdmr.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.common;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/EMFFormsIndexDMRExpander.xml
 Bundle-ActivationPolicy: lazy
 Import-Package: org.osgi.framework;version="[1.3.0,2.0.0)",
-  org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
+ org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
 Automatic-Module-Name: org.eclipse.emfforms.core.services.domainexpander.index
diff --git a/bundles/org.eclipse.emfforms.core.services.domainexpander.index/pom.xml b/bundles/org.eclipse.emfforms.core.services.domainexpander.index/pom.xml
index 1b5dcd8..9815457 100644
--- a/bundles/org.eclipse.emfforms.core.services.domainexpander.index/pom.xml
+++ b/bundles/org.eclipse.emfforms.core.services.domainexpander.index/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.core.services.domainexpander.index</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
 </project>
diff --git a/bundles/org.eclipse.emfforms.core.services.domainexpander.keyattribute/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.core.services.domainexpander.keyattribute/META-INF/MANIFEST.MF
index 78c6088..3f987d1 100644
--- a/bundles/org.eclipse.emfforms.core.services.domainexpander.keyattribute/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.core.services.domainexpander.keyattribute/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: KeyAttribute DMR Expander
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.domainexpander.keyattribute
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.internal.core.services.domainexpander.keyattribute;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.keyattributedmr.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.common;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emfforms.internal.core.services.domainexpander.keyattribute;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.keyattributedmr.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.common;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/EMFFormsKeyAttributeDMRExpander.xml
 Bundle-ActivationPolicy: lazy
 Import-Package: org.osgi.framework;version="[1.3.0,2.0.0)",
-  org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
+ org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
 Automatic-Module-Name: org.eclipse.emfforms.core.services.domainexpander.keyattribute
diff --git a/bundles/org.eclipse.emfforms.core.services.domainexpander.keyattribute/pom.xml b/bundles/org.eclipse.emfforms.core.services.domainexpander.keyattribute/pom.xml
index 51f9c7a..d9d5969 100644
--- a/bundles/org.eclipse.emfforms.core.services.domainexpander.keyattribute/pom.xml
+++ b/bundles/org.eclipse.emfforms.core.services.domainexpander.keyattribute/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.core.services.domainexpander.keyattribute</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
 </project>
diff --git a/bundles/org.eclipse.emfforms.core.services.domainexpander.mapping/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.core.services.domainexpander.mapping/META-INF/MANIFEST.MF
index a344a42..28f043b 100644
--- a/bundles/org.eclipse.emfforms.core.services.domainexpander.mapping/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.core.services.domainexpander.mapping/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Mapping DMR Expander
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.domainexpander.mapping
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.internal.core.services.domainexpander.mapping;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.mappingdmr.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.common;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emfforms.internal.core.services.domainexpander.mapping;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.mappingdmr.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.common;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/EMFFormsMappingDMRExpander.xml
 Bundle-ActivationPolicy: lazy
 Import-Package: org.osgi.framework;version="[1.3.0,2.0.0)",
-  org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
+ org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
 Automatic-Module-Name: org.eclipse.emfforms.core.services.domainexpander.mapping
diff --git a/bundles/org.eclipse.emfforms.core.services.domainexpander.mapping/pom.xml b/bundles/org.eclipse.emfforms.core.services.domainexpander.mapping/pom.xml
index 4f7b57f..3315a7a 100644
--- a/bundles/org.eclipse.emfforms.core.services.domainexpander.mapping/pom.xml
+++ b/bundles/org.eclipse.emfforms.core.services.domainexpander.mapping/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.core.services.domainexpander.mapping</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
 </project>
diff --git a/bundles/org.eclipse.emfforms.core.services.domainexpander.table/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.core.services.domainexpander.table/META-INF/MANIFEST.MF
index aaefb4a..758c27c 100644
--- a/bundles/org.eclipse.emfforms.core.services.domainexpander.table/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.core.services.domainexpander.table/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms TableControl Domain Expander
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.domainexpander.table
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.internal.core.services.domainexpander.table;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.table.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.common;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emfforms.internal.core.services.domainexpander.table;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.table.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.common;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/EMFFormsTableDMRExpander.xml
 Bundle-ActivationPolicy: lazy
 Import-Package: org.osgi.framework;version="[1.3.0,2.0.0)",
-  org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
+ org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
 Automatic-Module-Name: org.eclipse.emfforms.core.services.domainexpander.table
diff --git a/bundles/org.eclipse.emfforms.core.services.domainexpander.table/pom.xml b/bundles/org.eclipse.emfforms.core.services.domainexpander.table/pom.xml
index a0f0c90..c13fd7e 100644
--- a/bundles/org.eclipse.emfforms.core.services.domainexpander.table/pom.xml
+++ b/bundles/org.eclipse.emfforms.core.services.domainexpander.table/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.core.services.domainexpander.table</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
 </project>
diff --git a/bundles/org.eclipse.emfforms.core.services.editsupport/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.core.services.editsupport/META-INF/MANIFEST.MF
index 3d7a25e..2961a51 100644
--- a/bundles/org.eclipse.emfforms.core.services.editsupport/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.core.services.editsupport/META-INF/MANIFEST.MF
@@ -2,21 +2,21 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms Edit Support
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.editsupport
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.internal.core.services.editsupport;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.spi.core.services.editsupport;version="1.19.0"
+Export-Package: org.eclipse.emfforms.internal.core.services.editsupport;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.spi.core.services.editsupport;version="1.20.0"
 Require-Bundle: org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.emfspecificservice;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
-  org.eclipse.emfforms.core.services.emf;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.emfspecificservice;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
+ org.eclipse.emfforms.core.services.emf;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/emfFormsEditSupport.xml
 Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.localization;version="[1.19.0,1.20.0)"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.localization;version="[1.20.0,1.21.0)"
 Automatic-Module-Name: org.eclipse.emfforms.core.services.editsupport
diff --git a/bundles/org.eclipse.emfforms.core.services.editsupport/pom.xml b/bundles/org.eclipse.emfforms.core.services.editsupport/pom.xml
index 12ecc4c..9a5add6 100644
--- a/bundles/org.eclipse.emfforms.core.services.editsupport/pom.xml
+++ b/bundles/org.eclipse.emfforms.core.services.editsupport/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
@@ -15,7 +15,7 @@
   <packaging>eclipse-plugin</packaging>
 
   <groupId>org.eclipse.emfforms</groupId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   
   <properties>
   	<jacoco.percentage.instruction>0.4</jacoco.percentage.instruction>
diff --git a/bundles/org.eclipse.emfforms.core.services.emf/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.core.services.emf/META-INF/MANIFEST.MF
index 5bf59f1..06a54fd 100644
--- a/bundles/org.eclipse.emfforms.core.services.emf/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.core.services.emf/META-INF/MANIFEST.MF
@@ -2,31 +2,31 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms Core Services EMF
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.emf
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.internal.core.services.databinding;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.internal.core.services.label;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.spi.core.services.databinding.emf;version="1.19.0"
-Require-Bundle: org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.databinding.property;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)"
+Export-Package: org.eclipse.emfforms.internal.core.services.databinding;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.core.services.label;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.spi.core.services.databinding.emf;version="1.20.0"
+Require-Bundle: org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/emfLabelProvider.xml, OSGI-INF/emfLabelProviderDefault.xml, OSGI-INF/databindingService.xml
 Bundle-ActivationPolicy: lazy
 Import-Package: org.eclipse.core.databinding.observable;version="0.0.0",
-  org.eclipse.core.databinding.observable.list;version="0.0.0",
-  org.eclipse.core.databinding.observable.value;version="0.0.0",
-  org.eclipse.core.runtime;version="0.0.0",
-  org.eclipse.emf.databinding;version="0.0.0",
-  org.eclipse.emfforms.common;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.common.locale;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.databinding;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.emfspecificservice;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.label;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.localization;version="[1.19.0,1.20.0)",
-  org.osgi.framework;version="[1.6.0,2.0.0)",
-  org.osgi.service.component.annotations;version="1.3.0";resolution:=optional
+ org.eclipse.core.databinding.observable.list;version="0.0.0",
+ org.eclipse.core.databinding.observable.value;version="0.0.0",
+ org.eclipse.core.runtime;version="0.0.0",
+ org.eclipse.emf.databinding;version="0.0.0",
+ org.eclipse.emfforms.common;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.common.locale;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.databinding;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.emfspecificservice;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.label;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.localization;version="[1.20.0,1.21.0)",
+ org.osgi.framework;version="[1.6.0,2.0.0)",
+ org.osgi.service.component.annotations;version="1.3.0";resolution:=optional
 Automatic-Module-Name: org.eclipse.emfforms.core.services.emf
diff --git a/bundles/org.eclipse.emfforms.core.services.emf/pom.xml b/bundles/org.eclipse.emfforms.core.services.emf/pom.xml
index bcc2f1c..4654a01 100644
--- a/bundles/org.eclipse.emfforms.core.services.emf/pom.xml
+++ b/bundles/org.eclipse.emfforms.core.services.emf/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.core.services.emf</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
 </project>
diff --git a/bundles/org.eclipse.emfforms.core.services.emfspecificservice/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.core.services.emfspecificservice/META-INF/MANIFEST.MF
index 9e0dd8d..4179238 100644
--- a/bundles/org.eclipse.emfforms.core.services.emfspecificservice/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.core.services.emfspecificservice/META-INF/MANIFEST.MF
@@ -2,12 +2,13 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Forms EMF Specific Service
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.emfspecificservice
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.internal.core.services.emfspecificservice;version="1.19.0";x-internal:=true,
- org.eclipse.emfforms.spi.core.services.emfspecificservice;version="1.19.0"
-Require-Bundle: org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)"
+Export-Package: org.eclipse.emfforms.internal.core.services.emfspecificservice;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.spi.core.services.emfspecificservice;version="1.20.0"
+Require-Bundle: org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Automatic-Module-Name: org.eclipse.emfforms.core.services.emfspecificservice
 Service-Component: OSGI-INF/emfSpecificService.xml
 Bundle-ActivationPolicy: lazy
-Automatic-Module-Name: org.eclipse.emfforms.core.services.emfspecificservice
diff --git a/bundles/org.eclipse.emfforms.core.services.emfspecificservice/pom.xml b/bundles/org.eclipse.emfforms.core.services.emfspecificservice/pom.xml
index 9bada7b..882cfc6 100644
--- a/bundles/org.eclipse.emfforms.core.services.emfspecificservice/pom.xml
+++ b/bundles/org.eclipse.emfforms.core.services.emfspecificservice/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
@@ -15,5 +15,5 @@
   <packaging>eclipse-plugin</packaging>
 
   <groupId>org.eclipse.emf.ecp</groupId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/bundles/org.eclipse.emfforms.core.services.emfspecificservice/src/org/eclipse/emfforms/internal/core/services/emfspecificservice/EMFSpecificServiceImpl.java b/bundles/org.eclipse.emfforms.core.services.emfspecificservice/src/org/eclipse/emfforms/internal/core/services/emfspecificservice/EMFSpecificServiceImpl.java
index eaf1b1a..6617788 100644
--- a/bundles/org.eclipse.emfforms.core.services.emfspecificservice/src/org/eclipse/emfforms/internal/core/services/emfspecificservice/EMFSpecificServiceImpl.java
+++ b/bundles/org.eclipse.emfforms.core.services.emfspecificservice/src/org/eclipse/emfforms/internal/core/services/emfspecificservice/EMFSpecificServiceImpl.java
@@ -14,13 +14,13 @@
 import org.eclipse.emf.common.notify.AdapterFactory;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecp.view.model.common.edit.provider.CustomReflectiveItemProviderAdapterFactory;
 import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
 import org.eclipse.emf.edit.domain.EditingDomain;
 import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
 import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
 import org.eclipse.emf.edit.provider.IItemPropertySource;
-import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
 import org.eclipse.emfforms.spi.core.services.emfspecificservice.EMFSpecificService;
 
 /**
@@ -61,11 +61,6 @@
 	// return new AdapterFactoryItemDelegator(getComposedAdapterFactory());
 	// }
 
-	/**
-	 * {@inheritDoc}
-	 *
-	 * @see EMFSpecificService#getIItemPropertyDescriptor(EObject, EStructuralFeature)
-	 */
 	@Override
 	public IItemPropertyDescriptor getIItemPropertyDescriptor(EObject eObject, EStructuralFeature eStructuralFeature) {
 		final EditingDomain editingDomain = AdapterFactoryEditingDomain.getEditingDomainFor(eObject);
@@ -76,9 +71,7 @@
 		} else {
 			final ComposedAdapterFactory composedAdapterFactory = new ComposedAdapterFactory(new AdapterFactory[] {
 				new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE),
-				// new CustomReflectiveItemProvider(), <-- move to common bundle,
-				// then remove the ReflectiveItemProviderAdapterFactory
-				new ReflectiveItemProviderAdapterFactory()
+				new CustomReflectiveItemProviderAdapterFactory()
 			});
 			itemDelegator = getAdapterFactoryItemDelegator(composedAdapterFactory);
 			composedAdapterFactory.dispose();
@@ -91,11 +84,6 @@
 		return new AdapterFactoryItemDelegator(adapterFactory);
 	}
 
-	/**
-	 * {@inheritDoc}
-	 *
-	 * @see org.eclipse.emfforms.spi.core.services.emfspecificservice.EMFSpecificService#getIItemPropertySource(org.eclipse.emf.ecore.EObject)
-	 */
 	@Override
 	public IItemPropertySource getIItemPropertySource(EObject eObject) {
 		final EditingDomain editingDomain = AdapterFactoryEditingDomain.getEditingDomainFor(eObject);
@@ -106,9 +94,7 @@
 		} else {
 			final ComposedAdapterFactory composedAdapterFactory = new ComposedAdapterFactory(new AdapterFactory[] {
 				new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE),
-				// new CustomReflectiveItemProvider(), <-- move to common bundle,
-				// then remove the ReflectiveItemProviderAdapterFactory
-				new ReflectiveItemProviderAdapterFactory()
+				new CustomReflectiveItemProviderAdapterFactory()
 			});
 			propertySource = (IItemPropertySource) composedAdapterFactory.adapt(eObject, IItemPropertySource.class);
 			composedAdapterFactory.dispose();
diff --git a/bundles/org.eclipse.emfforms.core.services.legacy/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.core.services.legacy/META-INF/MANIFEST.MF
index e9110e3..2f256f8 100644
--- a/bundles/org.eclipse.emfforms.core.services.legacy/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.core.services.legacy/META-INF/MANIFEST.MF
@@ -2,17 +2,17 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms Core Services Legacy
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.legacy;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.internal.core.services.legacy;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emfforms.internal.core.services.legacy;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.10.0,4.0.0)",
-  org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/org.eclipse.emfforms.internal.core.services.legacy.EMFFormsLegacyServicesManagerImpl.xml
 Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.emf.ecp.view.spi.context;version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.spi.model;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.view;version="[1.19.0,1.20.0)",
-  org.osgi.service.component.annotations;version="[1.1.0,2.0.0)";resolution:=optional
+Import-Package: org.eclipse.emf.ecp.view.spi.context;version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.spi.model;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.view;version="[1.20.0,1.21.0)",
+ org.osgi.service.component.annotations;version="[1.1.0,2.0.0)";resolution:=optional
 Automatic-Module-Name: org.eclipse.emfforms.core.services.legacy
diff --git a/bundles/org.eclipse.emfforms.core.services.legacy/pom.xml b/bundles/org.eclipse.emfforms.core.services.legacy/pom.xml
index 3524542..c85652c 100644
--- a/bundles/org.eclipse.emfforms.core.services.legacy/pom.xml
+++ b/bundles/org.eclipse.emfforms.core.services.legacy/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
@@ -15,5 +15,5 @@
   <packaging>eclipse-plugin</packaging>
 
   <groupId>org.eclipse.emf.ecp</groupId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/bundles/org.eclipse.emfforms.core.services.locale.default/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.core.services.locale.default/META-INF/MANIFEST.MF
index f7617f6..e4a457f 100644
--- a/bundles/org.eclipse.emfforms.core.services.locale.default/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.core.services.locale.default/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms Default Locale Provider
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.locale.default
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.internal.core.services.locale.defaultlocale;version="1.19.0"
-Require-Bundle: org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emfforms.internal.core.services.locale.defaultlocale;version="1.20.0"
+Require-Bundle: org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/defaultLocalizationService.xml
 Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.emfforms.spi.common.locale;version="[1.19.0,1.20.0)"
+Import-Package: org.eclipse.emfforms.spi.common.locale;version="[1.20.0,1.21.0)"
 Automatic-Module-Name: org.eclipse.emfforms.core.services.locale.default
diff --git a/bundles/org.eclipse.emfforms.core.services.locale.default/pom.xml b/bundles/org.eclipse.emfforms.core.services.locale.default/pom.xml
index 62ed107..fd56d3f 100644
--- a/bundles/org.eclipse.emfforms.core.services.locale.default/pom.xml
+++ b/bundles/org.eclipse.emfforms.core.services.locale.default/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.core.services.locale.default</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
 </project>
diff --git a/bundles/org.eclipse.emfforms.core.services.mappingprovider.default/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.core.services.mappingprovider.default/META-INF/MANIFEST.MF
index c5928bc..a32b778 100644
--- a/bundles/org.eclipse.emfforms.core.services.mappingprovider.default/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.core.services.mappingprovider.default/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms Mapping Provider Default Heuristic
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.mappingprovider.default
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
 Export-Package: org.eclipse.emfforms.internal.core.services.mappingprovider.defaultheuristic;version="1.7.0";x-internal:=true
-Require-Bundle: org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.common;bundle-version="[1.19.0,1.20.0)"
+Require-Bundle: org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.common;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/EMFFormsMappingProviderDefaultHeuristic.xml
 Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.19.0,1.20.0)",
-  org.osgi.service.component.annotations;version="0.0.0"
+Import-Package: org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.20.0,1.21.0)",
+ org.osgi.service.component.annotations;version="0.0.0"
 Automatic-Module-Name: org.eclipse.emfforms.core.services.mappingprovider.default
diff --git a/bundles/org.eclipse.emfforms.core.services.mappingprovider.default/pom.xml b/bundles/org.eclipse.emfforms.core.services.mappingprovider.default/pom.xml
index cc4c6fa..11a49fa 100644
--- a/bundles/org.eclipse.emfforms.core.services.mappingprovider.default/pom.xml
+++ b/bundles/org.eclipse.emfforms.core.services.mappingprovider.default/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.core.services.mappingprovider.default</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
 </project>
diff --git a/bundles/org.eclipse.emfforms.core.services.mappingprovider.table.panel/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.core.services.mappingprovider.table.panel/META-INF/MANIFEST.MF
index 579dec3..1836712 100644
--- a/bundles/org.eclipse.emfforms.core.services.mappingprovider.table.panel/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.core.services.mappingprovider.table.panel/META-INF/MANIFEST.MF
@@ -2,20 +2,20 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms Table Panel
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.mappingprovider.table.panel
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.internal.core.services.mappingprovider.table.panel;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emfforms.core.services.mappingprovider.table;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.table.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.common;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emfforms.internal.core.services.mappingprovider.table.panel;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emfforms.core.services.mappingprovider.table;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.table.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.common;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Import-Package: org.eclipse.emf.ecp.view.spi.provider;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.databinding;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.mappingprovider;version="[1.19.0,1.20.0)",
-  org.osgi.service.component.annotations;version="1.2.0";resolution:=optional
 Service-Component: OSGI-INF/EMFFormsMappingProviderTable.xml
 Bundle-ActivationPolicy: lazy
+Import-Package: org.eclipse.emf.ecp.view.spi.provider;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.databinding;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.mappingprovider;version="[1.20.0,1.21.0)",
+ org.osgi.service.component.annotations;version="1.2.0";resolution:=optional
 Automatic-Module-Name: org.eclipse.emfforms.core.services.mappingprovider.table.panel
diff --git a/bundles/org.eclipse.emfforms.core.services.mappingprovider.table.panel/pom.xml b/bundles/org.eclipse.emfforms.core.services.mappingprovider.table.panel/pom.xml
index 6de0e63..9c72987 100644
--- a/bundles/org.eclipse.emfforms.core.services.mappingprovider.table.panel/pom.xml
+++ b/bundles/org.eclipse.emfforms.core.services.mappingprovider.table.panel/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.core.services.mappingprovider.table.panel</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
 </project>
diff --git a/bundles/org.eclipse.emfforms.core.services.mappingprovider.table/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.core.services.mappingprovider.table/META-INF/MANIFEST.MF
index e9abe28..f6d8ec6 100644
--- a/bundles/org.eclipse.emfforms.core.services.mappingprovider.table/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.core.services.mappingprovider.table/META-INF/MANIFEST.MF
@@ -2,17 +2,17 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms Mapping Provider Table Control
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.mappingprovider.table
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
 Export-Package: org.eclipse.emfforms.internal.core.services.mappingprovider.table;version="1.7.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.table.model;bundle-version="[1.19.0,1.20.0)"
+Require-Bundle: org.eclipse.emf.ecp.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.table.model;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/EMFFormsMappingProviderTable.xml
 Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.emf.ecp.view.spi.provider;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.19.0,1.20.0)",
-  org.osgi.framework;version="[1.3.0,2.0.0)",
-  org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
+Import-Package: org.eclipse.emf.ecp.view.spi.provider;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.20.0,1.21.0)",
+ org.osgi.framework;version="[1.3.0,2.0.0)",
+ org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
 Automatic-Module-Name: org.eclipse.emfforms.core.services.mappingprovider.table
diff --git a/bundles/org.eclipse.emfforms.core.services.mappingprovider.table/pom.xml b/bundles/org.eclipse.emfforms.core.services.mappingprovider.table/pom.xml
index 5a74923..114bbe4 100644
--- a/bundles/org.eclipse.emfforms.core.services.mappingprovider.table/pom.xml
+++ b/bundles/org.eclipse.emfforms.core.services.mappingprovider.table/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.core.services.mappingprovider.table</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
 </project>
diff --git a/bundles/org.eclipse.emfforms.core.services.segments.featurepath/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.core.services.segments.featurepath/META-INF/MANIFEST.MF
index 44e2cfe..d4a5912 100644
--- a/bundles/org.eclipse.emfforms.core.services.segments.featurepath/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.core.services.segments.featurepath/META-INF/MANIFEST.MF
@@ -2,20 +2,17 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Forms Core Services for Featurepath Segments
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.segments.featurepath
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Bundle-ActivationPolicy: lazy
-Service-Component: OSGI-INF/FeatureSegmentExpander.xml,
- OSGI-INF/FeatureSegmentConverter.xml,
- OSGI-INF/FeatureSegmentStructuralChangeTester.xml,
- OSGI-INF/FeaturePathDmrSegmentGenerator.xml
-Require-Bundle: org.eclipse.emf.ecp.common;bundle-version="[1.19.0,1.20.0)",
- org.eclipse.emfforms.common;bundle-version="[1.19.0,1.20.0)",
- org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
- org.eclipse.emfforms.core.services.emf;bundle-version="[1.19.0,1.20.0)",
- org.eclipse.emfforms.core.services.segments;bundle-version="[1.19.0,1.20.0)",
+Export-Package: org.eclipse.emfforms.internal.core.services.segments.featurepath;version="1.20.0";x-friends:="org.eclipse.emfforms.core.services.segments.multi"
+Require-Bundle: org.eclipse.emf.ecp.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.emf;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.segments;bundle-version="[1.20.0,1.21.0)",
  org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)"
-Export-Package: org.eclipse.emfforms.internal.core.services.segments.featurepath;version="1.19.0";x-friends:="org.eclipse.emfforms.core.services.segments.multi"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Service-Component: OSGI-INF/FeatureSegmentExpander.xml,OSGI-INF/FeatureSegmentConverter.xml,OSGI-INF/FeatureSegmentStructuralChangeTester.xml,OSGI-INF/FeaturePathDmrSegmentGenerator.xml
+Bundle-ActivationPolicy: lazy
 Import-Package: org.osgi.service.component.annotations;version="1.2.0";resolution:=optional
 Automatic-Module-Name: org.eclipse.emfforms.core.services.segments.featurepath
diff --git a/bundles/org.eclipse.emfforms.core.services.segments.featurepath/pom.xml b/bundles/org.eclipse.emfforms.core.services.segments.featurepath/pom.xml
index 7152ae4..ec6dbd0 100644
--- a/bundles/org.eclipse.emfforms.core.services.segments.featurepath/pom.xml
+++ b/bundles/org.eclipse.emfforms.core.services.segments.featurepath/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
@@ -15,5 +15,5 @@
   <packaging>eclipse-plugin</packaging>
 
   <groupId>org.eclipse.emf.ecp</groupId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/bundles/org.eclipse.emfforms.core.services.segments.index/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.core.services.segments.index/META-INF/MANIFEST.MF
index c10fe1a..67842ab 100644
--- a/bundles/org.eclipse.emfforms.core.services.segments.index/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.core.services.segments.index/META-INF/MANIFEST.MF
@@ -2,25 +2,22 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Forms Core Services for Index Segments
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.segments.index
-Automatic-Module-Name: org.eclipse.emfforms.core.services.segments.index
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Bundle-ActivationPolicy: lazy
-Service-Component: OSGI-INF/IndexSegmentConverter.xml,
- OSGI-INF/IndexSegmentExpander.xml,
- OSGI-INF/IndexSegmentStructuralChangeTester.xml,
- OSGI-INF/IndexDmrSegmentGenerator.xml
+Export-Package: org.eclipse.emfforms.internal.core.services.segments.index;version="1.20.0";x-friends:="org.eclipse.emfforms.core.services.databinding.index"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.13.0,4.0.0)",
  org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
  org.eclipse.emf.ecore;bundle-version="[2.12.0,3.0.0)",
  org.eclipse.emf.edit;bundle-version="[2.12.0,3.0.0)",
- org.eclipse.emf.ecp.common;bundle-version="[1.19.0,1.20.0)",
- org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
- org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
- org.eclipse.emfforms.core.services.emf;bundle-version="[1.19.0,1.20.0)",
- org.eclipse.emfforms.view.indexsegment.model;bundle-version="[1.19.0,1.20.0)",
- org.eclipse.emfforms.core.services.segments;bundle-version="[1.19.0,1.20.0)",
- org.eclipse.emf.ecp.view.indexdmr.model;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emfforms.internal.core.services.segments.index;version="1.19.0";x-friends:="org.eclipse.emfforms.core.services.databinding.index"
+ org.eclipse.emf.ecp.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.emf;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.view.indexsegment.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.segments;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.indexdmr.model;bundle-version="[1.20.0,1.21.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Service-Component: OSGI-INF/IndexSegmentConverter.xml,OSGI-INF/IndexSegmentExpander.xml,OSGI-INF/IndexSegmentStructuralChangeTester.xml,OSGI-INF/IndexDmrSegmentGenerator.xml
+Bundle-ActivationPolicy: lazy
 Import-Package: org.osgi.service.component.annotations;version="1.3.0";resolution:=optional
+Automatic-Module-Name: org.eclipse.emfforms.core.services.segments.index
diff --git a/bundles/org.eclipse.emfforms.core.services.segments.index/pom.xml b/bundles/org.eclipse.emfforms.core.services.segments.index/pom.xml
index 2b621ee..634e77c 100644
--- a/bundles/org.eclipse.emfforms.core.services.segments.index/pom.xml
+++ b/bundles/org.eclipse.emfforms.core.services.segments.index/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
@@ -15,5 +15,5 @@
   <packaging>eclipse-plugin</packaging>
 
   <groupId>org.eclipse.emf.ecp</groupId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/bundles/org.eclipse.emfforms.core.services.segments.mapping/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.core.services.segments.mapping/META-INF/MANIFEST.MF
index b95ba46..ac17b27 100644
--- a/bundles/org.eclipse.emfforms.core.services.segments.mapping/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.core.services.segments.mapping/META-INF/MANIFEST.MF
@@ -2,24 +2,21 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Forms Mapping Segment Services
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.segments.mapping
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Automatic-Module-Name: org.eclipse.emfforms.core.services.segments.mapping
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.emfforms.internal.core.services.segments.mapping;version="1.19.0";x-friends:="org.eclipse.emfforms.core.services.databinding.mapping"
+Export-Package: org.eclipse.emfforms.internal.core.services.segments.mapping;version="1.20.0";x-friends:="org.eclipse.emfforms.core.services.databinding.mapping"
 Require-Bundle: org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
  org.eclipse.emf.edit;bundle-version="[2.12.0,3.0.0)",
- org.eclipse.emfforms.core.services.segments;bundle-version="[1.19.0,1.20.0)",
- org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
- org.eclipse.emfforms.core.services.emf;bundle-version="[1.19.0,1.20.0)",
- org.eclipse.emfforms.view.mappingsegment.model;bundle-version="[1.19.0,1.20.0)",
- org.eclipse.emf.ecp.common;bundle-version="[1.19.0,1.20.0)",
- org.eclipse.emf.ecp.view.mappingdmr.model;bundle-version="[1.19.0,1.20.0)",
+ org.eclipse.emfforms.core.services.segments;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.emf;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.view.mappingsegment.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.mappingdmr.model;bundle-version="[1.20.0,1.21.0)",
  org.eclipse.core.runtime;bundle-version="[3.13.0,4.0.0)"
-Service-Component: OSGI-INF/MappingSegmentConverter.xml,
- OSGI-INF/MappingSegmentExpander.xml,
- OSGI-INF/MappingSegmentStructuralChangeTester.xml,
- OSGI-INF/MappingDmrSegmentGenerator.xml
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Service-Component: OSGI-INF/MappingSegmentConverter.xml,OSGI-INF/MappingSegmentExpander.xml,OSGI-INF/MappingSegmentStructuralChangeTester.xml,OSGI-INF/MappingDmrSegmentGenerator.xml
+Bundle-ActivationPolicy: lazy
 Import-Package: org.osgi.framework;version="0.0.0",
  org.osgi.service.component.annotations;version="1.3.0";resolution:=optional
+Automatic-Module-Name: org.eclipse.emfforms.core.services.segments.mapping
diff --git a/bundles/org.eclipse.emfforms.core.services.segments.mapping/pom.xml b/bundles/org.eclipse.emfforms.core.services.segments.mapping/pom.xml
index 775b63f..96ca8b8 100644
--- a/bundles/org.eclipse.emfforms.core.services.segments.mapping/pom.xml
+++ b/bundles/org.eclipse.emfforms.core.services.segments.mapping/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
@@ -15,5 +15,5 @@
   <packaging>eclipse-plugin</packaging>
 
   <groupId>org.eclipse.emf.ecp</groupId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/bundles/org.eclipse.emfforms.core.services.segments.multi/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.core.services.segments.multi/META-INF/MANIFEST.MF
index 2a2f1bc..41af5fc 100644
--- a/bundles/org.eclipse.emfforms.core.services.segments.multi/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.core.services.segments.multi/META-INF/MANIFEST.MF
@@ -2,24 +2,21 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms Multi Segment Services
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.segments.multi
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Bundle-ActivationPolicy: lazy
-Service-Component: OSGI-INF/EMFFormsMappingProviderMulti.xml,
- OSGI-INF/MultiSegmentConverter.xml,
- OSGI-INF/MultiSegmentExpander.xml,
- OSGI-INF/TableDmrSegmentGenerator.xml
-Require-Bundle: org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
- org.eclipse.emfforms.core.services.emf;bundle-version="[1.19.0,1.20.0)",
- org.eclipse.emf.ecp.common;bundle-version="[1.19.0,1.20.0)",
- org.eclipse.emfforms.view.multisegment.model;bundle-version="[1.19.0,1.20.0)",
+Export-Package: org.eclipse.emfforms.internal.core.services.segments.multi;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.emf;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.view.multisegment.model;bundle-version="[1.20.0,1.21.0)",
  org.eclipse.core.runtime;bundle-version="3.13.0",
- org.eclipse.emfforms.core.services.segments.featurepath;bundle-version="[1.19.0,1.20.0)",
+ org.eclipse.emfforms.core.services.segments.featurepath;bundle-version="[1.20.0,1.21.0)",
  org.eclipse.emf.edit;bundle-version="[2.12.0,3.0.0)",
  org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
- org.eclipse.emfforms.core.services.segments;bundle-version="[1.19.0,1.20.0)",
- org.eclipse.emf.ecp.view.table.model;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emfforms.internal.core.services.segments.multi;version="1.19.0";x-internal:=true
+ org.eclipse.emfforms.core.services.segments;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.table.model;bundle-version="[1.20.0,1.21.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Service-Component: OSGI-INF/EMFFormsMappingProviderMulti.xml,OSGI-INF/MultiSegmentConverter.xml,OSGI-INF/MultiSegmentExpander.xml,OSGI-INF/TableDmrSegmentGenerator.xml
+Bundle-ActivationPolicy: lazy
 Import-Package: org.osgi.service.component.annotations;version="1.2.0";resolution:=optional
 Automatic-Module-Name: org.eclipse.emfforms.core.services.segments.multi
diff --git a/bundles/org.eclipse.emfforms.core.services.segments.multi/pom.xml b/bundles/org.eclipse.emfforms.core.services.segments.multi/pom.xml
index cc07c72..65ea8fb 100644
--- a/bundles/org.eclipse.emfforms.core.services.segments.multi/pom.xml
+++ b/bundles/org.eclipse.emfforms.core.services.segments.multi/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
@@ -15,5 +15,5 @@
   <packaging>eclipse-plugin</packaging>
 
   <groupId>org.eclipse.emf.ecp</groupId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/bundles/org.eclipse.emfforms.core.services.segments/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.core.services.segments/META-INF/MANIFEST.MF
index 3efc767..8372d0a 100644
--- a/bundles/org.eclipse.emfforms.core.services.segments/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.core.services.segments/META-INF/MANIFEST.MF
@@ -2,16 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms Services for DMR Segments
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.segments;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Bundle-ActivationPolicy: lazy
-Require-Bundle: org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
- org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
+Export-Package: org.eclipse.emfforms.internal.core.services.segments;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.spi.core.services.segments;version="1.20.0"
+Require-Bundle: org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
  org.eclipse.core.runtime;bundle-version="[3.13.0,4.0.0)"
-Service-Component: OSGI-INF/SegmentGeneratorService.xml,
- OSGI-INF/DmrToSegmentsViewServiceFactory.xml
-Export-Package: org.eclipse.emfforms.internal.core.services.segments;version="1.19.0";x-internal:=true,
- org.eclipse.emfforms.spi.core.services.segments;version="1.19.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Service-Component: OSGI-INF/SegmentGeneratorService.xml,OSGI-INF/DmrToSegmentsViewServiceFactory.xml
+Bundle-ActivationPolicy: lazy
 Import-Package: org.osgi.service.component.annotations;version="1.2.0";resolution:=optional
 Automatic-Module-Name: org.eclipse.emfforms.core.services.segments
diff --git a/bundles/org.eclipse.emfforms.core.services.segments/pom.xml b/bundles/org.eclipse.emfforms.core.services.segments/pom.xml
index b4bb168..07654ff 100644
--- a/bundles/org.eclipse.emfforms.core.services.segments/pom.xml
+++ b/bundles/org.eclipse.emfforms.core.services.segments/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.core.services.segments</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
 </project>
diff --git a/bundles/org.eclipse.emfforms.core.services.structuralchange.default/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.core.services.structuralchange.default/META-INF/MANIFEST.MF
index 7a1d50c..5549a32 100644
--- a/bundles/org.eclipse.emfforms.core.services.structuralchange.default/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.core.services.structuralchange.default/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms Structural Change Tester Default Heuristic
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.structuralchange.default
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
 Export-Package: org.eclipse.emfforms.internal.core.services.structuralchange.defaultheuristic;version="1.7.0";x-friends:="org.eclipse.emfforms.core.services.structuralchange.table"
-Require-Bundle: org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.common;bundle-version="[1.19.0,1.20.0)"
+Require-Bundle: org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.common;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/StructuralChangeTesterDefault.xml
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emfforms.core.services.structuralchange.default/pom.xml b/bundles/org.eclipse.emfforms.core.services.structuralchange.default/pom.xml
index 3bc05d5..09352ca 100644
--- a/bundles/org.eclipse.emfforms.core.services.structuralchange.default/pom.xml
+++ b/bundles/org.eclipse.emfforms.core.services.structuralchange.default/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.core.services.structuralchange.default</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
 </project>
diff --git a/bundles/org.eclipse.emfforms.core.services.structuralchange.index/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.core.services.structuralchange.index/META-INF/MANIFEST.MF
index 6a7317c..2f6dd0f 100644
--- a/bundles/org.eclipse.emfforms.core.services.structuralchange.index/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.core.services.structuralchange.index/META-INF/MANIFEST.MF
@@ -2,18 +2,18 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms StructuralChange Index
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.structuralchange.index
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.internal.core.services.structuralchange.index;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emfforms.internal.core.services.structuralchange.index;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)",
-  org.eclipse.emf.ecp.view.indexdmr.model;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.view.indexdmr.model;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/org.eclipse.emfforms.internal.core.services.structuralchange.index.StructuralChangeTesterIndex.xml
 Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.emf.ecp.common.spi.asserts;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.databinding;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.structuralchange;version="[1.19.0,1.20.0)",
-  org.osgi.framework;version="[1.3.0,2.0.0)",
-  org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
+Import-Package: org.eclipse.emf.ecp.common.spi.asserts;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.databinding;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.structuralchange;version="[1.20.0,1.21.0)",
+ org.osgi.framework;version="[1.3.0,2.0.0)",
+ org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
 Automatic-Module-Name: org.eclipse.emfforms.core.services.structuralchange.index
diff --git a/bundles/org.eclipse.emfforms.core.services.structuralchange.index/pom.xml b/bundles/org.eclipse.emfforms.core.services.structuralchange.index/pom.xml
index 3f06de8..2c83482 100644
--- a/bundles/org.eclipse.emfforms.core.services.structuralchange.index/pom.xml
+++ b/bundles/org.eclipse.emfforms.core.services.structuralchange.index/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.core.services.structuralchange.index</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
 </project>
diff --git a/bundles/org.eclipse.emfforms.core.services.structuralchange.keyattribute/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.core.services.structuralchange.keyattribute/META-INF/MANIFEST.MF
index 9095884..9ba9bff 100644
--- a/bundles/org.eclipse.emfforms.core.services.structuralchange.keyattribute/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.core.services.structuralchange.keyattribute/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: KeyAttribute Structural Change Tester
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.structuralchange.keyattribute
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.internal.core.services.structuralchange.keyattribute;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.keyattributedmr.model;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emfforms.internal.core.services.structuralchange.keyattribute;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.keyattributedmr.model;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/StructuralChangeTesterKeyAttribute.xml
 Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.19.0,1.20.0)",
-  org.osgi.framework;version="[1.3.0,2.0.0)",
-  org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
+Import-Package: org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.20.0,1.21.0)",
+ org.osgi.framework;version="[1.3.0,2.0.0)",
+ org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
 Automatic-Module-Name: org.eclipse.emfforms.core.services.structuralchange.keyattribute
diff --git a/bundles/org.eclipse.emfforms.core.services.structuralchange.keyattribute/pom.xml b/bundles/org.eclipse.emfforms.core.services.structuralchange.keyattribute/pom.xml
index b79c960..4932cbb 100644
--- a/bundles/org.eclipse.emfforms.core.services.structuralchange.keyattribute/pom.xml
+++ b/bundles/org.eclipse.emfforms.core.services.structuralchange.keyattribute/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.core.services.structuralchange.keyattribute</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
 </project>
diff --git a/bundles/org.eclipse.emfforms.core.services.structuralchange.mapping/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.core.services.structuralchange.mapping/META-INF/MANIFEST.MF
index 79a55bb..83fc161 100644
--- a/bundles/org.eclipse.emfforms.core.services.structuralchange.mapping/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.core.services.structuralchange.mapping/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms StructuralChange Mapping
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.structuralchange.mapping
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.internal.core.services.structuralchange.mapping;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emfforms.internal.core.services.structuralchange.mapping;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)",
-  org.eclipse.emf.ecp.view.mappingdmr.model;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.view.mappingdmr.model;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/org.eclipse.emfforms.internal.core.services.structuralchange.mapping.StructuralChangeTesterMapping.xml
 Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.emf.ecp.common.spi.asserts;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.structuralchange;version="[1.19.0,1.20.0)",
-  org.osgi.framework;version="[1.3.0,2.0.0)",
-  org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
+Import-Package: org.eclipse.emf.ecp.common.spi.asserts;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.structuralchange;version="[1.20.0,1.21.0)",
+ org.osgi.framework;version="[1.3.0,2.0.0)",
+ org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
 Automatic-Module-Name: org.eclipse.emfforms.core.services.structuralchange.mapping
diff --git a/bundles/org.eclipse.emfforms.core.services.structuralchange.mapping/pom.xml b/bundles/org.eclipse.emfforms.core.services.structuralchange.mapping/pom.xml
index a034575..732a120 100644
--- a/bundles/org.eclipse.emfforms.core.services.structuralchange.mapping/pom.xml
+++ b/bundles/org.eclipse.emfforms.core.services.structuralchange.mapping/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.core.services.structuralchange.mapping</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
 </project>
diff --git a/bundles/org.eclipse.emfforms.core.services.structuralchange.table/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.core.services.structuralchange.table/META-INF/MANIFEST.MF
index 0421f71..bc88833 100644
--- a/bundles/org.eclipse.emfforms.core.services.structuralchange.table/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.core.services.structuralchange.table/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms Structural Change Tester Table
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.structuralchange.table
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
 Export-Package: org.eclipse.emfforms.internal.core.services.structuralchange.table;version="1.7.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.table.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.structuralchange.default;bundle-version="[1.19.0,1.20.0)"
+Require-Bundle: org.eclipse.emf.ecp.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.table.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.structuralchange.default;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/StructuralChangeTesterTable.xml
 Bundle-ActivationPolicy: lazy
 Import-Package: org.osgi.framework;version="[1.3.0,2.0.0)",
-  org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
+ org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
 Automatic-Module-Name: org.eclipse.emfforms.core.services.structuralchange.table
diff --git a/bundles/org.eclipse.emfforms.core.services.structuralchange.table/pom.xml b/bundles/org.eclipse.emfforms.core.services.structuralchange.table/pom.xml
index 77f533b..f34a4ab 100644
--- a/bundles/org.eclipse.emfforms.core.services.structuralchange.table/pom.xml
+++ b/bundles/org.eclipse.emfforms.core.services.structuralchange.table/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.core.services.structuralchange.table</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
   <properties>
diff --git a/bundles/org.eclipse.emfforms.core.services.structuralchange/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.core.services.structuralchange/META-INF/MANIFEST.MF
index ae85d12..a30ce58 100644
--- a/bundles/org.eclipse.emfforms.core.services.structuralchange/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.core.services.structuralchange/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms Structural Change Tester
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.structuralchange
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
 Export-Package: org.eclipse.emfforms.internal.core.services.structuralchange;version="1.7.0";x-internal:=true
-Require-Bundle: org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
- org.eclipse.emfforms.core.services.emf;bundle-version="[1.19.0,1.20.0)"
+Require-Bundle: org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.emf;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/EMFFormsStructuralChangeTesterImpl.xml
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emfforms.core.services.structuralchange/pom.xml b/bundles/org.eclipse.emfforms.core.services.structuralchange/pom.xml
index 2e69956..9cb1dd5 100644
--- a/bundles/org.eclipse.emfforms.core.services.structuralchange/pom.xml
+++ b/bundles/org.eclipse.emfforms.core.services.structuralchange/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.core.services.structuralchange</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
 </project>
diff --git a/bundles/org.eclipse.emfforms.core.services/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.core.services/META-INF/MANIFEST.MF
index bc06aa5..bfa8868 100644
--- a/bundles/org.eclipse.emfforms.core.services/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.core.services/META-INF/MANIFEST.MF
@@ -2,34 +2,34 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms Core Services
 Bundle-SymbolicName: org.eclipse.emfforms.core.services
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.internal.core.services.controlmapper;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.internal.core.services.mappingprovider;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.internal.core.services.scoped;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.spi.core.services.controlmapper;version="1.19.0",
-  org.eclipse.emfforms.spi.core.services.databinding;version="1.19.0",
-  org.eclipse.emfforms.spi.core.services.domainexpander;version="1.19.0",
-  org.eclipse.emfforms.spi.core.services.label;version="1.19.0",
-  org.eclipse.emfforms.spi.core.services.mappingprovider;version="1.19.0",
-  org.eclipse.emfforms.spi.core.services.structuralchange;version="1.19.0",
-  org.eclipse.emfforms.spi.core.services.view;version="1.19.0"
-Require-Bundle: org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.core.databinding.observable;bundle-version="[1.3.0,2.0.0)";visibility:=reexport,
-  org.eclipse.emfforms.common;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.core.databinding.property;bundle-version="[1.3.0,2.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore;bundle-version="[2.9.0,3.0.0)",
-  org.eclipse.emf.ecp.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit;bundle-version="[2.12.0,3.0.0)"
+Export-Package: org.eclipse.emfforms.internal.core.services.controlmapper;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.core.services.mappingprovider;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.core.services.scoped;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.spi.core.services.controlmapper;version="1.20.0",
+ org.eclipse.emfforms.spi.core.services.databinding;version="1.20.0",
+ org.eclipse.emfforms.spi.core.services.domainexpander;version="1.20.0",
+ org.eclipse.emfforms.spi.core.services.label;version="1.20.0",
+ org.eclipse.emfforms.spi.core.services.mappingprovider;version="1.20.0",
+ org.eclipse.emfforms.spi.core.services.structuralchange;version="1.20.0",
+ org.eclipse.emfforms.spi.core.services.view;version="1.20.0"
+Require-Bundle: org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.core.databinding.observable;bundle-version="[1.3.0,2.0.0)";visibility:=reexport,
+ org.eclipse.emfforms.common;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.core.databinding.property;bundle-version="[1.3.0,2.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore;bundle-version="[2.9.0,3.0.0)",
+ org.eclipse.emf.ecp.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit;bundle-version="[2.12.0,3.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/org.eclipse.emfforms.internal.core.services.controlmapper.SettingToControlMapFactoryImpl.xml,OSGI-INF/org.eclipse.emfforms.internal.core.services.mappingprovider.EMFFormsMappingProviderManagerImpl.xml,OSGI-INF/org.eclipse.emfforms.internal.core.services.scoped.EMFFormsViewServiceManagerImpl.xml
 Bundle-ActivationPolicy: lazy
 Import-Package: org.eclipse.core.databinding.observable.list;version="0.0.0",
-  org.eclipse.core.databinding.observable.value;version="0.0.0",
-  org.eclipse.core.databinding.property.list;version="0.0.0",
-  org.eclipse.core.databinding.property.value;version="0.0.0",
-  org.eclipse.emf.ecp.view.spi.model;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.osgi.framework;version="1.8.0",
-  org.osgi.service.component.annotations;version="[1.0.0,2.0.0)";resolution:=optional
+ org.eclipse.core.databinding.observable.value;version="0.0.0",
+ org.eclipse.core.databinding.property.list;version="0.0.0",
+ org.eclipse.core.databinding.property.value;version="0.0.0",
+ org.eclipse.emf.ecp.view.spi.model;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.osgi.framework;version="1.8.0",
+ org.osgi.service.component.annotations;version="[1.0.0,2.0.0)";resolution:=optional
 Automatic-Module-Name: org.eclipse.emfforms.core.services
diff --git a/bundles/org.eclipse.emfforms.core.services/pom.xml b/bundles/org.eclipse.emfforms.core.services/pom.xml
index 2e0b421..6449792 100644
--- a/bundles/org.eclipse.emfforms.core.services/pom.xml
+++ b/bundles/org.eclipse.emfforms.core.services/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.core.services</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
 </project>
diff --git a/bundles/org.eclipse.emfforms.core.services/src/org/eclipse/emfforms/internal/core/services/controlmapper/SettingToControlMapperImpl.java b/bundles/org.eclipse.emfforms.core.services/src/org/eclipse/emfforms/internal/core/services/controlmapper/SettingToControlMapperImpl.java
index 14530a6..40855a3 100644
--- a/bundles/org.eclipse.emfforms.core.services/src/org/eclipse/emfforms/internal/core/services/controlmapper/SettingToControlMapperImpl.java
+++ b/bundles/org.eclipse.emfforms.core.services/src/org/eclipse/emfforms/internal/core/services/controlmapper/SettingToControlMapperImpl.java
@@ -27,6 +27,7 @@
 import org.eclipse.emf.common.util.TreeIterator;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.emf.ecore.util.EcoreUtil;
 import org.eclipse.emf.ecp.common.spi.UniqueSetting;
 import org.eclipse.emf.ecp.view.spi.model.ModelChangeAddRemoveListener;
 import org.eclipse.emf.ecp.view.spi.model.ModelChangeNotification;
@@ -35,6 +36,7 @@
 import org.eclipse.emf.ecp.view.spi.model.VDomainModelReferenceSegment;
 import org.eclipse.emf.ecp.view.spi.model.VElement;
 import org.eclipse.emfforms.spi.core.services.controlmapper.EMFFormsSettingToControlMapper;
+import org.eclipse.emfforms.spi.core.services.controlmapper.SubControlMapper;
 import org.eclipse.emfforms.spi.core.services.mappingprovider.EMFFormsMappingProviderManager;
 import org.eclipse.emfforms.spi.core.services.view.EMFFormsContextListener;
 import org.eclipse.emfforms.spi.core.services.view.EMFFormsViewContext;
@@ -45,7 +47,8 @@
  * @author Lucas Koehler
  *
  */
-public class SettingToControlMapperImpl implements EMFFormsSettingToControlMapper, EMFFormsContextListener {
+public class SettingToControlMapperImpl
+	implements EMFFormsSettingToControlMapper, EMFFormsContextListener, SubControlMapper {
 	/**
 	 * Used to get View model changes.
 	 *
@@ -424,6 +427,21 @@
 	}
 
 	@Override
+	public Collection<EObject> getEObjectsWithSettings(VElement element) {
+		final Set<EObject> result = new LinkedHashSet<>();
+
+		for (final Iterator<EObject> iter = EcoreUtil.getAllContents(Collections.singleton(element)); iter.hasNext();) {
+			final EObject next = iter.next();
+			final List<UniqueSetting> settings = controlToSettingMap.get(next);
+			if (settings != null && !settings.isEmpty()) {
+				settings.stream().map(UniqueSetting::getEObject).forEach(result::add);
+			}
+		}
+
+		return result;
+	}
+
+	@Override
 	public Set<UniqueSetting> getSettingsForControl(VControl control) {
 		final List<UniqueSetting> settings = controlToSettingMap.get(control);
 		if (settings == null) {
diff --git a/bundles/org.eclipse.emfforms.core.services/src/org/eclipse/emfforms/spi/core/services/controlmapper/SubControlMapper.java b/bundles/org.eclipse.emfforms.core.services/src/org/eclipse/emfforms/spi/core/services/controlmapper/SubControlMapper.java
new file mode 100644
index 0000000..e36d31b
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services/src/org/eclipse/emfforms/spi/core/services/controlmapper/SubControlMapper.java
@@ -0,0 +1,36 @@
+/*******************************************************************************
+ * Copyright (c) 2019 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.core.services.controlmapper;
+
+import java.util.Collection;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+
+/**
+ * An optional interface provided by an {@link EMFFormsSettingToControlMapper}
+ * for queries specific to sub-trees of the view control hierarchy.
+ *
+ * @since 1.20
+ */
+public interface SubControlMapper {
+
+	/**
+	 * Obtain a collection of all objects that have a mapped setting in the
+	 * hierarchy of the given view {@code element}.
+	 *
+	 * @param element the view sub-tree for which to get objects
+	 * @return the objects presented in the view sub-tree that have settings
+	 */
+	Collection<EObject> getEObjectsWithSettings(VElement element);
+
+}
diff --git a/bundles/org.eclipse.emfforms.datatemplate.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.datatemplate.model.edit/META-INF/MANIFEST.MF
index 8eb895f..ac8b74f 100644
--- a/bundles/org.eclipse.emfforms.datatemplate.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.datatemplate.model.edit/META-INF/MANIFEST.MF
@@ -2,17 +2,17 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms DataTemplate Edit
 Bundle-SymbolicName: org.eclipse.emfforms.datatemplate.model.edit;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emfforms.datatemplate.provider.DatatemplateEditPlugin$Implementation
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emfforms.datatemplate.provider;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emfforms.datatemplate.provider;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.13.0,4.0.0)",
-  org.eclipse.emfforms.datatemplate.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.edit;bundle-version="[2.12.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore;bundle-version="[2.13.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore.edit;bundle-version="[2.9.0,3.0.0)";visibility:=reexport
+ org.eclipse.emfforms.datatemplate.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.edit;bundle-version="[2.12.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore;bundle-version="[2.13.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.edit;bundle-version="[2.9.0,3.0.0)";visibility:=reexport
 Automatic-Module-Name: org.eclipse.emfforms.datatemplate.model.edit
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emfforms.datatemplate.model.edit/pom.xml b/bundles/org.eclipse.emfforms.datatemplate.model.edit/pom.xml
index 518a667..473f4e4 100644
--- a/bundles/org.eclipse.emfforms.datatemplate.model.edit/pom.xml
+++ b/bundles/org.eclipse.emfforms.datatemplate.model.edit/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.datatemplate.model.edit</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emfforms.datatemplate.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.datatemplate.model/META-INF/MANIFEST.MF
index 4b16b97..51f2e8c 100644
--- a/bundles/org.eclipse.emfforms.datatemplate.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.datatemplate.model/META-INF/MANIFEST.MF
@@ -1,26 +1,29 @@
 Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
-Bundle-Name: EMFForms DataTemplate Model
+Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emfforms.datatemplate.model;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
-Bundle-Vendor: Eclipse Modeling Project
+Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Require-Bundle: org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
- org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)"
-Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.emfforms.datatemplate;version="1.19.0";uses:="org.eclipse.emf.ecore,org.eclipse.emf.common.util",
- org.eclipse.emfforms.datatemplate.impl;version="1.19.0";x-internal:=true;
+Export-Package: org.eclipse.emfforms.datatemplate;version="1.20.0";
+  uses:="org.eclipse.emf.ecore,
+   org.eclipse.emf.common.util",
+ org.eclipse.emfforms.datatemplate.impl;version="1.20.0";
   uses:="org.eclipse.emf.ecore,
    org.eclipse.emf.ecore.impl,
    org.eclipse.emf.common.util,
    org.eclipse.emf.common.notify,
-   org.eclipse.emfforms.datatemplate",
- org.eclipse.emfforms.datatemplate.util;version="1.19.0";
+   org.eclipse.emfforms.datatemplate";x-internal:=true,
+ org.eclipse.emfforms.datatemplate.util;version="1.20.0";
   uses:="org.eclipse.emf.ecore,
    org.eclipse.emf.common.notify,
    org.eclipse.emf.common.notify.impl,
    org.eclipse.emfforms.datatemplate,
    org.eclipse.emf.ecore.util"
+Require-Bundle: org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emfforms.datatemplate.model
diff --git a/bundles/org.eclipse.emfforms.datatemplate.model/model/datatemplate.genmodel b/bundles/org.eclipse.emfforms.datatemplate.model/model/datatemplate.genmodel
index 9c8a0e0..036e249 100644
--- a/bundles/org.eclipse.emfforms.datatemplate.model/model/datatemplate.genmodel
+++ b/bundles/org.eclipse.emfforms.datatemplate.model/model/datatemplate.genmodel
@@ -10,7 +10,7 @@
     operationReflection="true" importOrganizing="true" cleanup="true">
   <foreignModel>datatemplate.ecore</foreignModel>
   <genPackages prefix="DataTemplate" basePackage="org.eclipse.emfforms" disposableProviderFactory="true"
-      ecorePackage="datatemplate.ecore#/">
+      contentTypeIdentifier="org.eclipse.emfforms.datatemplate.model" ecorePackage="datatemplate.ecore#/">
     <genClasses ecoreClass="datatemplate.ecore#//Template">
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute datatemplate.ecore#//Template/name"/>
       <genFeatures children="true" createChild="false" ecoreFeature="ecore:EReference datatemplate.ecore#//Template/instance"/>
diff --git a/bundles/org.eclipse.emfforms.datatemplate.model/plugin.properties b/bundles/org.eclipse.emfforms.datatemplate.model/plugin.properties
index 74cf877..52569aa 100644
--- a/bundles/org.eclipse.emfforms.datatemplate.model/plugin.properties
+++ b/bundles/org.eclipse.emfforms.datatemplate.model/plugin.properties
@@ -1,4 +1,4 @@
-# Copyright (c) 2011-2017 EclipseSource Muenchen GmbH and others.
+# Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
 # 
 # All rights reserved. This program and the accompanying materials
 # are made available under the terms of the Eclipse Public License v1.0
@@ -8,5 +8,6 @@
 # Contributors:
 # EclipseSource Munich - initial API and implementation
 
-pluginName = DataTemplate Model
-providerName = www.example.org
+pluginName = EMFForms DataTemplate Model
+providerName = Eclipse Modeling Project
+_UI_DataTemplate_content_type = EMF Forms Data Template File
diff --git a/bundles/org.eclipse.emfforms.datatemplate.model/plugin.xml b/bundles/org.eclipse.emfforms.datatemplate.model/plugin.xml
index 1791f3c..79d3ee1 100644
--- a/bundles/org.eclipse.emfforms.datatemplate.model/plugin.xml
+++ b/bundles/org.eclipse.emfforms.datatemplate.model/plugin.xml
@@ -15,4 +15,26 @@
             genModel="model/datatemplate.genmodel"/>
    </extension>
 
+   <extension point="org.eclipse.emf.ecore.content_parser">
+      <!-- @generated datatemplate -->
+      <parser
+            contentTypeIdentifier="org.eclipse.emfforms.datatemplate.model"
+            class="org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl"/>
+   </extension>
+
+   <extension point="org.eclipse.core.contenttype.contentTypes">
+      <!-- @generated datatemplate -->
+      <content-type
+            base-type="org.eclipse.emf.ecore.xmi"
+            file-extensions="datatemplate"
+            id="org.eclipse.emfforms.datatemplate.model"
+            name="%_UI_DataTemplate_content_type"
+            priority="normal">
+         <describer class="org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer">
+            <parameter name="namespace" value="http://org/eclipse/emfforms/datatemplate/model"/>
+            <parameter name="kind" value="xmi"/>
+         </describer>
+      </content-type>
+   </extension>
+
 </plugin>
diff --git a/bundles/org.eclipse.emfforms.datatemplate.model/pom.xml b/bundles/org.eclipse.emfforms.datatemplate.model/pom.xml
index ae7e779..81bfbf7 100644
--- a/bundles/org.eclipse.emfforms.datatemplate.model/pom.xml
+++ b/bundles/org.eclipse.emfforms.datatemplate.model/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.datatemplate.model</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emfforms.datatemplate.model/src/org/eclipse/emfforms/datatemplate/DataTemplatePackage.java b/bundles/org.eclipse.emfforms.datatemplate.model/src/org/eclipse/emfforms/datatemplate/DataTemplatePackage.java
index 9993eae..4b3ad8b 100644
--- a/bundles/org.eclipse.emfforms.datatemplate.model/src/org/eclipse/emfforms/datatemplate/DataTemplatePackage.java
+++ b/bundles/org.eclipse.emfforms.datatemplate.model/src/org/eclipse/emfforms/datatemplate/DataTemplatePackage.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2011-2018 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -8,6 +8,7 @@
  *
  * Contributors:
  * EclipseSource Muenchen GmbH - initial API and implementation
+ * Christian W. Damus - bug 544499
  */
 package org.eclipse.emfforms.datatemplate;
 
@@ -28,6 +29,7 @@
  * <li>and each data type</li>
  * </ul>
  * <!-- end-user-doc -->
+ *
  * @see org.eclipse.emfforms.datatemplate.DataTemplateFactory
  * @model kind="package"
  * @generated
@@ -37,6 +39,7 @@
 	 * The package name.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 *
 	 * @generated
 	 */
 	String eNAME = "datatemplate";
@@ -45,6 +48,7 @@
 	 * The package namespace URI.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 *
 	 * @generated
 	 */
 	String eNS_URI = "http://org/eclipse/emfforms/datatemplate/model";
@@ -53,14 +57,26 @@
 	 * The package namespace name.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 *
 	 * @generated
 	 */
 	String eNS_PREFIX = "org.eclipse.emfforms.datatemplate.model";
 
 	/**
+	 * The package content type ID.
+	 * <!-- begin-user-doc -->
+	 *
+	 * @since 1.20
+	 *        <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eCONTENT_TYPE = "org.eclipse.emfforms.datatemplate.model"; //$NON-NLS-1$
+
+	/**
 	 * The singleton instance of the package.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 *
 	 * @generated
 	 */
 	DataTemplatePackage eINSTANCE = org.eclipse.emfforms.datatemplate.impl.DataTemplatePackageImpl.init();
@@ -69,6 +85,7 @@
 	 * The meta object id for the '{@link org.eclipse.emfforms.datatemplate.impl.TemplateImpl <em>Template</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 *
 	 * @see org.eclipse.emfforms.datatemplate.impl.TemplateImpl
 	 * @see org.eclipse.emfforms.datatemplate.impl.DataTemplatePackageImpl#getTemplate()
 	 * @generated
@@ -79,6 +96,7 @@
 	 * The feature id for the '<em><b>Name</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 *
 	 * @generated
 	 * @ordered
 	 */
@@ -88,6 +106,7 @@
 	 * The feature id for the '<em><b>Instance</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 *
 	 * @generated
 	 * @ordered
 	 */
@@ -97,6 +116,7 @@
 	 * The number of structural features of the '<em>Template</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 *
 	 * @generated
 	 * @ordered
 	 */
@@ -106,15 +126,18 @@
 	 * The number of operations of the '<em>Template</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 *
 	 * @generated
 	 * @ordered
 	 */
 	int TEMPLATE_OPERATION_COUNT = 0;
 
 	/**
-	 * The meta object id for the '{@link org.eclipse.emfforms.datatemplate.impl.TemplateCollectionImpl <em>Template Collection</em>}' class.
+	 * The meta object id for the '{@link org.eclipse.emfforms.datatemplate.impl.TemplateCollectionImpl <em>Template
+	 * Collection</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 *
 	 * @see org.eclipse.emfforms.datatemplate.impl.TemplateCollectionImpl
 	 * @see org.eclipse.emfforms.datatemplate.impl.DataTemplatePackageImpl#getTemplateCollection()
 	 * @generated
@@ -125,6 +148,7 @@
 	 * The feature id for the '<em><b>Templates</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 *
 	 * @generated
 	 * @ordered
 	 */
@@ -134,6 +158,7 @@
 	 * The number of structural features of the '<em>Template Collection</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 *
 	 * @generated
 	 * @ordered
 	 */
@@ -143,6 +168,7 @@
 	 * The number of operations of the '<em>Template Collection</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 *
 	 * @generated
 	 * @ordered
 	 */
@@ -152,6 +178,7 @@
 	 * Returns the meta object for class '{@link org.eclipse.emfforms.datatemplate.Template <em>Template</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 *
 	 * @return the meta object for class '<em>Template</em>'.
 	 * @see org.eclipse.emfforms.datatemplate.Template
 	 * @generated
@@ -159,9 +186,11 @@
 	EClass getTemplate();
 
 	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.emfforms.datatemplate.Template#getName <em>Name</em>}'.
+	 * Returns the meta object for the attribute '{@link org.eclipse.emfforms.datatemplate.Template#getName
+	 * <em>Name</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 *
 	 * @return the meta object for the attribute '<em>Name</em>'.
 	 * @see org.eclipse.emfforms.datatemplate.Template#getName()
 	 * @see #getTemplate()
@@ -170,9 +199,11 @@
 	EAttribute getTemplate_Name();
 
 	/**
-	 * Returns the meta object for the containment reference '{@link org.eclipse.emfforms.datatemplate.Template#getInstance <em>Instance</em>}'.
+	 * Returns the meta object for the containment reference
+	 * '{@link org.eclipse.emfforms.datatemplate.Template#getInstance <em>Instance</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 *
 	 * @return the meta object for the containment reference '<em>Instance</em>'.
 	 * @see org.eclipse.emfforms.datatemplate.Template#getInstance()
 	 * @see #getTemplate()
@@ -181,9 +212,11 @@
 	EReference getTemplate_Instance();
 
 	/**
-	 * Returns the meta object for class '{@link org.eclipse.emfforms.datatemplate.TemplateCollection <em>Template Collection</em>}'.
+	 * Returns the meta object for class '{@link org.eclipse.emfforms.datatemplate.TemplateCollection <em>Template
+	 * Collection</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 *
 	 * @return the meta object for class '<em>Template Collection</em>'.
 	 * @see org.eclipse.emfforms.datatemplate.TemplateCollection
 	 * @generated
@@ -191,9 +224,11 @@
 	EClass getTemplateCollection();
 
 	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.emfforms.datatemplate.TemplateCollection#getTemplates <em>Templates</em>}'.
+	 * Returns the meta object for the containment reference list
+	 * '{@link org.eclipse.emfforms.datatemplate.TemplateCollection#getTemplates <em>Templates</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 *
 	 * @return the meta object for the containment reference list '<em>Templates</em>'.
 	 * @see org.eclipse.emfforms.datatemplate.TemplateCollection#getTemplates()
 	 * @see #getTemplateCollection()
@@ -205,6 +240,7 @@
 	 * 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
 	 */
@@ -221,13 +257,16 @@
 	 * <li>and each data type</li>
 	 * </ul>
 	 * <!-- end-user-doc -->
+	 *
 	 * @generated
 	 */
 	interface Literals {
 		/**
-		 * The meta object literal for the '{@link org.eclipse.emfforms.datatemplate.impl.TemplateImpl <em>Template</em>}' class.
+		 * The meta object literal for the '{@link org.eclipse.emfforms.datatemplate.impl.TemplateImpl
+		 * <em>Template</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
+		 *
 		 * @see org.eclipse.emfforms.datatemplate.impl.TemplateImpl
 		 * @see org.eclipse.emfforms.datatemplate.impl.DataTemplatePackageImpl#getTemplate()
 		 * @generated
@@ -238,6 +277,7 @@
 		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
+		 *
 		 * @generated
 		 */
 		EAttribute TEMPLATE__NAME = eINSTANCE.getTemplate_Name();
@@ -246,14 +286,17 @@
 		 * The meta object literal for the '<em><b>Instance</b></em>' containment reference feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
+		 *
 		 * @generated
 		 */
 		EReference TEMPLATE__INSTANCE = eINSTANCE.getTemplate_Instance();
 
 		/**
-		 * The meta object literal for the '{@link org.eclipse.emfforms.datatemplate.impl.TemplateCollectionImpl <em>Template Collection</em>}' class.
+		 * The meta object literal for the '{@link org.eclipse.emfforms.datatemplate.impl.TemplateCollectionImpl
+		 * <em>Template Collection</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
+		 *
 		 * @see org.eclipse.emfforms.datatemplate.impl.TemplateCollectionImpl
 		 * @see org.eclipse.emfforms.datatemplate.impl.DataTemplatePackageImpl#getTemplateCollection()
 		 * @generated
@@ -264,6 +307,7 @@
 		 * The meta object literal for the '<em><b>Templates</b></em>' containment reference list feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
+		 *
 		 * @generated
 		 */
 		EReference TEMPLATE_COLLECTION__TEMPLATES = eINSTANCE.getTemplateCollection_Templates();
diff --git a/bundles/org.eclipse.emfforms.datatemplate.tooling/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.datatemplate.tooling/META-INF/MANIFEST.MF
index 639123c..f209db4 100644
--- a/bundles/org.eclipse.emfforms.datatemplate.tooling/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.datatemplate.tooling/META-INF/MANIFEST.MF
@@ -2,41 +2,41 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms DataTemplate Tooling
 Bundle-SymbolicName: org.eclipse.emfforms.datatemplate.tooling;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.internal.datatemplate.tooling.editor;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.internal.datatemplate.tooling.wizard;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emfforms.internal.datatemplate.tooling.editor;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.datatemplate.tooling.wizard;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.resources;bundle-version="[3.10.0,4.0.0)",
-  org.eclipse.core.runtime;bundle-version="[3.13.0,4.0.0)",
-  org.eclipse.ui;bundle-version="[3.109.0,4.0.0)",
-  org.eclipse.ui.ide;bundle-version="[3.13.1,4.0.0)",
-  org.eclipse.emfforms.editor;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.13.0,3.0.0)",
-  org.eclipse.emf.edit;bundle-version="[2.12.0,3.0.0)",
-  org.eclipse.emfforms.swt.treemasterdetail;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.datatemplate.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecore.xmi;bundle-version="[2.13.0,3.0.0)",
-  org.eclipse.emf.edit.ui;bundle-version="[2.13.0,3.0.0)",
-  org.eclipse.emf.ecp.view.model.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.localization;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.databinding;bundle-version="[1.5.0,2.0.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.edit.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emfforms.swt.core.di;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.core.runtime;bundle-version="[3.13.0,4.0.0)",
+ org.eclipse.ui;bundle-version="[3.109.0,4.0.0)",
+ org.eclipse.ui.ide;bundle-version="[3.13.1,4.0.0)",
+ org.eclipse.emfforms.editor;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.13.0,3.0.0)",
+ org.eclipse.emf.edit;bundle-version="[2.12.0,3.0.0)",
+ org.eclipse.emfforms.swt.treemasterdetail;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.datatemplate.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.13.0,3.0.0)",
+ org.eclipse.emf.edit.ui;bundle-version="[2.13.0,3.0.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.databinding;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.edit.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Import-Package: org.eclipse.emf.ecp.ui.view.swt.reference;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.bazaar;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.editor;version="[1.19.0,1.20.0)",
-  org.osgi.service.component.annotations;version="1.3.0"
 Service-Component: OSGI-INF/org.eclipse.emfforms.internal.datatemplate.tooling.editor.TemplateInstanceRendererService.xml,OSGI-INF/org.eclipse.emfforms.internal.datatemplate.tooling.editor.DataTemplateEClassSelectionStrategyProvider.xml
 Bundle-ActivationPolicy: lazy
+Import-Package: org.eclipse.emf.ecp.ui.view.swt.reference;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.bazaar;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.editor;version="[1.20.0,1.21.0)",
+ org.osgi.service.component.annotations;version="1.3.0"
 Automatic-Module-Name: org.eclipse.emfforms.datatemplate.tooling
diff --git a/bundles/org.eclipse.emfforms.datatemplate.tooling/plugin.xml b/bundles/org.eclipse.emfforms.datatemplate.tooling/plugin.xml
index 1c64a38..317dc11 100644
--- a/bundles/org.eclipse.emfforms.datatemplate.tooling/plugin.xml
+++ b/bundles/org.eclipse.emfforms.datatemplate.tooling/plugin.xml
@@ -4,7 +4,7 @@
    <extension
          point="org.eclipse.ui.editors">
       <editor
-            class="org.eclipse.emfforms.spi.editor.GenericEditor"
+            class="org.eclipse.emfforms.internal.datatemplate.tooling.editor.DataTemplateEditor"
             default="true"
             extensions="datatemplate"
             icon="icons/Template.gif"
diff --git a/bundles/org.eclipse.emfforms.datatemplate.tooling/pom.xml b/bundles/org.eclipse.emfforms.datatemplate.tooling/pom.xml
index 17f006e..020391d 100644
--- a/bundles/org.eclipse.emfforms.datatemplate.tooling/pom.xml
+++ b/bundles/org.eclipse.emfforms.datatemplate.tooling/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.datatemplate.tooling</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emfforms.datatemplate.tooling/src/org/eclipse/emfforms/internal/datatemplate/tooling/editor/DataTemplateEditor.java b/bundles/org.eclipse.emfforms.datatemplate.tooling/src/org/eclipse/emfforms/internal/datatemplate/tooling/editor/DataTemplateEditor.java
new file mode 100644
index 0000000..132bfbb
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.datatemplate.tooling/src/org/eclipse/emfforms/internal/datatemplate/tooling/editor/DataTemplateEditor.java
@@ -0,0 +1,30 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.datatemplate.tooling.editor;
+
+import org.eclipse.emfforms.datatemplate.TemplateCollection;
+import org.eclipse.emfforms.spi.editor.GenericEditor;
+
+/**
+ * The DataTemplateEditor for editing {@link TemplateCollection}.
+ * 
+ * @author Eugen Neufeld
+ *
+ */
+public class DataTemplateEditor extends GenericEditor {
+
+	@Override
+	protected boolean enableValidation() {
+		return true;
+	}
+
+}
diff --git a/bundles/org.eclipse.emfforms.editor.ecore/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.editor.ecore/META-INF/MANIFEST.MF
index 0493024..7c7b291 100644
--- a/bundles/org.eclipse.emfforms.editor.ecore/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.editor.ecore/META-INF/MANIFEST.MF
@@ -2,46 +2,46 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Ecore Editor based on EMFForms
 Bundle-SymbolicName: org.eclipse.emfforms.editor.ecore;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.internal.editor.ecore;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.internal.editor.ecore.actions;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.internal.editor.ecore.controls;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.internal.editor.ecore.helpers;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.internal.editor.ecore.referenceservices;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emfforms.internal.editor.ecore;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.editor.ecore.actions;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.editor.ecore.controls;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.editor.ecore.helpers;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.editor.ecore.referenceservices;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.1.0,4.0.0)",
-  org.eclipse.emf.ecp.edit.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.jface.databinding;bundle-version="[1.6.0,2.0.0)",
-  org.eclipse.emfforms.editor;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecore.xmi;bundle-version="[2.10.0,3.0.0)",
-  org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
-  org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.ui.ide;bundle-version="[3.10.0,4.0.0)",
-  org.eclipse.jface;bundle-version="[3.10.0,4.0.0)",
-  org.eclipse.ui.workbench;bundle-version="[3.106.0,4.0.0)",
-  org.eclipse.emf.edit.ui;bundle-version="[2.10.0,3.0.0)",
-  org.eclipse.emf.edit;bundle-version="[2.10.0,3.0.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emfforms.swt.treemasterdetail;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.databinding.edit;bundle-version="[1.2.0,2.0.0)",
-  org.eclipse.emfforms.localization;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.control.multireference;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.resources;bundle-version="[3.9.0,4.0.0)",
-  org.eclipse.emf.ecp.view.group.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.treemasterdetail.decorator.validation.default;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.common.ui;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.view.annotation.model;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.edit.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.jface.databinding;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.editor;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.10.0,3.0.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.ui.ide;bundle-version="[3.10.0,4.0.0)",
+ org.eclipse.jface;bundle-version="[3.10.0,4.0.0)",
+ org.eclipse.ui.workbench;bundle-version="[3.106.0,4.0.0)",
+ org.eclipse.emf.edit.ui;bundle-version="[2.10.0,3.0.0)",
+ org.eclipse.emf.edit;bundle-version="[2.10.0,3.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emfforms.swt.treemasterdetail;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.databinding.edit;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.control.multireference;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.resources;bundle-version="[3.9.0,4.0.0)",
+ org.eclipse.emf.ecp.view.group.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.treemasterdetail.decorator.validation.default;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.common.ui;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.view.annotation.model;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/InstanceTypeNameSWTRendererService.xml,OSGI-INF/dataTypeControlService.xml,OSGI-INF/eenumLiteralControlService.xml,OSGI-INF/typedElementBoundsControlService.xml,OSGI-INF/ecoreAttachmentStrategyProvider.xml,OSGI-INF/ecoreEObjectSelectionStrategyProvider.xml,OSGI-INF/ecoreOpenInNewContextStrategyProvider.xml,OSGI-INF/ecoreReferenceStrategyProvider.xml
 Bundle-ActivationPolicy: lazy
 Import-Package: javax.inject;version="1.0.0",
-  org.eclipse.emfforms.bazaar;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.internal.editor.ecore.controls;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.swt.core.di;version="[1.19.0,1.20.0)";resolution:=optional,
-  org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
+ org.eclipse.emfforms.bazaar;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.internal.editor.ecore.controls;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.swt.core.di;version="[1.20.0,1.21.0)";resolution:=optional,
+ org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
 Automatic-Module-Name: org.eclipse.emfforms.editor.ecore
diff --git a/bundles/org.eclipse.emfforms.editor.ecore/pom.xml b/bundles/org.eclipse.emfforms.editor.ecore/pom.xml
index 829b916..cc7e24d 100644
--- a/bundles/org.eclipse.emfforms.editor.ecore/pom.xml
+++ b/bundles/org.eclipse.emfforms.editor.ecore/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.editor.ecore</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emfforms.editor.ecore/src/org/eclipse/emfforms/internal/editor/ecore/EcoreEditor.java b/bundles/org.eclipse.emfforms.editor.ecore/src/org/eclipse/emfforms/internal/editor/ecore/EcoreEditor.java
index 874d35a..0971ba2 100644
--- a/bundles/org.eclipse.emfforms.editor.ecore/src/org/eclipse/emfforms/internal/editor/ecore/EcoreEditor.java
+++ b/bundles/org.eclipse.emfforms.editor.ecore/src/org/eclipse/emfforms/internal/editor/ecore/EcoreEditor.java
@@ -41,9 +41,11 @@
 	@Override
 	protected TreeMasterDetailComposite createTreeMasterDetail(Composite composite, Object editorInput,
 		CreateElementCallback createElementCallback) {
+		final EcoreEditorTMDCustomization buildBehaviour = new EcoreEditorTMDCustomization(createElementCallback,
+			(Notifier) editorInput, (EcoreDiagnosticCache) getDiagnosticCache());
+		buildBehaviour.setTree(createTreeViewerBuilder());
 		return TreeMasterDetailSWTFactory.createTreeMasterDetail(composite, SWT.NONE, editorInput,
-			new EcoreEditorTMDCustomization(createElementCallback, (Notifier) editorInput,
-				(EcoreDiagnosticCache) getDiagnosticCache()));
+			buildBehaviour);
 	}
 
 	@Override
diff --git a/bundles/org.eclipse.emfforms.editor.ecore/src/org/eclipse/emfforms/internal/editor/ecore/EcoreEditorMenuListener.java b/bundles/org.eclipse.emfforms.editor.ecore/src/org/eclipse/emfforms/internal/editor/ecore/EcoreEditorMenuListener.java
index fe80ab1..b0c84c4 100644
--- a/bundles/org.eclipse.emfforms.editor.ecore/src/org/eclipse/emfforms/internal/editor/ecore/EcoreEditorMenuListener.java
+++ b/bundles/org.eclipse.emfforms.editor.ecore/src/org/eclipse/emfforms/internal/editor/ecore/EcoreEditorMenuListener.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2018 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -13,6 +13,8 @@
 
 import java.util.Collection;
 
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecp.common.spi.ChildrenDescriptorCollector;
 import org.eclipse.emf.edit.command.CommandParameter;
 import org.eclipse.emf.edit.domain.EditingDomain;
@@ -21,6 +23,7 @@
 import org.eclipse.emfforms.spi.swt.treemasterdetail.TreeMasterDetailMenuListener;
 import org.eclipse.emfforms.spi.swt.treemasterdetail.actions.MasterDetailAction;
 import org.eclipse.emfforms.spi.swt.treemasterdetail.util.CreateElementCallback;
+import org.eclipse.jface.action.IAction;
 import org.eclipse.jface.action.MenuManager;
 import org.eclipse.jface.viewers.TreeViewer;
 
@@ -50,6 +53,26 @@
 	}
 
 	@Override
+	protected IAction createCreateChildAction(EditingDomain domain, EObject eObject, CommandParameter cp) {
+		final IAction action = super.createCreateChildAction(domain, eObject, cp);
+
+		/*
+		 * If the command parameter creates an EAnnotation and the EAnnotation has a pre-configured source, we want to
+		 * show the source in the action's label.
+		 */
+		final Object value = cp.getValue();
+		if (value instanceof EAnnotation) {
+			final EAnnotation annotation = (EAnnotation) value;
+			if (annotation.getSource() != null && !annotation.getSource().isEmpty()) {
+				final String actionText = action.getText() + " - " + annotation.getSource();
+				action.setText(actionText);
+			}
+		}
+
+		return action;
+	}
+
+	@Override
 	protected boolean filterDescriptor(CommandParameter cp) {
 		return EcoreHelpers.isGenericFeature(cp.getFeature());
 	}
diff --git a/bundles/org.eclipse.emfforms.editor.ecore/src/org/eclipse/emfforms/internal/editor/ecore/referenceservices/EcoreAttachmentStrategyProvider.java b/bundles/org.eclipse.emfforms.editor.ecore/src/org/eclipse/emfforms/internal/editor/ecore/referenceservices/EcoreAttachmentStrategyProvider.java
index 1713f3d..022f66f 100644
--- a/bundles/org.eclipse.emfforms.editor.ecore/src/org/eclipse/emfforms/internal/editor/ecore/referenceservices/EcoreAttachmentStrategyProvider.java
+++ b/bundles/org.eclipse.emfforms.editor.ecore/src/org/eclipse/emfforms/internal/editor/ecore/referenceservices/EcoreAttachmentStrategyProvider.java
@@ -14,7 +14,6 @@
 package org.eclipse.emfforms.internal.editor.ecore.referenceservices;
 
 import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EModelElement;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EReference;
 import org.eclipse.emf.ecore.EcorePackage;
@@ -47,7 +46,7 @@
 
 	@Override
 	protected boolean handles(EObject owner, EReference reference) {
-		return owner instanceof EModelElement;
+		return reference == EcorePackage.Literals.EREFERENCE__EOPPOSITE;
 	}
 
 	/**
diff --git a/bundles/org.eclipse.emfforms.editor.ecore/viewmodels/EAnnotation.view b/bundles/org.eclipse.emfforms.editor.ecore/viewmodels/EAnnotation.view
index f140c7d..9190967 100644
--- a/bundles/org.eclipse.emfforms.editor.ecore/viewmodels/EAnnotation.view
+++ b/bundles/org.eclipse.emfforms.editor.ecore/viewmodels/EAnnotation.view
@@ -24,11 +24,6 @@
         <domainModelEFeature xsi:type="ecore:EReference" href="http://www.eclipse.org/emf/2002/Ecore#//EModelElement/eAnnotations"/>
       </domainModelReference>
     </children>
-    <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_vkW5phdNEeaEDZYMI15WfQ" name="Control eModelElement">
-      <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_vkW5pxdNEeaEDZYMI15WfQ">
-        <domainModelEFeature xsi:type="ecore:EReference" href="http://www.eclipse.org/emf/2002/Ecore#//EAnnotation/eModelElement"/>
-      </domainModelReference>
-    </children>
     <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_vkW5qhdNEeaEDZYMI15WfQ" name="Control references">
       <attachments xsi:type="org.eclipse.emfforms.view.annotation.model:Annotation" xmi:id="_vkW5qyvNEeaEDZYMI15WfQ" key="hideAddNewButton"/>
       <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_vkW5qxdNEeaEDZYMI15WfQ">
diff --git a/bundles/org.eclipse.emfforms.editor.genmodel.util/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.editor.genmodel.util/META-INF/MANIFEST.MF
index 1c66fd3..08cdb3f 100644
--- a/bundles/org.eclipse.emfforms.editor.genmodel.util/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.editor.genmodel.util/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms Genmodel Editor Utilities
 Bundle-SymbolicName: org.eclipse.emfforms.editor.genmodel.util;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.editor.genmodel.util;version="1.19.0";x-internal:=true,
- org.eclipse.emfforms.internal.editor.genmodel.util;version="1.19.0";x-internal:=true,
- org.eclipse.emfforms.internal.editor.genmodel.util.handler;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emfforms.editor.genmodel.util;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.editor.genmodel.util;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.editor.genmodel.util.handler;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.ui.workbench;bundle-version="[3.7.0,4.0.0)",
  org.eclipse.ui;bundle-version="[3.7.0,4.0.0)",
  org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
diff --git a/bundles/org.eclipse.emfforms.editor.genmodel.util/pom.xml b/bundles/org.eclipse.emfforms.editor.genmodel.util/pom.xml
index 4d839cd..07d3027 100644
--- a/bundles/org.eclipse.emfforms.editor.genmodel.util/pom.xml
+++ b/bundles/org.eclipse.emfforms.editor.genmodel.util/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emfforms.editor.genmodel/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.editor.genmodel/META-INF/MANIFEST.MF
index ab4a9e3..e87fc3f 100644
--- a/bundles/org.eclipse.emfforms.editor.genmodel/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.editor.genmodel/META-INF/MANIFEST.MF
@@ -2,22 +2,22 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: GenModel Editor based on EMFForms
 Bundle-SymbolicName: org.eclipse.emfforms.editor.genmodel;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emfforms.internal.editor.genmodel.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.internal.editor.genmodel;version="1.19.0";x-internal:=true;uses:="org.eclipse.emfforms.spi.editor",
-  org.eclipse.emfforms.internal.editor.genmodel.service;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.internal.editor.genmodel.toolbaractions;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.internal.editor.genmodel.util;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.editor;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.codegen.ecore.ui;bundle-version="[2.10.0,3.0.0)",
-  org.eclipse.osgi;bundle-version="[3.10.0,4.0.0)",
-  org.eclipse.emfforms.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.treemasterdetail;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.resources;bundle-version="[3.9.0,4.0.0)",
-  org.eclipse.core.runtime;bundle-version="[3.10.0,4.0.0)",
-  org.eclipse.emf.ecp.view.group.model;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emfforms.internal.editor.genmodel;version="1.20.0";x-internal:=true;uses:="org.eclipse.emfforms.spi.editor",
+ org.eclipse.emfforms.internal.editor.genmodel.service;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.editor.genmodel.toolbaractions;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.editor.genmodel.util;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.editor;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.codegen.ecore.ui;bundle-version="[2.10.0,3.0.0)",
+ org.eclipse.osgi;bundle-version="[3.10.0,4.0.0)",
+ org.eclipse.emfforms.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.treemasterdetail;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.resources;bundle-version="[3.9.0,4.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.10.0,4.0.0)",
+ org.eclipse.emf.ecp.view.group.model;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Import-Package: org.eclipse.core.runtime;version="3.4.0"
diff --git a/bundles/org.eclipse.emfforms.editor.genmodel/pom.xml b/bundles/org.eclipse.emfforms.editor.genmodel/pom.xml
index 9888b50..b0983c5 100644
--- a/bundles/org.eclipse.emfforms.editor.genmodel/pom.xml
+++ b/bundles/org.eclipse.emfforms.editor.genmodel/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.editor.genmodel</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emfforms.editor.genmodel/src/org/eclipse/emfforms/internal/editor/genmodel/GenModelEditor.java b/bundles/org.eclipse.emfforms.editor.genmodel/src/org/eclipse/emfforms/internal/editor/genmodel/GenModelEditor.java
index e719d16..8b8cb90 100644
--- a/bundles/org.eclipse.emfforms.editor.genmodel/src/org/eclipse/emfforms/internal/editor/genmodel/GenModelEditor.java
+++ b/bundles/org.eclipse.emfforms.editor.genmodel/src/org/eclipse/emfforms/internal/editor/genmodel/GenModelEditor.java
@@ -48,17 +48,15 @@
 		return super.modifyEditorInput(resourceSet);
 	}
 
-	/**
-	 * {@inheritDoc}
-	 *
-	 * @see org.eclipse.emfforms.spi.editor.GenericEditor#createTreeMasterDetail(org.eclipse.swt.widgets.Composite,
-	 *      java.lang.Object, org.eclipse.emfforms.spi.swt.treemasterdetail.util.CreateElementCallback)
-	 */
+	@SuppressWarnings("restriction")
 	@Override
 	protected TreeMasterDetailComposite createTreeMasterDetail(Composite composite, Object editorInput,
 		CreateElementCallback createElementCallback) {
+		final GenModelEditorTMDCustomization buildBehaviour = new GenModelEditorTMDCustomization(createElementCallback,
+			(Notifier) editorInput);
+		buildBehaviour.setTree(createTreeViewerBuilder());
 		return TreeMasterDetailSWTFactory.createTreeMasterDetail(composite, SWT.NONE, editorInput,
-			new GenModelEditorTMDCustomization(createElementCallback, (Notifier) editorInput));
+			buildBehaviour);
 	}
 
 }
diff --git a/bundles/org.eclipse.emfforms.editor.viewmodel/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.editor.viewmodel/META-INF/MANIFEST.MF
index 1ceaa1d..dcb551a 100644
--- a/bundles/org.eclipse.emfforms.editor.viewmodel/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.editor.viewmodel/META-INF/MANIFEST.MF
@@ -2,37 +2,37 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ViewModel Editor based on EMFForms
 Bundle-SymbolicName: org.eclipse.emfforms.editor.viewmodel;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.internal.editor.viewmodel;version="1.19.0";x-friends:="org.eclipse.emf.ecp.view.model.preview.e3"
+Export-Package: org.eclipse.emfforms.internal.editor.viewmodel;version="1.20.0";x-friends:="org.eclipse.emf.ecp.view.model.preview.e3"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.emf.ecp.view.model.preview.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ide.editor.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.treemasterdetail.ui.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.ui.workbench;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emf.ecp.view.model.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ide.view.service;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.editor;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.treemasterdetail;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.ui.ide;bundle-version="[3.0.0,4.0.0)",
-  org.eclipse.core.resources;bundle-version="[3.0.0,4.0.0)"
+ org.eclipse.emf.ecp.view.model.preview.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ide.editor.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.treemasterdetail.ui.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.ui.workbench;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ide.view.service;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.editor;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.treemasterdetail;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.ui.ide;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.core.resources;bundle-version="[3.0.0,4.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.editor.viewmodel
 Import-Package: org.eclipse.core.commands;version="0.0.0",
-  org.eclipse.jface.action;version="0.0.0",
-  org.eclipse.jface.dialogs;version="0.0.0",
-  org.eclipse.jface.layout;version="0.0.0",
-  org.eclipse.jface.resource;version="0.0.0",
-  org.eclipse.jface.viewers;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.custom;version="0.0.0",
-  org.eclipse.swt.events;version="0.0.0",
-  org.eclipse.swt.graphics;version="0.0.0",
-  org.eclipse.swt.layout;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0",
-  org.eclipse.ui;ui.workbench=split;version="0.0.0",
-  org.eclipse.ui.part;ui.workbench=split;version="0.0.0",
-  org.eclipse.ui.plugin;version="0.0.0"
+ org.eclipse.jface.action;version="0.0.0",
+ org.eclipse.jface.dialogs;version="0.0.0",
+ org.eclipse.jface.layout;version="0.0.0",
+ org.eclipse.jface.resource;version="0.0.0",
+ org.eclipse.jface.viewers;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.custom;version="0.0.0",
+ org.eclipse.swt.events;version="0.0.0",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.eclipse.swt.layout;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.eclipse.ui;ui.workbench=split;version="0.0.0",
+ org.eclipse.ui.part;ui.workbench=split;version="0.0.0",
+ org.eclipse.ui.plugin;version="0.0.0"
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emfforms.editor.viewmodel/pom.xml b/bundles/org.eclipse.emfforms.editor.viewmodel/pom.xml
index 14593ed..bfc1b5f 100644
--- a/bundles/org.eclipse.emfforms.editor.viewmodel/pom.xml
+++ b/bundles/org.eclipse.emfforms.editor.viewmodel/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.editor.viewmodel</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emfforms.editor/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.editor/META-INF/MANIFEST.MF
index cc4afb5..333a85a 100644
--- a/bundles/org.eclipse.emfforms.editor/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.editor/META-INF/MANIFEST.MF
@@ -2,35 +2,36 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Editor based on EMFForms
 Bundle-SymbolicName: org.eclipse.emfforms.editor;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emfforms.internal.editor.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.internal.editor;version="1.19.0";x-internal:=true,
- org.eclipse.emfforms.internal.editor.handlers;version="1.19.0";;x-internal:=true;x-friends:="org.eclipse.emfforms.editor.ecore",
- org.eclipse.emfforms.internal.editor.toolbaractions;version="1.19.0";;x-internal:=true;x-internal:=true,
- org.eclipse.emfforms.internal.editor.ui;version="1.19.0";x-friends:="org.eclipse.emfforms.editor.ecore",
- org.eclipse.emfforms.spi.editor;version="1.19.0",
- org.eclipse.emfforms.spi.editor.handler;version="1.19.0",
- org.eclipse.emfforms.spi.editor.helpers;version="1.19.0";;x-friends:="org.eclipse.emfforms.editor.ecore,org.eclipse.emfforms.editor.genmodel",
- org.eclipse.emfforms.spi.editor.messages;version="1.19.0"
+Export-Package: org.eclipse.emfforms.internal.editor;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.editor.handlers;version="1.20.0";;x-internal:=true;x-friends:="org.eclipse.emfforms.editor.ecore",
+ org.eclipse.emfforms.internal.editor.toolbaractions;version="1.20.0";;x-internal:=true;x-internal:=true,
+ org.eclipse.emfforms.internal.editor.ui;version="1.20.0";x-friends:="org.eclipse.emfforms.editor.ecore",
+ org.eclipse.emfforms.spi.editor;version="1.20.0",
+ org.eclipse.emfforms.spi.editor.handler;version="1.20.0",
+ org.eclipse.emfforms.spi.editor.helpers;version="1.20.0";;x-friends:="org.eclipse.emfforms.editor.ecore,org.eclipse.emfforms.editor.genmodel",
+ org.eclipse.emfforms.spi.editor.messages;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.1.0,4.0.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit.ui;bundle-version="[2.10.0,3.0.0)",
-  org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.ui.ide;bundle-version="[3.10.0,4.0.0)",
-  org.eclipse.emf.ecore.edit;bundle-version="[2.9.0,3.0.0)",
-  org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.jface.databinding;bundle-version="[1.6.0,2.0.0)",
-  org.eclipse.emf.ecore.xmi;bundle-version="[2.10.0,3.0.0)",
-  org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.jface;bundle-version="[3.10.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.10.0,3.0.0)",
-  org.eclipse.core.resources;bundle-version="[3.9.0,4.0.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.treemasterdetail;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.validation;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit.ui;bundle-version="[2.10.0,3.0.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.ui.ide;bundle-version="[3.10.0,4.0.0)",
+ org.eclipse.emf.ecore.edit;bundle-version="[2.9.0,3.0.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.jface.databinding;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.10.0,3.0.0)",
+ org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.jface;bundle-version="[3.10.0,4.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.10.0,3.0.0)",
+ org.eclipse.core.resources;bundle-version="[3.9.0,4.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.treemasterdetail;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.validation;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.treemasterdetail.decorator.validation.default;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.emfforms.spi.swt.core.di;version="[1.19.0,1.20.0)"
+Import-Package: org.eclipse.emfforms.spi.swt.core.di;version="[1.20.0,1.21.0)"
 Automatic-Module-Name: org.eclipse.emfforms.editor
diff --git a/bundles/org.eclipse.emfforms.editor/pom.xml b/bundles/org.eclipse.emfforms.editor/pom.xml
index 5078271..ad97240 100644
--- a/bundles/org.eclipse.emfforms.editor/pom.xml
+++ b/bundles/org.eclipse.emfforms.editor/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.editor</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emfforms.editor/src/org/eclipse/emfforms/spi/editor/GenericEditor.java b/bundles/org.eclipse.emfforms.editor/src/org/eclipse/emfforms/spi/editor/GenericEditor.java
index fd1c755..420f62a 100644
--- a/bundles/org.eclipse.emfforms.editor/src/org/eclipse/emfforms/spi/editor/GenericEditor.java
+++ b/bundles/org.eclipse.emfforms.editor/src/org/eclipse/emfforms/spi/editor/GenericEditor.java
@@ -69,12 +69,16 @@
 import org.eclipse.emfforms.spi.swt.treemasterdetail.MenuProvider;
 import org.eclipse.emfforms.spi.swt.treemasterdetail.TreeMasterDetailComposite;
 import org.eclipse.emfforms.spi.swt.treemasterdetail.TreeMasterDetailMenuListener;
+import org.eclipse.emfforms.spi.swt.treemasterdetail.TreeMasterDetailSWTBuilder;
 import org.eclipse.emfforms.spi.swt.treemasterdetail.TreeMasterDetailSWTFactory;
+import org.eclipse.emfforms.spi.swt.treemasterdetail.TreeViewerBuilder;
 import org.eclipse.emfforms.spi.swt.treemasterdetail.actions.ActionCollector;
 import org.eclipse.emfforms.spi.swt.treemasterdetail.actions.MasterDetailAction;
+import org.eclipse.emfforms.spi.swt.treemasterdetail.decorator.validation.ecp.ECPValidationLabelDecoratorProvider;
 import org.eclipse.emfforms.spi.swt.treemasterdetail.diagnostic.DiagnosticCache;
 import org.eclipse.emfforms.spi.swt.treemasterdetail.diagnostic.DiagnosticCache.ValidationListener;
 import org.eclipse.emfforms.spi.swt.treemasterdetail.util.CreateElementCallback;
+import org.eclipse.emfforms.spi.swt.treemasterdetail.util.RootObject;
 import org.eclipse.jface.action.Action;
 import org.eclipse.jface.action.MenuManager;
 import org.eclipse.jface.dialogs.MessageDialog;
@@ -85,6 +89,8 @@
 import org.eclipse.jface.viewers.TreeViewer;
 import org.eclipse.jface.window.Window;
 import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.FocusEvent;
+import org.eclipse.swt.events.FocusListener;
 import org.eclipse.swt.graphics.Color;
 import org.eclipse.swt.layout.FormAttachment;
 import org.eclipse.swt.layout.FormData;
@@ -98,6 +104,7 @@
 import org.eclipse.ui.IPartListener;
 import org.eclipse.ui.IWorkbenchPart;
 import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.contexts.IContextActivation;
 import org.eclipse.ui.contexts.IContextService;
 import org.eclipse.ui.dialogs.SaveAsDialog;
 import org.eclipse.ui.ide.IGotoMarker;
@@ -108,6 +115,8 @@
  */
 public class GenericEditor extends EditorPart implements IEditingDomainProvider, IGotoMarker {
 
+	private static final String GENERIC_EDITOR_CONTEXT = "org.eclipse.emfforms.editor.context"; //$NON-NLS-1$
+
 	private static final String FRAGMENT_URI = "FRAGMENT_URI"; //$NON-NLS-1$
 
 	private static final String RESOURCE_URI = "RESOURCE_URI"; //$NON-NLS-1$
@@ -266,10 +275,6 @@
 			}
 		});
 
-		// Activate our context, so that our key-bindings are more important than
-		// the default ones!
-		site.getService(IContextService.class).activateContext(getContextId());
-
 		site.getPage().addPartListener(partListener);
 
 		ResourcesPlugin.getWorkspace().addResourceChangeListener(resourceChangeListener);
@@ -283,7 +288,7 @@
 	 * @return the context id
 	 */
 	protected String getContextId() {
-		return "org.eclipse.emfforms.editor.context"; //$NON-NLS-1$
+		return GENERIC_EDITOR_CONTEXT;
 	}
 
 	@Override
@@ -380,12 +385,26 @@
 			IResource.DEPTH_ZERO);
 	}
 
-	private void setupDiagnosticCache(Object editorInput) {
-		if (!Notifier.class.isInstance(editorInput)) {
-			return;
+	/**
+	 * Get the Notifier from the tree input.
+	 * 
+	 * @param editorInput The editor input to transform
+	 * @return {@link Notifier}
+	 * @throws IllegalStateException if the editor input is not a Notifier
+	 */
+	protected Notifier getNotifierFromEditorInput(Object editorInput) {
+		Object input = editorInput;
+		if (input instanceof RootObject) {
+			input = ((RootObject) input).getRoot();
 		}
-		final Notifier input = (Notifier) editorInput;
-		cache = createDiangosticCache(input);
+		if (!Notifier.class.isInstance(input)) {
+			throw new IllegalStateException("The editor input is not a Notifier!"); //$NON-NLS-1$
+		}
+		return (Notifier) input;
+	}
+
+	private void setupDiagnosticCache(Object editorInput) {
+		cache = createDiangosticCache(getNotifierFromEditorInput(editorInput));
 	}
 
 	/**
@@ -449,6 +468,17 @@
 	}
 
 	/**
+	 * Returns the root composite containing the tree and the detail view. This is null before the editor control is
+	 * created.
+	 *
+	 * @return The root {@link TreeMasterDetailComposite} of this editor
+	 * @since 1.20
+	 */
+	protected TreeMasterDetailComposite getRootView() {
+		return rootView;
+	}
+
+	/**
 	 * This method creates a tree master detail. Override this method if you want to customize the tree.
 	 *
 	 * @param composite the parent composite
@@ -461,7 +491,7 @@
 		final Composite composite,
 		Object editorInput,
 		final CreateElementCallback createElementCallback) {
-		final TreeMasterDetailComposite treeMasterDetail = TreeMasterDetailSWTFactory
+		final TreeMasterDetailSWTBuilder builder = TreeMasterDetailSWTFactory
 			.fillDefaults(composite, SWT.NONE, editorInput)
 			.customizeCildCreation(createElementCallback)
 			.customizeMenu(new MenuProvider() {
@@ -480,11 +510,47 @@
 
 				}
 			})
-			.create();
+			.customizeTree(createTreeViewerBuilder());
+
+		if (enableValidation()) {
+			builder.customizeLabelDecorator(
+				new ECPValidationLabelDecoratorProvider(getNotifierFromEditorInput(editorInput), getDiagnosticCache()));
+		}
+
+		final TreeMasterDetailComposite treeMasterDetail = builder.create();
 		return treeMasterDetail;
 	}
 
 	/**
+	 * Create the {@link TreeViewerBuilder} customization which creates the tree for the editor's tree master detail.
+	 * <p>
+	 * Clients can override this to customize the tree viewer.
+	 *
+	 * @return the {@link TreeViewerBuilder} which creates the tree viewer for the editor's tree master detail
+	 * @since 1.20
+	 */
+	protected TreeViewerBuilder createTreeViewerBuilder() {
+		return parent -> {
+			final TreeViewer treeViewer = new TreeViewer(parent, SWT.MULTI | SWT.BORDER);
+			treeViewer.setAutoExpandLevel(3);
+			treeViewer.getTree().addFocusListener(new FocusListener() {
+				private IContextActivation activation;
+
+				@Override
+				public void focusLost(FocusEvent e) {
+					getSite().getService(IContextService.class).deactivateContext(activation);
+				}
+
+				@Override
+				public void focusGained(FocusEvent e) {
+					activation = getSite().getService(IContextService.class).activateContext(getContextId());
+				}
+			});
+			return treeViewer;
+		};
+	}
+
+	/**
 	 * Allows to modify the input object for the editor.
 	 *
 	 * @param resourceSet the resourceSet which is the default editor input
diff --git a/bundles/org.eclipse.emfforms.ide.builder/.checkstyle b/bundles/org.eclipse.emfforms.ide.builder/.checkstyle
new file mode 100644
index 0000000..19c5477
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.builder/.checkstyle
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
+  <local-check-config name="ESMCheckstyle" location="/org.eclipse.emf.ecp.releng/checkstyle/esmCheckstyle.xml" type="project" description="">
+    <additional-data name="protect-config-file" value="false"/>
+  </local-check-config>
+  <fileset name="Java Files" enabled="true" check-config-name="ESMCheckstyle" local="true">
+    <file-match-pattern match-pattern=".java" include-pattern="true"/>
+  </fileset>
+</fileset-config>
diff --git a/bundles/org.eclipse.emfforms.ide.builder/.classpath b/bundles/org.eclipse.emfforms.ide.builder/.classpath
new file mode 100644
index 0000000..4c62a80
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.builder/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/bundles/org.eclipse.emfforms.ide.builder/.gitignore b/bundles/org.eclipse.emfforms.ide.builder/.gitignore
new file mode 100644
index 0000000..f8d886b
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.builder/.gitignore
@@ -0,0 +1,2 @@
+/bin
+/bin/
diff --git a/bundles/org.eclipse.emfforms.ide.builder/.project b/bundles/org.eclipse.emfforms.ide.builder/.project
new file mode 100644
index 0000000..4d6366d
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.builder/.project
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.emfforms.ide.builder</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<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>
+		<buildCommand>
+			<name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ds.core.builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+	</natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emfforms.ide.builder/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.emfforms.ide.builder/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..f548abb
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.builder/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,6 @@
+eclipse.preferences.version=1
+
+encoding//model/etypes.ecore=UTF-8
+
+
+encoding/<project>=UTF-8
diff --git a/bundles/org.eclipse.emfforms.ide.builder/.settings/org.eclipse.core.runtime.prefs b/bundles/org.eclipse.emfforms.ide.builder/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.builder/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/bundles/org.eclipse.emfforms.ide.builder/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.emfforms.ide.builder/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..654749b
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.builder/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,420 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=true
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=120
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.emfforms.ide.builder/.settings/org.eclipse.jdt.launching.prefs b/bundles/org.eclipse.emfforms.ide.builder/.settings/org.eclipse.jdt.launching.prefs
new file mode 100644
index 0000000..3bb2352
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.builder/.settings/org.eclipse.jdt.launching.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore
diff --git a/bundles/org.eclipse.emfforms.ide.builder/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.emfforms.ide.builder/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..8bc4bb4
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.builder/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,127 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=true
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=false
+cleanup.remove_unnecessary_nls_tags=false
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=true
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_esmCleanUp
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_esmFormatter
+formatter_settings_version=12
+org.eclipse.jdt.ui.exception.name=ex
+org.eclipse.jdt.ui.gettersetter.use.is=true
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.keywordthis=false
+org.eclipse.jdt.ui.overrideannotation=true
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return the ${bare_field_name}\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\r\n * @param ${param} the ${bare_field_name} to set\r\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\r\n * Copyright (c) 2011-${year} EclipseSource Muenchen GmbH and others.\r\n * \r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors\:\r\n * ${user} - initial API and implementation\r\n ******************************************************************************/</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author ${user}\r\n *\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment"/><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\r\n * {@inheritDoc}\r\n * ${see_to_overridden}\r\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\r\n * ${tags}\r\n * ${see_to_target}\r\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">\t\t\t// TODO Auto-generated catch block\r\n\t\t\t// Do NOT catch all Exceptions ("catch (Exception e)")\r\n\t\t\t// Log AND handle Exceptions if possible \r\n            //\r\n            // You can just uncomment one of the lines below to log an exception\:\r\n\t\t\t// logException will show the logged excpetion to the user\r\n\t\t\t// ModelUtil.logException(${exception_var});\r\n\t\t\t// ModelUtil.logException("YOUR MESSAGE HERE", ${exception_var});\r\n\t\t\t// logWarning will only add the message to the error log\r\n\t\t\t// ModelUtil.logWarning("YOUR MESSAGE HERE", ${exception_var});\r\n\t\t\t// ModelUtil.logWarning("YOUR MESSAGE HERE");\r\n\t\t\t//\t\t\t\r\n\t\t\t// If handling is not possible declare and rethrow Exception</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\r\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\r\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_type_arguments=false
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=false
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=false
+sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_this_for_non_static_field_access=true
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=true
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+sp_cleanup.use_type_arguments=false
diff --git a/bundles/org.eclipse.emfforms.ide.builder/.settings/org.eclipse.ltk.core.refactoring.prefs b/bundles/org.eclipse.emfforms.ide.builder/.settings/org.eclipse.ltk.core.refactoring.prefs
new file mode 100644
index 0000000..864e30f
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.builder/.settings/org.eclipse.ltk.core.refactoring.prefs
@@ -0,0 +1,3 @@
+#Thu Feb 04 09:44:24 CET 2010
+eclipse.preferences.version=1
+org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false
diff --git a/bundles/org.eclipse.emfforms.ide.builder/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emfforms.ide.builder/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..e4e3c00
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.builder/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,97 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
+ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
+API_USE_SCAN_FIELD_SEVERITY=Error
+API_USE_SCAN_METHOD_SEVERITY=Error
+API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
+CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
+CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
+CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
+CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
+ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
+ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
+ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
+FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
+FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
+FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
+FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
+ILLEGAL_EXTEND=Warning
+ILLEGAL_IMPLEMENT=Warning
+ILLEGAL_INSTANTIATE=Warning
+ILLEGAL_OVERRIDE=Warning
+ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
+INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_JAVADOC_TAG=Warning
+INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
+LEAK_EXTEND=Warning
+LEAK_FIELD_DECL=Warning
+LEAK_IMPLEMENT=Warning
+LEAK_METHOD_PARAM=Warning
+LEAK_METHOD_RETURN_TYPE=Warning
+METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
+METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+MISSING_EE_DESCRIPTIONS=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
+UNUSED_PROBLEM_FILTERS=Ignore
+automatically_removed_unused_problem_filters=Disabled
+eclipse.preferences.version=1
+incompatible_api_component_version=Error
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/bundles/org.eclipse.emfforms.ide.builder/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.emfforms.ide.builder/.settings/org.eclipse.pde.prefs
new file mode 100644
index 0000000..0bbee3c
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.builder/.settings/org.eclipse.pde.prefs
@@ -0,0 +1,32 @@
+compilers.f.unresolved-features=1
+compilers.f.unresolved-plugins=1
+compilers.incompatible-environment=1
+compilers.p.build=1
+compilers.p.build.bin.includes=1
+compilers.p.build.encodings=2
+compilers.p.build.java.compiler=2
+compilers.p.build.java.compliance=1
+compilers.p.build.missing.output=2
+compilers.p.build.output.library=1
+compilers.p.build.source.library=1
+compilers.p.build.src.includes=1
+compilers.p.deprecated=1
+compilers.p.discouraged-class=1
+compilers.p.internal=1
+compilers.p.missing-packages=1
+compilers.p.missing-version-export-package=1
+compilers.p.missing-version-import-package=1
+compilers.p.missing-version-require-bundle=1
+compilers.p.no-required-att=0
+compilers.p.not-externalized-att=2
+compilers.p.unknown-attribute=1
+compilers.p.unknown-class=1
+compilers.p.unknown-element=1
+compilers.p.unknown-identifier=1
+compilers.p.unknown-resource=1
+compilers.p.unresolved-ex-points=0
+compilers.p.unresolved-import=0
+compilers.s.create-docs=false
+compilers.s.doc-folder=doc
+compilers.s.open-tags=1
+eclipse.preferences.version=1
diff --git a/bundles/org.eclipse.emfforms.ide.builder/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.ide.builder/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..00fde5a
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.builder/META-INF/MANIFEST.MF
@@ -0,0 +1,29 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-SymbolicName: org.eclipse.emfforms.ide.builder;singleton:=true
+Bundle-Version: 1.20.0.qualifier
+Bundle-Activator: org.eclipse.emfforms.ide.internal.builder.Activator
+Bundle-Vendor: %Bundle-Vendor
+Require-Bundle: org.eclipse.ui;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.13.0,4.0.0)",
+ org.eclipse.core.resources;bundle-version="[3.12.0,4.0.0)",
+ org.eclipse.emf.validation;bundle-version="[1.8.0,2.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.13.0,3.0.0)",
+ org.eclipse.emf.edit.ui;bundle-version="[2.13.0,3.0.0)",
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.13.0,3.0.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,2.0.0)",
+ org.eclipse.emf.ecp.ide.util;bundle-version="[1.19.0,2.0.0)",
+ org.eclipse.emfforms.common;bundle-version="[1.19.0,2.0.0)",
+ org.eclipse.emfforms.common.validation;bundle-version="[1.19.0,2.0.0)",
+ org.eclipse.emf.ecp.view.validation;bundle-version="[1.19.0,2.0.0)",
+ org.eclipse.emfforms.core.bazaar;bundle-version="[1.20.0,2.0.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Automatic-Module-Name: org.eclipse.emfforms.ide.builder
+Bundle-ActivationPolicy: lazy
+Export-Package: org.eclipse.emfforms.ide.builder;version="1.20.0",
+ org.eclipse.emfforms.ide.internal.builder;version="1.20.0";x-friends:="org.eclipse.emfforms.ide.builder.test",
+ org.eclipse.emfforms.ide.internal.builder.messages;version="1.20.0";x-internal:=true
+Service-Component: OSGI-INF/org.eclipse.emfforms.ide.internal.builder.ViewModelValidationDelegate$Provider.xml,
+ OSGI-INF/org.eclipse.emfforms.ide.internal.builder.ViewModelMarkerHelper$Provider.xml
+Import-Package: org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
diff --git a/bundles/org.eclipse.emfforms.ide.builder/OSGI-INF/l10n/bundle.properties b/bundles/org.eclipse.emfforms.ide.builder/OSGI-INF/l10n/bundle.properties
new file mode 100644
index 0000000..d1ed2ad
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.builder/OSGI-INF/l10n/bundle.properties
@@ -0,0 +1,21 @@
+#Properties file for org.eclipse.emfforms.ide.builder
+Bundle-Vendor = Eclipse Modeling Project
+Bundle-Name = EMFForms IDE Builder
+
+nature.command.category.name = EMF Forms Project Nature commands
+addremovenature.command.name = Add/Remove EMF Forms Project Nature
+addremovenature.natureID.name = Project Nature ID
+
+# View Models
+viewmodelbuilder.extension.name = View Model Builder
+viewmodelnature.extension.name = View Model Nature
+viewmodel.marker.extension.name = ViewModel Problem
+addviewmodelnature.command.label = Enable ViewModel Nature
+removeviewmodelnature.command.label = Disable ViewModel Nature
+
+# Extensible Validation
+validationbuilder.extension.name = Model Validation Builder
+validationnature.extension.name = Model Validation Nature
+validation.marker.extension.name = Model Validation Problem
+addvalidationnature.command.label = Enable Model Validation Nature
+removevalidationnature.command.label = Disable Model Validation Nature
diff --git a/bundles/org.eclipse.emfforms.ide.builder/OSGI-INF/org.eclipse.emfforms.ide.internal.builder.ViewModelMarkerHelper$Provider.xml b/bundles/org.eclipse.emfforms.ide.builder/OSGI-INF/org.eclipse.emfforms.ide.internal.builder.ViewModelMarkerHelper$Provider.xml
new file mode 100644
index 0000000..2bd5ac4
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.builder/OSGI-INF/org.eclipse.emfforms.ide.internal.builder.ViewModelMarkerHelper$Provider.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emfforms.ide.internal.builder.ViewModelMarkerHelper$Provider">
+   <service>
+      <provide interface="org.eclipse.emfforms.ide.builder.MarkerHelperProvider"/>
+   </service>
+   <implementation class="org.eclipse.emfforms.ide.internal.builder.ViewModelMarkerHelper$Provider"/>
+</scr:component>
\ No newline at end of file
diff --git a/bundles/org.eclipse.emfforms.ide.builder/OSGI-INF/org.eclipse.emfforms.ide.internal.builder.ViewModelValidationDelegate$Provider.xml b/bundles/org.eclipse.emfforms.ide.builder/OSGI-INF/org.eclipse.emfforms.ide.internal.builder.ViewModelValidationDelegate$Provider.xml
new file mode 100644
index 0000000..a2c12be
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.builder/OSGI-INF/org.eclipse.emfforms.ide.internal.builder.ViewModelValidationDelegate$Provider.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emfforms.ide.internal.builder.ViewModelValidationDelegate$Provider">
+   <service>
+      <provide interface="org.eclipse.emfforms.ide.builder.ValidationDelegateProvider"/>
+   </service>
+   <implementation class="org.eclipse.emfforms.ide.internal.builder.ViewModelValidationDelegate$Provider"/>
+</scr:component>
\ No newline at end of file
diff --git a/bundles/org.eclipse.emfforms.ide.builder/about.html b/bundles/org.eclipse.emfforms.ide.builder/about.html
new file mode 100644
index 0000000..d35d5ae
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.builder/about.html
@@ -0,0 +1,28 @@
+<!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 (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/bundles/org.eclipse.emfforms.ide.builder/build.properties b/bundles/org.eclipse.emfforms.ide.builder/build.properties
new file mode 100644
index 0000000..05da415
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.builder/build.properties
@@ -0,0 +1,9 @@
+source.. = src/
+output.. = bin/
+bin.includes = plugin.xml,\
+               META-INF/,\
+               .,\
+               about.html,\
+               OSGI-INF/
+jre.compilation.profile = JavaSE-1.6
+src.includes = about.html
diff --git a/bundles/org.eclipse.emfforms.ide.builder/plugin.xml b/bundles/org.eclipse.emfforms.ide.builder/plugin.xml
new file mode 100644
index 0000000..85deb7c
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.builder/plugin.xml
@@ -0,0 +1,218 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+
+   <extension
+         id="viewModelBuilder"
+         name="%viewmodelbuilder.extension.name"
+         point="org.eclipse.core.resources.builders">
+      <builder
+            hasNature="true">
+         <run
+               class="org.eclipse.emfforms.ide.internal.builder.ViewModelBuilder">
+         </run>
+      </builder>
+   </extension>
+   <extension
+         id="viewModelNature"
+         name="%viewmodelnature.extension.name"
+         point="org.eclipse.core.resources.natures">
+      <runtime>
+         <run
+               class="org.eclipse.emfforms.ide.internal.builder.ViewModelNature">
+         </run>
+      </runtime>
+      <builder
+            id="org.eclipse.emfforms.ide.builder.viewModelBuilder">
+      </builder>
+   </extension>
+   <extension
+         point="org.eclipse.ui.commands">
+      <category
+            id="org.eclipse.emfforms.ide.builder.nature.category"
+            name="%nature.command.category.name">
+      </category>
+      <command
+            categoryId="org.eclipse.emfforms.ide.builder.nature.category"
+            defaultHandler="org.eclipse.emfforms.ide.internal.builder.AddRemoveProjectNatureHandler"
+            id="org.eclipse.emfforms.ide.builder.addRemoveNature"
+            name="%addremovenature.command.name">
+         <commandParameter
+               id="natureID"
+               name="%addremovenature.natureID.name">
+         </commandParameter>
+      </command>
+   </extension>
+   <extension
+         point="org.eclipse.ui.menus">
+      <menuContribution
+            locationURI="popup:org.eclipse.ui.projectConfigure?after=additions">
+         <command
+               label="%removeviewmodelnature.command.label"
+               commandId="org.eclipse.emfforms.ide.builder.addRemoveNature"
+               style="push">
+            <parameter
+                  name="natureID"
+                  value="org.eclipse.emfforms.ide.builder.viewModelNature">
+            </parameter>
+            <visibleWhen
+                  checkEnabled="false">
+               <with
+                     variable="selection">
+                  <count
+                        value="1">
+                  </count>
+                  <iterate>
+                     <adapt
+                           type="org.eclipse.core.resources.IProject">
+                        <test
+                              property="org.eclipse.core.resources.projectNature"
+                              value="org.eclipse.emfforms.ide.builder.viewModelNature">
+                        </test>
+                     </adapt>
+                  </iterate>
+               </with>
+            </visibleWhen>
+         </command>
+         <command
+               label="%addviewmodelnature.command.label"
+               commandId="org.eclipse.emfforms.ide.builder.addRemoveNature"
+               style="push">
+           <parameter
+                 name="natureID"
+                 value="org.eclipse.emfforms.ide.builder.viewModelNature">
+           </parameter>
+           <visibleWhen
+                  checkEnabled="false">
+               <with
+                     variable="selection">
+                  <count
+                        value="1">
+                  </count>
+                  <iterate>
+                     <adapt
+                           type="org.eclipse.core.resources.IProject">
+                        <not>
+                           <test
+                                 property="org.eclipse.core.resources.projectNature"
+                                 value="org.eclipse.emfforms.ide.builder.viewModelNature">
+                           </test>
+                        </not>
+                     </adapt>
+                  </iterate>
+               </with>
+            </visibleWhen>
+         </command>
+      </menuContribution>
+   </extension>
+   <extension
+         id="ViewModelProblem"
+         name="%viewmodel.marker.extension.name"
+         point="org.eclipse.core.resources.markers">
+      <super
+            type="org.eclipse.emfforms.ide.builder.ValidationProblem">
+      </super>
+      <persistent
+            value="true">
+      </persistent>
+   </extension>
+
+
+   <extension
+         id="ValidationProblem"
+         name="%validation.marker.extension.name"
+         point="org.eclipse.core.resources.markers">
+      <super
+            type="org.eclipse.core.resources.problemmarker">
+      </super>
+      <persistent
+            value="true">
+      </persistent>
+   </extension>
+   <extension
+         id="validationBuilder"
+         name="%validationbuilder.extension.name"
+         point="org.eclipse.core.resources.builders">
+      <builder
+            hasNature="true">
+         <run
+               class="org.eclipse.emfforms.ide.internal.builder.ValidationBuilder">
+         </run>
+      </builder>
+   </extension>
+   <extension
+         id="validationNature"
+         name="%validationnature.extension.name"
+         point="org.eclipse.core.resources.natures">
+      <runtime>
+         <run
+               class="org.eclipse.emfforms.ide.internal.builder.ValidationNature">
+         </run>
+      </runtime>
+      <builder
+            id="org.eclipse.emfforms.ide.builder.validationBuilder">
+      </builder>
+   </extension>
+   <extension
+         point="org.eclipse.ui.menus">
+      <menuContribution
+            locationURI="popup:org.eclipse.ui.projectConfigure?after=additions">
+         <command
+               label="%removevalidationnature.command.label"
+               commandId="org.eclipse.emfforms.ide.builder.addRemoveNature"
+               style="push">
+            <parameter
+                  name="natureID"
+                  value="org.eclipse.emfforms.ide.builder.validationNature">
+            </parameter>
+            <visibleWhen
+                  checkEnabled="false">
+               <with
+                     variable="selection">
+                  <count
+                        value="1">
+                  </count>
+                  <iterate>
+                     <adapt
+                           type="org.eclipse.core.resources.IProject">
+                        <test
+                              property="org.eclipse.core.resources.projectNature"
+                              value="org.eclipse.emfforms.ide.builder.validationNature">
+                        </test>
+                     </adapt>
+                  </iterate>
+               </with>
+            </visibleWhen>
+         </command>
+         <command
+               label="%addvalidationnature.command.label"
+               commandId="org.eclipse.emfforms.ide.builder.addRemoveNature"
+               style="push">
+           <parameter
+                 name="natureID"
+                 value="org.eclipse.emfforms.ide.builder.validationNature">
+           </parameter>
+           <visibleWhen
+                  checkEnabled="false">
+               <with
+                     variable="selection">
+                  <count
+                        value="1">
+                  </count>
+                  <iterate>
+                     <adapt
+                           type="org.eclipse.core.resources.IProject">
+                        <not>
+                           <test
+                                 property="org.eclipse.core.resources.projectNature"
+                                 value="org.eclipse.emfforms.ide.builder.validationNature">
+                           </test>
+                        </not>
+                     </adapt>
+                  </iterate>
+               </with>
+            </visibleWhen>
+         </command>
+      </menuContribution>
+   </extension>
+</plugin>
diff --git a/bundles/org.eclipse.emfforms.ide.builder/pom.xml b/bundles/org.eclipse.emfforms.ide.builder/pom.xml
new file mode 100644
index 0000000..433b33f
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.builder/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.eclipse.emf.ecp</groupId>
+    <artifactId>ecp-bundles-parent</artifactId>
+    <version>1.20.0-SNAPSHOT</version>
+    <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
+  </parent>
+  <groupId>org.eclipse.emf.ecp</groupId>
+  <artifactId>org.eclipse.emfforms.ide.builder</artifactId>
+  <version>1.20.0-SNAPSHOT</version>
+  <packaging>eclipse-plugin</packaging>
+</project>
diff --git a/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/builder/BuilderConstants.java b/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/builder/BuilderConstants.java
new file mode 100644
index 0000000..af7066c
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/builder/BuilderConstants.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2019 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.ide.builder;
+
+/**
+ * Constants, especially for names of injectable values in bazaar vendors, the
+ * {@linkplain ValidationDelegateProvider validation-delegate} and
+ * {@linkplain MarkerHelperProvider marker-helper} providers.
+ */
+public final class BuilderConstants {
+
+	/**
+	 * Name of the content-type ID of the file in the injection context (a string value).
+	 */
+	public static final String CONTENT_TYPE = "content-type"; //$NON-NLS-1$
+
+	/**
+	 * Not instantiable by clients.
+	 */
+	private BuilderConstants() {
+		super();
+	}
+
+}
diff --git a/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/builder/DefaultMarkerHelper.java b/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/builder/DefaultMarkerHelper.java
new file mode 100644
index 0000000..9c4c910
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/builder/DefaultMarkerHelper.java
@@ -0,0 +1,64 @@
+/*******************************************************************************
+ * Copyright (c) 2019 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.ide.builder;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.emf.common.ui.MarkerHelper;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.edit.ui.util.EditUIMarkerHelper;
+import org.eclipse.emfforms.ide.internal.builder.ValidationBuilder;
+
+/**
+ * Default implementation of the {@link MarkerHelper} that accounts for the fact
+ * that the {@link ValidationServiceDelegate} unloads its resource set before markers
+ * are created, so that objects in the {@linkplain Diagnostic diagnostics} are
+ * proxies by the time markers are created.
+ */
+public class DefaultMarkerHelper extends EditUIMarkerHelper {
+
+	/**
+	 * Initializes me.
+	 */
+	public DefaultMarkerHelper() {
+		super();
+	}
+
+	@Override
+	protected String getMarkerID() {
+		return ValidationBuilder.MARKER_ID;
+	}
+
+	@Override
+	protected IFile getFile(Object datum) {
+		return datum instanceof EObject && ((EObject) datum).eIsProxy()
+			? getFile(EcoreUtil.getURI((EObject) datum))
+			: super.getFile(datum);
+	}
+
+	@Override
+	protected void createMarkers(IResource resource, Diagnostic diagnostic, Diagnostic parentDiagnostic)
+		throws CoreException {
+
+		if (diagnostic.getChildren().isEmpty()) {
+			super.createMarkers(resource, diagnostic, parentDiagnostic);
+		} else {
+			// From the ValidationServiceDelegate, we can get more than two levels of nesting
+			for (final Diagnostic next : diagnostic.getChildren()) {
+				createMarkers(resource, next, diagnostic);
+			}
+		}
+	}
+}
diff --git a/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/builder/DefaultMarkerHelperProvider.java b/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/builder/DefaultMarkerHelperProvider.java
new file mode 100644
index 0000000..07bb11e
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/builder/DefaultMarkerHelperProvider.java
@@ -0,0 +1,41 @@
+/*******************************************************************************
+ * Copyright (c) 2019 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.ide.builder;
+
+import org.eclipse.emf.common.ui.MarkerHelper;
+import org.eclipse.emfforms.bazaar.Create;
+import org.eclipse.emfforms.bazaar.StaticBid;
+
+/**
+ * Provider of the default {@link MarkerHelper} implementation.
+ */
+@StaticBid(bid = Double.NEGATIVE_INFINITY)
+class DefaultMarkerHelperProvider implements MarkerHelperProvider {
+
+	/**
+	 * Initializes me.
+	 */
+	DefaultMarkerHelperProvider() {
+		super();
+	}
+
+	/**
+	 * Create the default marker helper.
+	 *
+	 * @return a {@code DefaultMarkerHelper}
+	 */
+	@Create
+	public MarkerHelper createDefault() {
+		return new DefaultMarkerHelper();
+	}
+
+}
diff --git a/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/builder/MarkerHelperProvider.java b/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/builder/MarkerHelperProvider.java
new file mode 100644
index 0000000..2151f4d
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/builder/MarkerHelperProvider.java
@@ -0,0 +1,31 @@
+/*******************************************************************************
+ * Copyright (c) 2019 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.ide.builder;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.emf.common.ui.MarkerHelper;
+import org.eclipse.emfforms.bazaar.Vendor;
+
+/**
+ * Protocol for providers of marker helpers that should be registered as OSGi services.
+ * The injection context includes:
+ * <ul>
+ * <li>the {@link IFile} for which markers are to be created</li>
+ * </ul>
+ */
+// CHECKSTYLE.OFF: InterfaceIsType - Need distinct type for OSGi Service registration
+public interface MarkerHelperProvider extends Vendor<MarkerHelper> {
+	/**
+	 * Provider of the default EMF marker helper.
+	 */
+	MarkerHelperProvider DEFAULT = new DefaultMarkerHelperProvider();
+}
diff --git a/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/builder/NullValidationDelegateProvider.java b/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/builder/NullValidationDelegateProvider.java
new file mode 100644
index 0000000..5a23103
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/builder/NullValidationDelegateProvider.java
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ * Copyright (c) 2019 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.ide.builder;
+
+import org.eclipse.emfforms.bazaar.Create;
+import org.eclipse.emfforms.bazaar.StaticBid;
+
+/**
+ * Provider of the {@link ValidationDelegate#NULL null validation delegate}.
+ */
+@StaticBid(bid = Double.NEGATIVE_INFINITY)
+class NullValidationDelegateProvider implements ValidationDelegateProvider {
+
+	/**
+	 * Initializes me.
+	 */
+	NullValidationDelegateProvider() {
+		super();
+	}
+
+	/**
+	 * Obtain the null delegate.
+	 *
+	 * @return the {@linkplain ValidationDelegate#NULL null delegate}
+	 */
+	@Create
+	public ValidationDelegate getNullDelegate() {
+		return ValidationDelegate.NULL;
+	}
+
+}
diff --git a/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/builder/ValidationDelegate.java b/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/builder/ValidationDelegate.java
new file mode 100644
index 0000000..a3ef040
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/builder/ValidationDelegate.java
@@ -0,0 +1,48 @@
+/*******************************************************************************
+ * Copyright (c) 2019 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.ide.builder;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emfforms.common.Optional;
+
+/**
+ * Protocol for delegates that the validation builder invokes to validate workspace resources.
+ */
+public interface ValidationDelegate {
+	/**
+	 * A validation delegate that does nothing.
+	 */
+	ValidationDelegate NULL = new ValidationDelegate() {
+
+		@Override
+		public Optional<Diagnostic> validate(IFile file, IProgressMonitor monitor) {
+			if (monitor != null) {
+				monitor.done();
+			}
+
+			return Optional.empty();
+		}
+	};
+
+	/**
+	 * Validate a {@code file} in the workspace.
+	 *
+	 * @param file the file to validate
+	 * @param monitor for reporting validation progress
+	 *
+	 * @return the problems found, if any
+	 */
+	Optional<Diagnostic> validate(IFile file, IProgressMonitor monitor);
+
+}
diff --git a/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/builder/ValidationDelegateProvider.java b/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/builder/ValidationDelegateProvider.java
new file mode 100644
index 0000000..c170596
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/builder/ValidationDelegateProvider.java
@@ -0,0 +1,30 @@
+/*******************************************************************************
+ * Copyright (c) 2019 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.ide.builder;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.emfforms.bazaar.Vendor;
+
+/**
+ * Protocol for providers of validation delegates that should be registered as OSGi services.
+ * The injection context includes:
+ * <ul>
+ * <li>the {@link IFile} to be validated</li>
+ * </ul>
+ */
+// CHECKSTYLE.OFF: InterfaceIsType - Need distinct type for OSGi Service registration
+public interface ValidationDelegateProvider extends Vendor<ValidationDelegate> {
+	/**
+	 * Provider of the {@link ValidationDelegate#NULL null validation delegate}.
+	 */
+	ValidationDelegateProvider NULL = new NullValidationDelegateProvider();
+}
diff --git a/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/builder/ValidationServiceDelegate.java b/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/builder/ValidationServiceDelegate.java
new file mode 100644
index 0000000..98bccf2
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/builder/ValidationServiceDelegate.java
@@ -0,0 +1,202 @@
+/*******************************************************************************
+ * Copyright (c) 2019 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource - initial API and implementation
+ * Christian W. Damus - bug 544499
+ ******************************************************************************/
+package org.eclipse.emfforms.ide.builder;
+
+import java.io.IOException;
+import java.util.Set;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EValidator.SubstitutionLabelProvider;
+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.util.Diagnostician;
+import org.eclipse.emf.ecp.view.internal.validation.ECPSubstitutionLabelProvider;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emfforms.common.Optional;
+import org.eclipse.emfforms.common.internal.validation.ValidationServiceImpl;
+import org.eclipse.emfforms.common.spi.validation.ValidationService;
+import org.eclipse.emfforms.common.spi.validation.exception.ValidationCanceledException;
+import org.eclipse.emfforms.ide.internal.builder.Activator;
+
+/**
+ * Implementation of a validation delegate that uses the {@link ValidationService}
+ * to validate a resource. This class may be used as is or it may be extended by
+ * clients to customize any of
+ * <ul>
+ * <li>{@link #loadModel(IFile) loading the model file}</li>
+ * <li>{@link #getModel(ResourceSet) finding the model object} to validate</li>
+ * <li>{@link #configure(ValidationService, ResourceSet, EObject) configuring the validation service}
+ * for the model's peculiar needs</li>
+ * <li>{@link #unload(ResourceSet) unloading the model} to clean up any additional resources</li>
+ * </ul>
+ */
+@SuppressWarnings("restriction")
+public class ValidationServiceDelegate implements ValidationDelegate {
+
+	/**
+	 * Initializes me.
+	 */
+	public ValidationServiceDelegate() {
+		super();
+	}
+
+	@Override
+	public Optional<Diagnostic> validate(IFile file, IProgressMonitor monitor) {
+		final ComposedAdapterFactory adapterFactory = new ComposedAdapterFactory(
+			ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
+		ResourceSet rset = null;
+
+		try {
+			// load file thanks to ECP helpers to avoid missing Properties
+			rset = loadModel(file);
+			final EObject model = getModel(rset);
+			if (model != null) {
+				// trigger validation
+				final ValidationService service = new ValidationServiceImpl();
+				final SubstitutionLabelProvider labelProvider = new ECPSubstitutionLabelProvider(adapterFactory);
+				service.setSubstitutionLabelProvider(labelProvider);
+				configure(service, rset, model);
+
+				final Diagnostic diagnostic = service.validate(model);
+				final Set<Diagnostic> subDiagnostics = service.validate(model.eAllContents());
+
+				// create the final result, mainly extract the most relevant diagnostic among all of them
+				final Diagnostician diagnostician = new Diagnostician();
+				final BasicDiagnostic diagnostics = diagnostician.createDefaultDiagnostic(model);
+				if (diagnostic.getSeverity() >= Diagnostic.WARNING) {
+					diagnostics.add(diagnostic);
+				}
+				for (final Diagnostic sub : subDiagnostics) {
+					if (sub.getSeverity() >= Diagnostic.WARNING) {
+						diagnostics.add(sub);
+					}
+				}
+
+				return Optional.<Diagnostic> of(diagnostics);
+			}
+		} catch (final ClassCastException e) {
+			// can occur during validation
+			return Optional.of(toDiagnostic(e));
+		} catch (final IOException ex) {
+			return Optional.of(toDiagnostic(ex));
+			// BEGIN SUPRESS CATCH EXCEPTION
+		} catch (final RuntimeException e) {
+			// suppressing checkstyle warning to catch the runtime exception thrown when failing to load a resource
+			// END SUPRESS CATCH EXCEPTION
+			return Optional.of(toDiagnostic(e));
+		} catch (final ValidationCanceledException ex) {
+			// no diagnostic to return in this case
+		} finally {
+			adapterFactory.dispose();
+			if (rset != null) {
+				unload(rset);
+			}
+		}
+
+		return Optional.empty();
+	}
+
+	/**
+	 * Load a model into a resource set.
+	 *
+	 * @param file the model file to load
+	 * @return the resource set into which it is loaded
+	 * @throws IOException on failure to load the {@code file}
+	 */
+	protected ResourceSet loadModel(IFile file) throws IOException {
+		final ResourceSet result = new ResourceSetImpl();
+
+		result.getResource(URI.createPlatformResourceURI(file.getFullPath().toString(), true), true);
+
+		return result;
+	}
+
+	/**
+	 * Obtain the model object to be validated from the loaded resource set.
+	 *
+	 * @param resourceSet the loaded resource set
+	 * @return the model object to validate, or {@code null} if there is none
+	 *
+	 * @see #loadModel(IFile)
+	 */
+	protected EObject getModel(ResourceSet resourceSet) {
+		EObject result = null;
+
+		final Resource resource = resourceSet.getResources().isEmpty() ? null : resourceSet.getResources().get(0);
+		if (resource != null && !resource.getContents().isEmpty()) {
+			result = resource.getContents().get(0);
+		}
+
+		return result;
+	}
+
+	/**
+	 * Configure the validation service with constraint providers, filters, or whatever else
+	 * is necessary for complete and correct validation of the {@code model}.
+	 *
+	 * @param validationService the validation service to configure
+	 * @param resourceSet the resource set in which it will validate the {@code model}
+	 * @param model the model object to be validated
+	 */
+	protected void configure(ValidationService validationService, ResourceSet resourceSet, EObject model) {
+		// Nothing to do
+	}
+
+	/**
+	 * Unload the model after validation is complete.
+	 *
+	 * @param resourceSet the model to unload
+	 *
+	 * @see #loadModel(IFile)
+	 */
+	protected void unload(ResourceSet resourceSet) {
+		for (final Resource next : resourceSet.getResources()) {
+			next.unload();
+			next.eAdapters().clear();
+		}
+
+		resourceSet.getResources().clear();
+		resourceSet.eAdapters().clear();
+	}
+
+	private static Diagnostic toDiagnostic(Throwable throwable) {
+		String message = throwable.getClass().getName();
+		final int index = message.lastIndexOf('.');
+		if (index >= 0) {
+			message = message.substring(index + 1);
+		}
+		if (throwable.getLocalizedMessage() != null) {
+			message = message + ": " + throwable.getLocalizedMessage();//$NON-NLS-1$
+		}
+
+		final BasicDiagnostic basicDiagnostic = new BasicDiagnostic(Diagnostic.ERROR,
+			Activator.PLUGIN_ID,
+			0,
+			message,
+			new Object[] { throwable });
+
+		if (throwable.getCause() != null && throwable.getCause() != throwable) {
+			throwable = throwable.getCause();
+			basicDiagnostic.add(toDiagnostic(throwable));
+		}
+
+		return basicDiagnostic;
+	}
+
+}
diff --git a/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/internal/builder/Activator.java b/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/internal/builder/Activator.java
new file mode 100644
index 0000000..97f6d3f
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/internal/builder/Activator.java
@@ -0,0 +1,114 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource - initial API and implementation
+ * Christian W. Damus - bug 544499
+ ******************************************************************************/
+package org.eclipse.emfforms.ide.internal.builder;
+
+import java.util.Arrays;
+import java.util.Collection;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emfforms.ide.builder.MarkerHelperProvider;
+import org.eclipse.emfforms.ide.builder.ValidationDelegateProvider;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+import org.osgi.util.tracker.ServiceTracker;
+
+/**
+ * The activator class controls the plug-in life cycle.
+ */
+public class Activator extends AbstractUIPlugin {
+
+	/** plug-in ID. */
+	public static final String PLUGIN_ID = "org.eclipse.emfforms.ide.builder"; //$NON-NLS-1$
+
+	/** Shared instance. */
+	private static Activator plugin;
+
+	private ServiceTracker<ValidationDelegateProvider, ValidationDelegateProvider> validationDelegateProviders;
+	private ServiceTracker<MarkerHelperProvider, MarkerHelperProvider> markerHelperProviders;
+
+	@Override
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+
+		validationDelegateProviders = new ServiceTracker<ValidationDelegateProvider, ValidationDelegateProvider>(
+			context, ValidationDelegateProvider.class, null);
+		validationDelegateProviders.open();
+
+		markerHelperProviders = new ServiceTracker<MarkerHelperProvider, MarkerHelperProvider>(
+			context, MarkerHelperProvider.class, null);
+		markerHelperProviders.open();
+	}
+
+	@Override
+	public void stop(BundleContext context) throws Exception {
+		markerHelperProviders.close();
+		validationDelegateProviders.close();
+		plugin = null;
+		super.stop(context);
+	}
+
+	/**
+	 * Returns the shared instance.
+	 *
+	 * @return the shared instance
+	 */
+	public static Activator getDefault() {
+		return plugin;
+	}
+
+	/**
+	 * Returns an image descriptor for the image file at the given
+	 * plug-in relative path.
+	 *
+	 * @param path the path
+	 * @return the image descriptor
+	 */
+	public static ImageDescriptor getImageDescriptor(String path) {
+		return imageDescriptorFromPlugin(PLUGIN_ID, path);
+	}
+
+	/**
+	 * Logs an exception for this plugin.
+	 *
+	 * @param message the specific message to log
+	 * @param t throwable causing this log
+	 */
+	public static void log(String message, Throwable t) {
+		getDefault().getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message, t));
+
+	}
+
+	/**
+	 * Obtain the currently registered validation delegate providers.
+	 *
+	 * @return the validation delegate providers
+	 */
+	public Collection<ValidationDelegateProvider> getValidationDelegateProviders() {
+		final ValidationDelegateProvider[] result = {};
+		return Arrays.asList(validationDelegateProviders.getServices(result));
+	}
+
+	/**
+	 * Obtain the currently registered marker helper providers.
+	 *
+	 * @return the marker helper providers
+	 */
+	public Collection<MarkerHelperProvider> getMarkerHelperProviders() {
+		final MarkerHelperProvider[] result = {};
+		return Arrays.asList(markerHelperProviders.getServices(result));
+	}
+
+}
diff --git a/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/internal/builder/AddRemoveProjectNatureHandler.java b/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/internal/builder/AddRemoveProjectNatureHandler.java
new file mode 100644
index 0000000..6f69651
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/internal/builder/AddRemoveProjectNatureHandler.java
@@ -0,0 +1,66 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.ide.internal.builder;
+
+import java.util.Iterator;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.ui.handlers.HandlerUtil;
+
+/**
+ * Add/Remove handler for the View model projects nature.
+ */
+public class AddRemoveProjectNatureHandler extends AbstractHandler {
+
+	@Override
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+		final ISelection selection = HandlerUtil.getCurrentSelection(event);
+		String natureID = event.getParameter("natureID");
+		if (natureID == null) {
+			// Default to view model nature
+			natureID = ViewModelNature.NATURE_ID;
+		}
+
+		//
+		if (selection instanceof IStructuredSelection) {
+			for (final Iterator<?> it = ((IStructuredSelection) selection).iterator(); it
+				.hasNext();) {
+				final Object element = it.next();
+				IProject project = null;
+				if (element instanceof IProject) {
+					project = (IProject) element;
+				} else if (element instanceof IAdaptable) {
+					project = ((IAdaptable) element).getAdapter(IProject.class);
+				}
+				if (project != null) {
+					try {
+						ProjectNature.toggleNature(project, natureID);
+					} catch (final CoreException e) {
+						Activator.log("Failed to toggle nature", e);
+						throw new ExecutionException("Failed to toggle nature",
+							e);
+					}
+				}
+			}
+		}
+
+		return null;
+	}
+
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/internal/builder/ProjectNature.java b/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/internal/builder/ProjectNature.java
new file mode 100644
index 0000000..ccddbe3
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/internal/builder/ProjectNature.java
@@ -0,0 +1,146 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.ide.internal.builder;
+
+import org.eclipse.core.resources.ICommand;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IProjectDescription;
+import org.eclipse.core.resources.IProjectNature;
+import org.eclipse.core.runtime.CoreException;
+
+/**
+ * Common project nature implementation.
+ */
+public abstract class ProjectNature implements IProjectNature {
+
+	private final String id;
+	private final String builder;
+	private IProject project;
+
+	/**
+	 * Initializes me with my unique identifier and builder ID.
+	 *
+	 * @param id my unique identifier
+	 * @param builder my builder
+	 */
+	protected ProjectNature(String id, String builder) {
+		super();
+
+		this.id = id;
+		this.builder = builder;
+	}
+
+	@Override
+	public void configure() throws CoreException {
+		if (builder == null) {
+			// Nothing to configure;
+			return;
+		}
+
+		final IProjectDescription desc = project.getDescription();
+		final ICommand[] commands = desc.getBuildSpec();
+
+		for (int i = 0; i < commands.length; ++i) {
+			if (commands[i].getBuilderName().equals(builder)) {
+				return;
+			}
+		}
+
+		final ICommand[] newCommands = new ICommand[commands.length + 1];
+		System.arraycopy(commands, 0, newCommands, 0, commands.length);
+		final ICommand command = desc.newCommand();
+		command.setBuilderName(builder);
+		newCommands[newCommands.length - 1] = command;
+		desc.setBuildSpec(newCommands);
+		project.setDescription(desc, null);
+	}
+
+	@Override
+	public void deconfigure() throws CoreException {
+		if (builder == null) {
+			// Nothing to deconfigure;
+			return;
+		}
+
+		final IProjectDescription description = getProject().getDescription();
+		final ICommand[] commands = description.getBuildSpec();
+		for (int i = 0; i < commands.length; ++i) {
+			if (commands[i].getBuilderName().equals(builder)) {
+				final ICommand[] newCommands = new ICommand[commands.length - 1];
+				System.arraycopy(commands, 0, newCommands, 0, i);
+				System.arraycopy(commands, i + 1, newCommands, i,
+					commands.length - i - 1);
+				description.setBuildSpec(newCommands);
+				project.setDescription(description, null);
+				return;
+			}
+		}
+	}
+
+	@Override
+	public IProject getProject() {
+		return project;
+	}
+
+	@Override
+	public void setProject(IProject project) {
+		this.project = project;
+	}
+
+	/**
+	 * Query whether a {@code project} has my nature.
+	 *
+	 * @param project a project
+	 * @return whether it has my nature
+	 */
+	public boolean hasNature(IProject project) {
+		try {
+			return project.hasNature(id);
+		} catch (final CoreException e) {
+			// It doesn't have our nature, then
+			return false;
+		}
+	}
+
+	/**
+	 * Toggles a nature on a project.
+	 *
+	 * @param project
+	 *            to have sample nature added or removed
+	 * @param natureID the nature ID to toggle
+	 * @throws CoreException issue while toggling nature
+	 */
+	public static void toggleNature(IProject project, String natureID) throws CoreException {
+		final IProjectDescription description = project.getDescription();
+		final String[] natures = description.getNatureIds();
+
+		for (int i = 0; i < natures.length; ++i) {
+			if (natureID.equals(natures[i])) {
+				// Remove the nature
+				final String[] newNatures = new String[natures.length - 1];
+				System.arraycopy(natures, 0, newNatures, 0, i);
+				System.arraycopy(natures, i + 1, newNatures, i, natures.length - i - 1);
+				description.setNatureIds(newNatures);
+				project.setDescription(description, null);
+				return;
+			}
+		}
+
+		// Add the nature
+		final String[] newNatures = new String[natures.length + 1];
+		System.arraycopy(natures, 0, newNatures, 0, natures.length);
+		newNatures[natures.length] = natureID;
+		description.setNatureIds(newNatures);
+		project.setDescription(description, null);
+	}
+
+}
diff --git a/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/internal/builder/ValidationBuilder.java b/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/internal/builder/ValidationBuilder.java
new file mode 100644
index 0000000..2608b87
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/internal/builder/ValidationBuilder.java
@@ -0,0 +1,343 @@
+/*******************************************************************************
+ * Copyright (c) 2019 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource - initial API and implementation
+ * Christian W. Damus - bug 544499
+ ******************************************************************************/
+package org.eclipse.emfforms.ide.internal.builder;
+
+import java.util.Map;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceDelta;
+import org.eclipse.core.resources.IResourceDeltaVisitor;
+import org.eclipse.core.resources.IResourceVisitor;
+import org.eclipse.core.resources.IncrementalProjectBuilder;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.SubMonitor;
+import org.eclipse.core.runtime.content.IContentDescription;
+import org.eclipse.core.runtime.content.IContentType;
+import org.eclipse.emf.common.ui.MarkerHelper;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.edit.ui.util.EditUIMarkerHelper;
+import org.eclipse.emfforms.bazaar.Bazaar;
+import org.eclipse.emfforms.bazaar.BazaarContext;
+import org.eclipse.emfforms.bazaar.Vendor;
+import org.eclipse.emfforms.common.Optional;
+import org.eclipse.emfforms.ide.builder.BuilderConstants;
+import org.eclipse.emfforms.ide.builder.MarkerHelperProvider;
+import org.eclipse.emfforms.ide.builder.ValidationDelegate;
+import org.eclipse.emfforms.ide.builder.ValidationDelegateProvider;
+
+/**
+ * Incremental builder that triggers validation on view models in the workspace.
+ */
+public class ValidationBuilder extends IncrementalProjectBuilder {
+
+	/** identifier of the builder, similar to plugin.xml value. */
+	public static final String BUILDER_ID = "org.eclipse.emfforms.ide.builder.validationBuilder"; //$NON-NLS-1$
+
+	/** identifier of the marker, similar to plugin.xml value. */
+	public static final String MARKER_ID = "org.eclipse.emfforms.ide.builder.ValidationProblem"; //$NON-NLS-1$
+
+	/**
+	 * Initializes me.
+	 */
+	public ValidationBuilder() {
+		super();
+	}
+
+	private final EditUIMarkerHelper projectMarkerHelper = new EditUIMarkerHelper() {
+		@Override
+		protected String getMarkerID() {
+			return MARKER_ID;
+		}
+	};
+
+	@Override
+	protected IProject[] build(int kind, Map<String, String> args, IProgressMonitor monitor)
+		throws CoreException {
+
+		if (kind == FULL_BUILD) {
+			fullBuild(monitor);
+		} else {
+			final IResourceDelta delta = getDelta(getProject());
+			if (delta == null) {
+				fullBuild(monitor);
+			} else {
+				incrementalBuild(delta, monitor);
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Create the core bazaar builder for a bazaar that has a default vendor.
+	 * The default vendor should lose all auctions in which it is not the only bidder.
+	 *
+	 * @param <T> the product type of the bazaar
+	 * @param defaultVendor the default vendor of the bazaar's product type
+	 * @return the bazaar builder
+	 */
+	protected <T> Bazaar.Builder<T> createBazaarBuilder(Vendor<? extends T> defaultVendor) {
+		return Bazaar.Builder.<T> empty().add(defaultVendor);
+	}
+
+	/**
+	 * Configure the validation delegate bazaar builder. Subclasses may extend or override
+	 * to add vendors or context functions.
+	 *
+	 * @param bazaarBuilder the validation delegate bazaar builder
+	 * @return the same {@code bazaarBuilder}
+	 */
+	protected Bazaar.Builder<ValidationDelegate> configureValidation(Bazaar.Builder<ValidationDelegate> bazaarBuilder) {
+		bazaarBuilder.addAll(Activator.getDefault().getValidationDelegateProviders());
+		return bazaarBuilder;
+	}
+
+	/**
+	 * Configure the marker helper bazaar builder. Subclasses may extend or override
+	 * to add vendors or context functions.
+	 *
+	 * @param bazaarBuilder the marker helper bazaar builder
+	 * @return the same {@code bazaarBuilder}
+	 */
+	protected Bazaar.Builder<MarkerHelper> configureMarkers(Bazaar.Builder<MarkerHelper> bazaarBuilder) {
+		bazaarBuilder.addAll(Activator.getDefault().getMarkerHelperProviders());
+		return bazaarBuilder;
+	}
+
+	@Override
+	protected void clean(IProgressMonitor monitor) throws CoreException {
+		// delete markers set and files created
+		getProject().deleteMarkers(MARKER_ID, true, IResource.DEPTH_INFINITE);
+	}
+
+	/**
+	 * Runs a full build on the project.
+	 *
+	 * @param monitor the progress monitor to track the build
+	 * @throws CoreException exception in case of issues
+	 */
+	protected void fullBuild(final IProgressMonitor monitor) throws CoreException {
+		try {
+			getProject().accept(new ResourceValidationVisitor(monitor));
+		} catch (final CoreException e) {
+			Activator.log("Error running full build", e);//$NON-NLS-1$
+		}
+	}
+
+	/**
+	 * Runs an incremental build on the project.
+	 *
+	 * @param delta the delta on the resource that triggers this incremental build
+	 * @param monitor the progress monitor to track the build
+	 * @throws CoreException exception in case of issues
+	 */
+	protected void incrementalBuild(IResourceDelta delta,
+		IProgressMonitor monitor) throws CoreException {
+		// the visitor does the work.
+		delta.accept(new DeltaValidationVisitor(monitor));
+	}
+
+	/**
+	 * Create the bazaar vendor injection context for a {@code file}.
+	 *
+	 * @param file a file to be validated
+	 * @return the injection context
+	 */
+	protected BazaarContext createContext(IFile file) {
+		final BazaarContext.Builder result = BazaarContext.Builder.empty();
+		result.put(IFile.class, file);
+
+		// We have to compute this a priori because if we try to do it on demand
+		// via a context function, then for any file that does not have a content
+		// type, we will end up injecting nulls instead of failing to resolve the
+		// injection, which is what we would prefer. Returning IInjector.NOT_A_VALUE
+		// from a context function always ultimately results in a null anyways
+		final IContentType contentType = getContentType(file);
+		if (contentType != null) {
+			result.put(IContentType.class, contentType);
+			result.put(BuilderConstants.CONTENT_TYPE, contentType.getId());
+		}
+
+		return result.build();
+	}
+
+	/**
+	 * Get the content-type of a {@code file}.
+	 *
+	 * @param file a file
+	 * @return the content type, or {@code null} if it cannot be determined for some reason
+	 */
+	protected IContentType getContentType(IFile file) {
+		IContentType result;
+		try {
+			final IContentDescription contentDescription = file.getContentDescription();
+			result = contentDescription == null ? null : contentDescription.getContentType();
+		} catch (final CoreException e) {
+			// Unavailable or out of sync? Not interesting to validate it
+			result = null;
+		}
+
+		return result;
+	}
+
+	//
+	// Nested types
+	//
+
+	/**
+	 * Resource visitor for full-build validation.
+	 */
+	abstract class ValidationVisitor {
+
+		private final IProgressMonitor monitor;
+		private final Bazaar<ValidationDelegate> delegateBazaar;
+		private final Bazaar<MarkerHelper> markerHelperBazaar;
+
+		/**
+		 * Constructor.
+		 *
+		 * @param monitor the progress monitor
+		 */
+		ValidationVisitor(IProgressMonitor monitor) {
+			this.monitor = monitor;
+
+			delegateBazaar = configureValidation(createBazaarBuilder(ValidationDelegateProvider.NULL))
+				.build();
+			markerHelperBazaar = configureMarkers(createBazaarBuilder(MarkerHelperProvider.DEFAULT))
+				.build();
+		}
+
+		/**
+		 * Validate a {@code file}.
+		 *
+		 * @param file the file validate
+		 * @param context the bazaar context for injection to find a validation delegate
+		 * @param monitor the progress monitor
+		 */
+		void validate(IFile file, BazaarContext context, IProgressMonitor monitor) {
+			// We will always at least get the null instance
+			final ValidationDelegate delegate = delegateBazaar.createProduct(context);
+
+			final SubMonitor sub = SubMonitor.convert(monitor, 1);
+			try {
+				final Optional<Diagnostic> diagnostics = delegate.validate(file, sub.newChild(1));
+
+				if (diagnostics.isPresent()) {
+					final Diagnostic diagnostic = diagnostics.get();
+					projectMarkerHelper.deleteMarkers(file);
+
+					// create markers only if severity >= Warning
+					if (diagnostic.getSeverity() >= IMarker.SEVERITY_WARNING) {
+						final MarkerHelper markerHelper = markerHelperBazaar.createProduct(context);
+						markerHelper.createMarkers(diagnostic);
+					}
+				}
+			} catch (final CoreException ex) {
+				Activator.log("Errors while creating markers on file " + file, ex);//$NON-NLS-1$
+			} finally {
+				sub.done();
+			}
+		}
+
+		/**
+		 * Get the progress monitor.
+		 *
+		 * @return the progress monitor
+		 */
+		final IProgressMonitor getMonitor() {
+			return monitor;
+		}
+
+	}
+
+	/**
+	 * Resource delta visitor for incremental-build validation.
+	 */
+	class DeltaValidationVisitor extends ValidationVisitor implements IResourceDeltaVisitor {
+
+		/**
+		 * Constructor.
+		 *
+		 * @param monitor the progress monitor
+		 */
+		DeltaValidationVisitor(IProgressMonitor monitor) {
+			super(monitor);
+		}
+
+		@Override
+		public boolean visit(IResourceDelta delta) throws CoreException {
+			switch (delta.getKind()) {
+			case IResourceDelta.ADDED:
+			case IResourceDelta.CHANGED:
+				// handle added or changed resource
+				final IResource resource = delta.getResource();
+				switch (resource.getType()) {
+				case IResource.FILE:
+					final IFile file = (IFile) resource;
+					final BazaarContext context = createContext(file);
+					validate(file, context, getMonitor());
+					break;
+				default:
+					// Nothing to do for other kinds of resource
+				}
+				break;
+			case IResourceDelta.REMOVED:
+				// handle removed resource
+				break;
+			default:
+				break;
+			}
+			// return true to continue visiting children.
+			return true;
+		}
+	}
+
+	/**
+	 * Resource visitor for full-build validation.
+	 */
+	class ResourceValidationVisitor extends ValidationVisitor implements IResourceVisitor {
+
+		/**
+		 * Constructor.
+		 *
+		 * @param monitor the progress monitor
+		 */
+		ResourceValidationVisitor(IProgressMonitor monitor) {
+			super(monitor);
+		}
+
+		@Override
+		public boolean visit(IResource resource) {
+			boolean result;
+
+			switch (resource.getType()) {
+			case IResource.FILE:
+				final IFile file = (IFile) resource;
+				final BazaarContext context = createContext(file);
+				validate(file, context, getMonitor());
+				result = false; // No children, anyways
+				break;
+			default:
+				// return true to continue visiting children.
+				result = true;
+				break;
+			}
+
+			return result;
+		}
+	}
+
+}
diff --git a/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/internal/builder/ValidationNature.java b/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/internal/builder/ValidationNature.java
new file mode 100644
index 0000000..99c501d
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/internal/builder/ValidationNature.java
@@ -0,0 +1,32 @@
+/*******************************************************************************
+ * Copyright (c) 2019 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.ide.internal.builder;
+
+/**
+ * Nature for extensible validation of the model files in the project.
+ */
+public class ValidationNature extends ProjectNature {
+
+	/** Project nature identifier. */
+	public static final String NATURE_ID = "org.eclipse.emfforms.ide.builder.validationNature"; //$NON-NLS-1$
+
+	/** A prototype for nature instances. */
+	public static final ValidationNature PROTOTYPE = new ValidationNature();
+
+	/**
+	 * Initializes me.
+	 */
+	public ValidationNature() {
+		super(NATURE_ID, ValidationBuilder.BUILDER_ID);
+	}
+
+}
diff --git a/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/internal/builder/ViewModelBuilder.java b/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/internal/builder/ViewModelBuilder.java
new file mode 100644
index 0000000..ecd1b9e
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/internal/builder/ViewModelBuilder.java
@@ -0,0 +1,68 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource - initial API and implementation
+ * Christian W. Damus - bug 544499
+ ******************************************************************************/
+package org.eclipse.emfforms.ide.internal.builder;
+
+import java.util.Map;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.emf.common.ui.MarkerHelper;
+import org.eclipse.emfforms.bazaar.Bazaar.Builder;
+import org.eclipse.emfforms.ide.builder.ValidationDelegate;
+
+/**
+ * Incremental builder that triggers validation on view models in the workspace.
+ */
+public class ViewModelBuilder extends ValidationBuilder {
+
+	/** identifier of the builder, similar to plugin.xml value. */
+	public static final String BUILDER_ID = "org.eclipse.emfforms.ide.builder.viewModelBuilder"; //$NON-NLS-1$
+
+	@Override
+	protected IProject[] build(int kind, Map<String, String> args, IProgressMonitor monitor)
+		throws CoreException {
+
+		// If the validation nature is installed, it covers me
+		if (ValidationNature.PROTOTYPE.hasNature(getProject())) {
+			return null;
+		}
+
+		return super.build(kind, args, monitor);
+	}
+
+	@Override
+	protected void clean(IProgressMonitor monitor) throws CoreException {
+		// If the validation nature is installed, it covers me
+		if (ValidationNature.PROTOTYPE.hasNature(getProject())) {
+			return;
+		}
+
+		super.clean(monitor);
+	}
+
+	@Override
+	protected Builder<ValidationDelegate> configureValidation(Builder<ValidationDelegate> bazaarBuilder) {
+		// Only the view model validation
+		bazaarBuilder.add(new ViewModelValidationDelegate.Provider());
+		return bazaarBuilder;
+	}
+
+	@Override
+	protected Builder<MarkerHelper> configureMarkers(Builder<MarkerHelper> bazaarBuilder) {
+		// Only the view model markers
+		bazaarBuilder.add(new ViewModelMarkerHelper.Provider());
+		return bazaarBuilder;
+	}
+
+}
diff --git a/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/internal/builder/ViewModelMarkerHelper.java b/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/internal/builder/ViewModelMarkerHelper.java
new file mode 100644
index 0000000..4f73e36
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/internal/builder/ViewModelMarkerHelper.java
@@ -0,0 +1,153 @@
+/*******************************************************************************
+ * Copyright (c) 2019 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource - initial API and implementation
+ * Christian W. Damus - bug 544499
+ ******************************************************************************/
+package org.eclipse.emfforms.ide.internal.builder;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IWorkspaceRunnable;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.emf.common.ui.MarkerHelper;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecp.view.spi.model.util.ViewValidator;
+import org.eclipse.emfforms.bazaar.Bid;
+import org.eclipse.emfforms.bazaar.Create;
+import org.eclipse.emfforms.ide.builder.MarkerHelperProvider;
+import org.osgi.service.component.annotations.Component;
+
+/**
+ * Specific Marker Helper that directly knows the file.
+ */
+public class ViewModelMarkerHelper extends MarkerHelper {
+	private final IFile file;
+
+	/** identifier of the marker, similar to plugin.xml value. */
+	public static final String MARKER_ID = "org.eclipse.emfforms.ide.builder.ViewModelProblem"; //$NON-NLS-1$
+
+	@Override
+	protected String getMarkerID() {
+		return MARKER_ID;
+	}
+
+	/**
+	 * Constructor.
+	 *
+	 * @param file file being validated
+	 */
+	ViewModelMarkerHelper(IFile file) {
+		this.file = file;
+	}
+
+	@Override
+	public void createMarkers(final Diagnostic diagnostic) throws CoreException {
+		ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {
+			@Override
+			public void run(IProgressMonitor monitor) throws CoreException {
+				final int severity = diagnostic.getSeverity();
+				if (severity < Diagnostic.WARNING) {
+					// neither info nor ok markers
+					return;
+				}
+				// no child and severity ok, directly create marker.
+				if (diagnostic.getChildren().isEmpty()) {
+					createMarkers(getFile(diagnostic), diagnostic, null);
+				} else {
+					for (final Diagnostic child : diagnostic.getChildren()) {
+						// retrieve the most relevant child to get the right message: most relevant is a child
+						// diagnostic with the ECP diagnostic specific source and the right severity
+						final Diagnostic relevant = extractRelevantDiagnostic(child);
+						createMarkers(getFile(diagnostic), relevant, diagnostic);
+					}
+				}
+
+			}
+		},
+			null);
+	}
+
+	private Diagnostic extractRelevantDiagnostic(Diagnostic parentDiagnostic) {
+		if (parentDiagnostic.getSeverity() == 0 || parentDiagnostic.getChildren().isEmpty()) {
+			return parentDiagnostic;
+		}
+
+		// try to get the most relevant => the one with highest severity, and the ECP validation source among the
+		// children with highest severity
+		Diagnostic result = parentDiagnostic.getChildren().get(0);
+		int currentHighest = result.getSeverity();
+		for (final Diagnostic child : parentDiagnostic.getChildren()) {
+			if (child.getSeverity() > currentHighest) {
+				currentHighest = child.getSeverity();
+				result = child;
+			} else if (child.getSeverity() == currentHighest
+				&& !ViewValidator.DIAGNOSTIC_SOURCE.equals(result.getSource())
+				&& ViewValidator.DIAGNOSTIC_SOURCE.equals(child.getSource())) {
+				currentHighest = child.getSeverity();
+				result = child;
+			}
+		}
+		return result;
+	}
+
+	@Override
+	protected IFile getFile(Object datum) {
+		if (file != null) {
+			return file;
+		}
+		return super.getFile(datum);
+	}
+
+	//
+	// Nested types
+	//
+
+	/**
+	 * Implementation of the marker helper provider for view model validation.
+	 */
+	@Component
+	public static class Provider implements MarkerHelperProvider {
+
+		/** Standard bid (for view model files). */
+		private static final Double BID = 10.0;
+
+		/** View model file extension. */
+		private static final String VIEW = "view"; //$NON-NLS-1$
+
+		/**
+		 * Bid on view model files.
+		 *
+		 * @param file a file
+		 * @return a bid, if it is a view model file
+		 */
+		@Bid
+		public Double bid(IFile file) {
+			return isViewModelResource(file) ? BID : null;
+		}
+
+		/**
+		 * Create the view model marker helper.
+		 * 
+		 * @param file a view model file
+		 * @return its marker helper
+		 */
+		@Create
+		public MarkerHelper createMarkerHelper(IFile file) {
+			return new ViewModelMarkerHelper(file);
+		}
+
+		private static boolean isViewModelResource(IFile resource) {
+			return VIEW.equals(resource.getFileExtension());
+		}
+
+	}
+
+}
diff --git a/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/internal/builder/ViewModelNature.java b/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/internal/builder/ViewModelNature.java
new file mode 100644
index 0000000..c23cab9
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/internal/builder/ViewModelNature.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource - initial API and implementation
+ * Christian W. Damus - bug 544499
+ ******************************************************************************/
+package org.eclipse.emfforms.ide.internal.builder;
+
+/**
+ * Nature for the View model projects.
+ */
+public class ViewModelNature extends ProjectNature {
+
+	/** Project nature identifier. */
+	public static final String NATURE_ID = "org.eclipse.emfforms.ide.builder.viewModelNature"; //$NON-NLS-1$
+
+	/** A prototype for nature instances. */
+	public static final ViewModelNature PROTOTYPE = new ViewModelNature();
+
+	/**
+	 * Initializes me.
+	 */
+	public ViewModelNature() {
+		super(NATURE_ID, ViewModelBuilder.BUILDER_ID);
+	}
+
+}
diff --git a/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/internal/builder/ViewModelValidationDelegate.java b/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/internal/builder/ViewModelValidationDelegate.java
new file mode 100644
index 0000000..09646b1
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/internal/builder/ViewModelValidationDelegate.java
@@ -0,0 +1,197 @@
+/*******************************************************************************
+ * Copyright (c) 2019 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.ide.internal.builder;
+
+import java.io.IOException;
+import java.util.LinkedHashSet;
+import java.util.Set;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterImpl;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecp.ide.spi.util.EcoreHelper;
+import org.eclipse.emf.ecp.ide.spi.util.ViewModelHelper;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VView;
+import org.eclipse.emf.ecp.view.spi.model.VViewModelProperties;
+import org.eclipse.emf.ecp.view.spi.model.util.ViewModelPropertiesHelper;
+import org.eclipse.emf.ecp.view.spi.model.util.ViewValidator;
+import org.eclipse.emfforms.bazaar.Bid;
+import org.eclipse.emfforms.bazaar.Create;
+import org.eclipse.emfforms.common.Optional;
+import org.eclipse.emfforms.common.spi.validation.ValidationService;
+import org.eclipse.emfforms.common.spi.validation.filter.AbstractComplexFilter;
+import org.eclipse.emfforms.ide.builder.ValidationDelegate;
+import org.eclipse.emfforms.ide.builder.ValidationDelegateProvider;
+import org.eclipse.emfforms.ide.builder.ValidationServiceDelegate;
+import org.osgi.service.component.annotations.Component;
+
+/**
+ * The validation delegate for view models.
+ */
+public class ViewModelValidationDelegate extends ValidationServiceDelegate {
+
+	/**
+	 * Initializes me.
+	 */
+	public ViewModelValidationDelegate() {
+		super();
+	}
+
+	@Override
+	protected ResourceSet loadModel(IFile file) throws IOException {
+		ResourceSet result = null;
+
+		final LinkedHashSet<String> ecores = new LinkedHashSet<String>();
+
+		// load file thanks to ECP helpers to avoid missing Properties
+		final VView view = ViewModelHelper.loadView(file, ecores);
+		final ViewAdapter adapter = new ViewAdapter(view, ecores);
+
+		if (view == null) {
+			adapter.dispose();
+		} else {
+			view.eAdapters().add(adapter);
+
+			result = view.eResource().getResourceSet();
+			result.eAdapters().add(adapter);
+		}
+
+		return result;
+	}
+
+	@Override
+	protected EObject getModel(ResourceSet resourceSet) {
+		return ViewAdapter.getView(resourceSet);
+	}
+
+	@Override
+	protected void configure(ValidationService validationService, ResourceSet resourceSet, EObject model) {
+		super.configure(validationService, resourceSet, model);
+
+		final VView view = (VView) model;
+
+		final VViewModelProperties properties = ViewModelPropertiesHelper.getInhertitedPropertiesOrEmpty(view);
+		view.setLoadingProperties(properties);
+
+		validationService.registerValidationFilter(new ViewValidatorDuplicateFilter());
+	}
+
+	/**
+	 * Filter to avoid duplications in validation from {@link ViewValidator}.
+	 */
+	private class ViewValidatorDuplicateFilter extends AbstractComplexFilter {
+		@Override
+		public boolean skipSubtree(EObject eObject, Optional<Diagnostic> diagnostic) {
+			return false;
+		}
+
+		@Override
+		public boolean skipValidation(EObject eObject) {
+			return VDomainModelReference.class.isInstance(eObject);
+		}
+
+	}
+
+	//
+	// Nested types
+	//
+
+	/**
+	 * Implementation of the validation delegate provider for view model validation.
+	 */
+	@Component
+	public static class Provider implements ValidationDelegateProvider {
+
+		/** Standard bid (for view model files). */
+		private static final Double BID = 10.0;
+
+		/** View model file extension. */
+		private static final String VIEW = "view"; //$NON-NLS-1$
+
+		/**
+		 * Bid on view model files.
+		 *
+		 * @param file a file
+		 * @return a bid, if it is a view model file
+		 */
+		@Bid
+		public Double bid(IFile file) {
+			return isViewModelResource(file) ? BID : null;
+		}
+
+		/**
+		 * Create the view model validation delegate.
+		 *
+		 * @return the view model validation delegate
+		 */
+		@Create
+		public ValidationDelegate createValidationDelegate() {
+			return new ViewModelValidationDelegate();
+		}
+
+		private static boolean isViewModelResource(IFile resource) {
+			return VIEW.equals(resource.getFileExtension());
+		}
+
+	}
+
+	/**
+	 * An adapter that just attaches the list of registered Ecore paths
+	 * to the model to find after validation for deregistration.
+	 */
+	private static final class ViewAdapter extends AdapterImpl {
+		private final Set<String> ecores;
+		private final VView view;
+
+		ViewAdapter(VView view, Set<String> ecores) {
+			super();
+
+			this.view = view;
+			this.ecores = ecores;
+		}
+
+		@Override
+		public boolean isAdapterForType(Object type) {
+			return type == VView.class || type == ViewAdapter.class;
+		}
+
+		@Override
+		public void unsetTarget(Notifier oldTarget) {
+			super.unsetTarget(oldTarget);
+
+			dispose();
+		}
+
+		VView getView() {
+			return view;
+		}
+
+		void dispose() {
+			for (final String registeredEcore : ecores) {
+				EcoreHelper.unregisterEcore(registeredEcore);
+			}
+			ecores.clear();
+		}
+
+		static VView getView(ResourceSet resourceSet) {
+			final ViewAdapter adapter = (ViewAdapter) EcoreUtil.getExistingAdapter(resourceSet, ViewAdapter.class);
+			return adapter == null ? null : adapter.getView();
+		}
+
+	}
+
+}
diff --git a/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/internal/builder/messages/Messages.java b/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/internal/builder/messages/Messages.java
new file mode 100644
index 0000000..de4f62c
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/internal/builder/messages/Messages.java
@@ -0,0 +1,36 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.ide.internal.builder.messages;
+
+import org.eclipse.osgi.util.NLS;
+
+/**
+ * Messages internationalization.
+ *
+ * @since 1.20
+ *
+ * @generated
+ */
+public final class Messages extends NLS {
+
+	private static final String BUNDLE_NAME = "org.eclipse.emfforms.ide.internal.builder.messages.messages"; //$NON-NLS-1$
+
+	public static String ViewModelBuilder_Subtask_Label;
+
+	static {
+		// initialize resource bundle
+		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+	}
+
+	private Messages() {
+	}
+}
diff --git a/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/internal/builder/messages/messages.properties b/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/internal/builder/messages/messages.properties
new file mode 100644
index 0000000..4b3bc25
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.builder/src/org/eclipse/emfforms/ide/internal/builder/messages/messages.properties
@@ -0,0 +1 @@
+ViewModelBuilder_Subtask_Label=Checking {0}
diff --git a/bundles/org.eclipse.emfforms.ide.datatemplate.builder/.checkstyle b/bundles/org.eclipse.emfforms.ide.datatemplate.builder/.checkstyle
new file mode 100644
index 0000000..19c5477
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.datatemplate.builder/.checkstyle
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
+  <local-check-config name="ESMCheckstyle" location="/org.eclipse.emf.ecp.releng/checkstyle/esmCheckstyle.xml" type="project" description="">
+    <additional-data name="protect-config-file" value="false"/>
+  </local-check-config>
+  <fileset name="Java Files" enabled="true" check-config-name="ESMCheckstyle" local="true">
+    <file-match-pattern match-pattern=".java" include-pattern="true"/>
+  </fileset>
+</fileset-config>
diff --git a/bundles/org.eclipse.emfforms.ide.datatemplate.builder/.classpath b/bundles/org.eclipse.emfforms.ide.datatemplate.builder/.classpath
new file mode 100644
index 0000000..4c62a80
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.datatemplate.builder/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/bundles/org.eclipse.emfforms.ide.datatemplate.builder/.gitignore b/bundles/org.eclipse.emfforms.ide.datatemplate.builder/.gitignore
new file mode 100644
index 0000000..f8d886b
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.datatemplate.builder/.gitignore
@@ -0,0 +1,2 @@
+/bin
+/bin/
diff --git a/bundles/org.eclipse.emfforms.ide.datatemplate.builder/.project b/bundles/org.eclipse.emfforms.ide.datatemplate.builder/.project
new file mode 100644
index 0000000..fe1b48a
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.datatemplate.builder/.project
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.emfforms.ide.datatemplate.builder</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<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>
+		<buildCommand>
+			<name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ds.core.builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+	</natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emfforms.ide.datatemplate.builder/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.emfforms.ide.datatemplate.builder/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..f548abb
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.datatemplate.builder/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,6 @@
+eclipse.preferences.version=1
+
+encoding//model/etypes.ecore=UTF-8
+
+
+encoding/<project>=UTF-8
diff --git a/bundles/org.eclipse.emfforms.ide.datatemplate.builder/.settings/org.eclipse.core.runtime.prefs b/bundles/org.eclipse.emfforms.ide.datatemplate.builder/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.datatemplate.builder/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/bundles/org.eclipse.emfforms.ide.datatemplate.builder/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.emfforms.ide.datatemplate.builder/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..654749b
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.datatemplate.builder/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,420 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=true
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=120
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.emfforms.ide.datatemplate.builder/.settings/org.eclipse.jdt.launching.prefs b/bundles/org.eclipse.emfforms.ide.datatemplate.builder/.settings/org.eclipse.jdt.launching.prefs
new file mode 100644
index 0000000..3bb2352
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.datatemplate.builder/.settings/org.eclipse.jdt.launching.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore
diff --git a/bundles/org.eclipse.emfforms.ide.datatemplate.builder/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.emfforms.ide.datatemplate.builder/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..8bc4bb4
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.datatemplate.builder/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,127 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=true
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=false
+cleanup.remove_unnecessary_nls_tags=false
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=true
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_esmCleanUp
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_esmFormatter
+formatter_settings_version=12
+org.eclipse.jdt.ui.exception.name=ex
+org.eclipse.jdt.ui.gettersetter.use.is=true
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.keywordthis=false
+org.eclipse.jdt.ui.overrideannotation=true
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return the ${bare_field_name}\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\r\n * @param ${param} the ${bare_field_name} to set\r\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\r\n * Copyright (c) 2011-${year} EclipseSource Muenchen GmbH and others.\r\n * \r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors\:\r\n * ${user} - initial API and implementation\r\n ******************************************************************************/</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author ${user}\r\n *\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment"/><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\r\n * {@inheritDoc}\r\n * ${see_to_overridden}\r\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\r\n * ${tags}\r\n * ${see_to_target}\r\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">\t\t\t// TODO Auto-generated catch block\r\n\t\t\t// Do NOT catch all Exceptions ("catch (Exception e)")\r\n\t\t\t// Log AND handle Exceptions if possible \r\n            //\r\n            // You can just uncomment one of the lines below to log an exception\:\r\n\t\t\t// logException will show the logged excpetion to the user\r\n\t\t\t// ModelUtil.logException(${exception_var});\r\n\t\t\t// ModelUtil.logException("YOUR MESSAGE HERE", ${exception_var});\r\n\t\t\t// logWarning will only add the message to the error log\r\n\t\t\t// ModelUtil.logWarning("YOUR MESSAGE HERE", ${exception_var});\r\n\t\t\t// ModelUtil.logWarning("YOUR MESSAGE HERE");\r\n\t\t\t//\t\t\t\r\n\t\t\t// If handling is not possible declare and rethrow Exception</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\r\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\r\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_type_arguments=false
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=false
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=false
+sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_this_for_non_static_field_access=true
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=true
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+sp_cleanup.use_type_arguments=false
diff --git a/bundles/org.eclipse.emfforms.ide.datatemplate.builder/.settings/org.eclipse.ltk.core.refactoring.prefs b/bundles/org.eclipse.emfforms.ide.datatemplate.builder/.settings/org.eclipse.ltk.core.refactoring.prefs
new file mode 100644
index 0000000..864e30f
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.datatemplate.builder/.settings/org.eclipse.ltk.core.refactoring.prefs
@@ -0,0 +1,3 @@
+#Thu Feb 04 09:44:24 CET 2010
+eclipse.preferences.version=1
+org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false
diff --git a/bundles/org.eclipse.emfforms.ide.datatemplate.builder/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emfforms.ide.datatemplate.builder/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..e4e3c00
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.datatemplate.builder/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,97 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
+ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
+API_USE_SCAN_FIELD_SEVERITY=Error
+API_USE_SCAN_METHOD_SEVERITY=Error
+API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
+CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
+CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
+CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
+CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
+ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
+ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
+ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
+FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
+FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
+FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
+FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
+ILLEGAL_EXTEND=Warning
+ILLEGAL_IMPLEMENT=Warning
+ILLEGAL_INSTANTIATE=Warning
+ILLEGAL_OVERRIDE=Warning
+ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
+INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_JAVADOC_TAG=Warning
+INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
+LEAK_EXTEND=Warning
+LEAK_FIELD_DECL=Warning
+LEAK_IMPLEMENT=Warning
+LEAK_METHOD_PARAM=Warning
+LEAK_METHOD_RETURN_TYPE=Warning
+METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
+METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+MISSING_EE_DESCRIPTIONS=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
+UNUSED_PROBLEM_FILTERS=Ignore
+automatically_removed_unused_problem_filters=Disabled
+eclipse.preferences.version=1
+incompatible_api_component_version=Error
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/bundles/org.eclipse.emfforms.ide.datatemplate.builder/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.emfforms.ide.datatemplate.builder/.settings/org.eclipse.pde.prefs
new file mode 100644
index 0000000..0bbee3c
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.datatemplate.builder/.settings/org.eclipse.pde.prefs
@@ -0,0 +1,32 @@
+compilers.f.unresolved-features=1
+compilers.f.unresolved-plugins=1
+compilers.incompatible-environment=1
+compilers.p.build=1
+compilers.p.build.bin.includes=1
+compilers.p.build.encodings=2
+compilers.p.build.java.compiler=2
+compilers.p.build.java.compliance=1
+compilers.p.build.missing.output=2
+compilers.p.build.output.library=1
+compilers.p.build.source.library=1
+compilers.p.build.src.includes=1
+compilers.p.deprecated=1
+compilers.p.discouraged-class=1
+compilers.p.internal=1
+compilers.p.missing-packages=1
+compilers.p.missing-version-export-package=1
+compilers.p.missing-version-import-package=1
+compilers.p.missing-version-require-bundle=1
+compilers.p.no-required-att=0
+compilers.p.not-externalized-att=2
+compilers.p.unknown-attribute=1
+compilers.p.unknown-class=1
+compilers.p.unknown-element=1
+compilers.p.unknown-identifier=1
+compilers.p.unknown-resource=1
+compilers.p.unresolved-ex-points=0
+compilers.p.unresolved-import=0
+compilers.s.create-docs=false
+compilers.s.doc-folder=doc
+compilers.s.open-tags=1
+eclipse.preferences.version=1
diff --git a/bundles/org.eclipse.emfforms.ide.datatemplate.builder/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.ide.datatemplate.builder/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..99a6646
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.datatemplate.builder/META-INF/MANIFEST.MF
@@ -0,0 +1,17 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-SymbolicName: org.eclipse.emfforms.ide.datatemplate.builder;singleton:=true
+Bundle-Version: 1.20.0.qualifier
+Bundle-Vendor: %Bundle-Vendor
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.13.0,4.0.0)",
+ org.eclipse.core.resources;bundle-version="[3.12.0,4.0.0)",
+ org.eclipse.emfforms.core.bazaar;bundle-version="[1.20.0,2.0.0)",
+ org.eclipse.emfforms.ide.builder;bundle-version="[1.20.0,2.0.0)",
+ org.eclipse.emfforms.datatemplate.model;bundle-version="[1.20.0,2.0.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Automatic-Module-Name: org.eclipse.emfforms.ide.datatemplate.builder
+Bundle-ActivationPolicy: lazy
+Export-Package: org.eclipse.emfforms.ide.datatemplate.internal.builder;version="1.20.0";x-internal:=true
+Import-Package: org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
+Service-Component: OSGI-INF/org.eclipse.emfforms.ide.datatemplate.internal.builder.DataTemplateValidationDelegateProvider.xml
diff --git a/bundles/org.eclipse.emfforms.ide.datatemplate.builder/OSGI-INF/l10n/bundle.properties b/bundles/org.eclipse.emfforms.ide.datatemplate.builder/OSGI-INF/l10n/bundle.properties
new file mode 100644
index 0000000..08e03e8
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.datatemplate.builder/OSGI-INF/l10n/bundle.properties
@@ -0,0 +1,3 @@
+#Properties file for org.eclipse.emfforms.ide.builder
+Bundle-Vendor = Eclipse Modeling Project
+Bundle-Name = EMFForms IDE Data Template Builder
diff --git a/bundles/org.eclipse.emfforms.ide.datatemplate.builder/OSGI-INF/org.eclipse.emfforms.ide.datatemplate.internal.builder.DataTemplateValidationDelegateProvider.xml b/bundles/org.eclipse.emfforms.ide.datatemplate.builder/OSGI-INF/org.eclipse.emfforms.ide.datatemplate.internal.builder.DataTemplateValidationDelegateProvider.xml
new file mode 100644
index 0000000..a32d77b
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.datatemplate.builder/OSGI-INF/org.eclipse.emfforms.ide.datatemplate.internal.builder.DataTemplateValidationDelegateProvider.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emfforms.ide.datatemplate.internal.builder.DataTemplateValidationDelegateProvider">
+   <service>
+      <provide interface="org.eclipse.emfforms.ide.builder.ValidationDelegateProvider"/>
+   </service>
+   <implementation class="org.eclipse.emfforms.ide.datatemplate.internal.builder.DataTemplateValidationDelegateProvider"/>
+</scr:component>
\ No newline at end of file
diff --git a/bundles/org.eclipse.emfforms.ide.datatemplate.builder/about.html b/bundles/org.eclipse.emfforms.ide.datatemplate.builder/about.html
new file mode 100644
index 0000000..d35d5ae
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.datatemplate.builder/about.html
@@ -0,0 +1,28 @@
+<!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 (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/bundles/org.eclipse.emfforms.ide.datatemplate.builder/build.properties b/bundles/org.eclipse.emfforms.ide.datatemplate.builder/build.properties
new file mode 100644
index 0000000..d116963
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.datatemplate.builder/build.properties
@@ -0,0 +1,7 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               OSGI-INF/,\
+               about.html,\
+               .
+jre.compilation.profile = JavaSE-1.6
diff --git a/bundles/org.eclipse.emfforms.ide.datatemplate.builder/pom.xml b/bundles/org.eclipse.emfforms.ide.datatemplate.builder/pom.xml
new file mode 100644
index 0000000..a351617
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.datatemplate.builder/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.eclipse.emf.ecp</groupId>
+    <artifactId>ecp-bundles-parent</artifactId>
+    <version>1.20.0-SNAPSHOT</version>
+    <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
+  </parent>
+  <groupId>org.eclipse.emf.ecp</groupId>
+  <artifactId>org.eclipse.emfforms.ide.datatemplate.builder</artifactId>
+  <version>1.20.0-SNAPSHOT</version>
+  <packaging>eclipse-plugin</packaging>
+</project>
diff --git a/bundles/org.eclipse.emfforms.ide.datatemplate.builder/src/org/eclipse/emfforms/ide/datatemplate/internal/builder/DataTemplateValidationDelegateProvider.java b/bundles/org.eclipse.emfforms.ide.datatemplate.builder/src/org/eclipse/emfforms/ide/datatemplate/internal/builder/DataTemplateValidationDelegateProvider.java
new file mode 100644
index 0000000..d1d899e
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.datatemplate.builder/src/org/eclipse/emfforms/ide/datatemplate/internal/builder/DataTemplateValidationDelegateProvider.java
@@ -0,0 +1,48 @@
+/*******************************************************************************
+ * Copyright (c) 2019 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.ide.datatemplate.internal.builder;
+
+import org.eclipse.emfforms.bazaar.Create;
+import org.eclipse.emfforms.bazaar.Precondition;
+import org.eclipse.emfforms.bazaar.StaticBid;
+import org.eclipse.emfforms.datatemplate.DataTemplatePackage;
+import org.eclipse.emfforms.ide.builder.BuilderConstants;
+import org.eclipse.emfforms.ide.builder.ValidationDelegate;
+import org.eclipse.emfforms.ide.builder.ValidationDelegateProvider;
+import org.eclipse.emfforms.ide.builder.ValidationServiceDelegate;
+import org.osgi.service.component.annotations.Component;
+
+/**
+ * Validation delegate provider for data template models.
+ */
+@Component
+@StaticBid(bid = 10.0)
+@Precondition(key = BuilderConstants.CONTENT_TYPE, value = DataTemplatePackage.eCONTENT_TYPE)
+public class DataTemplateValidationDelegateProvider implements ValidationDelegateProvider {
+
+	/**
+	 * Initializes me.
+	 */
+	public DataTemplateValidationDelegateProvider() {
+		super();
+	}
+
+	/**
+	 * Create the validation delegate.
+	 *
+	 * @return the validation delegate
+	 */
+	@Create
+	public ValidationDelegate createValidationDelegate() {
+		return new ValidationServiceDelegate();
+	}
+}
diff --git a/bundles/org.eclipse.emfforms.ide.ecore.builder/.checkstyle b/bundles/org.eclipse.emfforms.ide.ecore.builder/.checkstyle
new file mode 100644
index 0000000..19c5477
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.ecore.builder/.checkstyle
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
+  <local-check-config name="ESMCheckstyle" location="/org.eclipse.emf.ecp.releng/checkstyle/esmCheckstyle.xml" type="project" description="">
+    <additional-data name="protect-config-file" value="false"/>
+  </local-check-config>
+  <fileset name="Java Files" enabled="true" check-config-name="ESMCheckstyle" local="true">
+    <file-match-pattern match-pattern=".java" include-pattern="true"/>
+  </fileset>
+</fileset-config>
diff --git a/bundles/org.eclipse.emfforms.ide.ecore.builder/.classpath b/bundles/org.eclipse.emfforms.ide.ecore.builder/.classpath
new file mode 100644
index 0000000..4c62a80
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.ecore.builder/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/bundles/org.eclipse.emfforms.ide.ecore.builder/.gitignore b/bundles/org.eclipse.emfforms.ide.ecore.builder/.gitignore
new file mode 100644
index 0000000..f8d886b
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.ecore.builder/.gitignore
@@ -0,0 +1,2 @@
+/bin
+/bin/
diff --git a/bundles/org.eclipse.emfforms.ide.ecore.builder/.project b/bundles/org.eclipse.emfforms.ide.ecore.builder/.project
new file mode 100644
index 0000000..83da7f7
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.ecore.builder/.project
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.emfforms.ide.ecore.builder</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<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>
+		<buildCommand>
+			<name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ds.core.builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+	</natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emfforms.ide.ecore.builder/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.emfforms.ide.ecore.builder/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..f548abb
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.ecore.builder/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,6 @@
+eclipse.preferences.version=1
+
+encoding//model/etypes.ecore=UTF-8
+
+
+encoding/<project>=UTF-8
diff --git a/bundles/org.eclipse.emfforms.ide.ecore.builder/.settings/org.eclipse.core.runtime.prefs b/bundles/org.eclipse.emfforms.ide.ecore.builder/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.ecore.builder/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/bundles/org.eclipse.emfforms.ide.ecore.builder/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.emfforms.ide.ecore.builder/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..654749b
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.ecore.builder/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,420 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=true
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=120
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.emfforms.ide.ecore.builder/.settings/org.eclipse.jdt.launching.prefs b/bundles/org.eclipse.emfforms.ide.ecore.builder/.settings/org.eclipse.jdt.launching.prefs
new file mode 100644
index 0000000..3bb2352
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.ecore.builder/.settings/org.eclipse.jdt.launching.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore
diff --git a/bundles/org.eclipse.emfforms.ide.ecore.builder/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.emfforms.ide.ecore.builder/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..8bc4bb4
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.ecore.builder/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,127 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=true
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=false
+cleanup.remove_unnecessary_nls_tags=false
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=true
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_esmCleanUp
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_esmFormatter
+formatter_settings_version=12
+org.eclipse.jdt.ui.exception.name=ex
+org.eclipse.jdt.ui.gettersetter.use.is=true
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.keywordthis=false
+org.eclipse.jdt.ui.overrideannotation=true
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return the ${bare_field_name}\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\r\n * @param ${param} the ${bare_field_name} to set\r\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\r\n * Copyright (c) 2011-${year} EclipseSource Muenchen GmbH and others.\r\n * \r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors\:\r\n * ${user} - initial API and implementation\r\n ******************************************************************************/</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author ${user}\r\n *\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment"/><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\r\n * {@inheritDoc}\r\n * ${see_to_overridden}\r\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\r\n * ${tags}\r\n * ${see_to_target}\r\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">\t\t\t// TODO Auto-generated catch block\r\n\t\t\t// Do NOT catch all Exceptions ("catch (Exception e)")\r\n\t\t\t// Log AND handle Exceptions if possible \r\n            //\r\n            // You can just uncomment one of the lines below to log an exception\:\r\n\t\t\t// logException will show the logged excpetion to the user\r\n\t\t\t// ModelUtil.logException(${exception_var});\r\n\t\t\t// ModelUtil.logException("YOUR MESSAGE HERE", ${exception_var});\r\n\t\t\t// logWarning will only add the message to the error log\r\n\t\t\t// ModelUtil.logWarning("YOUR MESSAGE HERE", ${exception_var});\r\n\t\t\t// ModelUtil.logWarning("YOUR MESSAGE HERE");\r\n\t\t\t//\t\t\t\r\n\t\t\t// If handling is not possible declare and rethrow Exception</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\r\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\r\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_type_arguments=false
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=false
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=false
+sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_this_for_non_static_field_access=true
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=true
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+sp_cleanup.use_type_arguments=false
diff --git a/bundles/org.eclipse.emfforms.ide.ecore.builder/.settings/org.eclipse.ltk.core.refactoring.prefs b/bundles/org.eclipse.emfforms.ide.ecore.builder/.settings/org.eclipse.ltk.core.refactoring.prefs
new file mode 100644
index 0000000..864e30f
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.ecore.builder/.settings/org.eclipse.ltk.core.refactoring.prefs
@@ -0,0 +1,3 @@
+#Thu Feb 04 09:44:24 CET 2010
+eclipse.preferences.version=1
+org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false
diff --git a/bundles/org.eclipse.emfforms.ide.ecore.builder/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emfforms.ide.ecore.builder/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..e4e3c00
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.ecore.builder/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,97 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
+ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
+API_USE_SCAN_FIELD_SEVERITY=Error
+API_USE_SCAN_METHOD_SEVERITY=Error
+API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
+CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
+CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
+CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
+CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
+ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
+ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
+ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
+FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
+FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
+FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
+FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
+ILLEGAL_EXTEND=Warning
+ILLEGAL_IMPLEMENT=Warning
+ILLEGAL_INSTANTIATE=Warning
+ILLEGAL_OVERRIDE=Warning
+ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
+INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_JAVADOC_TAG=Warning
+INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
+LEAK_EXTEND=Warning
+LEAK_FIELD_DECL=Warning
+LEAK_IMPLEMENT=Warning
+LEAK_METHOD_PARAM=Warning
+LEAK_METHOD_RETURN_TYPE=Warning
+METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
+METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+MISSING_EE_DESCRIPTIONS=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
+UNUSED_PROBLEM_FILTERS=Ignore
+automatically_removed_unused_problem_filters=Disabled
+eclipse.preferences.version=1
+incompatible_api_component_version=Error
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/bundles/org.eclipse.emfforms.ide.ecore.builder/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.emfforms.ide.ecore.builder/.settings/org.eclipse.pde.prefs
new file mode 100644
index 0000000..0bbee3c
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.ecore.builder/.settings/org.eclipse.pde.prefs
@@ -0,0 +1,32 @@
+compilers.f.unresolved-features=1
+compilers.f.unresolved-plugins=1
+compilers.incompatible-environment=1
+compilers.p.build=1
+compilers.p.build.bin.includes=1
+compilers.p.build.encodings=2
+compilers.p.build.java.compiler=2
+compilers.p.build.java.compliance=1
+compilers.p.build.missing.output=2
+compilers.p.build.output.library=1
+compilers.p.build.source.library=1
+compilers.p.build.src.includes=1
+compilers.p.deprecated=1
+compilers.p.discouraged-class=1
+compilers.p.internal=1
+compilers.p.missing-packages=1
+compilers.p.missing-version-export-package=1
+compilers.p.missing-version-import-package=1
+compilers.p.missing-version-require-bundle=1
+compilers.p.no-required-att=0
+compilers.p.not-externalized-att=2
+compilers.p.unknown-attribute=1
+compilers.p.unknown-class=1
+compilers.p.unknown-element=1
+compilers.p.unknown-identifier=1
+compilers.p.unknown-resource=1
+compilers.p.unresolved-ex-points=0
+compilers.p.unresolved-import=0
+compilers.s.create-docs=false
+compilers.s.doc-folder=doc
+compilers.s.open-tags=1
+eclipse.preferences.version=1
diff --git a/bundles/org.eclipse.emfforms.ide.ecore.builder/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.ide.ecore.builder/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..b6aaed6
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.ecore.builder/META-INF/MANIFEST.MF
@@ -0,0 +1,17 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-SymbolicName: org.eclipse.emfforms.ide.ecore.builder;singleton:=true
+Bundle-Version: 1.20.0.qualifier
+Bundle-Vendor: %Bundle-Vendor
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.13.0,4.0.0)",
+ org.eclipse.core.resources;bundle-version="[3.12.0,4.0.0)",
+ org.eclipse.emfforms.core.bazaar;bundle-version="[1.20.0,2.0.0)",
+ org.eclipse.emfforms.ide.builder;bundle-version="[1.20.0,2.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.13.0,3.0.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Automatic-Module-Name: org.eclipse.emfforms.ide.ecore.builder
+Bundle-ActivationPolicy: lazy
+Export-Package: org.eclipse.emfforms.ide.ecore.internal.builder;version="1.20.0";x-internal:=true
+Import-Package: org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
+Service-Component: OSGI-INF/org.eclipse.emfforms.ide.ecore.internal.builder.EcoreValidationDelegateProvider.xml
diff --git a/bundles/org.eclipse.emfforms.ide.ecore.builder/OSGI-INF/l10n/bundle.properties b/bundles/org.eclipse.emfforms.ide.ecore.builder/OSGI-INF/l10n/bundle.properties
new file mode 100644
index 0000000..e1ec65c
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.ecore.builder/OSGI-INF/l10n/bundle.properties
@@ -0,0 +1,3 @@
+#Properties file for org.eclipse.emfforms.ide.builder
+Bundle-Vendor = Eclipse Modeling Project
+Bundle-Name = EMFForms IDE Ecore Builder
diff --git a/bundles/org.eclipse.emfforms.ide.ecore.builder/OSGI-INF/org.eclipse.emfforms.ide.ecore.internal.builder.EcoreValidationDelegateProvider.xml b/bundles/org.eclipse.emfforms.ide.ecore.builder/OSGI-INF/org.eclipse.emfforms.ide.ecore.internal.builder.EcoreValidationDelegateProvider.xml
new file mode 100644
index 0000000..8c63516
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.ecore.builder/OSGI-INF/org.eclipse.emfforms.ide.ecore.internal.builder.EcoreValidationDelegateProvider.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emfforms.ide.ecore.internal.builder.EcoreValidationDelegateProvider">
+   <service>
+      <provide interface="org.eclipse.emfforms.ide.builder.ValidationDelegateProvider"/>
+   </service>
+   <implementation class="org.eclipse.emfforms.ide.ecore.internal.builder.EcoreValidationDelegateProvider"/>
+</scr:component>
\ No newline at end of file
diff --git a/bundles/org.eclipse.emfforms.ide.ecore.builder/about.html b/bundles/org.eclipse.emfforms.ide.ecore.builder/about.html
new file mode 100644
index 0000000..d35d5ae
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.ecore.builder/about.html
@@ -0,0 +1,28 @@
+<!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 (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/bundles/org.eclipse.emfforms.ide.ecore.builder/build.properties b/bundles/org.eclipse.emfforms.ide.ecore.builder/build.properties
new file mode 100644
index 0000000..d116963
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.ecore.builder/build.properties
@@ -0,0 +1,7 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               OSGI-INF/,\
+               about.html,\
+               .
+jre.compilation.profile = JavaSE-1.6
diff --git a/bundles/org.eclipse.emfforms.ide.ecore.builder/pom.xml b/bundles/org.eclipse.emfforms.ide.ecore.builder/pom.xml
new file mode 100644
index 0000000..0b5bfec
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.ecore.builder/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.eclipse.emf.ecp</groupId>
+    <artifactId>ecp-bundles-parent</artifactId>
+    <version>1.20.0-SNAPSHOT</version>
+    <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
+  </parent>
+  <groupId>org.eclipse.emf.ecp</groupId>
+  <artifactId>org.eclipse.emfforms.ide.ecore.builder</artifactId>
+  <version>1.20.0-SNAPSHOT</version>
+  <packaging>eclipse-plugin</packaging>
+</project>
diff --git a/bundles/org.eclipse.emfforms.ide.ecore.builder/src/org/eclipse/emfforms/ide/ecore/internal/builder/EcoreValidationDelegateProvider.java b/bundles/org.eclipse.emfforms.ide.ecore.builder/src/org/eclipse/emfforms/ide/ecore/internal/builder/EcoreValidationDelegateProvider.java
new file mode 100644
index 0000000..d226ab2
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.ecore.builder/src/org/eclipse/emfforms/ide/ecore/internal/builder/EcoreValidationDelegateProvider.java
@@ -0,0 +1,48 @@
+/*******************************************************************************
+ * Copyright (c) 2019 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.ide.ecore.internal.builder;
+
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emfforms.bazaar.Create;
+import org.eclipse.emfforms.bazaar.Precondition;
+import org.eclipse.emfforms.bazaar.StaticBid;
+import org.eclipse.emfforms.ide.builder.BuilderConstants;
+import org.eclipse.emfforms.ide.builder.ValidationDelegate;
+import org.eclipse.emfforms.ide.builder.ValidationDelegateProvider;
+import org.eclipse.emfforms.ide.builder.ValidationServiceDelegate;
+import org.osgi.service.component.annotations.Component;
+
+/**
+ * Validation delegate provider for Ecore models.
+ */
+@Component
+@StaticBid(bid = 10.0)
+@Precondition(key = BuilderConstants.CONTENT_TYPE, value = EcorePackage.eCONTENT_TYPE)
+public class EcoreValidationDelegateProvider implements ValidationDelegateProvider {
+
+	/**
+	 * Initializes me.
+	 */
+	public EcoreValidationDelegateProvider() {
+		super();
+	}
+
+	/**
+	 * Create the validation delegate.
+	 *
+	 * @return the validation delegate
+	 */
+	@Create
+	public ValidationDelegate createValidationDelegate() {
+		return new ValidationServiceDelegate();
+	}
+}
diff --git a/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/.checkstyle b/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/.checkstyle
new file mode 100644
index 0000000..19c5477
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/.checkstyle
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
+  <local-check-config name="ESMCheckstyle" location="/org.eclipse.emf.ecp.releng/checkstyle/esmCheckstyle.xml" type="project" description="">
+    <additional-data name="protect-config-file" value="false"/>
+  </local-check-config>
+  <fileset name="Java Files" enabled="true" check-config-name="ESMCheckstyle" local="true">
+    <file-match-pattern match-pattern=".java" include-pattern="true"/>
+  </fileset>
+</fileset-config>
diff --git a/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/.classpath b/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/.classpath
new file mode 100644
index 0000000..4c62a80
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/.gitignore b/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/.gitignore
new file mode 100644
index 0000000..f8d886b
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/.gitignore
@@ -0,0 +1,2 @@
+/bin
+/bin/
diff --git a/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/.project b/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/.project
new file mode 100644
index 0000000..41a9caa
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/.project
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.emfforms.ide.viewtemplate.builder</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<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>
+		<buildCommand>
+			<name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ds.core.builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+	</natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..f548abb
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,6 @@
+eclipse.preferences.version=1
+
+encoding//model/etypes.ecore=UTF-8
+
+
+encoding/<project>=UTF-8
diff --git a/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/.settings/org.eclipse.core.runtime.prefs b/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..654749b
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,420 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=true
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=120
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/.settings/org.eclipse.jdt.launching.prefs b/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/.settings/org.eclipse.jdt.launching.prefs
new file mode 100644
index 0000000..3bb2352
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/.settings/org.eclipse.jdt.launching.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore
diff --git a/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..8bc4bb4
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,127 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=true
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=false
+cleanup.remove_unnecessary_nls_tags=false
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=true
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_esmCleanUp
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_esmFormatter
+formatter_settings_version=12
+org.eclipse.jdt.ui.exception.name=ex
+org.eclipse.jdt.ui.gettersetter.use.is=true
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.keywordthis=false
+org.eclipse.jdt.ui.overrideannotation=true
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return the ${bare_field_name}\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\r\n * @param ${param} the ${bare_field_name} to set\r\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\r\n * Copyright (c) 2011-${year} EclipseSource Muenchen GmbH and others.\r\n * \r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors\:\r\n * ${user} - initial API and implementation\r\n ******************************************************************************/</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author ${user}\r\n *\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment"/><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\r\n * {@inheritDoc}\r\n * ${see_to_overridden}\r\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\r\n * ${tags}\r\n * ${see_to_target}\r\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">\t\t\t// TODO Auto-generated catch block\r\n\t\t\t// Do NOT catch all Exceptions ("catch (Exception e)")\r\n\t\t\t// Log AND handle Exceptions if possible \r\n            //\r\n            // You can just uncomment one of the lines below to log an exception\:\r\n\t\t\t// logException will show the logged excpetion to the user\r\n\t\t\t// ModelUtil.logException(${exception_var});\r\n\t\t\t// ModelUtil.logException("YOUR MESSAGE HERE", ${exception_var});\r\n\t\t\t// logWarning will only add the message to the error log\r\n\t\t\t// ModelUtil.logWarning("YOUR MESSAGE HERE", ${exception_var});\r\n\t\t\t// ModelUtil.logWarning("YOUR MESSAGE HERE");\r\n\t\t\t//\t\t\t\r\n\t\t\t// If handling is not possible declare and rethrow Exception</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\r\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\r\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_type_arguments=false
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=false
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=false
+sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_this_for_non_static_field_access=true
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=true
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+sp_cleanup.use_type_arguments=false
diff --git a/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/.settings/org.eclipse.ltk.core.refactoring.prefs b/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/.settings/org.eclipse.ltk.core.refactoring.prefs
new file mode 100644
index 0000000..864e30f
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/.settings/org.eclipse.ltk.core.refactoring.prefs
@@ -0,0 +1,3 @@
+#Thu Feb 04 09:44:24 CET 2010
+eclipse.preferences.version=1
+org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false
diff --git a/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..e4e3c00
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,97 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
+ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
+API_USE_SCAN_FIELD_SEVERITY=Error
+API_USE_SCAN_METHOD_SEVERITY=Error
+API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
+CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
+CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
+CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
+CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
+ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
+ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
+ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
+FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
+FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
+FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
+FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
+ILLEGAL_EXTEND=Warning
+ILLEGAL_IMPLEMENT=Warning
+ILLEGAL_INSTANTIATE=Warning
+ILLEGAL_OVERRIDE=Warning
+ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
+INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_JAVADOC_TAG=Warning
+INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
+LEAK_EXTEND=Warning
+LEAK_FIELD_DECL=Warning
+LEAK_IMPLEMENT=Warning
+LEAK_METHOD_PARAM=Warning
+LEAK_METHOD_RETURN_TYPE=Warning
+METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
+METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+MISSING_EE_DESCRIPTIONS=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
+UNUSED_PROBLEM_FILTERS=Ignore
+automatically_removed_unused_problem_filters=Disabled
+eclipse.preferences.version=1
+incompatible_api_component_version=Error
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/.settings/org.eclipse.pde.prefs
new file mode 100644
index 0000000..0bbee3c
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/.settings/org.eclipse.pde.prefs
@@ -0,0 +1,32 @@
+compilers.f.unresolved-features=1
+compilers.f.unresolved-plugins=1
+compilers.incompatible-environment=1
+compilers.p.build=1
+compilers.p.build.bin.includes=1
+compilers.p.build.encodings=2
+compilers.p.build.java.compiler=2
+compilers.p.build.java.compliance=1
+compilers.p.build.missing.output=2
+compilers.p.build.output.library=1
+compilers.p.build.source.library=1
+compilers.p.build.src.includes=1
+compilers.p.deprecated=1
+compilers.p.discouraged-class=1
+compilers.p.internal=1
+compilers.p.missing-packages=1
+compilers.p.missing-version-export-package=1
+compilers.p.missing-version-import-package=1
+compilers.p.missing-version-require-bundle=1
+compilers.p.no-required-att=0
+compilers.p.not-externalized-att=2
+compilers.p.unknown-attribute=1
+compilers.p.unknown-class=1
+compilers.p.unknown-element=1
+compilers.p.unknown-identifier=1
+compilers.p.unknown-resource=1
+compilers.p.unresolved-ex-points=0
+compilers.p.unresolved-import=0
+compilers.s.create-docs=false
+compilers.s.doc-folder=doc
+compilers.s.open-tags=1
+eclipse.preferences.version=1
diff --git a/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..47d0f95
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/META-INF/MANIFEST.MF
@@ -0,0 +1,17 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-SymbolicName: org.eclipse.emfforms.ide.viewtemplate.builder;singleton:=true
+Bundle-Version: 1.20.0.qualifier
+Bundle-Vendor: %Bundle-Vendor
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.13.0,4.0.0)",
+ org.eclipse.core.resources;bundle-version="[3.12.0,4.0.0)",
+ org.eclipse.emfforms.core.bazaar;bundle-version="[1.20.0,2.0.0)",
+ org.eclipse.emfforms.ide.builder;bundle-version="[1.20.0,2.0.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,2.0.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Automatic-Module-Name: org.eclipse.emfforms.ide.viewtemplate.builder
+Bundle-ActivationPolicy: lazy
+Export-Package: org.eclipse.emfforms.ide.viewtemplate.internal.builder;version="1.20.0";x-internal:=true
+Import-Package: org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
+Service-Component: OSGI-INF/org.eclipse.emfforms.ide.viewtemplate.internal.builder.ViewTemplateValidationDelegateProvider.xml
diff --git a/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/OSGI-INF/l10n/bundle.properties b/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/OSGI-INF/l10n/bundle.properties
new file mode 100644
index 0000000..6f6837c
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/OSGI-INF/l10n/bundle.properties
@@ -0,0 +1,3 @@
+#Properties file for org.eclipse.emfforms.ide.builder
+Bundle-Vendor = Eclipse Modeling Project
+Bundle-Name = EMFForms IDE View Template Builder
diff --git a/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/OSGI-INF/org.eclipse.emfforms.ide.viewtemplate.internal.builder.ViewTemplateValidationDelegateProvider.xml b/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/OSGI-INF/org.eclipse.emfforms.ide.viewtemplate.internal.builder.ViewTemplateValidationDelegateProvider.xml
new file mode 100644
index 0000000..9c82ed1
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/OSGI-INF/org.eclipse.emfforms.ide.viewtemplate.internal.builder.ViewTemplateValidationDelegateProvider.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emfforms.ide.viewtemplate.internal.builder.ViewTemplateValidationDelegateProvider">
+   <service>
+      <provide interface="org.eclipse.emfforms.ide.builder.ValidationDelegateProvider"/>
+   </service>
+   <implementation class="org.eclipse.emfforms.ide.viewtemplate.internal.builder.ViewTemplateValidationDelegateProvider"/>
+</scr:component>
\ No newline at end of file
diff --git a/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/about.html b/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/about.html
new file mode 100644
index 0000000..d35d5ae
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/about.html
@@ -0,0 +1,28 @@
+<!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 (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/build.properties b/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/build.properties
new file mode 100644
index 0000000..107e94e
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/build.properties
@@ -0,0 +1,8 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               OSGI-INF/,\
+               about.html,\
+               .
+jre.compilation.profile = JavaSE-1.6
+src.includes = about.html
diff --git a/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/pom.xml b/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/pom.xml
new file mode 100644
index 0000000..6580a33
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.eclipse.emf.ecp</groupId>
+    <artifactId>ecp-bundles-parent</artifactId>
+    <version>1.20.0-SNAPSHOT</version>
+    <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
+  </parent>
+  <groupId>org.eclipse.emf.ecp</groupId>
+  <artifactId>org.eclipse.emfforms.ide.viewtemplate.builder</artifactId>
+  <version>1.20.0-SNAPSHOT</version>
+  <packaging>eclipse-plugin</packaging>
+</project>
diff --git a/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/src/org/eclipse/emfforms/ide/viewtemplate/internal/builder/ViewTemplateValidationDelegateProvider.java b/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/src/org/eclipse/emfforms/ide/viewtemplate/internal/builder/ViewTemplateValidationDelegateProvider.java
new file mode 100644
index 0000000..69ad724
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.ide.viewtemplate.builder/src/org/eclipse/emfforms/ide/viewtemplate/internal/builder/ViewTemplateValidationDelegateProvider.java
@@ -0,0 +1,48 @@
+/*******************************************************************************
+ * Copyright (c) 2019 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.ide.viewtemplate.internal.builder;
+
+import org.eclipse.emf.ecp.view.template.model.VTTemplatePackage;
+import org.eclipse.emfforms.bazaar.Create;
+import org.eclipse.emfforms.bazaar.Precondition;
+import org.eclipse.emfforms.bazaar.StaticBid;
+import org.eclipse.emfforms.ide.builder.BuilderConstants;
+import org.eclipse.emfforms.ide.builder.ValidationDelegate;
+import org.eclipse.emfforms.ide.builder.ValidationDelegateProvider;
+import org.eclipse.emfforms.ide.builder.ValidationServiceDelegate;
+import org.osgi.service.component.annotations.Component;
+
+/**
+ * Validation delegate provider for view template models.
+ */
+@Component
+@StaticBid(bid = 10.0)
+@Precondition(key = BuilderConstants.CONTENT_TYPE, value = VTTemplatePackage.eCONTENT_TYPE)
+public class ViewTemplateValidationDelegateProvider implements ValidationDelegateProvider {
+
+	/**
+	 * Initializes me.
+	 */
+	public ViewTemplateValidationDelegateProvider() {
+		super();
+	}
+
+	/**
+	 * Create the validation delegate.
+	 *
+	 * @return the validation delegate
+	 */
+	@Create
+	public ValidationDelegate createValidationDelegate() {
+		return new ValidationServiceDelegate();
+	}
+}
diff --git a/bundles/org.eclipse.emfforms.localization/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.localization/META-INF/MANIFEST.MF
index 0672027..b15d405 100644
--- a/bundles/org.eclipse.emfforms.localization/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.localization/META-INF/MANIFEST.MF
@@ -2,17 +2,17 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Forms Localization
 Bundle-SymbolicName: org.eclipse.emfforms.localization
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.internal.localization;version="1.19.0";x-internal:=true,
- org.eclipse.emfforms.spi.localization;version="1.19.0"
+Export-Package: org.eclipse.emfforms.internal.localization;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.spi.localization;version="1.20.0"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Service-Component: OSGI-INF/localizationService.xml
-Import-Package: org.eclipse.emfforms.spi.common.locale;version="[1.12.0,1.19.0]",
- org.eclipse.emfforms.spi.common.report;version="[1.12.0,1.19.0]",
+Automatic-Module-Name: org.eclipse.emfforms.localization
+Import-Package: org.eclipse.emfforms.spi.common.locale;version="[1.12.0,1.20.0]",
+ org.eclipse.emfforms.spi.common.report;version="[1.12.0,1.20.0]",
  org.eclipse.osgi.service.localization;version="[1.1.0,2.0.0)",
  org.osgi.framework;version="[1.3.0,2.0.0)",
  org.osgi.service.component.annotations;version="1.2.0",
  org.osgi.service.log;version="[1.3.0,2.0.0)"
+Service-Component: OSGI-INF/localizationService.xml
 Bundle-ActivationPolicy: lazy
-Automatic-Module-Name: org.eclipse.emfforms.localization
diff --git a/bundles/org.eclipse.emfforms.localization/pom.xml b/bundles/org.eclipse.emfforms.localization/pom.xml
index 3012970..c4b80d1 100644
--- a/bundles/org.eclipse.emfforms.localization/pom.xml
+++ b/bundles/org.eclipse.emfforms.localization/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emfforms.rulerepository.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.rulerepository.model.edit/META-INF/MANIFEST.MF
index 767725b..f452814 100644
--- a/bundles/org.eclipse.emfforms.rulerepository.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.rulerepository.model.edit/META-INF/MANIFEST.MF
@@ -2,21 +2,21 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emfforms.rulerepository.model.edit;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emfforms.spi.rulerepository.model.provider.RulerepositoryEditPlugin$Implementation
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emfforms.spi.rulerepository.model.provider;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emfforms.spi.rulerepository.model.provider;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.10.0,4.0.0)",
-  org.eclipse.emfforms.rulerepository.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.edit;bundle-version="[2.10.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore;bundle-version="[2.10.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.rule.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.rule.model.edit;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emfforms.rulerepository.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.edit;bundle-version="[2.10.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore;bundle-version="[2.10.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.rule.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.rule.model.edit;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
 Automatic-Module-Name: org.eclipse.emfforms.rulerepository.model.edit
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emfforms.rulerepository.model.edit/pom.xml b/bundles/org.eclipse.emfforms.rulerepository.model.edit/pom.xml
index acd1f7b..3303abe 100644
--- a/bundles/org.eclipse.emfforms.rulerepository.model.edit/pom.xml
+++ b/bundles/org.eclipse.emfforms.rulerepository.model.edit/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emfforms.rulerepository.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.rulerepository.model/META-INF/MANIFEST.MF
index 123d553..55269ee 100644
--- a/bundles/org.eclipse.emfforms.rulerepository.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.rulerepository.model/META-INF/MANIFEST.MF
@@ -2,18 +2,18 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emfforms.rulerepository.model;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emfforms.spi.rulerepository.model;version="1.19.0",
-  org.eclipse.emfforms.spi.rulerepository.model.impl;version="1.19.0";x-friends:="org.eclipse.emfforms.rulerepository.model.edit",
-  org.eclipse.emfforms.spi.rulerepository.model.util;version="1.19.0";x-friends:="org.eclipse.emfforms.rulerepository.model.edit"
+Export-Package: org.eclipse.emfforms.spi.rulerepository.model;version="1.20.0",
+ org.eclipse.emfforms.spi.rulerepository.model.impl;version="1.20.0";x-friends:="org.eclipse.emfforms.rulerepository.model.edit",
+ org.eclipse.emfforms.spi.rulerepository.model.util;version="1.20.0";x-friends:="org.eclipse.emfforms.rulerepository.model.edit"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.10.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.10.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore.xmi;bundle-version="[2.10.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.rule.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emf.ecore;bundle-version="[2.10.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.10.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.rule.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emfforms.rulerepository.model
diff --git a/bundles/org.eclipse.emfforms.rulerepository.model/pom.xml b/bundles/org.eclipse.emfforms.rulerepository.model/pom.xml
index f6d54ce..92c2522 100644
--- a/bundles/org.eclipse.emfforms.rulerepository.model/pom.xml
+++ b/bundles/org.eclipse.emfforms.rulerepository.model/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emfforms.rulerepository.tooling/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.rulerepository.tooling/META-INF/MANIFEST.MF
index 2a6e146..96293e7 100644
--- a/bundles/org.eclipse.emfforms.rulerepository.tooling/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.rulerepository.tooling/META-INF/MANIFEST.MF
@@ -2,33 +2,33 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms RuleRepository Tooling
 Bundle-SymbolicName: org.eclipse.emfforms.rulerepository.tooling;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.internal.rulerepository.tooling;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.internal.rulerepository.tooling.merge;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.internal.rulerepository.tooling.wizard;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emfforms.internal.rulerepository.tooling;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.rulerepository.tooling.merge;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.rulerepository.tooling.wizard;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.10.0,4.0.0)",
-  org.eclipse.core.resources;bundle-version="[3.9.0,4.0.0)",
-  org.eclipse.ui;bundle-version="[3.106.0,4.0.0)",
-  org.eclipse.ui.ide;bundle-version="[3.10.0,4.0.0)",
-  org.eclipse.emf.edit;bundle-version="[2.10.0,3.0.0)",
-  org.eclipse.core.databinding;bundle-version="[1.4.0,2.0.0)",
-  org.eclipse.emf.databinding;bundle-version="[1.2.0,2.0.0)",
-  org.eclipse.emfforms.rulerepository.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.editor.controls;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.editor;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ide.util;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.core.resources;bundle-version="[3.9.0,4.0.0)",
+ org.eclipse.ui;bundle-version="[3.106.0,4.0.0)",
+ org.eclipse.ui.ide;bundle-version="[3.10.0,4.0.0)",
+ org.eclipse.emf.edit;bundle-version="[2.10.0,3.0.0)",
+ org.eclipse.core.databinding;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.emfforms.rulerepository.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.editor.controls;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.editor;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ide.util;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/org.eclipse.emfforms.internal.rulerepository.tooling.RuleRepositoryLinkFeatureControlRendererService.xml
 Bundle-ActivationPolicy: lazy
 Import-Package: javax.inject;version="1.0.0",
-  org.eclipse.emf.ecp.edit.spi.swt.util;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.swt.core.di;version="[1.19.0,1.20.0)",
-  org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
+ org.eclipse.emf.ecp.edit.spi.swt.util;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.swt.core.di;version="[1.20.0,1.21.0)",
+ org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
 Automatic-Module-Name: org.eclipse.emfforms.rulerepository.tooling
diff --git a/bundles/org.eclipse.emfforms.rulerepository.tooling/pom.xml b/bundles/org.eclipse.emfforms.rulerepository.tooling/pom.xml
index 1ad4787..6499c90 100644
--- a/bundles/org.eclipse.emfforms.rulerepository.tooling/pom.xml
+++ b/bundles/org.eclipse.emfforms.rulerepository.tooling/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emfforms.setup.base/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.setup.base/META-INF/MANIFEST.MF
index d6f37a6..0a5be5c 100644
--- a/bundles/org.eclipse.emfforms.setup.base/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.setup.base/META-INF/MANIFEST.MF
@@ -2,46 +2,46 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms Base Dependencies
 Bundle-SymbolicName: org.eclipse.emfforms.setup.base
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Require-Bundle: org.eclipse.emfforms.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.databinding.featurepath;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.databinding.index;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.databinding.mapping;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.domainexpander.default;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.domainexpander.index;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.domainexpander.mapping;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.domainexpander.table;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.emf;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.emfspecificservice;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.legacy;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.locale.default;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.mappingprovider.default;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.mappingprovider.table;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.structuralchange;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.structuralchange.default;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.structuralchange.index;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.structuralchange.mapping;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.structuralchange.table;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.localization;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core.di;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core.di.extension;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core.plugin;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.table;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.table.ui.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.treemasterdetail;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.treemasterdetail.ui.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.treemasterdetail.validation;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.view.model.localization;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.validation;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.categorization.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.group.ui.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.horizontal.ui.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.vertical.ui.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.template.service;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.control.multireference;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.control.multiattribute;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.swt.layout;bundle-version="[1.19.0,1.20.0)"
+Require-Bundle: org.eclipse.emfforms.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.databinding.featurepath;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.databinding.index;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.databinding.mapping;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.domainexpander.default;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.domainexpander.index;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.domainexpander.mapping;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.domainexpander.table;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.emf;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.emfspecificservice;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.legacy;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.locale.default;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.mappingprovider.default;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.mappingprovider.table;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.structuralchange;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.structuralchange.default;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.structuralchange.index;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.structuralchange.mapping;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.structuralchange.table;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core.di.extension;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core.plugin;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.table;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.table.ui.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.treemasterdetail;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.treemasterdetail.ui.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.treemasterdetail.validation;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.view.model.localization;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.validation;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.categorization.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.group.ui.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.horizontal.ui.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.vertical.ui.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.template.service;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.control.multireference;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.control.multiattribute;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.swt.layout;bundle-version="[1.20.0,1.21.0)"
diff --git a/bundles/org.eclipse.emfforms.setup.base/pom.xml b/bundles/org.eclipse.emfforms.setup.base/pom.xml
index 39b80ad..b5915a7 100644
--- a/bundles/org.eclipse.emfforms.setup.base/pom.xml
+++ b/bundles/org.eclipse.emfforms.setup.base/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emfforms.swt.categorization.expandbar/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.swt.categorization.expandbar/META-INF/MANIFEST.MF
index d30cceb..388fd78 100644
--- a/bundles/org.eclipse.emfforms.swt.categorization.expandbar/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.swt.categorization.expandbar/META-INF/MANIFEST.MF
@@ -2,33 +2,33 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms Categorization renderer using an Expandbar
 Bundle-SymbolicName: org.eclipse.emfforms.swt.categorization.expandbar
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.internal.swt.categorization.expandbar;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit;bundle-version="[2.10.0,3.0.0)",
-  org.eclipse.rap.rwt;bundle-version="[3.0.2,4.0.0)",
-  org.eclipse.core.databinding;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emf.databinding;bundle-version="[1.2.0,2.0.0)",
-  org.eclipse.emf.databinding.edit;bundle-version="[1.2.0,2.0.0)"
+Export-Package: org.eclipse.emfforms.internal.swt.categorization.expandbar;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit;bundle-version="[2.10.0,3.0.0)",
+ org.eclipse.rap.rwt;bundle-version="[3.0.2,4.0.0)",
+ org.eclipse.core.databinding;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.emf.databinding.edit;bundle-version="[1.2.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/org.eclipse.emfforms.internal.swt.categorization.expandbar.CategorizationElementExpandBarRendererService.xml
 Bundle-ActivationPolicy: lazy
 Import-Package: javax.inject;version="[1.0.0,2.0.0)",
-  org.eclipse.emf.ecp.edit.internal.swt.util;version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.edit.spi.swt.util;version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.spi.swt.reporting;version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.template.model;version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.template.style.validation.model;version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit.ui.provider;version="0.0.0",
-  org.eclipse.emfforms.spi.swt.core.di;version="[1.19.0,1.20.0)",
-  org.eclipse.jface.databinding.swt;version="0.0.0",
-  org.eclipse.jface.layout;version="0.0.0",
-  org.eclipse.jface.resource;version="0.0.0",
-  org.eclipse.jface.viewers;version="0.0.0",
-  org.osgi.framework;version="[1.3.0,2.0.0)",
-  org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
+ org.eclipse.emf.ecp.edit.internal.swt.util;version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.edit.spi.swt.util;version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.spi.swt.reporting;version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.template.model;version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.template.style.validation.model;version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit.ui.provider;version="0.0.0",
+ org.eclipse.emfforms.spi.swt.core.di;version="[1.20.0,1.21.0)",
+ org.eclipse.jface.databinding.swt;version="0.0.0",
+ org.eclipse.jface.layout;version="0.0.0",
+ org.eclipse.jface.resource;version="0.0.0",
+ org.eclipse.jface.viewers;version="0.0.0",
+ org.osgi.framework;version="[1.3.0,2.0.0)",
+ org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
 Automatic-Module-Name: org.eclipse.emfforms.swt.categorization.expandbar
diff --git a/bundles/org.eclipse.emfforms.swt.categorization.expandbar/pom.xml b/bundles/org.eclipse.emfforms.swt.categorization.expandbar/pom.xml
index 6a3945c..3f87c16 100644
--- a/bundles/org.eclipse.emfforms.swt.categorization.expandbar/pom.xml
+++ b/bundles/org.eclipse.emfforms.swt.categorization.expandbar/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.swt.categorization.expandbar</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emfforms.swt.control.multiattribute/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.swt.control.multiattribute/META-INF/MANIFEST.MF
index 77c5141..4add935 100644
--- a/bundles/org.eclipse.emfforms.swt.control.multiattribute/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.swt.control.multiattribute/META-INF/MANIFEST.MF
@@ -2,41 +2,42 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms SWT Renderer for Multi EAttributes
 Bundle-SymbolicName: org.eclipse.emfforms.swt.control.multiattribute;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.internal.view.control.multiattribute;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.internal.view.control.multiattribute.celleditor;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.spi.view.control.multiattribute;version="1.19.0",
-  org.eclipse.emfforms.spi.view.control.multiattribute.celleditor;version="1.19.0"
-Require-Bundle: org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core.di;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.edit.swt;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emfforms.internal.view.control.multiattribute;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.view.control.multiattribute.celleditor;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.spi.view.control.multiattribute;version="1.20.0",
+ org.eclipse.emfforms.spi.view.control.multiattribute.celleditor;version="1.20.0"
+Require-Bundle: org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.edit.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.table.ui.swt;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/MultiAttributeRendererService.xml
 Bundle-ActivationPolicy: lazy
 Import-Package: javax.inject;version="1.0.0",
-  org.eclipse.core.runtime;version="0.0.0",
-  org.eclipse.emf.edit.ui.provider;version="0.0.0",
-  org.eclipse.jface.databinding.swt;version="0.0.0",
-  org.eclipse.jface.databinding.viewers;version="0.0.0",
-  org.eclipse.jface.layout;version="0.0.0",
-  org.eclipse.jface.viewers;version="0.0.0",
-  org.eclipse.osgi.util;version="1.1.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.events;version="0.0.0",
-  org.eclipse.swt.graphics;version="0.0.0",
-  org.eclipse.swt.layout;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0",
-  org.osgi.framework;version="1.8.0",
-  org.osgi.service.component.annotations;version="1.2.0";resolution:=optional
+ org.eclipse.core.runtime;version="0.0.0",
+ org.eclipse.emf.edit.ui.provider;version="0.0.0",
+ org.eclipse.jface.databinding.swt;version="0.0.0",
+ org.eclipse.jface.databinding.viewers;version="0.0.0",
+ org.eclipse.jface.layout;version="0.0.0",
+ org.eclipse.jface.viewers;version="0.0.0",
+ org.eclipse.osgi.util;version="1.1.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.events;version="0.0.0",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.eclipse.swt.layout;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.osgi.framework;version="1.8.0",
+ org.osgi.service.component.annotations;version="1.2.0";resolution:=optional
 Automatic-Module-Name: org.eclipse.emfforms.swt.control.multiattribute
diff --git a/bundles/org.eclipse.emfforms.swt.control.multiattribute/plugin.xml b/bundles/org.eclipse.emfforms.swt.control.multiattribute/plugin.xml
index 5c0a9bb..1a6dce7 100644
--- a/bundles/org.eclipse.emfforms.swt.control.multiattribute/plugin.xml
+++ b/bundles/org.eclipse.emfforms.swt.control.multiattribute/plugin.xml
@@ -20,6 +20,10 @@
             class="org.eclipse.emf.ecp.edit.internal.swt.table.XmlDateCellEditor"
             tester="org.eclipse.emfforms.internal.view.control.multiattribute.celleditor.XmlDateCellEditorTester">
       </cellEditor>
+      <cellEditor
+            class="org.eclipse.emf.ecp.view.spi.table.swt.EnumCellEditor"
+            tester="org.eclipse.emfforms.internal.view.control.multiattribute.celleditor.EnumCellEditorTester">
+      </cellEditor>
    </extension>
 
 </plugin>
diff --git a/bundles/org.eclipse.emfforms.swt.control.multiattribute/pom.xml b/bundles/org.eclipse.emfforms.swt.control.multiattribute/pom.xml
index 54c2391..68fbc56 100644
--- a/bundles/org.eclipse.emfforms.swt.control.multiattribute/pom.xml
+++ b/bundles/org.eclipse.emfforms.swt.control.multiattribute/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
@@ -15,5 +15,5 @@
   <packaging>eclipse-plugin</packaging>
 
   <groupId>org.eclipse.emf.ecp</groupId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/bundles/org.eclipse.emfforms.swt.control.multiattribute/src/org/eclipse/emfforms/internal/view/control/multiattribute/celleditor/EnumCellEditorTester.java b/bundles/org.eclipse.emfforms.swt.control.multiattribute/src/org/eclipse/emfforms/internal/view/control/multiattribute/celleditor/EnumCellEditorTester.java
new file mode 100644
index 0000000..5eeccf6
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.control.multiattribute/src/org/eclipse/emfforms/internal/view/control/multiattribute/celleditor/EnumCellEditorTester.java
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * Copyright (c) 2019 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.view.control.multiattribute.celleditor;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emfforms.spi.view.control.multiattribute.celleditor.MultiAttributeSWTRendererCellEditorTester;
+
+/**
+ * Cell editor tester that votes for a cell editor for attributes of {@link EEnum} type.
+ */
+public class EnumCellEditorTester implements MultiAttributeSWTRendererCellEditorTester {
+
+	@Override
+	public double isApplicable(EObject eObject, EAttribute multiAttribute,
+		ViewModelContext viewModelContext) {
+
+		final EDataType dataType = multiAttribute.getEAttributeType();
+
+		if (dataType instanceof EEnum) {
+			return 2.0;
+		}
+
+		return NOT_APPLICABLE;
+	}
+
+}
diff --git a/bundles/org.eclipse.emfforms.swt.control.multiattribute/src/org/eclipse/emfforms/spi/view/control/multiattribute/MultiAttributeSWTRenderer.java b/bundles/org.eclipse.emfforms.swt.control.multiattribute/src/org/eclipse/emfforms/spi/view/control/multiattribute/MultiAttributeSWTRenderer.java
index 1a04fa1..17a561c 100644
--- a/bundles/org.eclipse.emfforms.swt.control.multiattribute/src/org/eclipse/emfforms/spi/view/control/multiattribute/MultiAttributeSWTRenderer.java
+++ b/bundles/org.eclipse.emfforms.swt.control.multiattribute/src/org/eclipse/emfforms/spi/view/control/multiattribute/MultiAttributeSWTRenderer.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -9,6 +9,7 @@
  * Contributors:
  * David Soto Setzke - initial API and implementation
  * Johannes Faltermeier - initial API and implementation
+ * Christian W. Damus - bug 543348
  ******************************************************************************/
 package org.eclipse.emfforms.spi.view.control.multiattribute;
 
@@ -26,6 +27,7 @@
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.DynamicEObjectImpl;
 import org.eclipse.emf.ecore.util.EcoreUtil;
 import org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor;
 import org.eclipse.emf.ecp.view.model.common.edit.provider.CustomReflectiveItemProviderAdapterFactory;
@@ -270,7 +272,85 @@
 
 	@Override
 	protected void applyReadOnly() {
-		applyEnable();
+		// do not let the super method disable the control, so the table is still enabled for sorting for example
+		// when applying read only, all buttons shall be hidden
+		updateButtonVisibility();
+	}
+
+	@Override
+	protected boolean ignoreEnableOnReadOnly() {
+		// always take the enable state into account (read only but enable let the user sort the table content for
+		// example)
+		return false;
+	}
+
+	/**
+	 * Updates button visibility and enablement.
+	 */
+	protected void updateButtons() {
+		updateButtonVisibility();
+		updateButtonEnabling();
+	}
+
+	/**
+	 * Updates the visibility of 'Add', 'Remove', 'Up', 'Down' buttons according to the bound input.
+	 */
+	protected void updateButtonVisibility() {
+		final boolean isVisible = !getVElement().isEffectivelyReadonly();
+
+		if (addButton != null) {
+			addButton.setVisible(isVisible);
+		}
+		if (removeButton != null) {
+			removeButton.setVisible(isVisible);
+		}
+		if (upButton != null) {
+			upButton.setVisible(isVisible);
+		}
+		if (downButton != null) {
+			downButton.setVisible(isVisible);
+		}
+	}
+
+	/**
+	 * Updates the enablement of 'addExisting', 'addNew', 'delete', 'moveUp' and 'moveDown' buttons according to the
+	 * bound input.
+	 */
+	protected void updateButtonEnabling() {
+		final boolean isEnable = getVElement().isEffectivelyEnabled();
+		final int listSize = tableViewer != null ? tableViewer.getTable().getItemCount() : 0;
+		final int selectionIndex = tableViewer != null ? tableViewer.getTable().getSelectionIndex() : -1;
+
+		enableUpButton(isEnable, listSize, selectionIndex);
+		enableDownButton(isEnable, listSize, selectionIndex);
+		enableAddButton(isEnable, listSize, selectionIndex);
+		enableDeleteButton(isEnable, listSize, selectionIndex);
+	}
+
+	private void enableUpButton(boolean baseEnable, int listSize, int selectionIndex) {
+		if (upButton != null) {
+			final boolean enabled = baseEnable && listSize > 1 && selectionIndex > 0;
+			upButton.setEnabled(enabled);
+		}
+	}
+
+	private void enableDownButton(boolean baseEnable, int listSize, int selectionIndex) {
+		if (downButton != null) {
+			final boolean enabled = baseEnable && listSize > 1 && selectionIndex != -1 && selectionIndex < listSize - 1;
+			downButton.setEnabled(enabled);
+		}
+	}
+
+	private void enableAddButton(boolean baseEnable, int listSize, int selectionIndex) {
+		if (addButton != null) {
+			addButton.setEnabled(baseEnable);
+		}
+	}
+
+	private void enableDeleteButton(boolean baseEnable, int listSize, int selectionIndex) {
+		if (removeButton != null) {
+			removeButton.setEnabled(baseEnable && listSize > 0 && selectionIndex != -1);
+		}
 	}
 
 	@Override
@@ -301,6 +381,7 @@
 			final Composite buttonComposite = createButtonComposite(composite, list);
 			GridDataFactory.fillDefaults().align(SWT.END, SWT.BEGINNING).grab(false, false).applyTo(buttonComposite);
 			initButtons(list);
+
 		} catch (final DatabindingFailedException ex) {
 			getReportService().report(new RenderingFailedReport(ex));
 			return createErrorLabel(composite, ex);
@@ -426,15 +507,10 @@
 		getTableViewer().addSelectionChangedListener(new ISelectionChangedListener() {
 			@Override
 			public void selectionChanged(SelectionChangedEvent event) {
-				removeButton.setEnabled(!event.getSelection().isEmpty());
-				if (upButton != null) {
-					upButton.setEnabled(!event.getSelection().isEmpty() && !getVElement().isEffectivelyReadonly());
-				}
-				if (downButton != null) {
-					downButton.setEnabled(!event.getSelection().isEmpty() && !getVElement().isEffectivelyReadonly());
-				}
+				updateButtonEnabling();
 			}
 		});
+		updateButtons();
 	}
 
 	private void createLabelProvider() {
@@ -503,7 +579,13 @@
 	}
 
 	private InternalEObject getInstanceOf(EClass clazz) {
-		return InternalEObject.class.cast(clazz.getEPackage().getEFactoryInstance().create(clazz));
+		EObject tempInstance;
+		if (clazz.isInterface() || clazz.isAbstract() || clazz.getInstanceClass() == null) {
+			tempInstance = new DynamicEObjectImpl(clazz);
+		} else {
+			tempInstance = EcoreUtil.create(clazz);
+		}
+		return InternalEObject.class.cast(tempInstance);
 	}
 
 	private void createContent(Composite composite, IObservableList list) {
@@ -516,6 +598,9 @@
 		final ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(tableViewer) {
 			@Override
 			protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
+				if (getVElement().isEffectivelyReadonly()) {
+					return false;
+				}
 				return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL
 					|| event.eventType == ColumnViewerEditorActivationEvent.MOUSE_CLICK_SELECTION
 					|| event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && event.keyCode == SWT.CR
@@ -588,7 +673,13 @@
 	 */
 	protected Object getValueForNewRow(final EAttribute attribute) {
 		try {
-			Object defaultValue = attribute.getEType().getDefaultValue();
+			Object defaultValue = attribute.getDefaultValue();
+			if (defaultValue == null || !attribute.getEType().isInstance(defaultValue)) {
+				// Use a singular default value, but not a multiple value if that's
+				// what is specified in the model, because we shouldn't add more than
+				// one value
+				defaultValue = attribute.getEType().getDefaultValue();
+			}
 			if (defaultValue == null) {
 				defaultValue = attribute.getEType().getInstanceClass().getConstructor().newInstance();
 			}
@@ -638,21 +729,8 @@
 	 */
 	@Override
 	protected void applyEnable() {
-		if (getAddButton() != null) {
-			getAddButton().setVisible(getVElement().isEffectivelyEnabled() && !getVElement().isEffectivelyReadonly());
-		}
-		if (getRemoveButton() != null) {
-			getRemoveButton()
-				.setVisible(getVElement().isEffectivelyEnabled() && !getVElement().isEffectivelyReadonly());
-		}
-		if (getMoveUpButton() != null) {
-			getMoveUpButton()
-				.setVisible(getVElement().isEffectivelyEnabled() && !getVElement().isEffectivelyReadonly());
-		}
-		if (getMoveDownButton() != null) {
-			getMoveDownButton()
-				.setVisible(getVElement().isEffectivelyEnabled() && !getVElement().isEffectivelyReadonly());
-		}
+		super.applyEnable();
+		updateButtonEnabling();
 	}
 
 	/**
diff --git a/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/META-INF/MANIFEST.MF
index 569186b..52c43d0 100644
--- a/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/META-INF/MANIFEST.MF
@@ -2,32 +2,32 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms SWT Text Control with Autocomplete
 Bundle-SymbolicName: org.eclipse.emfforms.swt.control.text.autocomplete
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.internal.swt.control.text.autocomplete;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.internal.swt.control.text.autocomplete.renderer;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.spi.swt.control.text.autocomplete.viewservice;version="1.19.0"
-Require-Bundle: org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emfforms.localization;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core.di;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emfforms.internal.swt.control.text.autocomplete;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.swt.control.text.autocomplete.renderer;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.spi.swt.control.text.autocomplete.viewservice;version="1.20.0"
+Require-Bundle: org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/org.eclipse.emfforms.internal.swt.control.text.autocomplete.renderer.AutocompleteTextControlSWTRendererService.xml
 Bundle-ActivationPolicy: lazy
 Import-Package: javax.inject;version="1.0.0",
-  org.eclipse.emf.ecp.edit.spi.swt.util;version="[1.19.0,1.20.0)",
-  org.eclipse.jface.databinding.swt;version="0.0.0",
-  org.eclipse.jface.databinding.viewers;version="0.0.0",
-  org.eclipse.jface.fieldassist;version="0.0.0",
-  org.eclipse.jface.viewers;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0",
-  org.osgi.framework;version="0.0.0",
-  org.osgi.service.component.annotations;version="0.0.0";resolution:=optional
+ org.eclipse.emf.ecp.edit.spi.swt.util;version="[1.20.0,1.21.0)",
+ org.eclipse.jface.databinding.swt;version="0.0.0",
+ org.eclipse.jface.databinding.viewers;version="0.0.0",
+ org.eclipse.jface.fieldassist;version="0.0.0",
+ org.eclipse.jface.viewers;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.osgi.framework;version="0.0.0",
+ org.osgi.service.component.annotations;version="0.0.0";resolution:=optional
 Automatic-Module-Name: org.eclipse.emfforms.swt.control.text.autocomplete
diff --git a/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/pom.xml b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/pom.xml
index 29ae7c0..dffaf0a 100644
--- a/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/pom.xml
+++ b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emfforms.swt.control.text.richtext/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.swt.control.text.richtext/META-INF/MANIFEST.MF
index 06031a8..a784d4d 100644
--- a/bundles/org.eclipse.emfforms.swt.control.text.richtext/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.swt.control.text.richtext/META-INF/MANIFEST.MF
@@ -2,29 +2,29 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms SWT Rich Text Control
 Bundle-SymbolicName: org.eclipse.emfforms.swt.control.text.richtext;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.internal.swt.control.text.richtext.renderer;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.spi.swt.control.text.richtext.renderer;version="1.19.0"
-Require-Bundle: org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emfforms.localization;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core.di;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.swt;bundle-version="[3.102.0,4.0.0)",
-  org.eclipse.jface;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.jface.databinding;bundle-version="[1.6.0,2.0.0)"
+Export-Package: org.eclipse.emfforms.internal.swt.control.text.richtext.renderer;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.spi.swt.control.text.richtext.renderer;version="1.20.0"
+Require-Bundle: org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.swt;bundle-version="[3.102.0,4.0.0)",
+ org.eclipse.jface;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.jface.databinding;bundle-version="[1.6.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/org.eclipse.emfforms.internal.swt.control.text.richtext.renderer.RichTextControlSWTRendererService.xml
 Bundle-ActivationPolicy: lazy
 Import-Package: javax.inject;version="1.0.0",
-  org.eclipse.emf.ecp.edit.spi.swt.util;version="[1.19.0,1.20.0)",
-  org.osgi.framework;version="0.0.0",
-  org.osgi.service.component.annotations;version="0.0.0";resolution:=optional
+ org.eclipse.emf.ecp.edit.spi.swt.util;version="[1.20.0,1.21.0)",
+ org.osgi.framework;version="0.0.0",
+ org.osgi.service.component.annotations;version="0.0.0";resolution:=optional
 Automatic-Module-Name: org.eclipse.emfforms.swt.control.text.richtext
diff --git a/bundles/org.eclipse.emfforms.swt.control.text.richtext/pom.xml b/bundles/org.eclipse.emfforms.swt.control.text.richtext/pom.xml
index 0a395a8..4bc235b 100644
--- a/bundles/org.eclipse.emfforms.swt.control.text.richtext/pom.xml
+++ b/bundles/org.eclipse.emfforms.swt.control.text.richtext/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emfforms.swt.controlgrid/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.swt.controlgrid/META-INF/MANIFEST.MF
index 133ded2..977426d 100644
--- a/bundles/org.eclipse.emfforms.swt.controlgrid/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.swt.controlgrid/META-INF/MANIFEST.MF
@@ -2,26 +2,26 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms Control Grid SWT Renderer
 Bundle-SymbolicName: org.eclipse.emfforms.swt.controlgrid
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.internal.swt.controlgrid.renderer;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.spi.swt.controlgrid.renderer;version="1.19.0"
-Require-Bundle: org.eclipse.emfforms.view.controlgrid.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emfforms.internal.swt.controlgrid.renderer;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.spi.swt.controlgrid.renderer;version="1.20.0"
+Require-Bundle: org.eclipse.emfforms.view.controlgrid.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/ControlGridSWTRendererService.xml
 Bundle-ActivationPolicy: lazy
 Import-Package: javax.inject;version="1.0.0",
-  org.eclipse.emfforms.spi.swt.core.di;version="[1.19.0,1.20.0)",
-  org.eclipse.jface.layout;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.events;version="0.0.0",
-  org.eclipse.swt.graphics;version="0.0.0",
-  org.eclipse.swt.layout;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0",
-  org.osgi.service.component.annotations;version="1.2.0";resolution:=optional
+ org.eclipse.emfforms.spi.swt.core.di;version="[1.20.0,1.21.0)",
+ org.eclipse.jface.layout;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.events;version="0.0.0",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.eclipse.swt.layout;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.osgi.service.component.annotations;version="1.2.0";resolution:=optional
 Automatic-Module-Name: org.eclipse.emfforms.swt.controlgrid
diff --git a/bundles/org.eclipse.emfforms.swt.controlgrid/pom.xml b/bundles/org.eclipse.emfforms.swt.controlgrid/pom.xml
index 2973cee..f4711f9 100644
--- a/bundles/org.eclipse.emfforms.swt.controlgrid/pom.xml
+++ b/bundles/org.eclipse.emfforms.swt.controlgrid/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emfforms.swt.core.di.extension/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.swt.core.di.extension/META-INF/MANIFEST.MF
index 96cf04a..1cf6f68 100644
--- a/bundles/org.eclipse.emfforms.swt.core.di.extension/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.swt.core.di.extension/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: SWT Core DI Extension
 Bundle-SymbolicName: org.eclipse.emfforms.swt.core.di.extension;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.internal.swt.core.di.extension;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emfforms.swt.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core.di;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.runtime;bundle-version="[3.10.0,4.0.0)",
-  org.eclipse.emfforms.common;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emfforms.internal.swt.core.di.extension;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emfforms.swt.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.runtime;bundle-version="[3.10.0,4.0.0)",
+ org.eclipse.emfforms.common;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.swt.core.di.extension
 Service-Component: OSGI-INF/emfFormsDIExtensionRendererFactory.xml
diff --git a/bundles/org.eclipse.emfforms.swt.core.di.extension/pom.xml b/bundles/org.eclipse.emfforms.swt.core.di.extension/pom.xml
index bc6d7a4..0899e7a 100644
--- a/bundles/org.eclipse.emfforms.swt.core.di.extension/pom.xml
+++ b/bundles/org.eclipse.emfforms.swt.core.di.extension/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emfforms.swt.core.di.extension</artifactId>
 <packaging>eclipse-plugin</packaging>
 	<groupId>org.eclipse.emf.ecp</groupId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/bundles/org.eclipse.emfforms.swt.core.di/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.swt.core.di/META-INF/MANIFEST.MF
index 749bd9d..17d160d 100644
--- a/bundles/org.eclipse.emfforms.swt.core.di/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.swt.core.di/META-INF/MANIFEST.MF
@@ -2,19 +2,19 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms SWT Core DI
 Bundle-SymbolicName: org.eclipse.emfforms.swt.core.di;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.internal.swt.core.di;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.spi.swt.core.di;version="1.19.0"
-Require-Bundle: org.eclipse.emfforms.swt.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.e4.core.contexts;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.e4.core.di;bundle-version="[1.3.0,2.0.0)"
+Export-Package: org.eclipse.emfforms.internal.swt.core.di;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.spi.swt.core.di;version="1.20.0"
+Require-Bundle: org.eclipse.emfforms.swt.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.e4.core.contexts;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.e4.core.di;bundle-version="[1.3.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/emfFormsDIRendererFactory.xml
 Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.emfforms.spi.core.services.view;version="[1.19.0,1.20.0)",
-  org.osgi.framework;version="[1.3.0,2.0.0)"
+Import-Package: org.eclipse.emfforms.spi.core.services.view;version="[1.20.0,1.21.0)",
+ org.osgi.framework;version="[1.3.0,2.0.0)"
 Automatic-Module-Name: org.eclipse.emfforms.swt.core.di
diff --git a/bundles/org.eclipse.emfforms.swt.core.di/pom.xml b/bundles/org.eclipse.emfforms.swt.core.di/pom.xml
index 41bba22..a0cbd6e 100644
--- a/bundles/org.eclipse.emfforms.swt.core.di/pom.xml
+++ b/bundles/org.eclipse.emfforms.swt.core.di/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emfforms.swt.core.di</artifactId>
 <packaging>eclipse-plugin</packaging>
 	<groupId>org.eclipse.emf.ecp</groupId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/bundles/org.eclipse.emfforms.swt.core.plugin/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.swt.core.plugin/META-INF/MANIFEST.MF
index b9168b0..3063727 100644
--- a/bundles/org.eclipse.emfforms.swt.core.plugin/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.swt.core.plugin/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms SWT Core Plugin
 Bundle-SymbolicName: org.eclipse.emfforms.swt.core.plugin
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.internal.swt.core.plugin;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emfforms.internal.swt.core.plugin;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
-  org.eclipse.emfforms.swt.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emfforms.swt.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/org.eclipse.emfforms.internal.swt.core.plugin.LegacyAdditionalRendererService.xml,OSGI-INF/org.eclipse.emfforms.internal.swt.core.plugin.LegacyRendererService.xml
 Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.osgi.service.component.annotations;version="[1.0.0,2.0.0)";resolution:=optional
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.osgi.service.component.annotations;version="[1.0.0,2.0.0)";resolution:=optional
 Automatic-Module-Name: org.eclipse.emfforms.swt.core.plugin
diff --git a/bundles/org.eclipse.emfforms.swt.core.plugin/pom.xml b/bundles/org.eclipse.emfforms.swt.core.plugin/pom.xml
index e600d45..a170ceb 100644
--- a/bundles/org.eclipse.emfforms.swt.core.plugin/pom.xml
+++ b/bundles/org.eclipse.emfforms.swt.core.plugin/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emfforms.swt.core/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.swt.core/META-INF/MANIFEST.MF
index 5e79c2a..63ab198 100644
--- a/bundles/org.eclipse.emfforms.swt.core/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.swt.core/META-INF/MANIFEST.MF
@@ -2,30 +2,32 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms SWT Core
 Bundle-SymbolicName: org.eclipse.emfforms.swt.core
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.internal.swt.core;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.spi.swt.core;version="1.19.0",
-  org.eclipse.emfforms.spi.swt.core.data;version="1.19.0",
-  org.eclipse.emfforms.spi.swt.core.layout;version="1.19.0",
-  org.eclipse.emfforms.spi.swt.core.util;version="1.19.0",
-  org.eclipse.emfforms.swt.core;version="1.19.0"
-Require-Bundle: org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emfforms.internal.swt.core;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.spi.swt.core;version="1.20.0",
+ org.eclipse.emfforms.spi.swt.core.data;version="1.20.0",
+ org.eclipse.emfforms.spi.swt.core.layout;version="1.20.0",
+ org.eclipse.emfforms.spi.swt.core.ui;version="1.20.0",
+ org.eclipse.emfforms.spi.swt.core.util;version="1.20.0",
+ org.eclipse.emfforms.swt.core;version="1.20.0"
+Require-Bundle: org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/rendererFactory.xml
 Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.emf.ecp.view.model.common;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.jface.layout;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.custom;version="0.0.0",
-  org.eclipse.swt.events;version="0.0.0",
-  org.eclipse.swt.graphics;version="0.0.0",
-  org.eclipse.swt.layout;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0"
+Import-Package: org.eclipse.emf.ecp.view.model.common;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.jface.layout;version="0.0.0",
+ org.eclipse.jface.viewers;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.custom;version="0.0.0",
+ org.eclipse.swt.events;version="0.0.0",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.eclipse.swt.layout;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0"
 Automatic-Module-Name: org.eclipse.emfforms.swt.core
diff --git a/bundles/org.eclipse.emfforms.swt.core/pom.xml b/bundles/org.eclipse.emfforms.swt.core/pom.xml
index f5b0c95..8e31162 100644
--- a/bundles/org.eclipse.emfforms.swt.core/pom.xml
+++ b/bundles/org.eclipse.emfforms.swt.core/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/spi/swt/core/AbstractSWTRenderer.java b/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/spi/swt/core/AbstractSWTRenderer.java
index 755f53d..3a64c31 100644
--- a/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/spi/swt/core/AbstractSWTRenderer.java
+++ b/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/spi/swt/core/AbstractSWTRenderer.java
@@ -108,8 +108,7 @@
 						return;
 					}
 					// Always apply enable and read-only if it changed because it might have changed for a parent
-					if (notification.getStructuralFeature() == VViewPackage.eINSTANCE.getElement_Enabled()
-						&& !getVElement().isEffectivelyReadonly()) {
+					if (notification.getStructuralFeature() == VViewPackage.eINSTANCE.getElement_Enabled()) {
 						applyEnable();
 					} else if (notification.getStructuralFeature() == VViewPackage.eINSTANCE.getElement_Readonly()) {
 						applyReadOnly();
@@ -239,7 +238,7 @@
 			applyVisible();
 		}
 		applyReadOnly();
-		if (!getVElement().isEffectivelyReadonly()) {
+		if (!ignoreEnableOnReadOnly()) {
 			applyEnable();
 		}
 		applyValidation();
@@ -253,6 +252,15 @@
 	}
 
 	/**
+	 * Returns <code>true</code> when read only will always force control to be disabled.
+	 *
+	 * @return <code>true</code> when read only will always force control to be disabled.
+	 */
+	protected boolean ignoreEnableOnReadOnly() {
+		return getVElement().isEffectivelyReadonly();
+	}
+
+	/**
 	 * Renders the passed {@link VElement}.
 	 *
 	 * @param cell the {@link GridCell} of the control to render
diff --git a/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/spi/swt/core/layout/EMFFormsSWTLayoutDelayed.java b/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/spi/swt/core/layout/EMFFormsSWTLayoutDelayed.java
index 21721c1..b30d2f1 100644
--- a/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/spi/swt/core/layout/EMFFormsSWTLayoutDelayed.java
+++ b/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/spi/swt/core/layout/EMFFormsSWTLayoutDelayed.java
@@ -14,8 +14,14 @@
 import java.util.LinkedHashSet;
 import java.util.Set;
 
+import org.eclipse.emfforms.spi.common.report.AbstractReport;
+import org.eclipse.emfforms.spi.common.report.ReportService;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Display;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
 
 /**
  * This Layout Optimizer caches the incoming layout request for 200ms before triggering the layout.
@@ -28,6 +34,7 @@
 
 	private Set<Composite> requestedLayouts = new LinkedHashSet<Composite>();
 	private Thread thread;
+	private ReportService reportService;
 
 	/**
 	 * <p>
@@ -52,36 +59,54 @@
 			return;
 		}
 		final Display defaultDisplay = Display.getDefault();
-		thread = new Thread(new Runnable() {
-			@Override
-			public void run() {
-				try {
-					Thread.sleep(200);
-				} catch (final InterruptedException ex) {
-					/* silent */
-				}
-				final Set<Composite> toLayout = exchangeRequestedLayouts();
-
-				defaultDisplay.asyncExec(new Runnable() {
-
-					@Override
-					public void run() {
-						for (final Composite composite : toLayout) {
-							if (composite.isDisposed()) {
-								continue;
-							}
-							composite.layout(true, true);
-						}
-						thread = null;
-						layoutDelayed();
-					}
-				});
-
+		thread = new Thread(() -> {
+			try {
+				Thread.sleep(200);
+			} catch (final InterruptedException ex) {
+				/* silent */
 			}
+			final Set<Composite> toLayout = exchangeRequestedLayouts();
+
+			defaultDisplay.asyncExec(() -> {
+				// BEGIN COMPLEX CODE
+				try {
+					for (final Composite composite : toLayout) {
+						if (composite.isDisposed()) {
+							continue;
+						}
+						composite.layout(true, true);
+					}
+				} catch (final Exception ex) {
+					getReportService().report(new AbstractReport(ex, "An exception occurred during re-layouting")); //$NON-NLS-1$
+				} finally {
+					// To avoid memory leaks we need to reset the thread in any case.
+					thread = null;
+					layoutDelayed();
+				}
+				// END COMPLEX CODE
+			});
+
 		});
 		thread.start();
 	}
 
+	private ReportService getReportService() {
+		if (reportService == null) {
+			final Bundle bundle = FrameworkUtil.getBundle(EMFFormsSWTLayoutDelayed.class);
+			if (bundle == null) {
+				return null;
+			}
+			final BundleContext bundleContext = bundle.getBundleContext();
+			if (bundleContext == null) {
+				return null;
+			}
+			final ServiceReference<ReportService> serviceReference = bundleContext
+				.getServiceReference(ReportService.class);
+			reportService = bundleContext.getService(serviceReference);
+		}
+		return reportService;
+	}
+
 	private synchronized Set<Composite> getRequestedLayouts() {
 		return requestedLayouts;
 	}
diff --git a/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/spi/swt/core/ui/ObjectViewerComparator.java b/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/spi/swt/core/ui/ObjectViewerComparator.java
new file mode 100644
index 0000000..26667cf
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/spi/swt/core/ui/ObjectViewerComparator.java
@@ -0,0 +1,78 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.swt.core.ui;
+
+import org.eclipse.emfforms.common.TriFunction;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.jface.viewers.ViewerComparator;
+import org.eclipse.swt.SWT;
+
+/**
+ * The {@link ObjectViewerComparator} allows to rotate between three sorting states:
+ * <ol>
+ * <li>no sorting
+ * <li>ascending
+ * <li>descending
+ * </ol>
+ * To sort the objects, the comparator applies the configured sorting function to the given objects.
+ *
+ * @author Lucas Koehler
+ * @since 1.20
+ *
+ */
+public class ObjectViewerComparator extends ViewerComparator {
+
+	private static final int NONE = 0;
+	private int direction = NONE;
+	private final TriFunction<Integer, Integer, Object, Object> compareFunction;
+
+	/**
+	 * Creates a new instance.
+	 *
+	 * @param compareFunction The function used to compare objects of the viewer. This tri-function accepts the sorting
+	 *            direction as its first argument and the objects to compare as the following arguments. The sorting
+	 *            directions are: 0 = none, 1 = ascending, 2 = descending
+	 */
+	public ObjectViewerComparator(TriFunction<Integer, Integer, Object, Object> compareFunction) {
+		this.compareFunction = compareFunction;
+		direction = NONE;
+	}
+
+	/** Toggles through the sorting directions: NONE -&gt; UP (ascending) -&gt; DOWN (descending) -&gt; NONE. */
+	public void toggleDirection() {
+		direction = (direction + 1) % 3;
+	}
+
+	/**
+	 * Get the current sorting direction as an SWT constant.
+	 *
+	 * @return SWT.NONE, SWT.UP (ascending), or SWT.DOWN (descending)
+	 */
+	public int getDirection() {
+		switch (direction) {
+		case 0:
+			return SWT.NONE;
+		case 1:
+			return SWT.UP;
+		case 2:
+			return SWT.DOWN;
+		default:
+			return SWT.NONE;
+		}
+
+	}
+
+	@Override
+	public int compare(Viewer viewer, Object e1, Object e2) {
+		return compareFunction.apply(direction, e1, e2);
+	}
+}
diff --git a/bundles/org.eclipse.emfforms.swt.table/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.swt.table/META-INF/MANIFEST.MF
index 36e2b10..697cfad 100644
--- a/bundles/org.eclipse.emfforms.swt.table/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.swt.table/META-INF/MANIFEST.MF
@@ -2,39 +2,39 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Table
 Bundle-SymbolicName: org.eclipse.emfforms.swt.table
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.internal.swt.table;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.internal.swt.table.action;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.internal.swt.table.messages;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.internal.swt.table.util;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.spi.swt.table;version="1.19.0",
-  org.eclipse.emfforms.spi.swt.table.action;version="1.19.0",
-  org.eclipse.emfforms.spi.swt.table.util;version="1.19.0"
-Require-Bundle: org.eclipse.emf.ecp.edit.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emfforms.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.commands;bundle-version="[3.5.0,4.0.0)"
+Export-Package: org.eclipse.emfforms.internal.swt.table;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.swt.table.action;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.swt.table.messages;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.swt.table.util;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.spi.swt.table;version="1.20.0",
+ org.eclipse.emfforms.spi.swt.table.action;version="1.20.0",
+ org.eclipse.emfforms.spi.swt.table.util;version="1.20.0"
+Require-Bundle: org.eclipse.emf.ecp.edit.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emfforms.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.commands;bundle-version="[3.5.0,4.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.swt.table
-Import-Package: org.eclipse.emfforms.spi.localization;version="[1.19.0,1.20.0)",
-  org.eclipse.jface.bindings.keys;version="0.0.0",
-  org.eclipse.jface.databinding.swt;version="0.0.0",
-  org.eclipse.jface.databinding.viewers;version="0.0.0",
-  org.eclipse.jface.dialogs;version="0.0.0",
-  org.eclipse.jface.layout;version="0.0.0",
-  org.eclipse.jface.resource;version="0.0.0",
-  org.eclipse.jface.util;version="0.0.0",
-  org.eclipse.jface.viewers;version="0.0.0",
-  org.eclipse.jface.window;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.custom;version="0.0.0",
-  org.eclipse.swt.dnd;version="0.0.0",
-  org.eclipse.swt.events;version="0.0.0",
-  org.eclipse.swt.graphics;version="0.0.0",
-  org.eclipse.swt.layout;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0",
-  org.osgi.framework;version="1.8.0"
+Import-Package: org.eclipse.emfforms.spi.localization;version="[1.20.0,1.21.0)",
+ org.eclipse.jface.bindings.keys;version="0.0.0",
+ org.eclipse.jface.databinding.swt;version="0.0.0",
+ org.eclipse.jface.databinding.viewers;version="0.0.0",
+ org.eclipse.jface.dialogs;version="0.0.0",
+ org.eclipse.jface.layout;version="0.0.0",
+ org.eclipse.jface.resource;version="0.0.0",
+ org.eclipse.jface.util;version="0.0.0",
+ org.eclipse.jface.viewers;version="0.0.0",
+ org.eclipse.jface.window;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.custom;version="0.0.0",
+ org.eclipse.swt.dnd;version="0.0.0",
+ org.eclipse.swt.events;version="0.0.0",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.eclipse.swt.layout;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.osgi.framework;version="1.8.0"
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emfforms.swt.table/pom.xml b/bundles/org.eclipse.emfforms.swt.table/pom.xml
index e0c09c3..a937ed6 100644
--- a/bundles/org.eclipse.emfforms.swt.table/pom.xml
+++ b/bundles/org.eclipse.emfforms.swt.table/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.swt.table</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emfforms.swt.treemasterdetail.decorator.validation.default/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.swt.treemasterdetail.decorator.validation.default/META-INF/MANIFEST.MF
index c4725c8..5e4c72b 100644
--- a/bundles/org.eclipse.emfforms.swt.treemasterdetail.decorator.validation.default/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.swt.treemasterdetail.decorator.validation.default/META-INF/MANIFEST.MF
@@ -2,20 +2,20 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms TreeViewer Validation Decorator using ECP Validation Service
 Bundle-SymbolicName: org.eclipse.emfforms.swt.treemasterdetail.decorator.validation.default
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.internal.swt.treemasterdetail.decorator.validation.ecp;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.spi.swt.treemasterdetail.decorator.validation.ecp;version="1.19.0"
+Export-Package: org.eclipse.emfforms.internal.swt.treemasterdetail.decorator.validation.ecp;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.spi.swt.treemasterdetail.decorator.validation.ecp;version="1.20.0"
 Require-Bundle: org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emfforms.swt.treemasterdetail;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.edit.swt;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emfforms.swt.treemasterdetail;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.edit.swt;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.swt.treemasterdetail.decorator.validation.default
 Import-Package: org.eclipse.jface.resource;version="0.0.0",
-  org.eclipse.jface.viewers;version="0.0.0",
-  org.eclipse.swt.graphics;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0",
-  org.osgi.framework;version="1.8.0"
+ org.eclipse.jface.viewers;version="0.0.0",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.osgi.framework;version="1.8.0"
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emfforms.swt.treemasterdetail.decorator.validation.default/pom.xml b/bundles/org.eclipse.emfforms.swt.treemasterdetail.decorator.validation.default/pom.xml
index 1b660bc..ddd29e1 100644
--- a/bundles/org.eclipse.emfforms.swt.treemasterdetail.decorator.validation.default/pom.xml
+++ b/bundles/org.eclipse.emfforms.swt.treemasterdetail.decorator.validation.default/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.swt.treemasterdetail.decorator.validation.default</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emfforms.swt.treemasterdetail/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.swt.treemasterdetail/META-INF/MANIFEST.MF
index 5f95fa4..b38c61d 100644
--- a/bundles/org.eclipse.emfforms.swt.treemasterdetail/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.swt.treemasterdetail/META-INF/MANIFEST.MF
@@ -2,43 +2,43 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Treemasterdetail SWT Util
 Bundle-SymbolicName: org.eclipse.emfforms.swt.treemasterdetail;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.edit.ui.action.emfforms;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.internal.swt.treemasterdetail;version="1.19.0";x-friends:="org.eclipse.emfforms.editor.ecore",
-  org.eclipse.emfforms.internal.swt.treemasterdetail.defaultprovider;version="1.19.0";x-friends:="org.eclipse.emfforms.editor.ecore,org.eclipse.emfforms.editor",
-  org.eclipse.emfforms.spi.swt.treemasterdetail;version="1.19.0",
-  org.eclipse.emfforms.spi.swt.treemasterdetail.actions;version="1.19.0",
-  org.eclipse.emfforms.spi.swt.treemasterdetail.actions.delegating;version="1.19.0",
-  org.eclipse.emfforms.spi.swt.treemasterdetail.diagnostic;version="1.19.0",
-  org.eclipse.emfforms.spi.swt.treemasterdetail.util;version="1.19.0"
+Export-Package: org.eclipse.emf.edit.ui.action.emfforms;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.swt.treemasterdetail;version="1.20.0";x-friends:="org.eclipse.emfforms.editor.ecore",
+ org.eclipse.emfforms.internal.swt.treemasterdetail.defaultprovider;version="1.20.0";x-friends:="org.eclipse.emfforms.editor.ecore,org.eclipse.emfforms.editor",
+ org.eclipse.emfforms.spi.swt.treemasterdetail;version="1.20.0",
+ org.eclipse.emfforms.spi.swt.treemasterdetail.actions;version="1.20.0",
+ org.eclipse.emfforms.spi.swt.treemasterdetail.actions.delegating;version="1.20.0",
+ org.eclipse.emfforms.spi.swt.treemasterdetail.diagnostic;version="1.20.0",
+ org.eclipse.emfforms.spi.swt.treemasterdetail.util;version="1.20.0"
 Require-Bundle: org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.treemasterdetail.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.equinox.registry;bundle-version="[3.3.0,4.0.0)",
-  org.eclipse.emfforms.swt.core;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.treemasterdetail.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.equinox.registry;bundle-version="[3.3.0,4.0.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.swt.treemasterdetail
 Import-Package: org.eclipse.core.commands;version="0.0.0",
-  org.eclipse.emf.edit.ui.action;version="0.0.0",
-  org.eclipse.emf.edit.ui.dnd;version="0.0.0",
-  org.eclipse.emf.edit.ui.provider;version="0.0.0",
-  org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.view;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.localization;version="[1.19.0,1.20.0)",
-  org.eclipse.jface.action;version="0.0.0",
-  org.eclipse.jface.databinding.viewers;version="0.0.0",
-  org.eclipse.jface.layout;version="0.0.0",
-  org.eclipse.jface.resource;version="0.0.0",
-  org.eclipse.jface.viewers;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.custom;version="0.0.0",
-  org.eclipse.swt.dnd;version="0.0.0",
-  org.eclipse.swt.events;version="0.0.0",
-  org.eclipse.swt.graphics;version="0.0.0",
-  org.eclipse.swt.layout;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0",
-  org.eclipse.ui.actions;ui.workbench=split;version="0.0.0",
-  org.eclipse.ui.views.properties;ui.views=split;version="0.0.0"
+ org.eclipse.emf.edit.ui.action;version="0.0.0",
+ org.eclipse.emf.edit.ui.dnd;version="0.0.0",
+ org.eclipse.emf.edit.ui.provider;version="0.0.0",
+ org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.view;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.localization;version="[1.20.0,1.21.0)",
+ org.eclipse.jface.action;version="0.0.0",
+ org.eclipse.jface.databinding.viewers;version="0.0.0",
+ org.eclipse.jface.layout;version="0.0.0",
+ org.eclipse.jface.resource;version="0.0.0",
+ org.eclipse.jface.viewers;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.custom;version="0.0.0",
+ org.eclipse.swt.dnd;version="0.0.0",
+ org.eclipse.swt.events;version="0.0.0",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.eclipse.swt.layout;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.eclipse.ui.actions;ui.workbench=split;version="0.0.0",
+ org.eclipse.ui.views.properties;ui.views=split;version="0.0.0"
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emfforms.swt.treemasterdetail/pom.xml b/bundles/org.eclipse.emfforms.swt.treemasterdetail/pom.xml
index 6c1c20b..2c4f06d 100644
--- a/bundles/org.eclipse.emfforms.swt.treemasterdetail/pom.xml
+++ b/bundles/org.eclipse.emfforms.swt.treemasterdetail/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.swt.treemasterdetail</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
   
   <properties>
diff --git a/bundles/org.eclipse.emfforms.swt.treemasterdetail/src/org/eclipse/emfforms/spi/swt/treemasterdetail/TreeMasterDetailMenuListener.java b/bundles/org.eclipse.emfforms.swt.treemasterdetail/src/org/eclipse/emfforms/spi/swt/treemasterdetail/TreeMasterDetailMenuListener.java
index 1a35365..d135bc0 100644
--- a/bundles/org.eclipse.emfforms.swt.treemasterdetail/src/org/eclipse/emfforms/spi/swt/treemasterdetail/TreeMasterDetailMenuListener.java
+++ b/bundles/org.eclipse.emfforms.swt.treemasterdetail/src/org/eclipse/emfforms/spi/swt/treemasterdetail/TreeMasterDetailMenuListener.java
@@ -25,6 +25,7 @@
 import org.eclipse.emfforms.spi.swt.treemasterdetail.util.CreateChildAction;
 import org.eclipse.emfforms.spi.swt.treemasterdetail.util.CreateElementCallback;
 import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
 import org.eclipse.jface.action.IMenuListener;
 import org.eclipse.jface.action.IMenuManager;
 import org.eclipse.jface.action.MenuManager;
@@ -172,12 +173,27 @@
 				continue;
 			}
 
-			manager.add(new CreateChildAction(eObject, domain, treeViewer, cp, createElementCallback));
+			manager.add(createCreateChildAction(domain, eObject, cp));
 		}
 
 	}
 
 	/**
+	 * Creates a new child creation action based on the given {@link CommandParameter}. Subclasses might override this
+	 * to customize the action creation (e.g. an action's label).
+	 *
+	 * @param domain The {@link EditingDomain} the element is be created with
+	 * @param eObject The parent object the element is added to
+	 * @param cp The {@link CommandParameter} creating the element when executed
+	 * @return The action creating a new child when ran
+	 * @since 1.20
+	 */
+	protected IAction createCreateChildAction(final EditingDomain domain, final EObject eObject,
+		final CommandParameter cp) {
+		return new CreateChildAction(eObject, domain, treeViewer, cp, createElementCallback);
+	}
+
+	/**
 	 * Allows to prevent adding a create child action for the given {@link CommandParameter}.
 	 *
 	 * @param cp the descriptor
diff --git a/bundles/org.eclipse.emfforms.view.annotation.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.view.annotation.model.edit/META-INF/MANIFEST.MF
index d4b2d96..c476a13 100644
--- a/bundles/org.eclipse.emfforms.view.annotation.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.view.annotation.model.edit/META-INF/MANIFEST.MF
@@ -2,19 +2,19 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emfforms.view.annotation.model.edit;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.emfforms.spi.view.annotation.model.provider.AnnotationEditPlugin$Implementation
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.emfforms.spi.view.annotation.model.provider;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.emfforms.spi.view.annotation.model.provider;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emfforms.view.annotation.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)",
-  org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emfforms.view.annotation.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)",
+ org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.20.0,1.21.0)"
 Automatic-Module-Name: org.eclipse.emfforms.view.annotation.model.edit
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emfforms.view.annotation.model.edit/pom.xml b/bundles/org.eclipse.emfforms.view.annotation.model.edit/pom.xml
index 69c0d12..d36127f 100644
--- a/bundles/org.eclipse.emfforms.view.annotation.model.edit/pom.xml
+++ b/bundles/org.eclipse.emfforms.view.annotation.model.edit/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emfforms.view.annotation.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.view.annotation.model/META-INF/MANIFEST.MF
index 1ee4988..3969f43 100644
--- a/bundles/org.eclipse.emfforms.view.annotation.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.view.annotation.model/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emfforms.view.annotation.model;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.emfforms.spi.view.annotation.model;version="1.19.0",
-  org.eclipse.emf.emfforms.spi.view.annotation.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.emfforms.spi.view.annotation.model.util;version="1.19.0";x-friends:="org.eclipse.emfforms.view.annotation.model.edit"
+Export-Package: org.eclipse.emf.emfforms.spi.view.annotation.model;version="1.20.0",
+ org.eclipse.emf.emfforms.spi.view.annotation.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.emfforms.spi.view.annotation.model.util;version="1.20.0";x-friends:="org.eclipse.emfforms.view.annotation.model.edit"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emfforms.view.annotation.model
diff --git a/bundles/org.eclipse.emfforms.view.annotation.model/pom.xml b/bundles/org.eclipse.emfforms.view.annotation.model/pom.xml
index b1d1009..051bd67 100644
--- a/bundles/org.eclipse.emfforms.view.annotation.model/pom.xml
+++ b/bundles/org.eclipse.emfforms.view.annotation.model/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emfforms.view.controlgrid.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.view.controlgrid.model.edit/META-INF/MANIFEST.MF
index 8bc4511..0d75570 100644
--- a/bundles/org.eclipse.emfforms.view.controlgrid.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.view.controlgrid.model.edit/META-INF/MANIFEST.MF
@@ -2,21 +2,21 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emfforms.view.controlgrid.model.edit;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.emfforms.spi.view.controlgrid.model.provider.ControlgridEditPlugin$Implementation
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.emfforms.spi.view.controlgrid.model.provider;version="1.19.0"
+Export-Package: org.eclipse.emf.emfforms.spi.view.controlgrid.model.provider;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emfforms.view.controlgrid.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emfforms.view.controlgrid.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emfforms.view.controlgrid.model.edit
-Import-Package: org.eclipse.emf.ecp.view.spi.compoundcontrol.model;version="[1.19.0,1.20.0)";resolution:=optional,
-  org.eclipse.emf.ecp.view.spi.table.model;version="[1.19.0,1.20.0)";resolution:=optional
+Import-Package: org.eclipse.emf.ecp.view.spi.compoundcontrol.model;version="[1.20.0,1.21.0)";resolution:=optional,
+ org.eclipse.emf.ecp.view.spi.table.model;version="[1.20.0,1.21.0)";resolution:=optional
diff --git a/bundles/org.eclipse.emfforms.view.controlgrid.model.edit/pom.xml b/bundles/org.eclipse.emfforms.view.controlgrid.model.edit/pom.xml
index 3186ed2..cce8708 100644
--- a/bundles/org.eclipse.emfforms.view.controlgrid.model.edit/pom.xml
+++ b/bundles/org.eclipse.emfforms.view.controlgrid.model.edit/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emfforms.view.controlgrid.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.view.controlgrid.model/META-INF/MANIFEST.MF
index c5fac00..56ac1fa 100644
--- a/bundles/org.eclipse.emfforms.view.controlgrid.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.view.controlgrid.model/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emfforms.view.controlgrid.model;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.emfforms.spi.view.controlgrid.model;version="1.19.0",
-  org.eclipse.emf.emfforms.spi.view.controlgrid.model.impl;version="1.19.0",
-  org.eclipse.emf.emfforms.spi.view.controlgrid.model.util;version="1.19.0"
+Export-Package: org.eclipse.emf.emfforms.spi.view.controlgrid.model;version="1.20.0",
+ org.eclipse.emf.emfforms.spi.view.controlgrid.model.impl;version="1.20.0",
+ org.eclipse.emf.emfforms.spi.view.controlgrid.model.util;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emfforms.view.controlgrid.model
diff --git a/bundles/org.eclipse.emfforms.view.controlgrid.model/pom.xml b/bundles/org.eclipse.emfforms.view.controlgrid.model/pom.xml
index bb9dece..caa67a5 100644
--- a/bundles/org.eclipse.emfforms.view.controlgrid.model/pom.xml
+++ b/bundles/org.eclipse.emfforms.view.controlgrid.model/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emfforms.view.indexsegment.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.view.indexsegment.model.edit/META-INF/MANIFEST.MF
index c8ebccf..a212edd 100644
--- a/bundles/org.eclipse.emfforms.view.indexsegment.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.view.indexsegment.model.edit/META-INF/MANIFEST.MF
@@ -2,19 +2,19 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emfforms.view.indexsegment.model.edit;singleton:=true
-Automatic-Module-Name: org.eclipse.emfforms.view.indexsegment.model.edit
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emfforms.spi.view.indexsegment.model.provider.IndexsegmentEditPlugin$Implementation
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Export-Package: org.eclipse.emfforms.spi.view.indexsegment.model.provider;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emfforms.spi.view.indexsegment.model.provider;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.13.0,4.0.0)",
- org.eclipse.emfforms.view.indexsegment.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
+ org.eclipse.emfforms.view.indexsegment.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
  org.eclipse.emf.edit;bundle-version="[2.12.0,3.0.0)";visibility:=reexport,
  org.eclipse.emf.ecore;bundle-version="[2.12.0,3.0.0)";visibility:=reexport,
  org.eclipse.emf.ecore.edit;bundle-version="[2.9.0,3.0.0)";visibility:=reexport,
- org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,2.0.0)";visibility:=reexport,
- org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.19.0,2.0.0)";visibility:=reexport
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
+Automatic-Module-Name: org.eclipse.emfforms.view.indexsegment.model.edit
 Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emfforms.view.indexsegment.model.edit/pom.xml b/bundles/org.eclipse.emfforms.view.indexsegment.model.edit/pom.xml
index 210de2d..5200d9a 100644
--- a/bundles/org.eclipse.emfforms.view.indexsegment.model.edit/pom.xml
+++ b/bundles/org.eclipse.emfforms.view.indexsegment.model.edit/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emfforms.view.indexsegment.model.edit</artifactId>
   <packaging>eclipse-plugin</packaging>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 
   <groupId>org.eclipse.emf.ecp</groupId>
 </project>
diff --git a/bundles/org.eclipse.emfforms.view.indexsegment.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.view.indexsegment.model/META-INF/MANIFEST.MF
index 301bf75..3a03343 100644
--- a/bundles/org.eclipse.emfforms.view.indexsegment.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.view.indexsegment.model/META-INF/MANIFEST.MF
@@ -2,17 +2,17 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emfforms.view.indexsegment.model;singleton:=true
-Automatic-Module-Name: org.eclipse.emfforms.view.indexsegment.model
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Export-Package: org.eclipse.emfforms.spi.view.indexsegment.model;version="1.19.0",
- org.eclipse.emfforms.spi.view.indexsegment.model.impl;version="1.19.0";x-internal:=true,
- org.eclipse.emfforms.spi.view.indexsegment.model.util;version="1.19.0";x-friends:="org.eclipse.emfforms.view.indexsegment.model.edit"
+Export-Package: org.eclipse.emfforms.spi.view.indexsegment.model;version="1.20.0",
+ org.eclipse.emfforms.spi.view.indexsegment.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.spi.view.indexsegment.model.util;version="1.20.0";x-friends:="org.eclipse.emfforms.view.indexsegment.model.edit"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.13.0,4.0.0)",
  org.eclipse.emf.ecore;bundle-version="[2.12.0,3.0.0)";visibility:=reexport,
  org.eclipse.emf.ecore.xmi;bundle-version="[2.12.0,3.0.0)";visibility:=reexport,
- org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
+Automatic-Module-Name: org.eclipse.emfforms.view.indexsegment.model
diff --git a/bundles/org.eclipse.emfforms.view.indexsegment.model/pom.xml b/bundles/org.eclipse.emfforms.view.indexsegment.model/pom.xml
index feb69ba..0ce8f8b 100644
--- a/bundles/org.eclipse.emfforms.view.indexsegment.model/pom.xml
+++ b/bundles/org.eclipse.emfforms.view.indexsegment.model/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emfforms.view.indexsegment.model</artifactId>
   <packaging>eclipse-plugin</packaging>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 
   <groupId>org.eclipse.emf.ecp</groupId>
 </project>
diff --git a/bundles/org.eclipse.emfforms.view.mappingsegment.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.view.mappingsegment.model.edit/META-INF/MANIFEST.MF
index 496d627..abb1be1 100644
--- a/bundles/org.eclipse.emfforms.view.mappingsegment.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.view.mappingsegment.model.edit/META-INF/MANIFEST.MF
@@ -2,19 +2,19 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emfforms.view.mappingsegment.model.edit;singleton:=true
-Automatic-Module-Name: org.eclipse.emfforms.view.mappingsegment.model.edit
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emfforms.spi.view.mappingsegment.model.provider.MappingsegmentEditPlugin$Implementation
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Export-Package: org.eclipse.emfforms.spi.view.mappingsegment.model.provider;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emfforms.spi.view.mappingsegment.model.provider;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.13.0,4.0.0)",
- org.eclipse.emfforms.view.mappingsegment.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
+ org.eclipse.emfforms.view.mappingsegment.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
  org.eclipse.emf.edit;bundle-version="[2.12.0,3.0.0)";visibility:=reexport,
  org.eclipse.emf.ecore;bundle-version="[2.12.0,3.0.0)";visibility:=reexport,
  org.eclipse.emf.ecore.edit;bundle-version="[2.9.0,3.0.0)";visibility:=reexport,
- org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
- org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
+Automatic-Module-Name: org.eclipse.emfforms.view.mappingsegment.model.edit
 Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emfforms.view.mappingsegment.model.edit/pom.xml b/bundles/org.eclipse.emfforms.view.mappingsegment.model.edit/pom.xml
index 7642948..f91ce0f 100644
--- a/bundles/org.eclipse.emfforms.view.mappingsegment.model.edit/pom.xml
+++ b/bundles/org.eclipse.emfforms.view.mappingsegment.model.edit/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emfforms.view.mappingsegment.model.edit</artifactId>
   <packaging>eclipse-plugin</packaging>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 
   <groupId>org.eclipse.emf.ecp</groupId>
 </project>
diff --git a/bundles/org.eclipse.emfforms.view.mappingsegment.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.view.mappingsegment.model/META-INF/MANIFEST.MF
index 7aabf9a..f8b72ec 100644
--- a/bundles/org.eclipse.emfforms.view.mappingsegment.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.view.mappingsegment.model/META-INF/MANIFEST.MF
@@ -2,17 +2,17 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emfforms.view.mappingsegment.model;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Automatic-Module-Name: org.eclipse.emfforms.view.mappingsegment.model
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Export-Package: org.eclipse.emfforms.spi.view.mappingsegment.model;version="1.19.0",
- org.eclipse.emfforms.spi.view.mappingsegment.model.impl;version="1.19.0";x-internal:=true,
- org.eclipse.emfforms.spi.view.mappingsegment.model.util;version="1.19.0";x-friends:="org.eclipse.emfforms.view.mappingsegment.model.edit"
+Export-Package: org.eclipse.emfforms.spi.view.mappingsegment.model;version="1.20.0",
+ org.eclipse.emfforms.spi.view.mappingsegment.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.spi.view.mappingsegment.model.util;version="1.20.0";x-friends:="org.eclipse.emfforms.view.mappingsegment.model.edit"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.13.0,4.0.0)",
  org.eclipse.emf.ecore;bundle-version="[2.12.0,3.0.0)";visibility:=reexport,
  org.eclipse.emf.ecore.xmi;bundle-version="[2.12.0,3.0.0)";visibility:=reexport,
- org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
+Automatic-Module-Name: org.eclipse.emfforms.view.mappingsegment.model
diff --git a/bundles/org.eclipse.emfforms.view.mappingsegment.model/pom.xml b/bundles/org.eclipse.emfforms.view.mappingsegment.model/pom.xml
index e280c60..026670d 100644
--- a/bundles/org.eclipse.emfforms.view.mappingsegment.model/pom.xml
+++ b/bundles/org.eclipse.emfforms.view.mappingsegment.model/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emfforms.view.mappingsegment.model</artifactId>
   <packaging>eclipse-plugin</packaging>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 
   <groupId>org.eclipse.emf.ecp</groupId>
 </project>
diff --git a/bundles/org.eclipse.emfforms.view.model.localization/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.view.model.localization/META-INF/MANIFEST.MF
index 980c80b..e04fa8f 100644
--- a/bundles/org.eclipse.emfforms.view.model.localization/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.view.model.localization/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms View Localization
 Bundle-SymbolicName: org.eclipse.emfforms.view.model.localization;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.internal.view.model.localization;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emfforms.internal.view.model.localization;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.view.model.localization
-Import-Package: org.eclipse.emfforms.spi.common.locale;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.view;version="[1.19.0,1.20.0)",
-  org.osgi.framework;version="1.5.0"
+Import-Package: org.eclipse.emfforms.spi.common.locale;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.view;version="[1.20.0,1.21.0)",
+ org.osgi.framework;version="1.5.0"
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emfforms.view.model.localization/pom.xml b/bundles/org.eclipse.emfforms.view.model.localization/pom.xml
index 0e2d502..57de5a8 100644
--- a/bundles/org.eclipse.emfforms.view.model.localization/pom.xml
+++ b/bundles/org.eclipse.emfforms.view.model.localization/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emfforms.view.multisegment.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.view.multisegment.model.edit/META-INF/MANIFEST.MF
index ebf016b..ed980ea 100644
--- a/bundles/org.eclipse.emfforms.view.multisegment.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.view.multisegment.model.edit/META-INF/MANIFEST.MF
@@ -2,19 +2,19 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emfforms.view.multisegment.model.edit;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emfforms.view.spi.multisegment.model.provider.MultisegmentEditPlugin$Implementation
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Export-Package: org.eclipse.emfforms.view.spi.multisegment.model.provider;version="2.0.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.12.0,4.0.0)",
- org.eclipse.emfforms.view.multisegment.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
+ org.eclipse.emfforms.view.multisegment.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
  org.eclipse.emf.edit;bundle-version="[2.12.0,3.0.0)";visibility:=reexport,
  org.eclipse.emf.ecore;bundle-version="[2.12.0,3.0.0)";visibility:=reexport,
  org.eclipse.emf.ecore.edit;bundle-version="[2.9.0,3.0.0)";visibility:=reexport,
- org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
- org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
-Bundle-ActivationPolicy: lazy
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
 Automatic-Module-Name: org.eclipse.emfforms.view.multisegment.model.edit
+Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emfforms.view.multisegment.model.edit/pom.xml b/bundles/org.eclipse.emfforms.view.multisegment.model.edit/pom.xml
index aee96ce..765b672 100644
--- a/bundles/org.eclipse.emfforms.view.multisegment.model.edit/pom.xml
+++ b/bundles/org.eclipse.emfforms.view.multisegment.model.edit/pom.xml
@@ -7,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emfforms.view.multisegment.model.edit</artifactId>
   <packaging>eclipse-plugin</packaging>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 
   <groupId>org.eclipse.emf.ecp</groupId>
 </project>
diff --git a/bundles/org.eclipse.emfforms.view.multisegment.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.view.multisegment.model/META-INF/MANIFEST.MF
index befbcc8..b5aa729 100644
--- a/bundles/org.eclipse.emfforms.view.multisegment.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.view.multisegment.model/META-INF/MANIFEST.MF
@@ -2,18 +2,17 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emfforms.view.multisegment.model;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Export-Package: org.eclipse.emfforms.view.spi.multisegment.model;version="1.19.0",
- org.eclipse.emfforms.view.spi.multisegment.model.impl;version="1.19.0";x-internal:=true,
- org.eclipse.emfforms.view.spi.multisegment.model.util;version="1.19.0";
-  x-friends:="org.eclipse.emfforms.view.multisegment.model.edit"
+Export-Package: org.eclipse.emfforms.view.spi.multisegment.model;version="1.20.0",
+ org.eclipse.emfforms.view.spi.multisegment.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.view.spi.multisegment.model.util;version="1.20.0";x-friends:="org.eclipse.emfforms.view.multisegment.model.edit"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.12.0,4.0.0)",
  org.eclipse.emf.ecore;bundle-version="[2.12.0,3.0.0)";visibility:=reexport,
  org.eclipse.emf.ecore.xmi;bundle-version="[2.12.0,3.0.0)";visibility:=reexport,
- org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emfforms.view.multisegment.model
diff --git a/bundles/org.eclipse.emfforms.view.multisegment.model/pom.xml b/bundles/org.eclipse.emfforms.view.multisegment.model/pom.xml
index e16fb3e..e145ec5 100644
--- a/bundles/org.eclipse.emfforms.view.multisegment.model/pom.xml
+++ b/bundles/org.eclipse.emfforms.view.multisegment.model/pom.xml
@@ -1,4 +1,3 @@
-
 <?xml version="1.0" encoding="UTF-8"?>
 <project xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
@@ -8,13 +7,13 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emfforms.view.multisegment.model</artifactId>
   <packaging>eclipse-plugin</packaging>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 
   <groupId>org.eclipse.emf.ecp</groupId>
 </project>
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.error.model.edit/META-INF/MANIFEST.MF b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.error.model.edit/META-INF/MANIFEST.MF
index 26d077d..69393df 100644
--- a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.error.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.error.model.edit/META-INF/MANIFEST.MF
@@ -9,12 +9,12 @@
 Bundle-Localization: plugin
 Export-Package: org.eclipse.emfforms.spi.spreadsheet.core.error.model.provider;version="1.0.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emfforms.spreadsheet.core.error.model;bundle-version="[1.0.0,1.1.0)";visibility:=reexport,
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emfforms.spreadsheet.core.error.model;bundle-version="[1.0.0,1.1.0)";visibility:=reexport,
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
 Automatic-Module-Name: org.eclipse.emfforms.spreadsheet.core.error.model.edit
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.error.model/META-INF/MANIFEST.MF b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.error.model/META-INF/MANIFEST.MF
index 875eec5..961de0d 100644
--- a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.error.model/META-INF/MANIFEST.MF
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.error.model/META-INF/MANIFEST.MF
@@ -7,17 +7,17 @@
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
 Export-Package: org.eclipse.emfforms.spi.spreadsheet.core.error.model;version="1.0.0",
-  org.eclipse.emfforms.spi.spreadsheet.core.error.model.impl;version="1.0.0",
-  org.eclipse.emfforms.spi.spreadsheet.core.error.model.util;version="1.0.0"
+ org.eclipse.emfforms.spi.spreadsheet.core.error.model.impl;version="1.0.0",
+ org.eclipse.emfforms.spi.spreadsheet.core.error.model.util;version="1.0.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
 Import-Package: org.eclipse.core.databinding.observable.list;version="0.0.0",
-  org.eclipse.core.databinding.observable.value;version="0.0.0",
-  org.eclipse.core.databinding.property.list;version="0.0.0",
-  org.eclipse.core.databinding.property.value;version="0.0.0",
-  org.eclipse.emfforms.internal.core.services.label;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.label;version="[1.19.0,1.20.0)"
+ org.eclipse.core.databinding.observable.value;version="0.0.0",
+ org.eclipse.core.databinding.property.list;version="0.0.0",
+ org.eclipse.core.databinding.property.value;version="0.0.0",
+ org.eclipse.emfforms.internal.core.services.label;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.label;version="[1.20.0,1.21.0)"
 Automatic-Module-Name: org.eclipse.emfforms.spreadsheet.core.error.model
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/META-INF/MANIFEST.MF b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/META-INF/MANIFEST.MF
index eea7e82..1673236 100644
--- a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/META-INF/MANIFEST.MF
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/META-INF/MANIFEST.MF
@@ -5,14 +5,14 @@
 Bundle-Version: 1.0.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
 Export-Package: org.eclipse.emfforms.internal.spreadsheet.core.renderer.categorization;version="1.0.0";x-internal:=true
-Require-Bundle: org.eclipse.emfforms.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spreadsheet.core;bundle-version="[1.0.0,1.1.0)",
-  org.eclipse.emfforms.view.annotation.model;bundle-version="[1.19.0,1.20.0)"
+Require-Bundle: org.eclipse.emfforms.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spreadsheet.core;bundle-version="[1.0.0,1.1.0)",
+ org.eclipse.emfforms.view.annotation.model;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.categorization.EMFFormsCategorizationElementRendererService.xml,OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.categorization.EMFFormsCategorizationRendererService.xml,OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.categorization.EMFFormsCategoryRendererService.xml
 Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.emf.ecp.view.spi.context;version="[1.19.0,1.20.0)",
-  org.osgi.framework;version="[1.6.0,2.0.0)",
-  org.osgi.service.component.annotations;version="[1.2.0,2.0.0)"
+Import-Package: org.eclipse.emf.ecp.view.spi.context;version="[1.20.0,1.21.0)",
+ org.osgi.framework;version="[1.6.0,2.0.0)",
+ org.osgi.service.component.annotations;version="[1.2.0,2.0.0)"
 Automatic-Module-Name: org.eclipse.emfforms.spreadsheet.core.renderer.categorization
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/META-INF/MANIFEST.MF b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/META-INF/MANIFEST.MF
index 9c60d32..bbc6ad8 100644
--- a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/META-INF/MANIFEST.MF
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/META-INF/MANIFEST.MF
@@ -5,9 +5,9 @@
 Bundle-Version: 1.0.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
 Export-Package: org.eclipse.emfforms.internal.spreadsheet.core.renderer.custom;version="1.0.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.custom.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spreadsheet.core;bundle-version="[1.0.0,1.1.0)"
+Require-Bundle: org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.custom.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spreadsheet.core;bundle-version="[1.0.0,1.1.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.custom.EMFFormsSpreadsheetCustomControlRendererService.xml
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/META-INF/MANIFEST.MF b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/META-INF/MANIFEST.MF
index e3f9204..fe52fd7 100644
--- a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/META-INF/MANIFEST.MF
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/META-INF/MANIFEST.MF
@@ -5,19 +5,19 @@
 Bundle-Version: 1.0.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
 Export-Package: org.eclipse.emfforms.internal.spreadsheet.core.renderer.table;version="1.0.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.table.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.indexdmr.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spreadsheet.core;bundle-version="[1.0.0,1.1.0)",
-  org.eclipse.emfforms.spreadsheet.core.renderer;bundle-version="[1.0.0,1.1.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)"
+Require-Bundle: org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.table.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.indexdmr.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spreadsheet.core;bundle-version="[1.0.0,1.1.0)",
+ org.eclipse.emfforms.spreadsheet.core.renderer;bundle-version="[1.0.0,1.1.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.table.EMFFormsSpreadsheetTableControlRendererService.xml
 Bundle-ActivationPolicy: lazy
 Import-Package: org.eclipse.emf.databinding;version="0.0.0",
-  org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.19.0,1.20.0)",
-  org.osgi.framework;version="1.8.0",
-  org.osgi.service.component.annotations;version="[1.2.0,2.0.0)"
+ org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.20.0,1.21.0)",
+ org.osgi.framework;version="1.8.0",
+ org.osgi.service.component.annotations;version="[1.2.0,2.0.0)"
 Automatic-Module-Name: org.eclipse.emfforms.spreadsheet.core.renderer.table
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/META-INF/MANIFEST.MF b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/META-INF/MANIFEST.MF
index fc84569..83f7b47 100644
--- a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/META-INF/MANIFEST.MF
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/META-INF/MANIFEST.MF
@@ -7,22 +7,22 @@
 Bundle-Vendor: Eclipse Modeling Project
 Export-Package: org.eclipse.emfforms.internal.spreadsheet.core.renderer;version="1.0.0";x-internal:=true
 Require-Bundle: org.eclipse.emfforms.spreadsheet.core;bundle-version="[1.0.0,1.1.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.indexdmr.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.databinding.property;bundle-version="[1.3.0,2.0.0)"
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.indexdmr.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.3.0,2.0.0)"
 Import-Package: org.eclipse.core.databinding.observable;version="0.0.0",
-  org.eclipse.core.databinding.observable.value;version="0.0.0",
-  org.eclipse.emf.databinding;version="0.0.0",
-  org.eclipse.emf.ecore.xmi;version="0.0.0",
-  org.eclipse.emf.ecp.view.spi.context;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.databinding;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.domainexpander;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.label;version="[1.19.0,1.20.0)",
-  org.osgi.framework;version="1.6.0",
-  org.osgi.service.component.annotations;version="1.2.0"
+ org.eclipse.core.databinding.observable.value;version="0.0.0",
+ org.eclipse.emf.databinding;version="0.0.0",
+ org.eclipse.emf.ecore.xmi;version="0.0.0",
+ org.eclipse.emf.ecp.view.spi.context;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.databinding;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.domainexpander;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.label;version="[1.20.0,1.21.0)",
+ org.osgi.framework;version="1.6.0",
+ org.osgi.service.component.annotations;version="1.2.0"
 Automatic-Module-Name: org.eclipse.emfforms.spreadsheet.core.renderer
 Service-Component: OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.EMFFormsSpreadsheetContainerRendererService.xml,OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.EMFFormsSpreadsheetControlRendererService.xml,OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.EMFFormsSpreadsheetElementRendererService.xml,OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.EMFFormsSpreadsheetViewRendererService.xml
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/META-INF/MANIFEST.MF b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/META-INF/MANIFEST.MF
index b877475..9936d8a 100644
--- a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/META-INF/MANIFEST.MF
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/META-INF/MANIFEST.MF
@@ -6,29 +6,29 @@
 Bundle-ClassPath: .
 Bundle-Vendor: Eclipse Modeling Project
 Export-Package: org.eclipse.emfforms.internal.spreadsheet.core;version="1.0.0";x-internal:=true,
-  org.eclipse.emfforms.internal.spreadsheet.core.converter;version="1.0.0";x-internal:=true,
-  org.eclipse.emfforms.internal.spreadsheet.core.transfer;version="1.0.0";x-internal:=true,
-  org.eclipse.emfforms.spi.spreadsheet.core;version="1.0.0",
-  org.eclipse.emfforms.spi.spreadsheet.core.converter;version="1.0.0",
-  org.eclipse.emfforms.spi.spreadsheet.core.transfer;version="1.0.0"
-Require-Bundle: org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.common;bundle-version="[1.19.0,1.20.0)",
-  org.apache.poi;bundle-version="[3.8.0,4.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.indexdmr.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.core.databinding.observable;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emfforms.view.model.localization;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecore.xmi;bundle-version="[2.7.0,3.0.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spreadsheet.core.error.model;bundle-version="[1.0.0,1.1.0)",
-  org.eclipse.emf.ecp.view.migrator;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emfforms.internal.spreadsheet.core.converter;version="1.0.0";x-internal:=true,
+ org.eclipse.emfforms.internal.spreadsheet.core.transfer;version="1.0.0";x-internal:=true,
+ org.eclipse.emfforms.spi.spreadsheet.core;version="1.0.0",
+ org.eclipse.emfforms.spi.spreadsheet.core.converter;version="1.0.0",
+ org.eclipse.emfforms.spi.spreadsheet.core.transfer;version="1.0.0"
+Require-Bundle: org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.common;bundle-version="[1.20.0,1.21.0)",
+ org.apache.poi;bundle-version="[3.8.0,4.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.indexdmr.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.core.databinding.observable;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emfforms.view.model.localization;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.7.0,3.0.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spreadsheet.core.error.model;bundle-version="[1.0.0,1.1.0)",
+ org.eclipse.emf.ecp.view.migrator;bundle-version="[1.20.0,1.21.0)"
 Import-Package: org.eclipse.emf.databinding;version="0.0.0",
-  org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.localization;version="[1.19.0,1.20.0)",
-  org.osgi.framework;version="1.6.0",
-  org.osgi.service.component.annotations;version="1.2.0"
+ org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.localization;version="[1.20.0,1.21.0)",
+ org.osgi.framework;version="1.6.0",
+ org.osgi.service.component.annotations;version="1.2.0"
 Automatic-Module-Name: org.eclipse.emfforms.spreadsheet.core
 Service-Component: OSGI-INF/EMFFormsSpreadsheetFormatDescriptionProviderImpl.xml,
  OSGI-INF/EMFFormsSpreadsheetMultiAttributeConverter.xml,
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.file/META-INF/MANIFEST.MF b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.file/META-INF/MANIFEST.MF
index 9a2a3b8..7112b03 100644
--- a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.file/META-INF/MANIFEST.MF
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.file/META-INF/MANIFEST.MF
@@ -5,14 +5,14 @@
 Bundle-Version: 1.0.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
 Export-Package: org.eclipse.emfforms.internal.spreadsheet.file;version="1.0.0";x-internal:=true,
-  org.eclipse.emfforms.internal.spreadsheet.file.messages;version="1.0.0";x-internal:=true,
-  org.eclipse.emfforms.spi.spreadsheet.file;version="1.0.0"
-Require-Bundle: org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spreadsheet.core;bundle-version="[1.0.0,1.1.0)",
-  org.eclipse.emfforms.spreadsheet.core.error.model;bundle-version="[1.0.0,1.1.0)"
+ org.eclipse.emfforms.internal.spreadsheet.file.messages;version="1.0.0";x-internal:=true,
+ org.eclipse.emfforms.spi.spreadsheet.file;version="1.0.0"
+Require-Bundle: org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spreadsheet.core;bundle-version="[1.0.0,1.1.0)",
+ org.eclipse.emfforms.spreadsheet.core.error.model;bundle-version="[1.0.0,1.1.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.spreadsheet.file
-Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.osgi.util;version="1.1.0",
-  org.osgi.framework;version="[1.2.0,2.0.0)"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.osgi.util;version="1.1.0",
+ org.osgi.framework;version="[1.2.0,2.0.0)"
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.stream/META-INF/MANIFEST.MF b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.stream/META-INF/MANIFEST.MF
index f65b513..56f163f 100644
--- a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.stream/META-INF/MANIFEST.MF
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.stream/META-INF/MANIFEST.MF
@@ -5,14 +5,14 @@
 Bundle-Version: 1.0.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
 Export-Package: org.eclipse.emfforms.internal.spreadsheet.stream;version="1.0.0";x-internal:=true,
-  org.eclipse.emfforms.internal.spreadsheet.stream.messages;version="1.0.0";x-internal:=true,
-  org.eclipse.emfforms.spi.spreadsheet.stream;version="1.0.0"
+ org.eclipse.emfforms.internal.spreadsheet.stream.messages;version="1.0.0";x-internal:=true,
+ org.eclipse.emfforms.spi.spreadsheet.stream;version="1.0.0"
 Require-Bundle: org.eclipse.emfforms.spreadsheet.core;bundle-version="[1.0.0,1.1.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spreadsheet.core.error.model;bundle-version="[1.0.0,1.1.0)"
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spreadsheet.core.error.model;bundle-version="[1.0.0,1.1.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.spreadsheet.stream
-Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.osgi.util;version="1.1.0",
-  org.osgi.framework;version="[1.3.0,2.0.0)"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.osgi.util;version="1.1.0",
+ org.osgi.framework;version="[1.3.0,2.0.0)"
 Bundle-ActivationPolicy: lazy
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/META-INF/MANIFEST.MF
index 01895a6..bd58afa 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: MakeItHappen Sample Application e3
 Bundle-SymbolicName: org.eclipse.emf.ecp.makeithappen.application.sample.e3;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Framework
-Export-Package: org.eclipse.emf.ecp.makeithappen.application.sample.e3;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.makeithappen.application.sample.e3;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.ui;bundle-version="[3.0.0,4.0.0)",
-  org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.makeithappen.model.edit;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.edit;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.emf.ecp.makeithappen.model.edit;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.edit;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.makeithappen.application.sample.e3
 Bundle-ActivationPolicy: lazy
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/makeithappen_e3.product b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/makeithappen_e3.product
index 743f7e5..b584b46 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/makeithappen_e3.product
+++ b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/makeithappen_e3.product
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?pde version="3.5"?>
 
-<product name="MakeItHappen Sample e3 Product" uid="org.eclipse.emf.ecp.makeithappen.sample.product.e3" id="org.eclipse.emf.ecp.makeithappen.application.sample.e3.product" application="org.eclipse.emf.ecp.makeithappen.application.sample.e3.application" version="1.19.0" useFeatures="true" includeLaunchers="true">
+<product name="MakeItHappen Sample e3 Product" uid="org.eclipse.emf.ecp.makeithappen.sample.product.e3" id="org.eclipse.emf.ecp.makeithappen.application.sample.e3.product" application="org.eclipse.emf.ecp.makeithappen.application.sample.e3.application" version="1.20.0" useFeatures="true" includeLaunchers="true">
 
    <configIni use="default">
    </configIni>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/pom.xml b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/pom.xml
index 57dd6b6..58c6481 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/pom.xml
+++ b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-examples-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.examples/</relativePath>
   </parent>
 
@@ -15,7 +15,7 @@
   <packaging>eclipse-plugin</packaging>
 
   <groupId>org.eclipse.emf.ecp</groupId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   
   <properties>
   	<jacoco.percentage.instruction>0.0</jacoco.percentage.instruction>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/META-INF/MANIFEST.MF
index aebc194..a5021c9 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/META-INF/MANIFEST.MF
@@ -2,24 +2,24 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: MakeItHappen Sample Application e4
 Bundle-SymbolicName: org.eclipse.emf.ecp.makeithappen.application.sample.e4;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.makeithappen.application.sample.e4.parts;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.makeithappen.application.sample.e4.parts;version="1.20.0";x-internal:=true
 Require-Bundle: javax.inject;bundle-version="1.0.0",
-  org.eclipse.core.runtime;bundle-version="[3.9.100,4.0.0)",
-  org.eclipse.swt;bundle-version="[3.102.1,4.0.0)",
-  org.eclipse.e4.ui.model.workbench;bundle-version="[1.0.1,3.0.0)",
-  org.eclipse.jface;bundle-version="[3.9.1,4.0.0)",
-  org.eclipse.e4.ui.services;bundle-version="[1.0.1,2.0.0)",
-  org.eclipse.e4.ui.workbench;bundle-version="[1.0.2,2.0.0)",
-  org.eclipse.e4.core.di;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.e4.ui.di;bundle-version="[1.0.0,2.0.0)",
-  org.eclipse.e4.core.contexts;bundle-version="[1.3.1,2.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emf.ecp.makeithappen.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.edit;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.core.runtime;bundle-version="[3.9.100,4.0.0)",
+ org.eclipse.swt;bundle-version="[3.102.1,4.0.0)",
+ org.eclipse.e4.ui.model.workbench;bundle-version="[1.0.1,3.0.0)",
+ org.eclipse.jface;bundle-version="[3.9.1,4.0.0)",
+ org.eclipse.e4.ui.services;bundle-version="[1.0.1,2.0.0)",
+ org.eclipse.e4.ui.workbench;bundle-version="[1.0.2,2.0.0)",
+ org.eclipse.e4.core.di;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.e4.ui.di;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.e4.core.contexts;bundle-version="[1.3.1,2.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.ecp.makeithappen.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.edit;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.makeithappen.application.sample.e4
 Import-Package: javax.annotation;version="1.0.0"
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/makeithappen_e4.product b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/makeithappen_e4.product
index 8422e68..ea0b90e 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/makeithappen_e4.product
+++ b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/makeithappen_e4.product
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?pde version="3.5"?>
 
-<product name="MakeItHappen Sample e4 Product" uid="org.eclipse.emf.ecp.makeithappen.sample.product.e4" id="org.eclipse.emf.ecp.makeithappen.application.sample.e4.product" application="org.eclipse.e4.ui.workbench.swt.E4Application" version="1.19.0" useFeatures="true" includeLaunchers="true">
+<product name="MakeItHappen Sample e4 Product" uid="org.eclipse.emf.ecp.makeithappen.sample.product.e4" id="org.eclipse.emf.ecp.makeithappen.application.sample.e4.product" application="org.eclipse.e4.ui.workbench.swt.E4Application" version="1.20.0" useFeatures="true" includeLaunchers="true">
 
    <configIni use="default">
    </configIni>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/pom.xml b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/pom.xml
index 940327a..59bb82a 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/pom.xml
+++ b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-examples-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.examples/</relativePath>
   </parent>
 
@@ -15,7 +15,7 @@
   <packaging>eclipse-plugin</packaging>
 
   <groupId>org.eclipse.emf.ecp</groupId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 
   <properties>
   	<jacoco.percentage.instruction>0.0</jacoco.percentage.instruction>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/META-INF/MANIFEST.MF
index 7bcb083..10f7ae8 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/META-INF/MANIFEST.MF
@@ -5,11 +5,11 @@
 Bundle-Version: 1.7.0.qualifier
 Export-Package: org.eclipse.emf.ecp.makeithappen.application.sample.fx;version="1.6.0";x-internal:=true
 Require-Bundle: org.eclipse.fx.osgi.util;bundle-version="[2.0.0,3.0.0)",
-  org.eclipse.fx.core.databinding;bundle-version="[2.0.0,3.0.0)",
-  org.eclipse.fx.ui.databinding;bundle-version="[2.0.0,3.0.0)",
-  org.eclipse.equinox.app;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emf.ecp.view.model.fx;bundle-version="[1.16.0,1.17.0)",
-  org.eclipse.emf.ecp.makeithappen.model;bundle-version="[1.16.0,1.17.0)"
-Bundle-ActivationPolicy: lazy
+ org.eclipse.fx.core.databinding;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.fx.ui.databinding;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.equinox.app;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emf.ecp.view.model.fx;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.makeithappen.model;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.makeithappen.application.sample.fx
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/META-INF/MANIFEST.MF
index 3e90316..1bb08dd 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: MakeItHappen Sample J2ee RAP
 Bundle-SymbolicName: org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
 Export-Package: org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee;version="1.4.0";x-internal:=true
 Require-Bundle: org.eclipse.rap.rwt;bundle-version="[2.0.0,4.0.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.makeithappen.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.rap.jface;bundle-version="[2.0.0,4.0.0)",
-  org.eclipse.emf.ecp.edit;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.rap.jface.databinding;bundle-version="[2.0.0,4.0.0)"
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.makeithappen.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.rap.jface;bundle-version="[2.0.0,4.0.0)",
+ org.eclipse.emf.ecp.edit;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.rap.jface.databinding;bundle-version="[2.0.0,4.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee
 Service-Component: OSGI-INF/makeithappenApplicationConfiguration.xml
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/makeithappen_RAP.target b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/makeithappen_RAP.target
index bf795c4..6387b64 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/makeithappen_RAP.target
+++ b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/makeithappen_RAP.target
@@ -5,7 +5,7 @@
 <unit id="org.eclipse.emf.ecp.emfforms.runtime.feature.feature.group" version="0.0.0"/>
 <unit id="org.eclipse.emf.ecp.rap.sdk.feature.feature.group" version="0.0.0"/>
 <unit id="org.eclipse.emf.ecp.rap.util.feature.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/ecp/releases/releases_target_119"/>
+<repository location="http://download.eclipse.org/ecp/releases/releases_target_120"/>
 </location>
 <location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
 <unit id="org.eclipse.e4.rcp.feature.group" version="0.0.0"/>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/pom.xml b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/pom.xml
index 85f887d..79867f3 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/pom.xml
+++ b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-examples-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.examples/</relativePath>
   </parent>
 
@@ -15,7 +15,7 @@
   <packaging>eclipse-plugin</packaging>
 
   <groupId>org.eclipse.emf.ecp</groupId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 
   <properties>
   	<jacoco.percentage.instruction>0.0</jacoco.percentage.instruction>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/META-INF/MANIFEST.MF
index 4a180ea..4adadbe 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: MakeItHappen Sample RAP Application
 Bundle-SymbolicName: org.eclipse.emf.ecp.makeithappen.application.sample.rap;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Framework
 Export-Package: org.eclipse.emf.ecp.makeithappen.application.sample.rap;version="1.0.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.makeithappen.model.edit;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.rap.ui.workbench;bundle-version="[2.3.0,4.0.0)",
-  org.eclipse.rap.jface;bundle-version="[2.3.0,4.0.0)",
-  org.eclipse.rap.ui;bundle-version="[2.3.0,4.0.0)",
-  org.eclipse.emf.ecp.edit;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.makeithappen.model.edit;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.rap.ui.workbench;bundle-version="[2.3.0,4.0.0)",
+ org.eclipse.rap.jface;bundle-version="[2.3.0,4.0.0)",
+ org.eclipse.rap.ui;bundle-version="[2.3.0,4.0.0)",
+ org.eclipse.emf.ecp.edit;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.makeithappen.application.sample.rap
 Bundle-ActivationPolicy: lazy
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/makeithappen_RAP.target b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/makeithappen_RAP.target
index bf795c4..6387b64 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/makeithappen_RAP.target
+++ b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/makeithappen_RAP.target
@@ -5,7 +5,7 @@
 <unit id="org.eclipse.emf.ecp.emfforms.runtime.feature.feature.group" version="0.0.0"/>
 <unit id="org.eclipse.emf.ecp.rap.sdk.feature.feature.group" version="0.0.0"/>
 <unit id="org.eclipse.emf.ecp.rap.util.feature.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/ecp/releases/releases_target_119"/>
+<repository location="http://download.eclipse.org/ecp/releases/releases_target_120"/>
 </location>
 <location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
 <unit id="org.eclipse.e4.rcp.feature.group" version="0.0.0"/>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/pom.xml b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/pom.xml
index 1301a00..10591b9 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/pom.xml
+++ b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-examples-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.examples/</relativePath>
   </parent>
 
@@ -15,7 +15,7 @@
   <packaging>eclipse-plugin</packaging>
 
   <groupId>org.eclipse.emf.ecp</groupId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 
   <properties>
   	<jacoco.percentage.instruction>0.0</jacoco.percentage.instruction>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.e3.feature/feature.xml b/examples/org.eclipse.emf.ecp.makeithappen.e3.feature/feature.xml
index 548ead4..7624b3e 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.e3.feature/feature.xml
+++ b/examples/org.eclipse.emf.ecp.makeithappen.e3.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.emf.ecp.makeithappen.e3"
       label="The Make it happen 3x Feature"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.emf.ecp.makeithappen.model"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.e3.feature/pom.xml b/examples/org.eclipse.emf.ecp.makeithappen.e3.feature/pom.xml
index 6082109..f62380a 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.e3.feature/pom.xml
+++ b/examples/org.eclipse.emf.ecp.makeithappen.e3.feature/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-examples-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.examples/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.makeithappen.e3</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-feature</packaging>
 	<build>
 		<plugins>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.e4.feature/feature.xml b/examples/org.eclipse.emf.ecp.makeithappen.e4.feature/feature.xml
index af44183..ca0a377 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.e4.feature/feature.xml
+++ b/examples/org.eclipse.emf.ecp.makeithappen.e4.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.emf.ecp.makeithappen.e4"
       label="The Make it happen e4 Feature"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.emf.ecp.makeithappen.model"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.e4.feature/pom.xml b/examples/org.eclipse.emf.ecp.makeithappen.e4.feature/pom.xml
index b7550e5..4172843 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.e4.feature/pom.xml
+++ b/examples/org.eclipse.emf.ecp.makeithappen.e4.feature/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-examples-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.examples/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.makeithappen.e4</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-feature</packaging>
 	<build>
 		<plugins>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.feature/feature.xml b/examples/org.eclipse.emf.ecp.makeithappen.feature/feature.xml
index ec3cf62..2f95352 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.feature/feature.xml
+++ b/examples/org.eclipse.emf.ecp.makeithappen.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.emf.ecp.makeithappen.feature"
       label="EMF Forms MakeItHappen Example (Target Feature)"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.emf.ecp.makeithappen.model"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.feature/pom.xml b/examples/org.eclipse.emf.ecp.makeithappen.feature/pom.xml
index a039026..cb607e3 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.feature/pom.xml
+++ b/examples/org.eclipse.emf.ecp.makeithappen.feature/pom.xml
@@ -6,11 +6,11 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-examples-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.examples/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.makeithappen.feature</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-feature</packaging>
 </project>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.model.edit/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.ecp.makeithappen.model.edit/META-INF/MANIFEST.MF
index a690b26..88b5db5 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.model.edit/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.ecp.makeithappen.model.edit/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.makeithappen.model.edit;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.ecp.makeithappen.model.task.provider.TaskEditPlugin$Implementation
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.makeithappen.model.task.provider;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.makeithappen.model.task.provider;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
-  org.eclipse.emf.ecp.makeithappen.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.edit;bundle-version="[2.5.0,3.0.0)";visibility:=reexport
+ org.eclipse.emf.ecp.makeithappen.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.edit;bundle-version="[2.5.0,3.0.0)";visibility:=reexport
 Automatic-Module-Name: org.eclipse.emf.ecp.makeithappen.model.edit
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.model.edit/pom.xml b/examples/org.eclipse.emf.ecp.makeithappen.model.edit/pom.xml
index 8957906..7902fab 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.model.edit/pom.xml
+++ b/examples/org.eclipse.emf.ecp.makeithappen.model.edit/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-examples-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.examples/</relativePath>
   </parent>
 
@@ -15,5 +15,5 @@
   <packaging>eclipse-plugin</packaging>
 
   <groupId>org.eclipse.emf.ecp</groupId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/META-INF/MANIFEST.MF
index 2ac5046..2bf7c0b 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.ecp.makeithappen.model.viewmodel
 Bundle-SymbolicName: org.eclipse.emf.ecp.makeithappen.model.viewmodel;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Require-Bundle: org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.19.0,1.20.0)"
+Require-Bundle: org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.20.0,1.21.0)"
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/pom.xml b/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/pom.xml
index f2c4b00..408d19f 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/pom.xml
+++ b/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-examples-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.examples/</relativePath>
   </parent>
 
@@ -15,5 +15,5 @@
   <packaging>eclipse-plugin</packaging>
 
   <groupId>org.eclipse.emf.ecp</groupId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.model/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.ecp.makeithappen.model/META-INF/MANIFEST.MF
index 62b3ae3..519c380 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.model/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.ecp.makeithappen.model/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.makeithappen.model;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.makeithappen.model.task;version="1.19.0",
- org.eclipse.emf.ecp.makeithappen.model.task.impl;version="1.19.0",
- org.eclipse.emf.ecp.makeithappen.model.task.util;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.makeithappen.model.task;version="1.20.0",
+ org.eclipse.emf.ecp.makeithappen.model.task.impl;version="1.20.0",
+ org.eclipse.emf.ecp.makeithappen.model.task.util;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
  org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)";visibility:=reexport
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.model/pom.xml b/examples/org.eclipse.emf.ecp.makeithappen.model/pom.xml
index 44ca3e4..e18966f 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.model/pom.xml
+++ b/examples/org.eclipse.emf.ecp.makeithappen.model/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-examples-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.examples/</relativePath>
   </parent>
 
@@ -15,5 +15,5 @@
   <packaging>eclipse-plugin</packaging>
 
   <groupId>org.eclipse.emf.ecp</groupId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/META-INF/MANIFEST.MF
index 5fa32da..a8106af 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/META-INF/MANIFEST.MF
@@ -2,31 +2,31 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EmailControl
 Bundle-SymbolicName: org.eclipse.emf.ecp.makeithappen.view.email.renderer;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.makeithappen.ui.emailcontrol;version="1.19.0"
-Require-Bundle: org.eclipse.emf.ecp.edit.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.makeithappen.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
-  org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
-  org.eclipse.emfforms.swt.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emfforms.swt.core.di;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emf.ecp.makeithappen.ui.emailcontrol;version="1.20.0"
+Require-Bundle: org.eclipse.emf.ecp.edit.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.makeithappen.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/emailRendererService.xml
 Bundle-ActivationPolicy: lazy
 Import-Package: javax.inject;version="1.0.0",
-  org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.jface.layout;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.events;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0"
+ org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.jface.layout;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.events;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.makeithappen.view.email.renderer
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/pom.xml b/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/pom.xml
index fcb900c..b358c94 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/pom.xml
+++ b/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-examples-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.examples/</relativePath>
   </parent>
 
@@ -15,5 +15,5 @@
   <packaging>eclipse-plugin</packaging>
 
   <groupId>org.eclipse.emf.ecp</groupId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/META-INF/MANIFEST.MF
index c5252a1..a2871d7 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/META-INF/MANIFEST.MF
@@ -2,30 +2,30 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Expandbar Group Renderer
 Bundle-SymbolicName: org.eclipse.emf.ecp.makeithappen.view.group.renderer;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: lib/org.eclipse.nebula.widgets.pgroup_1.0.0.201310241250.jar,
-  .
+ .
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.makeithappen.view.group.swt.pgroup;version="1.19.0",
-  org.eclipse.nebula.widgets.pgroup;version="1.0.0",
-  org.eclipse.nebula.widgets.pgroup.internal;version="1.0.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.view.group.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit;bundle-version="[2.5.0,3.0.0)",
-  org.eclipse.emf.ecp.edit;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core.di;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emf.ecp.makeithappen.view.group.swt.pgroup;version="1.20.0",
+ org.eclipse.nebula.widgets.pgroup;version="1.0.0",
+ org.eclipse.nebula.widgets.pgroup.internal;version="1.0.0";x-internal:=true
+Require-Bundle: org.eclipse.emf.ecp.view.group.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit;bundle-version="[2.5.0,3.0.0)",
+ org.eclipse.emf.ecp.edit;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.20.0,1.21.0)"
 Import-Package: javax.inject;version="1.0.0",
-  org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.events;version="0.0.0",
-  org.eclipse.swt.graphics;version="0.0.0",
-  org.eclipse.swt.internal;version="0.0.0",
-  org.eclipse.swt.layout;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0",
-  org.osgi.framework;version="1.8.0"
+ org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.events;version="0.0.0",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.eclipse.swt.internal;version="0.0.0",
+ org.eclipse.swt.layout;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.osgi.framework;version="1.8.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.makeithappen.view.group.renderer
 Service-Component: OSGI-INF/pGroupRendererService.xml
 Bundle-ActivationPolicy: lazy
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/pom.xml b/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/pom.xml
index 7dc6e80..2d68f61 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/pom.xml
+++ b/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-examples-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.examples/</relativePath>
   </parent>
 
@@ -15,5 +15,5 @@
   <packaging>eclipse-plugin</packaging>
 
   <groupId>org.eclipse.emf.ecp</groupId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/src/org/eclipse/emf/ecp/makeithappen/view/group/swt/pgroup/PGroupRenderer.java b/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/src/org/eclipse/emf/ecp/makeithappen/view/group/swt/pgroup/PGroupRenderer.java
index e3df347..a596544 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/src/org/eclipse/emf/ecp/makeithappen/view/group/swt/pgroup/PGroupRenderer.java
+++ b/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/src/org/eclipse/emf/ecp/makeithappen/view/group/swt/pgroup/PGroupRenderer.java
@@ -25,7 +25,6 @@
 import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
 import org.eclipse.emf.ecp.view.spi.swt.layout.LayoutProviderHelper;
 import org.eclipse.emfforms.spi.common.report.ReportService;
-import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
 import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
 import org.eclipse.emfforms.spi.swt.core.layout.EMFFormsSWTLayoutUtil;
 import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
@@ -57,12 +56,11 @@
 	 * @param viewContext the view context
 	 * @param reportService the {@link ReportService}
 	 * @param factory the {@link EMFFormsRendererFactory}
-	 * @param emfFormsDatabinding The {@link EMFFormsDatabinding}
 	 */
 	@Inject
 	public PGroupRenderer(VGroup vElement, ViewModelContext viewContext, ReportService reportService,
-		EMFFormsRendererFactory factory, EMFFormsDatabinding emfFormsDatabinding) {
-		super(vElement, viewContext, reportService, factory, emfFormsDatabinding);
+		EMFFormsRendererFactory factory) {
+		super(vElement, viewContext, reportService, factory);
 	}
 
 	@Override
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.ecp.makeithappen.wizards/META-INF/MANIFEST.MF
index 75c544c..d7b1fbd 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.ecp.makeithappen.wizards/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Make It Happen Examples
 Bundle-SymbolicName: org.eclipse.emf.ecp.makeithappen.wizards;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.makeithappen.internal.wizards.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.makeithappen.internal.wizards;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emfforms.example.common.wizards;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.resources;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
-  org.eclipse.emf.common.ui;bundle-version="[2.5.0,3.0.0)",
-  org.eclipse.emf.common;bundle-version="[2.9.0,3.0.0)"
+Export-Package: org.eclipse.emf.ecp.makeithappen.internal.wizards;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emfforms.example.common.wizards;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.resources;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
+ org.eclipse.emf.common.ui;bundle-version="[2.5.0,3.0.0)",
+ org.eclipse.emf.common;bundle-version="[2.9.0,3.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.makeithappen.wizards
 Bundle-ActivationPolicy: lazy
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/pom.xml b/examples/org.eclipse.emf.ecp.makeithappen.wizards/pom.xml
index ea9561c..efaf7d5 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/pom.xml
+++ b/examples/org.eclipse.emf.ecp.makeithappen.wizards/pom.xml
@@ -6,7 +6,7 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-examples-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.examples/</relativePath>
 	</parent>
 
@@ -14,7 +14,7 @@
 	<packaging>eclipse-plugin</packaging>
 
 	<groupId>org.eclipse.emf.ecp</groupId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<build>
 		<plugins>
 			<plugin>
diff --git a/examples/org.eclipse.emfforms.coffee.feature/feature.xml b/examples/org.eclipse.emfforms.coffee.feature/feature.xml
index 85823e3..ed52617 100644
--- a/examples/org.eclipse.emfforms.coffee.feature/feature.xml
+++ b/examples/org.eclipse.emfforms.coffee.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.emfforms.coffee.feature"
       label="Coffee Example Feature"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.emfforms.coffee.model"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/examples/org.eclipse.emfforms.coffee.feature/pom.xml b/examples/org.eclipse.emfforms.coffee.feature/pom.xml
index d0b0d88..a2c4314 100644
--- a/examples/org.eclipse.emfforms.coffee.feature/pom.xml
+++ b/examples/org.eclipse.emfforms.coffee.feature/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-examples-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.examples/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emfforms.coffee.feature</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-feature</packaging>
 	
 	   <build>
diff --git a/examples/org.eclipse.emfforms.coffee.model.edit/META-INF/MANIFEST.MF b/examples/org.eclipse.emfforms.coffee.model.edit/META-INF/MANIFEST.MF
index 7620306..2bffc85 100644
--- a/examples/org.eclipse.emfforms.coffee.model.edit/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emfforms.coffee.model.edit/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emfforms.coffee.model.edit;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emfforms.coffee.model.coffee.provider.CoffeeEditPlugin$Implementation
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emfforms.coffee.model.coffee.provider;version="1.19.0"
+Export-Package: org.eclipse.emfforms.coffee.model.coffee.provider;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
-  org.eclipse.emfforms.coffee.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.edit;bundle-version="[2.5.0,3.0.0)";visibility:=reexport
+ org.eclipse.emfforms.coffee.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.edit;bundle-version="[2.5.0,3.0.0)";visibility:=reexport
 Automatic-Module-Name: org.eclipse.emfforms.coffee.model.edit
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/examples/org.eclipse.emfforms.coffee.model.edit/pom.xml b/examples/org.eclipse.emfforms.coffee.model.edit/pom.xml
index 6e81ed0..e9db725 100644
--- a/examples/org.eclipse.emfforms.coffee.model.edit/pom.xml
+++ b/examples/org.eclipse.emfforms.coffee.model.edit/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-examples-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.examples/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.coffee.model.edit</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/examples/org.eclipse.emfforms.coffee.model.viewmodel/META-INF/MANIFEST.MF b/examples/org.eclipse.emfforms.coffee.model.viewmodel/META-INF/MANIFEST.MF
index 63b09ec..616acd9 100644
--- a/examples/org.eclipse.emfforms.coffee.model.viewmodel/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emfforms.coffee.model.viewmodel/META-INF/MANIFEST.MF
@@ -2,5 +2,5 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emfforms.coffee.model.viewmodel
 Bundle-SymbolicName: org.eclipse.emfforms.coffee.model.viewmodel;singleton:=true
-Bundle-Version: 1.19.0.qualifier
-Require-Bundle: org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.19.0,1.20.0)"
+Bundle-Version: 1.20.0.qualifier
+Require-Bundle: org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.20.0,1.21.0)"
diff --git a/examples/org.eclipse.emfforms.coffee.model.viewmodel/pom.xml b/examples/org.eclipse.emfforms.coffee.model.viewmodel/pom.xml
index 36d28fd..02c7ecf 100644
--- a/examples/org.eclipse.emfforms.coffee.model.viewmodel/pom.xml
+++ b/examples/org.eclipse.emfforms.coffee.model.viewmodel/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-examples-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.examples/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.coffee.model.viewmodel</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/examples/org.eclipse.emfforms.coffee.model/META-INF/MANIFEST.MF b/examples/org.eclipse.emfforms.coffee.model/META-INF/MANIFEST.MF
index c744649..e6604d4 100644
--- a/examples/org.eclipse.emfforms.coffee.model/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emfforms.coffee.model/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emfforms.coffee.model;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Export-Package: org.eclipse.emfforms.coffee.model.coffee;version="1.19.0",
- org.eclipse.emfforms.coffee.model.coffee.impl;version="1.19.0";x-internal:=true,
- org.eclipse.emfforms.coffee.model.coffee.util;version="1.19.0"
+Export-Package: org.eclipse.emfforms.coffee.model.coffee;version="1.20.0",
+ org.eclipse.emfforms.coffee.model.coffee.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.coffee.model.coffee.util;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
  org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)";visibility:=reexport
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emfforms.coffee.model
diff --git a/examples/org.eclipse.emfforms.coffee.model/pom.xml b/examples/org.eclipse.emfforms.coffee.model/pom.xml
index 1214a84..be46dcb 100644
--- a/examples/org.eclipse.emfforms.coffee.model/pom.xml
+++ b/examples/org.eclipse.emfforms.coffee.model/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-examples-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.examples/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.coffee.model</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/examples/org.eclipse.emfforms.coffee.wizards/META-INF/MANIFEST.MF b/examples/org.eclipse.emfforms.coffee.wizards/META-INF/MANIFEST.MF
index c31c059..c5d7dce 100644
--- a/examples/org.eclipse.emfforms.coffee.wizards/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emfforms.coffee.wizards/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Coffee Model Example Wizards
 Bundle-SymbolicName: org.eclipse.emfforms.coffee.wizards;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.internal.coffee.wizards;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emfforms.example.common.wizards;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.common.ui;bundle-version="[2.12.0,3.0.0)",
-  org.eclipse.emf.common;bundle-version="[2.13.0,3.0.0)",
-  org.eclipse.core.runtime;bundle-version="[3.13.0,4.0.0)"
+Export-Package: org.eclipse.emfforms.internal.coffee.wizards;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emfforms.example.common.wizards;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.common.ui;bundle-version="[2.12.0,3.0.0)",
+ org.eclipse.emf.common;bundle-version="[2.13.0,3.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.13.0,4.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Import-Package: org.osgi.framework;version="1.0.0"
 Automatic-Module-Name: org.eclipse.emfforms.coffee.wizards
+Import-Package: org.osgi.framework;version="1.0.0"
diff --git a/examples/org.eclipse.emfforms.coffee.wizards/pom.xml b/examples/org.eclipse.emfforms.coffee.wizards/pom.xml
index debca81..5000024 100644
--- a/examples/org.eclipse.emfforms.coffee.wizards/pom.xml
+++ b/examples/org.eclipse.emfforms.coffee.wizards/pom.xml
@@ -6,13 +6,13 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-examples-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.examples/</relativePath>
 	</parent>
 
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emfforms.coffee.wizards</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-plugin</packaging>
 
 	<build>
diff --git a/examples/org.eclipse.emfforms.example.common.wizards/META-INF/MANIFEST.MF b/examples/org.eclipse.emfforms.example.common.wizards/META-INF/MANIFEST.MF
index b99229c..fdf845a 100644
--- a/examples/org.eclipse.emfforms.example.common.wizards/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emfforms.example.common.wizards/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Common Wizards for EMFForms Examples
 Bundle-SymbolicName: org.eclipse.emfforms.example.common.wizards;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Import-Package: org.osgi.framework;version="1.0.0"
+Export-Package: org.eclipse.emfforms.internal.example.wizards;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.spi.example.wizards;version="1.20.0"
 Require-Bundle: org.eclipse.emf.common;bundle-version="[2.13.0,3.0.0)",
  org.eclipse.emf.common.ui;bundle-version="[2.12.0,3.0.0)",
  org.eclipse.core.runtime;bundle-version="[3.13.0,4.0.0)",
  org.eclipse.core.resources;bundle-version="[3.10.0,4.0.0)",
  org.eclipse.jface;bundle-version="[3.13.2,4.0.0)",
  org.eclipse.swt;bundle-version="[3.106.3,4.0.0)"
-Export-Package: org.eclipse.emfforms.internal.example.wizards;version="1.19.0";x-internal:=true,
- org.eclipse.emfforms.spi.example.wizards;version="1.19.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.example.common.wizards
+Import-Package: org.osgi.framework;version="1.0.0"
diff --git a/examples/org.eclipse.emfforms.example.common.wizards/pom.xml b/examples/org.eclipse.emfforms.example.common.wizards/pom.xml
index 285399a..8b69fdb 100644
--- a/examples/org.eclipse.emfforms.example.common.wizards/pom.xml
+++ b/examples/org.eclipse.emfforms.example.common.wizards/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-examples-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.examples/</relativePath>
 	</parent>
 
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emfforms.example.common.wizards</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-plugin</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.cdo.feature/feature.xml b/features/org.eclipse.emf.ecp.cdo.feature/feature.xml
index 32bb1dc..96837a2 100644
--- a/features/org.eclipse.emf.ecp.cdo.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.cdo.feature/feature.xml
@@ -12,12 +12,12 @@
 <feature
       id="org.eclipse.emf.ecp.cdo.feature"
       label="ECP CDO Integration (Experimental)"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.ecp.cdo.core"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       Integration of the CDO model repository.
diff --git a/features/org.eclipse.emf.ecp.cdo.feature/pom.xml b/features/org.eclipse.emf.ecp.cdo.feature/pom.xml
index dae7276..c5f2cd4 100644
--- a/features/org.eclipse.emf.ecp.cdo.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.cdo.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.cdo.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.changebroker.feature/feature.xml b/features/org.eclipse.emf.ecp.changebroker.feature/feature.xml
index c7b4551..cc5088a 100644
--- a/features/org.eclipse.emf.ecp.changebroker.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.changebroker.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.emf.ecp.changebroker.feature"
       label="ECP Change Broker Feature (do not install into IDE)"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.ecp.changebroker"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       Generic Observer Bus for EMF Notifications including an ECP/EMFStore-Bridge.
diff --git a/features/org.eclipse.emf.ecp.changebroker.feature/pom.xml b/features/org.eclipse.emf.ecp.changebroker.feature/pom.xml
index 0eb682e..fb90a19 100644
--- a/features/org.eclipse.emf.ecp.changebroker.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.changebroker.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.changebroker.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.demo.e3.feature/feature.xml b/features/org.eclipse.emf.ecp.demo.e3.feature/feature.xml
index f20b718..9de9f34 100644
--- a/features/org.eclipse.emf.ecp.demo.e3.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.demo.e3.feature/feature.xml
@@ -2,12 +2,12 @@
 <feature
       id="org.eclipse.emf.ecp.demo.e3.feature"
       label="ECP e3 Demo Application"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.emf.ecp.application.e3"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.demo.e3.feature/pom.xml b/features/org.eclipse.emf.ecp.demo.e3.feature/pom.xml
index ebc0256..2ec4a98 100644
--- a/features/org.eclipse.emf.ecp.demo.e3.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.demo.e3.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.demo.e3.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.demo.e4.feature/feature.xml b/features/org.eclipse.emf.ecp.demo.e4.feature/feature.xml
index 1167e69..7240191 100644
--- a/features/org.eclipse.emf.ecp.demo.e4.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.demo.e4.feature/feature.xml
@@ -2,12 +2,12 @@
 <feature
       id="org.eclipse.emf.ecp.demo.e4.feature"
       label="ECP e4 Demo Application"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.emf.ecp.application.e4"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.demo.e4.feature/pom.xml b/features/org.eclipse.emf.ecp.demo.e4.feature/pom.xml
index 04744dc..ebb111d 100644
--- a/features/org.eclipse.emf.ecp.demo.e4.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.demo.e4.feature/pom.xml
@@ -5,12 +5,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-features-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.demo.e4.feature</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-feature</packaging>
 
 	<build>
diff --git a/features/org.eclipse.emf.ecp.diffmerge.feature/feature.xml b/features/org.eclipse.emf.ecp.diffmerge.feature/feature.xml
index 87c547f..36e28ed 100644
--- a/features/org.eclipse.emf.ecp.diffmerge.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.diffmerge.feature/feature.xml
@@ -2,12 +2,12 @@
 <feature
       id="org.eclipse.emf.ecp.diffmerge.feature"
       label="ECP DiffMerge Feature"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.ecp.diffmerge.context"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.diffmerge.feature/pom.xml b/features/org.eclipse.emf.ecp.diffmerge.feature/pom.xml
index 575c666..704b9e3 100644
--- a/features/org.eclipse.emf.ecp.diffmerge.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.diffmerge.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.diffmerge.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.e3.feature/feature.xml b/features/org.eclipse.emf.ecp.e3.feature/feature.xml
index a39ce20..4562886 100644
--- a/features/org.eclipse.emf.ecp.e3.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.e3.feature/feature.xml
@@ -2,12 +2,12 @@
 <feature
       id="org.eclipse.emf.ecp.e3.feature"
       label="ECP 3.x UI Integration"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.ecp.ui.e3"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       Integration of the EMF Client Platform UI into the Eclipse 3.x workbench, including views and perspectives.
diff --git a/features/org.eclipse.emf.ecp.e3.feature/pom.xml b/features/org.eclipse.emf.ecp.e3.feature/pom.xml
index 2763c29..1177de1 100644
--- a/features/org.eclipse.emf.ecp.e3.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.e3.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.e3.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.e4.feature/feature.xml b/features/org.eclipse.emf.ecp.e4.feature/feature.xml
index 434949e..bf3d1dc 100644
--- a/features/org.eclipse.emf.ecp.e4.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.e4.feature/feature.xml
@@ -2,12 +2,12 @@
 <feature
       id="org.eclipse.emf.ecp.e4.feature"
       label="ECP e4 UI Integration"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.emf.ecp.ui.e4"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.e4.feature/pom.xml b/features/org.eclipse.emf.ecp.e4.feature/pom.xml
index f025505..e032611 100644
--- a/features/org.eclipse.emf.ecp.e4.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.e4.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.e4.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.ecore.editor.feature/feature.xml b/features/org.eclipse.emf.ecp.ecore.editor.feature/feature.xml
index 6245b3c..92d461f 100644
--- a/features/org.eclipse.emf.ecp.ecore.editor.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.ecore.editor.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.emf.ecp.ecore.editor.feature"
       label="Ecore Editor Wizard Feature"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.emf.ecp.ecore.editor.ui"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
@@ -34,4 +34,11 @@
          version="0.0.0"
          unpack="false"/>
 
+   <plugin
+         id="org.eclipse.emfforms.ide.ecore.builder"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
 </feature>
diff --git a/features/org.eclipse.emf.ecp.ecore.editor.feature/pom.xml b/features/org.eclipse.emf.ecp.ecore.editor.feature/pom.xml
index 638bbfc..463d4fd 100644
--- a/features/org.eclipse.emf.ecp.ecore.editor.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.ecore.editor.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.ecore.editor.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.ecore.feature/feature.xml b/features/org.eclipse.emf.ecp.ecore.feature/feature.xml
index c1c5d49..99a272d 100644
--- a/features/org.eclipse.emf.ecp.ecore.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.ecore.feature/feature.xml
@@ -2,12 +2,12 @@
 <feature
       id="org.eclipse.emf.ecp.ecore.feature"
       label="EMF Forms Ecore Model Controls"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.emf.ecp.edit.ecore.swt"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.ecore.feature/pom.xml b/features/org.eclipse.emf.ecp.ecore.feature/pom.xml
index 9aa9157..8755eb8 100644
--- a/features/org.eclipse.emf.ecp.ecore.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.ecore.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.ecore.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.emf2web.feature/feature.xml b/features/org.eclipse.emf.ecp.emf2web.feature/feature.xml
index e18cd37..72c7c88 100644
--- a/features/org.eclipse.emf.ecp.emf2web.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.emf2web.feature/feature.xml
@@ -2,10 +2,10 @@
 <feature
       id="org.eclipse.emf.ecp.emf2web.feature"
       label="JSON Forms Integration"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.emf2web.feature/pom.xml b/features/org.eclipse.emf.ecp.emf2web.feature/pom.xml
index 27e68ec..f84bffc 100644
--- a/features/org.eclipse.emf.ecp.emf2web.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.emf2web.feature/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-features-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.emf2web.feature</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-feature</packaging>
 	
 	<build>
diff --git a/features/org.eclipse.emf.ecp.emfforms.idetooling.feature/feature.xml b/features/org.eclipse.emf.ecp.emfforms.idetooling.feature/feature.xml
index 1774415..d489b0a 100644
--- a/features/org.eclipse.emf.ecp.emfforms.idetooling.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.emfforms.idetooling.feature/feature.xml
@@ -2,10 +2,10 @@
 <feature
       id="org.eclipse.emf.ecp.emfforms.idetooling.feature"
       label="EMF Forms IDE Tooling"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
@@ -26,9 +26,11 @@
    <includes
          id="org.eclipse.emf.ecp.view.model.controls.feature"
          version="0.0.0"/>
+
    <includes
          id="org.eclipse.emf.ecp.view.validation.initial.feature"
          version="0.0.0"/>
+
    <plugin
          id="org.eclipse.emf.ecp.ide.util"
          download-size="0"
@@ -118,4 +120,18 @@
          version="0.0.0"
          unpack="false"/>
 
+   <plugin
+         id="org.eclipse.emfforms.ide.builder"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.emfforms.ide.viewtemplate.builder"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
 </feature>
diff --git a/features/org.eclipse.emf.ecp.emfforms.idetooling.feature/pom.xml b/features/org.eclipse.emf.ecp.emfforms.idetooling.feature/pom.xml
index b04b2b2..e26948c 100644
--- a/features/org.eclipse.emf.ecp.emfforms.idetooling.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.emfforms.idetooling.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.emfforms.idetooling.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.emfforms.runtime.feature/feature.xml b/features/org.eclipse.emf.ecp.emfforms.runtime.feature/feature.xml
index 9274efa..2b4e11f 100644
--- a/features/org.eclipse.emf.ecp.emfforms.runtime.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.emfforms.runtime.feature/feature.xml
@@ -2,10 +2,10 @@
 <feature
       id="org.eclipse.emf.ecp.emfforms.runtime.feature"
       label="EMF Forms Runtime"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="%providerName"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.emfforms.runtime.feature/pom.xml b/features/org.eclipse.emf.ecp.emfforms.runtime.feature/pom.xml
index 173aed8..c1c566e 100644
--- a/features/org.eclipse.emf.ecp.emfforms.runtime.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.emfforms.runtime.feature/pom.xml
@@ -6,11 +6,11 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-features-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.emfforms.runtime.feature</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.emfforms.sdk.feature/feature.xml b/features/org.eclipse.emf.ecp.emfforms.sdk.feature/feature.xml
index a2eb6df..851cf0d 100644
--- a/features/org.eclipse.emf.ecp.emfforms.sdk.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.emfforms.sdk.feature/feature.xml
@@ -2,10 +2,10 @@
 <feature
       id="org.eclipse.emf.ecp.emfforms.sdk.feature"
       label="EMF Forms SDK"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="%providerName"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.emfforms.sdk.feature/pom.xml b/features/org.eclipse.emf.ecp.emfforms.sdk.feature/pom.xml
index ceb4152..8a976e6 100644
--- a/features/org.eclipse.emf.ecp.emfforms.sdk.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.emfforms.sdk.feature/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-features-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.emfforms.sdk.feature</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-feature</packaging>
 	
 	<build>
diff --git a/features/org.eclipse.emf.ecp.emfstore.feature/feature.xml b/features/org.eclipse.emf.ecp.emfstore.feature/feature.xml
index 17378b9..af7f6dc 100644
--- a/features/org.eclipse.emf.ecp.emfstore.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.emfstore.feature/feature.xml
@@ -2,12 +2,12 @@
 <feature
       id="org.eclipse.emf.ecp.emfstore.feature"
       label="ECP EMFStore Integration"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.emf.ecp.emfstore.core"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.emfstore.feature/pom.xml b/features/org.eclipse.emf.ecp.emfstore.feature/pom.xml
index 7831a7f..7c1b57b 100644
--- a/features/org.eclipse.emf.ecp.emfstore.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.emfstore.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.emfstore.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.examplemodel.ui.feature/feature.xml b/features/org.eclipse.emf.ecp.examplemodel.ui.feature/feature.xml
index 926dc0b..361da75 100644
--- a/features/org.eclipse.emf.ecp.examplemodel.ui.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.examplemodel.ui.feature/feature.xml
@@ -2,12 +2,12 @@
 <feature
       id="org.eclipse.emf.ecp.examplemodel.ui.feature"
       label="Example Model UI Feature"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.ecp.examplemodel.ui"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.examplemodel.ui.feature/pom.xml b/features/org.eclipse.emf.ecp.examplemodel.ui.feature/pom.xml
index 3cd017e..820a9c5 100644
--- a/features/org.eclipse.emf.ecp.examplemodel.ui.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.examplemodel.ui.feature/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.examplemodel.ui.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
   
   	<build>
diff --git a/features/org.eclipse.emf.ecp.feature/feature.xml b/features/org.eclipse.emf.ecp.feature/feature.xml
index de65376..b7fd9f5 100644
--- a/features/org.eclipse.emf.ecp.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.feature/feature.xml
@@ -12,12 +12,12 @@
 <feature
       id="org.eclipse.emf.ecp.feature"
       label="ECP Core"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.ecp.core"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       The core platform containing the model workspace, the navigator, the editor and the repository browser.
diff --git a/features/org.eclipse.emf.ecp.feature/pom.xml b/features/org.eclipse.emf.ecp.feature/pom.xml
index 8416922..b0f11cb 100644
--- a/features/org.eclipse.emf.ecp.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.i18n.feature/feature.xml b/features/org.eclipse.emf.ecp.i18n.feature/feature.xml
index 41c8c6e..f58c05f 100644
--- a/features/org.eclipse.emf.ecp.i18n.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.i18n.feature/feature.xml
@@ -2,10 +2,10 @@
 <feature
       id="org.eclipse.emf.ecp.i18n.feature"
       label="ECP i18n Feature"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.i18n.feature/pom.xml b/features/org.eclipse.emf.ecp.i18n.feature/pom.xml
index 9ba6670..2fe5ce5 100644
--- a/features/org.eclipse.emf.ecp.i18n.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.i18n.feature/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.i18n.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 
 	<build>
diff --git a/features/org.eclipse.emf.ecp.ide.migration.feature/feature.xml b/features/org.eclipse.emf.ecp.ide.migration.feature/feature.xml
index e0b9f50..5d0b6db 100644
--- a/features/org.eclipse.emf.ecp.ide.migration.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.ide.migration.feature/feature.xml
@@ -2,10 +2,10 @@
 <feature
       id="org.eclipse.emf.ecp.ide.migration.feature"
       label="Namespace View Model Migration Feature"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.ide.migration.feature/pom.xml b/features/org.eclipse.emf.ecp.ide.migration.feature/pom.xml
index 5240f69..96daaee 100644
--- a/features/org.eclipse.emf.ecp.ide.migration.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.ide.migration.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.ide.migration.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.license.feature/feature.xml b/features/org.eclipse.emf.ecp.license.feature/feature.xml
index 1f983bd..23e1a15 100644
--- a/features/org.eclipse.emf.ecp.license.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.license.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.emf.ecp.license.feature"
       label="EMF Client Platform License"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       image="eclipse_update_120.jpg">
 
diff --git a/features/org.eclipse.emf.ecp.license.feature/pom.xml b/features/org.eclipse.emf.ecp.license.feature/pom.xml
index 9360392..b915015 100644
--- a/features/org.eclipse.emf.ecp.license.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.license.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.license.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.rap.feature/feature.xml b/features/org.eclipse.emf.ecp.rap.feature/feature.xml
index ceaf279..e6bc83c 100644
--- a/features/org.eclipse.emf.ecp.rap.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.rap.feature/feature.xml
@@ -2,12 +2,12 @@
 <feature
       id="org.eclipse.emf.ecp.rap.feature"
       label="ECP RAP Demo Application (Experimental)"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.emf.ecp.rap"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.rap.feature/pom.xml b/features/org.eclipse.emf.ecp.rap.feature/pom.xml
index d488be5..73c9510 100644
--- a/features/org.eclipse.emf.ecp.rap.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.rap.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.rap.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.rap.sdk.feature/feature.xml b/features/org.eclipse.emf.ecp.rap.sdk.feature/feature.xml
index a87444b..780816c 100644
--- a/features/org.eclipse.emf.ecp.rap.sdk.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.rap.sdk.feature/feature.xml
@@ -2,10 +2,10 @@
 <feature
       id="org.eclipse.emf.ecp.rap.sdk.feature"
       label="ECP RAP SDK (Experimental)"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="%providerName"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.rap.sdk.feature/pom.xml b/features/org.eclipse.emf.ecp.rap.sdk.feature/pom.xml
index 20ad94b..2a6995c 100644
--- a/features/org.eclipse.emf.ecp.rap.sdk.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.rap.sdk.feature/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-features-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.rap.sdk.feature</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-feature</packaging>
 	
 	<build>
diff --git a/features/org.eclipse.emf.ecp.rap.util.feature/feature.xml b/features/org.eclipse.emf.ecp.rap.util.feature/feature.xml
index a645df9..ba65f77 100644
--- a/features/org.eclipse.emf.ecp.rap.util.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.rap.util.feature/feature.xml
@@ -2,12 +2,12 @@
 <feature
       id="org.eclipse.emf.ecp.rap.util.feature"
       label="ECP RAP UI Integration"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.emf.ecp.rap.util"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.rap.util.feature/pom.xml b/features/org.eclipse.emf.ecp.rap.util.feature/pom.xml
index f1916f8..3446908 100644
--- a/features/org.eclipse.emf.ecp.rap.util.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.rap.util.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.rap.util.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.sdk.e4.feature/feature.xml b/features/org.eclipse.emf.ecp.sdk.e4.feature/feature.xml
index 5b5b6fb..83cb302 100644
--- a/features/org.eclipse.emf.ecp.sdk.e4.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.sdk.e4.feature/feature.xml
@@ -2,10 +2,10 @@
 <feature
       id="org.eclipse.emf.ecp.sdk.e4.feature"
       label="ECP SDK e4 (Target Feature)"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.sdk.e4.feature/pom.xml b/features/org.eclipse.emf.ecp.sdk.e4.feature/pom.xml
index 690dc3d..f42c85f 100644
--- a/features/org.eclipse.emf.ecp.sdk.e4.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.sdk.e4.feature/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-features-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.sdk.e4.feature</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-feature</packaging>
 	
 	<build>
diff --git a/features/org.eclipse.emf.ecp.sdk.feature/feature.xml b/features/org.eclipse.emf.ecp.sdk.feature/feature.xml
index 310e3f8..5c54182 100644
--- a/features/org.eclipse.emf.ecp.sdk.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.sdk.feature/feature.xml
@@ -2,10 +2,10 @@
 <feature
       id="org.eclipse.emf.ecp.sdk.feature"
       label="ECP SDK 3.x"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.sdk.feature/pom.xml b/features/org.eclipse.emf.ecp.sdk.feature/pom.xml
index 4f4f062..e547e4b 100644
--- a/features/org.eclipse.emf.ecp.sdk.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.sdk.feature/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-features-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.sdk.feature</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-feature</packaging>
 	
 	<build>
diff --git a/features/org.eclipse.emf.ecp.target.feature/feature.xml b/features/org.eclipse.emf.ecp.target.feature/feature.xml
index a60d6ef..25b1110 100644
--- a/features/org.eclipse.emf.ecp.target.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.target.feature/feature.xml
@@ -2,10 +2,10 @@
 <feature
       id="org.eclipse.emf.ecp.target.feature"
       label="ECP Target Feature"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       The target platform feature for the EMF Client Platform, for developer use only.
diff --git a/features/org.eclipse.emf.ecp.target.feature/pom.xml b/features/org.eclipse.emf.ecp.target.feature/pom.xml
index 9c179c0..46229e6 100644
--- a/features/org.eclipse.emf.ecp.target.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.target.feature/pom.xml
@@ -5,12 +5,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-features-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.target.feature</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-feature</packaging>
 
 	<build>
diff --git a/features/org.eclipse.emf.ecp.transaction.feature/feature.xml b/features/org.eclipse.emf.ecp.transaction.feature/feature.xml
index c436711..fc99430 100644
--- a/features/org.eclipse.emf.ecp.transaction.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.transaction.feature/feature.xml
@@ -2,12 +2,12 @@
 <feature
       id="org.eclipse.emf.ecp.transaction.feature"
       label="ECP Transactional Feature"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.emf.ecp.ui.transaction"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.transaction.feature/pom.xml b/features/org.eclipse.emf.ecp.transaction.feature/pom.xml
index ff1ee84..5ba1f1f 100644
--- a/features/org.eclipse.emf.ecp.transaction.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.transaction.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.transaction.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.validation.view.feature/feature.xml b/features/org.eclipse.emf.ecp.validation.view.feature/feature.xml
index 07445db..416e7b0 100644
--- a/features/org.eclipse.emf.ecp.validation.view.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.validation.view.feature/feature.xml
@@ -2,12 +2,12 @@
 <feature
       id="org.eclipse.emf.ecp.validation.view.feature"
       label="ECP Validation View (Highly Experimental)"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.ecp.ui.validation"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.validation.view.feature/pom.xml b/features/org.eclipse.emf.ecp.validation.view.feature/pom.xml
index 716e365..06c5479 100644
--- a/features/org.eclipse.emf.ecp.validation.view.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.validation.view.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.validation.view.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.view.categorization.feature/feature.xml b/features/org.eclipse.emf.ecp.view.categorization.feature/feature.xml
index 2e00565..abbf7e4 100644
--- a/features/org.eclipse.emf.ecp.view.categorization.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.categorization.feature/feature.xml
@@ -2,12 +2,12 @@
 <feature
       id="org.eclipse.emf.ecp.view.categorization.feature"
       label="EMF Forms Categorization Model"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.emf.ecp.view.categorization.model"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.view.categorization.feature/pom.xml b/features/org.eclipse.emf.ecp.view.categorization.feature/pom.xml
index e4cea53..d7cd8e8 100644
--- a/features/org.eclipse.emf.ecp.view.categorization.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.categorization.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.categorization.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.view.compoundcontrol.feature/feature.xml b/features/org.eclipse.emf.ecp.view.compoundcontrol.feature/feature.xml
index 91abdbf..bb68842 100644
--- a/features/org.eclipse.emf.ecp.view.compoundcontrol.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.compoundcontrol.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.emf.ecp.view.compoundcontrol.feature"
       label="EMF Forms Compound Control Feature"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.ecp.view.compoundcontrol.model"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.view.compoundcontrol.feature/pom.xml b/features/org.eclipse.emf.ecp.view.compoundcontrol.feature/pom.xml
index b8ed152..c353b39 100644
--- a/features/org.eclipse.emf.ecp.view.compoundcontrol.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.compoundcontrol.feature/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
 
diff --git a/features/org.eclipse.emf.ecp.view.custom.feature/feature.xml b/features/org.eclipse.emf.ecp.view.custom.feature/feature.xml
index 7402db7..083e0b1 100644
--- a/features/org.eclipse.emf.ecp.view.custom.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.custom.feature/feature.xml
@@ -2,12 +2,12 @@
 <feature
       id="org.eclipse.emf.ecp.view.custom.feature"
       label="EMF Forms Custom Control Model"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.emf.ecp.view.custom.model"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.view.custom.feature/pom.xml b/features/org.eclipse.emf.ecp.view.custom.feature/pom.xml
index 38c2001..cffb28e 100644
--- a/features/org.eclipse.emf.ecp.view.custom.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.custom.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.custom.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.view.di.feature/feature.xml b/features/org.eclipse.emf.ecp.view.di.feature/feature.xml
index 1cd5520..0e142b2 100644
--- a/features/org.eclipse.emf.ecp.view.di.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.di.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.emf.ecp.view.di.feature"
       label="EMF Forms Dependency Injection Feature (Experimental)"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.ecp.view.model.common.di"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.view.di.feature/pom.xml b/features/org.eclipse.emf.ecp.view.di.feature/pom.xml
index 29b1d89..bb285f1 100644
--- a/features/org.eclipse.emf.ecp.view.di.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.di.feature/pom.xml
@@ -6,7 +6,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
 
diff --git a/features/org.eclipse.emf.ecp.view.edapt.feature/feature.xml b/features/org.eclipse.emf.ecp.view.edapt.feature/feature.xml
index 9cc7183..7311b7a 100644
--- a/features/org.eclipse.emf.ecp.view.edapt.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.edapt.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.emf.ecp.view.edapt.feature"
       label="EMF Forms IDE Tooling Edapt View Model Migration Feature"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.ecp.view.edapt"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.view.edapt.feature/pom.xml b/features/org.eclipse.emf.ecp.view.edapt.feature/pom.xml
index 9544df8..27e15b2 100644
--- a/features/org.eclipse.emf.ecp.view.edapt.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.edapt.feature/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.edapt.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
   
   	<build>
diff --git a/features/org.eclipse.emf.ecp.view.group.feature/feature.xml b/features/org.eclipse.emf.ecp.view.group.feature/feature.xml
index d81ef90..a74ee68 100644
--- a/features/org.eclipse.emf.ecp.view.group.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.group.feature/feature.xml
@@ -2,12 +2,12 @@
 <feature
       id="org.eclipse.emf.ecp.view.group.feature"
       label="EMF Forms Group Model"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.emf.ecp.view.group.model"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.view.group.feature/pom.xml b/features/org.eclipse.emf.ecp.view.group.feature/pom.xml
index 49079c2..a97c790 100644
--- a/features/org.eclipse.emf.ecp.view.group.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.group.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.group.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup.feature/feature.xml b/features/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup.feature/feature.xml
index 2f99b0f..b58b834 100644
--- a/features/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup.feature"
       label="EMF Forms Collapsible Group Renderer using Nebula PGroup"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup.feature/pom.xml b/features/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup.feature/pom.xml
index 40aaff2..73cf260 100644
--- a/features/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.view.groupedgrid.feature/feature.xml b/features/org.eclipse.emf.ecp.view.groupedgrid.feature/feature.xml
index 0f28fc7..c353868 100644
--- a/features/org.eclipse.emf.ecp.view.groupedgrid.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.groupedgrid.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.emf.ecp.view.groupedgrid.feature"
       label="EMF Forms Grouped Grid Model"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.ecp.view.groupedgrid.model"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.view.groupedgrid.feature/pom.xml b/features/org.eclipse.emf.ecp.view.groupedgrid.feature/pom.xml
index 0ef2f2a..11038a4 100644
--- a/features/org.eclipse.emf.ecp.view.groupedgrid.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.groupedgrid.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.groupedgrid.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.view.horizontal.feature/feature.xml b/features/org.eclipse.emf.ecp.view.horizontal.feature/feature.xml
index ab3f384..e43533c 100644
--- a/features/org.eclipse.emf.ecp.view.horizontal.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.horizontal.feature/feature.xml
@@ -2,12 +2,12 @@
 <feature
       id="org.eclipse.emf.ecp.view.horizontal.feature"
       label="EMF Forms Horizontal Model"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.ecp.view.horizontal.model"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.view.horizontal.feature/pom.xml b/features/org.eclipse.emf.ecp.view.horizontal.feature/pom.xml
index 0e958d7..7b6b255 100644
--- a/features/org.eclipse.emf.ecp.view.horizontal.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.horizontal.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.horizontal.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.view.indexdmr.feature/feature.xml b/features/org.eclipse.emf.ecp.view.indexdmr.feature/feature.xml
index 112510e..fe1bee1 100644
--- a/features/org.eclipse.emf.ecp.view.indexdmr.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.indexdmr.feature/feature.xml
@@ -2,12 +2,12 @@
 <feature
       id="org.eclipse.emf.ecp.view.indexdmr.feature"
       label="EMF Forms Index DMR Feature"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.emf.ecp.view.indexdmr.model"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.view.indexdmr.feature/pom.xml b/features/org.eclipse.emf.ecp.view.indexdmr.feature/pom.xml
index f10d4f1..f402a41 100644
--- a/features/org.eclipse.emf.ecp.view.indexdmr.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.indexdmr.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.indexdmr.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.view.keyattributedmr.feature/feature.xml b/features/org.eclipse.emf.ecp.view.keyattributedmr.feature/feature.xml
index c4955a5..a46b922 100644
--- a/features/org.eclipse.emf.ecp.view.keyattributedmr.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.keyattributedmr.feature/feature.xml
@@ -2,12 +2,12 @@
 <feature
       id="org.eclipse.emf.ecp.view.keyattributedmr.feature"
       label="EMF Forms Key Attribute DMR Feature"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.emf.ecp.view.keyattributedmr.model"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.view.keyattributedmr.feature/pom.xml b/features/org.eclipse.emf.ecp.view.keyattributedmr.feature/pom.xml
index c911c2a..9093ecd 100644
--- a/features/org.eclipse.emf.ecp.view.keyattributedmr.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.keyattributedmr.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.keyattributedmr.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.view.label.feature/feature.xml b/features/org.eclipse.emf.ecp.view.label.feature/feature.xml
index 9590d39..e5b18e6 100644
--- a/features/org.eclipse.emf.ecp.view.label.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.label.feature/feature.xml
@@ -2,12 +2,12 @@
 <feature
       id="org.eclipse.emf.ecp.view.label.feature"
       label="EMF Forms Label Model"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.ecp.view.label.model"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.view.label.feature/pom.xml b/features/org.eclipse.emf.ecp.view.label.feature/pom.xml
index 7d405b1..b844047 100644
--- a/features/org.eclipse.emf.ecp.view.label.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.label.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.label.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.view.mappingdmr.feature/feature.xml b/features/org.eclipse.emf.ecp.view.mappingdmr.feature/feature.xml
index 212dc82..cda034d 100644
--- a/features/org.eclipse.emf.ecp.view.mappingdmr.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.mappingdmr.feature/feature.xml
@@ -2,12 +2,12 @@
 <feature
       id="org.eclipse.emf.ecp.view.mappingdmr.feature"
       label="EMF Forms Mapping DMR Feature"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.emf.ecp.view.mappingdmr.model"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.view.mappingdmr.feature/pom.xml b/features/org.eclipse.emf.ecp.view.mappingdmr.feature/pom.xml
index f91f717..b447de8 100644
--- a/features/org.eclipse.emf.ecp.view.mappingdmr.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.mappingdmr.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.mappingdmr.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.view.model.controls.feature/feature.xml b/features/org.eclipse.emf.ecp.view.model.controls.feature/feature.xml
index dd30519..5c58e27 100644
--- a/features/org.eclipse.emf.ecp.view.model.controls.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.model.controls.feature/feature.xml
@@ -2,12 +2,12 @@
 <feature
       id="org.eclipse.emf.ecp.view.model.controls.feature"
       label="EMF Forms View Model Controls"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.emf.ecp.ui.view.editor.controls"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.view.model.controls.feature/pom.xml b/features/org.eclipse.emf.ecp.view.model.controls.feature/pom.xml
index 2cbc483..01782ff 100644
--- a/features/org.eclipse.emf.ecp.view.model.controls.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.model.controls.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.model.controls.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.view.model.editor.feature/feature.xml b/features/org.eclipse.emf.ecp.view.model.editor.feature/feature.xml
index 0491ec6..23e21b2 100644
--- a/features/org.eclipse.emf.ecp.view.model.editor.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.model.editor.feature/feature.xml
@@ -2,12 +2,12 @@
 <feature
       id="org.eclipse.emf.ecp.view.model.editor.feature"
       label="EMF Forms View Model Wizard"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.emf.ecp.view.model.editor"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.view.model.editor.feature/pom.xml b/features/org.eclipse.emf.ecp.view.model.editor.feature/pom.xml
index fb90ef6..8675d20 100644
--- a/features/org.eclipse.emf.ecp.view.model.editor.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.model.editor.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.model.editor.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.view.model.feature/feature.xml b/features/org.eclipse.emf.ecp.view.model.feature/feature.xml
index 0d6018d..9ffbd4a 100644
--- a/features/org.eclipse.emf.ecp.view.model.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.model.feature/feature.xml
@@ -2,12 +2,12 @@
 <feature
       id="org.eclipse.emf.ecp.viewmodel.feature"
       label="EMF Forms Core Model"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.ecp.view.model"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.view.model.feature/pom.xml b/features/org.eclipse.emf.ecp.view.model.feature/pom.xml
index 54c0145..733f285 100644
--- a/features/org.eclipse.emf.ecp.view.model.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.model.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.viewmodel.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.view.rule.feature/feature.xml b/features/org.eclipse.emf.ecp.view.rule.feature/feature.xml
index 4d50ad3..92a8046 100644
--- a/features/org.eclipse.emf.ecp.view.rule.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.rule.feature/feature.xml
@@ -2,12 +2,12 @@
 <feature
       id="org.eclipse.emf.ecp.view.rule.feature"
       label="EMF Forms Rule Model"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.ecp.view.rule"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.view.rule.feature/pom.xml b/features/org.eclipse.emf.ecp.view.rule.feature/pom.xml
index 98724fa..75311fc 100644
--- a/features/org.eclipse.emf.ecp.view.rule.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.rule.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.rule.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.view.section.feature/feature.xml b/features/org.eclipse.emf.ecp.view.section.feature/feature.xml
index 55670e3..9ba5933 100644
--- a/features/org.eclipse.emf.ecp.view.section.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.section.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.emf.ecp.view.section.feature"
       label="EMF Forms Section Model (Experimental)"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.emf.ecp.view.section.model"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.view.section.feature/pom.xml b/features/org.eclipse.emf.ecp.view.section.feature/pom.xml
index de464e1..f6ca294 100644
--- a/features/org.eclipse.emf.ecp.view.section.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.section.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.section.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.view.stack.feature/feature.xml b/features/org.eclipse.emf.ecp.view.stack.feature/feature.xml
index 3324a61..bef06c3 100644
--- a/features/org.eclipse.emf.ecp.view.stack.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.stack.feature/feature.xml
@@ -2,12 +2,12 @@
 <feature
       id="org.eclipse.emf.ecp.view.stack.feature"
       label="EMF Forms Stack Model"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.emf.ecp.view.stack.model"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.view.stack.feature/pom.xml b/features/org.eclipse.emf.ecp.view.stack.feature/pom.xml
index 9ad0b4e..543d61c 100644
--- a/features/org.eclipse.emf.ecp.view.stack.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.stack.feature/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.stack.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
   
     <build>
diff --git a/features/org.eclipse.emf.ecp.view.table.celleditor.rcp.feature/feature.xml b/features/org.eclipse.emf.ecp.view.table.celleditor.rcp.feature/feature.xml
index 2ad1b3b..c349bd8 100644
--- a/features/org.eclipse.emf.ecp.view.table.celleditor.rcp.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.table.celleditor.rcp.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.emf.ecp.view.table.celleditor.rcp.feature"
       label="EMF Forms Table UI SWT Additional Cell Editors (non-RAP)"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.emf.ecp.view.table.celleditor.rcp"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.view.table.celleditor.rcp.feature/pom.xml b/features/org.eclipse.emf.ecp.view.table.celleditor.rcp.feature/pom.xml
index 8b6e85d..bbf0af6 100644
--- a/features/org.eclipse.emf.ecp.view.table.celleditor.rcp.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.table.celleditor.rcp.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.table.celleditor.rcp.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.view.table.feature/feature.xml b/features/org.eclipse.emf.ecp.view.table.feature/feature.xml
index 0cfc0d5..bb64f2c 100644
--- a/features/org.eclipse.emf.ecp.view.table.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.table.feature/feature.xml
@@ -2,12 +2,12 @@
 <feature
       id="org.eclipse.emf.ecp.view.table.feature"
       label="EMF Forms Table Model"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.ecp.view.table.model"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.view.table.feature/pom.xml b/features/org.eclipse.emf.ecp.view.table.feature/pom.xml
index 7e40a49..85d33fc 100644
--- a/features/org.eclipse.emf.ecp.view.table.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.table.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.table.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.view.table.ui.nebula.grid.feature/feature.xml b/features/org.eclipse.emf.ecp.view.table.ui.nebula.grid.feature/feature.xml
index 3866245..593ee6c 100644
--- a/features/org.eclipse.emf.ecp.view.table.ui.nebula.grid.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.table.ui.nebula.grid.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.emf.ecp.view.table.ui.nebula.grid.feature"
       label="EMF Forms Nebula Grid Table UI Feature"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.ecp.view.table.ui.nebula.grid"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.view.table.ui.nebula.grid.feature/pom.xml b/features/org.eclipse.emf.ecp.view.table.ui.nebula.grid.feature/pom.xml
index f85572c..1bfabb3 100644
--- a/features/org.eclipse.emf.ecp.view.table.ui.nebula.grid.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.table.ui.nebula.grid.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.table.ui.nebula.grid.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.view.table.ui.rcp.feature/feature.xml b/features/org.eclipse.emf.ecp.view.table.ui.rcp.feature/feature.xml
index 4199943..30384cb 100644
--- a/features/org.eclipse.emf.ecp.view.table.ui.rcp.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.table.ui.rcp.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.emf.ecp.view.table.ui.rcp.feature"
       label="EMF Forms Table UI RCP Feature"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.ecp.view.table.ui.rcp"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.view.table.ui.rcp.feature/pom.xml b/features/org.eclipse.emf.ecp.view.table.ui.rcp.feature/pom.xml
index 020545f..c10206b 100644
--- a/features/org.eclipse.emf.ecp.view.table.ui.rcp.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.table.ui.rcp.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.table.ui.rcp.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.view.table.ui.swt.persistedstate.feature/feature.xml b/features/org.eclipse.emf.ecp.view.table.ui.swt.persistedstate.feature/feature.xml
index 823bdc1..cb3182e 100644
--- a/features/org.eclipse.emf.ecp.view.table.ui.swt.persistedstate.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.table.ui.swt.persistedstate.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.emf.ecp.view.table.ui.swt.persistedstate.feature"
       label="EMF Forms Persist Table State Feature"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.ecp.view.table.ui.swt.persistedstate"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.view.table.ui.swt.persistedstate.feature/pom.xml b/features/org.eclipse.emf.ecp.view.table.ui.swt.persistedstate.feature/pom.xml
index 12077b0..c05c349 100644
--- a/features/org.eclipse.emf.ecp.view.table.ui.swt.persistedstate.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.table.ui.swt.persistedstate.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.table.ui.swt.persistedstate.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.view.template.feature/feature.xml b/features/org.eclipse.emf.ecp.view.template.feature/feature.xml
index 3e7b988..7e0f647 100644
--- a/features/org.eclipse.emf.ecp.view.template.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.template.feature/feature.xml
@@ -2,12 +2,12 @@
 <feature
       id="org.eclipse.emf.ecp.view.template.feature"
       label="EMF Forms Template  Model"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.emf.ecp.view.template.model"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.view.template.feature/pom.xml b/features/org.eclipse.emf.ecp.view.template.feature/pom.xml
index 9e2ea20..66650a9 100644
--- a/features/org.eclipse.emf.ecp.view.template.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.template.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.template.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.view.treemasterdetail.feature/feature.xml b/features/org.eclipse.emf.ecp.view.treemasterdetail.feature/feature.xml
index 71ca6af..e17956d 100644
--- a/features/org.eclipse.emf.ecp.view.treemasterdetail.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.treemasterdetail.feature/feature.xml
@@ -2,12 +2,12 @@
 <feature
       id="org.eclipse.emf.ecp.view.treemasterdetail.feature"
       label="EMF Forms Master-Detail Model"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.emf.ecp.view.treemasterdetail.model"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.view.treemasterdetail.feature/pom.xml b/features/org.eclipse.emf.ecp.view.treemasterdetail.feature/pom.xml
index 5475536..8fac1c0 100644
--- a/features/org.eclipse.emf.ecp.view.treemasterdetail.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.treemasterdetail.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.treemasterdetail.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.view.unset.feature/feature.xml b/features/org.eclipse.emf.ecp.view.unset.feature/feature.xml
index ec09836..8c1452a 100644
--- a/features/org.eclipse.emf.ecp.view.unset.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.unset.feature/feature.xml
@@ -2,12 +2,12 @@
 <feature
       id="org.eclipse.emf.ecp.view.unset.feature"
       label="EMF Forms Unset Service"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.emf.ecp.view.unset"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.view.unset.feature/pom.xml b/features/org.eclipse.emf.ecp.view.unset.feature/pom.xml
index 5ba7d19..ecc7025 100644
--- a/features/org.eclipse.emf.ecp.view.unset.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.unset.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.unset.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.view.validation.bean.feature/feature.xml b/features/org.eclipse.emf.ecp.view.validation.bean.feature/feature.xml
index f1a48e4..4fa7749 100644
--- a/features/org.eclipse.emf.ecp.view.validation.bean.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.validation.bean.feature/feature.xml
@@ -2,12 +2,12 @@
 <feature
       id="org.eclipse.emf.ecp.view.validation.bean.feature"
       label="EMF Forms Bean Validation Feature"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.ecp.view.validation.bean"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.view.validation.bean.feature/pom.xml b/features/org.eclipse.emf.ecp.view.validation.bean.feature/pom.xml
index abe8d59..3806656 100644
--- a/features/org.eclipse.emf.ecp.view.validation.bean.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.validation.bean.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.validation.bean.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.view.validation.feature/feature.xml b/features/org.eclipse.emf.ecp.view.validation.feature/feature.xml
index fb89c23..a280304 100644
--- a/features/org.eclipse.emf.ecp.view.validation.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.validation.feature/feature.xml
@@ -2,12 +2,12 @@
 <feature
       id="org.eclipse.emf.ecp.view.validation.feature"
       label="EMF Forms Validation Service"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.ecp.view.validation"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.view.validation.feature/pom.xml b/features/org.eclipse.emf.ecp.view.validation.feature/pom.xml
index ff7f8db..f61246e 100644
--- a/features/org.eclipse.emf.ecp.view.validation.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.validation.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.validation.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.view.validation.initial.feature/feature.xml b/features/org.eclipse.emf.ecp.view.validation.initial.feature/feature.xml
index e7e2f4b..8da5119 100644
--- a/features/org.eclipse.emf.ecp.view.validation.initial.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.validation.initial.feature/feature.xml
@@ -2,12 +2,12 @@
 <feature
       id="org.eclipse.emf.ecp.view.validation.initial.feature"
       label="EMF Forms Deep Validation Initial Feature"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.ecp.view.validation"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.view.validation.initial.feature/pom.xml b/features/org.eclipse.emf.ecp.view.validation.initial.feature/pom.xml
index a32bb03..b70eeb5 100644
--- a/features/org.eclipse.emf.ecp.view.validation.initial.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.validation.initial.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.validation.initial.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.view.vertical.feature/feature.xml b/features/org.eclipse.emf.ecp.view.vertical.feature/feature.xml
index 3d6295e..1e8a0a7 100644
--- a/features/org.eclipse.emf.ecp.view.vertical.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.vertical.feature/feature.xml
@@ -2,12 +2,12 @@
 <feature
       id="org.eclipse.emf.ecp.view.vertical.feature"
       label="EMF Forms Vertical Model"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.ecp.view.vertical.model"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.view.vertical.feature/pom.xml b/features/org.eclipse.emf.ecp.view.vertical.feature/pom.xml
index 9467799..b0de7b6 100644
--- a/features/org.eclipse.emf.ecp.view.vertical.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.vertical.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.vertical.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.view.viewproxy.feature/feature.xml b/features/org.eclipse.emf.ecp.view.viewproxy.feature/feature.xml
index d51758c..2c42a76 100644
--- a/features/org.eclipse.emf.ecp.view.viewproxy.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.viewproxy.feature/feature.xml
@@ -2,12 +2,12 @@
 <feature
       id="org.eclipse.emf.ecp.view.viewproxy.feature"
       label="EMF Forms View Proxy Model"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.ecp.view.viewproxy.model"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emf.ecp.view.viewproxy.feature/pom.xml b/features/org.eclipse.emf.ecp.view.viewproxy.feature/pom.xml
index 57f2a5f..ff846d3 100644
--- a/features/org.eclipse.emf.ecp.view.viewproxy.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.viewproxy.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.viewproxy.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.ecp.workspace.feature/feature.xml b/features/org.eclipse.emf.ecp.workspace.feature/feature.xml
index 7d10d94..5c4cb44 100644
--- a/features/org.eclipse.emf.ecp.workspace.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.workspace.feature/feature.xml
@@ -12,12 +12,12 @@
 <feature
       id="org.eclipse.emf.ecp.workspace.feature"
       label="ECP File Integration (Experimental)"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.ecp.workspace.core"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       Integration for file and Eclipse workspace persistence.
diff --git a/features/org.eclipse.emf.ecp.workspace.feature/pom.xml b/features/org.eclipse.emf.ecp.workspace.feature/pom.xml
index 931f596..ec2eedb 100644
--- a/features/org.eclipse.emf.ecp.workspace.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.workspace.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.workspace.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emfforms.common.prevalidation.feature/feature.xml b/features/org.eclipse.emfforms.common.prevalidation.feature/feature.xml
index 873a9a5..22438e3 100644
--- a/features/org.eclipse.emfforms.common.prevalidation.feature/feature.xml
+++ b/features/org.eclipse.emfforms.common.prevalidation.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.emfforms.common.prevalidation.feature"
       label="EMFForms PreValidation Feature"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emfforms.common.prevalidation"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emfforms.common.prevalidation.feature/pom.xml b/features/org.eclipse.emfforms.common.prevalidation.feature/pom.xml
index 5a80bba..597f8cf 100644
--- a/features/org.eclipse.emfforms.common.prevalidation.feature/pom.xml
+++ b/features/org.eclipse.emfforms.common.prevalidation.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.common.prevalidation.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emfforms.core.bazaar.feature/feature.xml b/features/org.eclipse.emfforms.core.bazaar.feature/feature.xml
index 046e3b9..54b6985 100644
--- a/features/org.eclipse.emfforms.core.bazaar.feature/feature.xml
+++ b/features/org.eclipse.emfforms.core.bazaar.feature/feature.xml
@@ -2,12 +2,12 @@
 <feature
       id="org.eclipse.emfforms.core.bazaar.feature"
       label="Bazaar Feature"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emfforms.core.bazaar"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emfforms.core.bazaar.feature/pom.xml b/features/org.eclipse.emfforms.core.bazaar.feature/pom.xml
index 6f82ca0..fa8691c 100644
--- a/features/org.eclipse.emfforms.core.bazaar.feature/pom.xml
+++ b/features/org.eclipse.emfforms.core.bazaar.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.core.bazaar.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emfforms.datatemplate.feature/feature.xml b/features/org.eclipse.emfforms.datatemplate.feature/feature.xml
index 8acf25f..9658e34 100644
--- a/features/org.eclipse.emfforms.datatemplate.feature/feature.xml
+++ b/features/org.eclipse.emfforms.datatemplate.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.emfforms.datatemplate.feature"
       label="EMF Forms Data Templates"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emfforms.datatemplate.model"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emfforms.datatemplate.feature/pom.xml b/features/org.eclipse.emfforms.datatemplate.feature/pom.xml
index 560774e..ee0a9ca 100644
--- a/features/org.eclipse.emfforms.datatemplate.feature/pom.xml
+++ b/features/org.eclipse.emfforms.datatemplate.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.datatemplate.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emfforms.datatemplate.ide.feature/feature.xml b/features/org.eclipse.emfforms.datatemplate.ide.feature/feature.xml
index d7bbbf7..38bfa95 100644
--- a/features/org.eclipse.emfforms.datatemplate.ide.feature/feature.xml
+++ b/features/org.eclipse.emfforms.datatemplate.ide.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.emfforms.datatemplate.ide.feature"
       label="EMF Forms Datatemplate Feature"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.emfforms.datatemplate.tooling"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
@@ -31,4 +31,11 @@
          version="0.0.0"
          unpack="false"/>
 
+   <plugin
+         id="org.eclipse.emfforms.ide.datatemplate.builder"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
 </feature>
diff --git a/features/org.eclipse.emfforms.datatemplate.ide.feature/pom.xml b/features/org.eclipse.emfforms.datatemplate.ide.feature/pom.xml
index 30ccf27..a0840f6 100644
--- a/features/org.eclipse.emfforms.datatemplate.ide.feature/pom.xml
+++ b/features/org.eclipse.emfforms.datatemplate.ide.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.datatemplate.ide.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emfforms.editor.feature/feature.xml b/features/org.eclipse.emfforms.editor.feature/feature.xml
index b3954d5..f1cb651 100644
--- a/features/org.eclipse.emfforms.editor.feature/feature.xml
+++ b/features/org.eclipse.emfforms.editor.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.emfforms.editor.feature"
       label="EMF Forms Ecore Editor"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.emfforms.editor"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emfforms.editor.feature/pom.xml b/features/org.eclipse.emfforms.editor.feature/pom.xml
index bb108b5..a2da569 100644
--- a/features/org.eclipse.emfforms.editor.feature/pom.xml
+++ b/features/org.eclipse.emfforms.editor.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.editor.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emfforms.editor.genmodel.util.feature/feature.xml b/features/org.eclipse.emfforms.editor.genmodel.util.feature/feature.xml
index 5918901..3f58de8 100644
--- a/features/org.eclipse.emfforms.editor.genmodel.util.feature/feature.xml
+++ b/features/org.eclipse.emfforms.editor.genmodel.util.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.emfforms.editor.genmodel.util.feature"
       label="EMF Forms GenModel Editor Util"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emfforms.editor.genmodel.util"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emfforms.editor.genmodel.util.feature/pom.xml b/features/org.eclipse.emfforms.editor.genmodel.util.feature/pom.xml
index f8ead17..572f4ee 100644
--- a/features/org.eclipse.emfforms.editor.genmodel.util.feature/pom.xml
+++ b/features/org.eclipse.emfforms.editor.genmodel.util.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.editor.genmodel.util.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emfforms.rulerepository.feature/feature.xml b/features/org.eclipse.emfforms.rulerepository.feature/feature.xml
index 39c78f3..e6246c0 100644
--- a/features/org.eclipse.emfforms.rulerepository.feature/feature.xml
+++ b/features/org.eclipse.emfforms.rulerepository.feature/feature.xml
@@ -2,12 +2,12 @@
 <feature
       id="org.eclipse.emfforms.rulerepository.feature"
       label="EMF Forms Rule Repository Feature"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emfforms.rulerepository.model"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emfforms.rulerepository.feature/pom.xml b/features/org.eclipse.emfforms.rulerepository.feature/pom.xml
index 625f38e..6c5619c 100644
--- a/features/org.eclipse.emfforms.rulerepository.feature/pom.xml
+++ b/features/org.eclipse.emfforms.rulerepository.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.rulerepository.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emfforms.swt.control.multiattribute.feature/feature.xml b/features/org.eclipse.emfforms.swt.control.multiattribute.feature/feature.xml
index 2ca4672..d6f6042 100644
--- a/features/org.eclipse.emfforms.swt.control.multiattribute.feature/feature.xml
+++ b/features/org.eclipse.emfforms.swt.control.multiattribute.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.emfforms.swt.control.multiattribute.feature"
       label="EMF Forms SWT Control for Multi EAttribtues"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.emfforms.swt.control.multiattribute"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emfforms.swt.control.multiattribute.feature/pom.xml b/features/org.eclipse.emfforms.swt.control.multiattribute.feature/pom.xml
index 0c24b81..112abb7 100644
--- a/features/org.eclipse.emfforms.swt.control.multiattribute.feature/pom.xml
+++ b/features/org.eclipse.emfforms.swt.control.multiattribute.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.swt.control.multiattribute.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emfforms.swt.control.text.autocomplete.feature/feature.xml b/features/org.eclipse.emfforms.swt.control.text.autocomplete.feature/feature.xml
index b977fd1..3742c84 100644
--- a/features/org.eclipse.emfforms.swt.control.text.autocomplete.feature/feature.xml
+++ b/features/org.eclipse.emfforms.swt.control.text.autocomplete.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.emfforms.swt.control.text.autocomplete.feature"
       label="EMF Forms SWT Text Control with Autocomplete Feature"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emfforms.swt.control.text.autocomplete"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emfforms.swt.control.text.autocomplete.feature/pom.xml b/features/org.eclipse.emfforms.swt.control.text.autocomplete.feature/pom.xml
index cb1f12b..4a87abc 100644
--- a/features/org.eclipse.emfforms.swt.control.text.autocomplete.feature/pom.xml
+++ b/features/org.eclipse.emfforms.swt.control.text.autocomplete.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.swt.control.text.autocomplete.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emfforms.swt.control.text.richtext.feature/feature.xml b/features/org.eclipse.emfforms.swt.control.text.richtext.feature/feature.xml
index d529a84..bb0c560 100644
--- a/features/org.eclipse.emfforms.swt.control.text.richtext.feature/feature.xml
+++ b/features/org.eclipse.emfforms.swt.control.text.richtext.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.emfforms.swt.control.text.richtext.feature"
       label="EMF Forms Rich Text Feature"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emfforms.swt.control.text.richtext"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emfforms.swt.control.text.richtext.feature/pom.xml b/features/org.eclipse.emfforms.swt.control.text.richtext.feature/pom.xml
index fe36320..59c7315 100644
--- a/features/org.eclipse.emfforms.swt.control.text.richtext.feature/pom.xml
+++ b/features/org.eclipse.emfforms.swt.control.text.richtext.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.swt.control.text.richtext.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emfforms.swt.controlgrid.feature/feature.xml b/features/org.eclipse.emfforms.swt.controlgrid.feature/feature.xml
index e8146dd..8458591 100644
--- a/features/org.eclipse.emfforms.swt.controlgrid.feature/feature.xml
+++ b/features/org.eclipse.emfforms.swt.controlgrid.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.emfforms.swt.controlgrid.feature"
       label="EMF Forms Control Grid SWT Feature (Experimental)"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emfforms.view.controlgrid.model"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emfforms.swt.controlgrid.feature/pom.xml b/features/org.eclipse.emfforms.swt.controlgrid.feature/pom.xml
index d5bfe1c..b2a36e7 100644
--- a/features/org.eclipse.emfforms.swt.controlgrid.feature/pom.xml
+++ b/features/org.eclipse.emfforms.swt.controlgrid.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.swt.controlgrid.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emfforms.view.annotation.feature/feature.xml b/features/org.eclipse.emfforms.view.annotation.feature/feature.xml
index c5cacd8..a5f5ed0 100644
--- a/features/org.eclipse.emfforms.view.annotation.feature/feature.xml
+++ b/features/org.eclipse.emfforms.view.annotation.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.emfforms.view.annotation.feature"
       label="EMF Forms Annotation View Model Feature"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emfforms.view.annotation.model"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/features/org.eclipse.emfforms.view.annotation.feature/pom.xml b/features/org.eclipse.emfforms.view.annotation.feature/pom.xml
index fb3489a..dab4968 100644
--- a/features/org.eclipse.emfforms.view.annotation.feature/pom.xml
+++ b/features/org.eclipse.emfforms.view.annotation.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emfforms.view.annotation.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/spreadsheet/org.eclipse.emfforms.spreadsheet.feature/feature.xml b/features/spreadsheet/org.eclipse.emfforms.spreadsheet.feature/feature.xml
index 3beba76..a9d4b74 100644
--- a/features/spreadsheet/org.eclipse.emfforms.spreadsheet.feature/feature.xml
+++ b/features/spreadsheet/org.eclipse.emfforms.spreadsheet.feature/feature.xml
@@ -7,7 +7,7 @@
       plugin="org.eclipse.emfforms.spreadsheet.core"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/i18n/org.eclipse.emf.ecp.core.nl_de/META-INF/MANIFEST.MF b/i18n/org.eclipse.emf.ecp.core.nl_de/META-INF/MANIFEST.MF
index e147ac6..d656127 100644
--- a/i18n/org.eclipse.emf.ecp.core.nl_de/META-INF/MANIFEST.MF
+++ b/i18n/org.eclipse.emf.ecp.core.nl_de/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.ecp.core German NLS Support
 Bundle-SymbolicName: org.eclipse.emf.ecp.core.nl_de;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.core;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.core;bundle-version="[1.20.0,1.21.0)"
diff --git a/i18n/org.eclipse.emf.ecp.core.nl_de/pom.xml b/i18n/org.eclipse.emf.ecp.core.nl_de/pom.xml
index 3762a69..0a5a3fe 100644
--- a/i18n/org.eclipse.emf.ecp.core.nl_de/pom.xml
+++ b/i18n/org.eclipse.emf.ecp.core.nl_de/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-i18n-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.i18n/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.core.nl_de</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/i18n/org.eclipse.emf.ecp.diffmerge.model.edit.nl_de/META-INF/MANIFEST.MF b/i18n/org.eclipse.emf.ecp.diffmerge.model.edit.nl_de/META-INF/MANIFEST.MF
index adfd2fe..0b5ee35 100644
--- a/i18n/org.eclipse.emf.ecp.diffmerge.model.edit.nl_de/META-INF/MANIFEST.MF
+++ b/i18n/org.eclipse.emf.ecp.diffmerge.model.edit.nl_de/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.ecp.diffmerge.model.edit German NLS Support
 Bundle-SymbolicName: org.eclipse.emf.ecp.diffmerge.model.edit.nl_de;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.diffmerge.model.edit;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.diffmerge.model.edit;bundle-version="[1.20.0,1.21.0)"
diff --git a/i18n/org.eclipse.emf.ecp.diffmerge.model.edit.nl_de/pom.xml b/i18n/org.eclipse.emf.ecp.diffmerge.model.edit.nl_de/pom.xml
index 64d7800..8817c0f 100644
--- a/i18n/org.eclipse.emf.ecp.diffmerge.model.edit.nl_de/pom.xml
+++ b/i18n/org.eclipse.emf.ecp.diffmerge.model.edit.nl_de/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-i18n-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.i18n/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.diffmerge.model.edit.nl_de</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/i18n/org.eclipse.emf.ecp.diffmerge.swt.nl_de/META-INF/MANIFEST.MF b/i18n/org.eclipse.emf.ecp.diffmerge.swt.nl_de/META-INF/MANIFEST.MF
index 256303d..08a8682 100644
--- a/i18n/org.eclipse.emf.ecp.diffmerge.swt.nl_de/META-INF/MANIFEST.MF
+++ b/i18n/org.eclipse.emf.ecp.diffmerge.swt.nl_de/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.ecp.diffmerge.swt German NLS Support
 Bundle-SymbolicName: org.eclipse.emf.ecp.diffmerge.swt.nl_de;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.diffmerge.swt;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.diffmerge.swt;bundle-version="[1.20.0,1.21.0)"
diff --git a/i18n/org.eclipse.emf.ecp.diffmerge.swt.nl_de/pom.xml b/i18n/org.eclipse.emf.ecp.diffmerge.swt.nl_de/pom.xml
index 1db1920..1b0c407 100644
--- a/i18n/org.eclipse.emf.ecp.diffmerge.swt.nl_de/pom.xml
+++ b/i18n/org.eclipse.emf.ecp.diffmerge.swt.nl_de/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-i18n-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.i18n/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.diffmerge.swt.nl_de</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/i18n/org.eclipse.emf.ecp.edit.nl_de/META-INF/MANIFEST.MF b/i18n/org.eclipse.emf.ecp.edit.nl_de/META-INF/MANIFEST.MF
index 4a0b4e6..c0ed114 100644
--- a/i18n/org.eclipse.emf.ecp.edit.nl_de/META-INF/MANIFEST.MF
+++ b/i18n/org.eclipse.emf.ecp.edit.nl_de/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.ecp.edit German NLS Support
 Bundle-SymbolicName: org.eclipse.emf.ecp.edit.nl_de;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.edit;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.edit;bundle-version="[1.20.0,1.21.0)"
diff --git a/i18n/org.eclipse.emf.ecp.edit.nl_de/pom.xml b/i18n/org.eclipse.emf.ecp.edit.nl_de/pom.xml
index ac050a4..a26d446 100644
--- a/i18n/org.eclipse.emf.ecp.edit.nl_de/pom.xml
+++ b/i18n/org.eclipse.emf.ecp.edit.nl_de/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-i18n-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.i18n/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.edit.nl_de</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/i18n/org.eclipse.emf.ecp.edit.swt.nl_de/META-INF/MANIFEST.MF b/i18n/org.eclipse.emf.ecp.edit.swt.nl_de/META-INF/MANIFEST.MF
index fa3b51a..26224fd 100644
--- a/i18n/org.eclipse.emf.ecp.edit.swt.nl_de/META-INF/MANIFEST.MF
+++ b/i18n/org.eclipse.emf.ecp.edit.swt.nl_de/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.ecp.edit.swt German NLS Support
 Bundle-SymbolicName: org.eclipse.emf.ecp.edit.swt.nl_de;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.edit.swt;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.edit.swt;bundle-version="[1.20.0,1.21.0)"
diff --git a/i18n/org.eclipse.emf.ecp.edit.swt.nl_de/pom.xml b/i18n/org.eclipse.emf.ecp.edit.swt.nl_de/pom.xml
index 47f0ac9..06dc96a 100644
--- a/i18n/org.eclipse.emf.ecp.edit.swt.nl_de/pom.xml
+++ b/i18n/org.eclipse.emf.ecp.edit.swt.nl_de/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-i18n-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.i18n/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.edit.swt.nl_de</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/i18n/org.eclipse.emf.ecp.ide.editor.view.nl_de/META-INF/MANIFEST.MF b/i18n/org.eclipse.emf.ecp.ide.editor.view.nl_de/META-INF/MANIFEST.MF
index 81369e1..723bd67 100644
--- a/i18n/org.eclipse.emf.ecp.ide.editor.view.nl_de/META-INF/MANIFEST.MF
+++ b/i18n/org.eclipse.emf.ecp.ide.editor.view.nl_de/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.ecp.ide.editor.view German NLS Support
 Bundle-SymbolicName: org.eclipse.emf.ecp.ide.editor.view.nl_de;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.ide.editor.view;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.ide.editor.view;bundle-version="[1.20.0,1.21.0)"
diff --git a/i18n/org.eclipse.emf.ecp.ide.editor.view.nl_de/pom.xml b/i18n/org.eclipse.emf.ecp.ide.editor.view.nl_de/pom.xml
index 9e888a9..63de625 100644
--- a/i18n/org.eclipse.emf.ecp.ide.editor.view.nl_de/pom.xml
+++ b/i18n/org.eclipse.emf.ecp.ide.editor.view.nl_de/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-i18n-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.i18n/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.ide.editor.view.nl_de</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/i18n/org.eclipse.emf.ecp.makeithappen.model.edit.nl_de/META-INF/MANIFEST.MF b/i18n/org.eclipse.emf.ecp.makeithappen.model.edit.nl_de/META-INF/MANIFEST.MF
index 0fdcf6b..a9442b8 100644
--- a/i18n/org.eclipse.emf.ecp.makeithappen.model.edit.nl_de/META-INF/MANIFEST.MF
+++ b/i18n/org.eclipse.emf.ecp.makeithappen.model.edit.nl_de/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.ecp.makeithappen.model.edit German NLS Support
 Bundle-SymbolicName: org.eclipse.emf.ecp.makeithappen.model.edit.nl_de;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.makeithappen.model.edit;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.makeithappen.model.edit;bundle-version="[1.20.0,1.21.0)"
diff --git a/i18n/org.eclipse.emf.ecp.makeithappen.model.edit.nl_de/pom.xml b/i18n/org.eclipse.emf.ecp.makeithappen.model.edit.nl_de/pom.xml
index e79809c..d0b2be3 100644
--- a/i18n/org.eclipse.emf.ecp.makeithappen.model.edit.nl_de/pom.xml
+++ b/i18n/org.eclipse.emf.ecp.makeithappen.model.edit.nl_de/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-i18n-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.i18n/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.makeithappen.model.edit.nl_de</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/i18n/org.eclipse.emf.ecp.makeithappen.wizards.nl_de/META-INF/MANIFEST.MF b/i18n/org.eclipse.emf.ecp.makeithappen.wizards.nl_de/META-INF/MANIFEST.MF
index eb7fab8..f814acc 100644
--- a/i18n/org.eclipse.emf.ecp.makeithappen.wizards.nl_de/META-INF/MANIFEST.MF
+++ b/i18n/org.eclipse.emf.ecp.makeithappen.wizards.nl_de/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.ecp.makeithappen.wizards German NLS Support
 Bundle-SymbolicName: org.eclipse.emf.ecp.makeithappen.wizards.nl_de;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.makeithappen.wizards;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.makeithappen.wizards;bundle-version="[1.20.0,1.21.0)"
diff --git a/i18n/org.eclipse.emf.ecp.makeithappen.wizards.nl_de/pom.xml b/i18n/org.eclipse.emf.ecp.makeithappen.wizards.nl_de/pom.xml
index 0ce4a94..46e118b 100644
--- a/i18n/org.eclipse.emf.ecp.makeithappen.wizards.nl_de/pom.xml
+++ b/i18n/org.eclipse.emf.ecp.makeithappen.wizards.nl_de/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-i18n-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.i18n/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.makeithappen.wizards.nl_de</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/i18n/org.eclipse.emf.ecp.test.model.edit.nl_de/META-INF/MANIFEST.MF b/i18n/org.eclipse.emf.ecp.test.model.edit.nl_de/META-INF/MANIFEST.MF
index 4e21994..545947f 100644
--- a/i18n/org.eclipse.emf.ecp.test.model.edit.nl_de/META-INF/MANIFEST.MF
+++ b/i18n/org.eclipse.emf.ecp.test.model.edit.nl_de/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.ecp.test.model.edit German NLS Support
 Bundle-SymbolicName: org.eclipse.emf.ecp.test.model.edit.nl_de;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.test.model.edit;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.test.model.edit;bundle-version="[1.20.0,1.21.0)"
diff --git a/i18n/org.eclipse.emf.ecp.test.model.edit.nl_de/pom.xml b/i18n/org.eclipse.emf.ecp.test.model.edit.nl_de/pom.xml
index c4b16a2..e5be428 100644
--- a/i18n/org.eclipse.emf.ecp.test.model.edit.nl_de/pom.xml
+++ b/i18n/org.eclipse.emf.ecp.test.model.edit.nl_de/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-i18n-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.i18n/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.test.model.edit.nl_de</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/i18n/org.eclipse.emf.ecp.ui.e3.nl_de/META-INF/MANIFEST.MF b/i18n/org.eclipse.emf.ecp.ui.e3.nl_de/META-INF/MANIFEST.MF
index 00f9092..e32ab7a 100644
--- a/i18n/org.eclipse.emf.ecp.ui.e3.nl_de/META-INF/MANIFEST.MF
+++ b/i18n/org.eclipse.emf.ecp.ui.e3.nl_de/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.ecp.ui.e3 German NLS Support
 Bundle-SymbolicName: org.eclipse.emf.ecp.ui.e3.nl_de;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.ui.e3;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.ui.e3;bundle-version="[1.20.0,1.21.0)"
diff --git a/i18n/org.eclipse.emf.ecp.ui.e3.nl_de/pom.xml b/i18n/org.eclipse.emf.ecp.ui.e3.nl_de/pom.xml
index 9eef866..2fd2902 100644
--- a/i18n/org.eclipse.emf.ecp.ui.e3.nl_de/pom.xml
+++ b/i18n/org.eclipse.emf.ecp.ui.e3.nl_de/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-i18n-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.i18n/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.ui.e3.nl_de</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/i18n/org.eclipse.emf.ecp.ui.nl_de/META-INF/MANIFEST.MF b/i18n/org.eclipse.emf.ecp.ui.nl_de/META-INF/MANIFEST.MF
index 1e62bba..c059c6f 100644
--- a/i18n/org.eclipse.emf.ecp.ui.nl_de/META-INF/MANIFEST.MF
+++ b/i18n/org.eclipse.emf.ecp.ui.nl_de/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.ecp.ui German NLS Support
 Bundle-SymbolicName: org.eclipse.emf.ecp.ui.nl_de;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.ui;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.ui;bundle-version="[1.20.0,1.21.0)"
diff --git a/i18n/org.eclipse.emf.ecp.ui.nl_de/pom.xml b/i18n/org.eclipse.emf.ecp.ui.nl_de/pom.xml
index 29720d8..cd0543c 100644
--- a/i18n/org.eclipse.emf.ecp.ui.nl_de/pom.xml
+++ b/i18n/org.eclipse.emf.ecp.ui.nl_de/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-i18n-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.i18n/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.ui.nl_de</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/i18n/org.eclipse.emf.ecp.ui.validation.nl_de/META-INF/MANIFEST.MF b/i18n/org.eclipse.emf.ecp.ui.validation.nl_de/META-INF/MANIFEST.MF
index a6dfabd..5120acd 100644
--- a/i18n/org.eclipse.emf.ecp.ui.validation.nl_de/META-INF/MANIFEST.MF
+++ b/i18n/org.eclipse.emf.ecp.ui.validation.nl_de/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.ecp.ui.validation German NLS Support
 Bundle-SymbolicName: org.eclipse.emf.ecp.ui.validation.nl_de;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.ui.validation;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.ui.validation;bundle-version="[1.20.0,1.21.0)"
diff --git a/i18n/org.eclipse.emf.ecp.ui.validation.nl_de/pom.xml b/i18n/org.eclipse.emf.ecp.ui.validation.nl_de/pom.xml
index 603e8ab..51c3b2d 100644
--- a/i18n/org.eclipse.emf.ecp.ui.validation.nl_de/pom.xml
+++ b/i18n/org.eclipse.emf.ecp.ui.validation.nl_de/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-i18n-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.i18n/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.ui.validation.nl_de</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/i18n/org.eclipse.emf.ecp.ui.view.editor.controls.nl_de/META-INF/MANIFEST.MF b/i18n/org.eclipse.emf.ecp.ui.view.editor.controls.nl_de/META-INF/MANIFEST.MF
index 637804c..e8e261e 100644
--- a/i18n/org.eclipse.emf.ecp.ui.view.editor.controls.nl_de/META-INF/MANIFEST.MF
+++ b/i18n/org.eclipse.emf.ecp.ui.view.editor.controls.nl_de/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.ecp.ui.view.editor.controls German NLS Support
 Bundle-SymbolicName: org.eclipse.emf.ecp.ui.view.editor.controls.nl_de;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.ui.view.editor.controls;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.ui.view.editor.controls;bundle-version="[1.20.0,1.21.0)"
diff --git a/i18n/org.eclipse.emf.ecp.ui.view.editor.controls.nl_de/pom.xml b/i18n/org.eclipse.emf.ecp.ui.view.editor.controls.nl_de/pom.xml
index 521e4c0..51d02eb 100644
--- a/i18n/org.eclipse.emf.ecp.ui.view.editor.controls.nl_de/pom.xml
+++ b/i18n/org.eclipse.emf.ecp.ui.view.editor.controls.nl_de/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-i18n-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.i18n/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.ui.view.editor.controls.nl_de</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/i18n/org.eclipse.emf.ecp.validation.nl_de/META-INF/MANIFEST.MF b/i18n/org.eclipse.emf.ecp.validation.nl_de/META-INF/MANIFEST.MF
index 6962461..bc31551 100644
--- a/i18n/org.eclipse.emf.ecp.validation.nl_de/META-INF/MANIFEST.MF
+++ b/i18n/org.eclipse.emf.ecp.validation.nl_de/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.ecp.validation German NLS Support
 Bundle-SymbolicName: org.eclipse.emf.ecp.validation.nl_de;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.validation;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.validation;bundle-version="[1.20.0,1.21.0)"
diff --git a/i18n/org.eclipse.emf.ecp.validation.nl_de/pom.xml b/i18n/org.eclipse.emf.ecp.validation.nl_de/pom.xml
index 7fba00d..d60cfed 100644
--- a/i18n/org.eclipse.emf.ecp.validation.nl_de/pom.xml
+++ b/i18n/org.eclipse.emf.ecp.validation.nl_de/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-i18n-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.i18n/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.validation.nl_de</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/i18n/org.eclipse.emf.ecp.view.categorization.model.edit.nl_de/META-INF/MANIFEST.MF b/i18n/org.eclipse.emf.ecp.view.categorization.model.edit.nl_de/META-INF/MANIFEST.MF
index aeb7ccc..a54f973 100644
--- a/i18n/org.eclipse.emf.ecp.view.categorization.model.edit.nl_de/META-INF/MANIFEST.MF
+++ b/i18n/org.eclipse.emf.ecp.view.categorization.model.edit.nl_de/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.ecp.view.categorization.model.edit German NLS Support
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.categorization.model.edit.nl_de;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.view.categorization.model.edit;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.view.categorization.model.edit;bundle-version="[1.20.0,1.21.0)"
diff --git a/i18n/org.eclipse.emf.ecp.view.categorization.model.edit.nl_de/pom.xml b/i18n/org.eclipse.emf.ecp.view.categorization.model.edit.nl_de/pom.xml
index 56023f3..aed41b6 100644
--- a/i18n/org.eclipse.emf.ecp.view.categorization.model.edit.nl_de/pom.xml
+++ b/i18n/org.eclipse.emf.ecp.view.categorization.model.edit.nl_de/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-i18n-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.i18n/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.categorization.model.edit.nl_de</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/i18n/org.eclipse.emf.ecp.view.core.swt.nl_de/META-INF/MANIFEST.MF b/i18n/org.eclipse.emf.ecp.view.core.swt.nl_de/META-INF/MANIFEST.MF
index 3b45c97..ae9ebd7 100644
--- a/i18n/org.eclipse.emf.ecp.view.core.swt.nl_de/META-INF/MANIFEST.MF
+++ b/i18n/org.eclipse.emf.ecp.view.core.swt.nl_de/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.ecp.view.core.swt German NLS Support
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.core.swt.nl_de;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.20.0,1.21.0)"
diff --git a/i18n/org.eclipse.emf.ecp.view.core.swt.nl_de/pom.xml b/i18n/org.eclipse.emf.ecp.view.core.swt.nl_de/pom.xml
index ed9fb8d..215475f 100644
--- a/i18n/org.eclipse.emf.ecp.view.core.swt.nl_de/pom.xml
+++ b/i18n/org.eclipse.emf.ecp.view.core.swt.nl_de/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-i18n-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.i18n/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.core.swt.nl_de</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/i18n/org.eclipse.emf.ecp.view.custom.model.edit.nl_de/META-INF/MANIFEST.MF b/i18n/org.eclipse.emf.ecp.view.custom.model.edit.nl_de/META-INF/MANIFEST.MF
index 0d4f382..91a8e29 100644
--- a/i18n/org.eclipse.emf.ecp.view.custom.model.edit.nl_de/META-INF/MANIFEST.MF
+++ b/i18n/org.eclipse.emf.ecp.view.custom.model.edit.nl_de/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.ecp.view.custom.model.edit German NLS Support
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.custom.model.edit.nl_de;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.view.custom.model.edit;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.view.custom.model.edit;bundle-version="[1.20.0,1.21.0)"
diff --git a/i18n/org.eclipse.emf.ecp.view.custom.model.edit.nl_de/pom.xml b/i18n/org.eclipse.emf.ecp.view.custom.model.edit.nl_de/pom.xml
index 85df167..87dd2eb 100644
--- a/i18n/org.eclipse.emf.ecp.view.custom.model.edit.nl_de/pom.xml
+++ b/i18n/org.eclipse.emf.ecp.view.custom.model.edit.nl_de/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-i18n-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.i18n/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.custom.model.edit.nl_de</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/i18n/org.eclipse.emf.ecp.view.custom.model.nl_de/META-INF/MANIFEST.MF b/i18n/org.eclipse.emf.ecp.view.custom.model.nl_de/META-INF/MANIFEST.MF
index e533ef3..20029d4 100644
--- a/i18n/org.eclipse.emf.ecp.view.custom.model.nl_de/META-INF/MANIFEST.MF
+++ b/i18n/org.eclipse.emf.ecp.view.custom.model.nl_de/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.ecp.view.custom.model German NLS Support
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.custom.model.nl_de;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.view.custom.model;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.view.custom.model;bundle-version="[1.20.0,1.21.0)"
diff --git a/i18n/org.eclipse.emf.ecp.view.custom.model.nl_de/pom.xml b/i18n/org.eclipse.emf.ecp.view.custom.model.nl_de/pom.xml
index 9550a12..8501ec0 100644
--- a/i18n/org.eclipse.emf.ecp.view.custom.model.nl_de/pom.xml
+++ b/i18n/org.eclipse.emf.ecp.view.custom.model.nl_de/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-i18n-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.i18n/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.custom.model.nl_de</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/i18n/org.eclipse.emf.ecp.view.dynamictree.model.edit.nl_de/META-INF/MANIFEST.MF b/i18n/org.eclipse.emf.ecp.view.dynamictree.model.edit.nl_de/META-INF/MANIFEST.MF
index 71a58e1..dfbd60b 100644
--- a/i18n/org.eclipse.emf.ecp.view.dynamictree.model.edit.nl_de/META-INF/MANIFEST.MF
+++ b/i18n/org.eclipse.emf.ecp.view.dynamictree.model.edit.nl_de/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.ecp.view.dynamictree.model.edit German NLS Support
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.dynamictree.model.edit.nl_de;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.view.dynamictree.model.edit;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.view.dynamictree.model.edit;bundle-version="[1.20.0,1.21.0)"
diff --git a/i18n/org.eclipse.emf.ecp.view.dynamictree.model.edit.nl_de/pom.xml b/i18n/org.eclipse.emf.ecp.view.dynamictree.model.edit.nl_de/pom.xml
index def8857..02a8469 100644
--- a/i18n/org.eclipse.emf.ecp.view.dynamictree.model.edit.nl_de/pom.xml
+++ b/i18n/org.eclipse.emf.ecp.view.dynamictree.model.edit.nl_de/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-i18n-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.i18n/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.dynamictree.model.edit.nl_de</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/i18n/org.eclipse.emf.ecp.view.group.model.edit.nl_de/META-INF/MANIFEST.MF b/i18n/org.eclipse.emf.ecp.view.group.model.edit.nl_de/META-INF/MANIFEST.MF
index 854f354..e1f76e6 100644
--- a/i18n/org.eclipse.emf.ecp.view.group.model.edit.nl_de/META-INF/MANIFEST.MF
+++ b/i18n/org.eclipse.emf.ecp.view.group.model.edit.nl_de/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.ecp.view.group.model.edit German NLS Support
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.group.model.edit.nl_de;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.view.group.model.edit;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.view.group.model.edit;bundle-version="[1.20.0,1.21.0)"
diff --git a/i18n/org.eclipse.emf.ecp.view.group.model.edit.nl_de/pom.xml b/i18n/org.eclipse.emf.ecp.view.group.model.edit.nl_de/pom.xml
index 2b49152..afd92e7 100644
--- a/i18n/org.eclipse.emf.ecp.view.group.model.edit.nl_de/pom.xml
+++ b/i18n/org.eclipse.emf.ecp.view.group.model.edit.nl_de/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-i18n-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.i18n/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.group.model.edit.nl_de</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/i18n/org.eclipse.emf.ecp.view.groupedgrid.model.edit.nl_de/META-INF/MANIFEST.MF b/i18n/org.eclipse.emf.ecp.view.groupedgrid.model.edit.nl_de/META-INF/MANIFEST.MF
index 6e9eeea..c42fd23 100644
--- a/i18n/org.eclipse.emf.ecp.view.groupedgrid.model.edit.nl_de/META-INF/MANIFEST.MF
+++ b/i18n/org.eclipse.emf.ecp.view.groupedgrid.model.edit.nl_de/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.ecp.view.groupedgrid.model.edit German NLS Support
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.groupedgrid.model.edit.nl_de;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.view.groupedgrid.model.edit;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.view.groupedgrid.model.edit;bundle-version="[1.20.0,1.21.0)"
diff --git a/i18n/org.eclipse.emf.ecp.view.groupedgrid.model.edit.nl_de/pom.xml b/i18n/org.eclipse.emf.ecp.view.groupedgrid.model.edit.nl_de/pom.xml
index d625ce4..2b8fe45 100644
--- a/i18n/org.eclipse.emf.ecp.view.groupedgrid.model.edit.nl_de/pom.xml
+++ b/i18n/org.eclipse.emf.ecp.view.groupedgrid.model.edit.nl_de/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-i18n-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.i18n/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.groupedgrid.model.edit.nl_de</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/i18n/org.eclipse.emf.ecp.view.horizontal.model.edit.nl_de/META-INF/MANIFEST.MF b/i18n/org.eclipse.emf.ecp.view.horizontal.model.edit.nl_de/META-INF/MANIFEST.MF
index c5161a1..f3d29ff 100644
--- a/i18n/org.eclipse.emf.ecp.view.horizontal.model.edit.nl_de/META-INF/MANIFEST.MF
+++ b/i18n/org.eclipse.emf.ecp.view.horizontal.model.edit.nl_de/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.ecp.view.horizontal.model.edit German NLS Support
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.horizontal.model.edit.nl_de;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.view.horizontal.model.edit;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.view.horizontal.model.edit;bundle-version="[1.20.0,1.21.0)"
diff --git a/i18n/org.eclipse.emf.ecp.view.horizontal.model.edit.nl_de/pom.xml b/i18n/org.eclipse.emf.ecp.view.horizontal.model.edit.nl_de/pom.xml
index e9564bf..72f1391 100644
--- a/i18n/org.eclipse.emf.ecp.view.horizontal.model.edit.nl_de/pom.xml
+++ b/i18n/org.eclipse.emf.ecp.view.horizontal.model.edit.nl_de/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-i18n-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.i18n/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.horizontal.model.edit.nl_de</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/i18n/org.eclipse.emf.ecp.view.label.model.edit.nl_de/META-INF/MANIFEST.MF b/i18n/org.eclipse.emf.ecp.view.label.model.edit.nl_de/META-INF/MANIFEST.MF
index 3b87fcb..3a58a45 100644
--- a/i18n/org.eclipse.emf.ecp.view.label.model.edit.nl_de/META-INF/MANIFEST.MF
+++ b/i18n/org.eclipse.emf.ecp.view.label.model.edit.nl_de/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.ecp.view.label.model.edit German NLS Support
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.label.model.edit.nl_de;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.view.label.model.edit;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.view.label.model.edit;bundle-version="[1.20.0,1.21.0)"
diff --git a/i18n/org.eclipse.emf.ecp.view.label.model.edit.nl_de/pom.xml b/i18n/org.eclipse.emf.ecp.view.label.model.edit.nl_de/pom.xml
index b753926..93dc9b5 100644
--- a/i18n/org.eclipse.emf.ecp.view.label.model.edit.nl_de/pom.xml
+++ b/i18n/org.eclipse.emf.ecp.view.label.model.edit.nl_de/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-i18n-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.i18n/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.label.model.edit.nl_de</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/i18n/org.eclipse.emf.ecp.view.model.edit.nl_de/META-INF/MANIFEST.MF b/i18n/org.eclipse.emf.ecp.view.model.edit.nl_de/META-INF/MANIFEST.MF
index 6daa904..1cfc8c0 100644
--- a/i18n/org.eclipse.emf.ecp.view.model.edit.nl_de/META-INF/MANIFEST.MF
+++ b/i18n/org.eclipse.emf.ecp.view.model.edit.nl_de/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.ecp.view.model.edit German NLS Support
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.model.edit.nl_de;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.20.0,1.21.0)"
diff --git a/i18n/org.eclipse.emf.ecp.view.model.edit.nl_de/pom.xml b/i18n/org.eclipse.emf.ecp.view.model.edit.nl_de/pom.xml
index 35b1ec1..b3ee97a 100644
--- a/i18n/org.eclipse.emf.ecp.view.model.edit.nl_de/pom.xml
+++ b/i18n/org.eclipse.emf.ecp.view.model.edit.nl_de/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-i18n-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.i18n/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.model.edit.nl_de</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/i18n/org.eclipse.emf.ecp.view.model.editor.nl_de/META-INF/MANIFEST.MF b/i18n/org.eclipse.emf.ecp.view.model.editor.nl_de/META-INF/MANIFEST.MF
index 43b909c..45ee713 100644
--- a/i18n/org.eclipse.emf.ecp.view.model.editor.nl_de/META-INF/MANIFEST.MF
+++ b/i18n/org.eclipse.emf.ecp.view.model.editor.nl_de/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.ecp.view.model.editor German NLS Support
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.model.editor.nl_de;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.view.model.editor;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.view.model.editor;bundle-version="[1.20.0,1.21.0)"
diff --git a/i18n/org.eclipse.emf.ecp.view.model.editor.nl_de/pom.xml b/i18n/org.eclipse.emf.ecp.view.model.editor.nl_de/pom.xml
index 0e73ed4..2472daf 100644
--- a/i18n/org.eclipse.emf.ecp.view.model.editor.nl_de/pom.xml
+++ b/i18n/org.eclipse.emf.ecp.view.model.editor.nl_de/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-i18n-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.i18n/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.model.editor.nl_de</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/i18n/org.eclipse.emf.ecp.view.model.nl_de/META-INF/MANIFEST.MF b/i18n/org.eclipse.emf.ecp.view.model.nl_de/META-INF/MANIFEST.MF
index 1005a46..35213be 100644
--- a/i18n/org.eclipse.emf.ecp.view.model.nl_de/META-INF/MANIFEST.MF
+++ b/i18n/org.eclipse.emf.ecp.view.model.nl_de/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.ecp.view.model German NLS Support
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.model.nl_de;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)"
diff --git a/i18n/org.eclipse.emf.ecp.view.model.nl_de/pom.xml b/i18n/org.eclipse.emf.ecp.view.model.nl_de/pom.xml
index befdc2c..9c6b190 100644
--- a/i18n/org.eclipse.emf.ecp.view.model.nl_de/pom.xml
+++ b/i18n/org.eclipse.emf.ecp.view.model.nl_de/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-i18n-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.i18n/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.model.nl_de</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/i18n/org.eclipse.emf.ecp.view.rule.model.edit.nl_de/META-INF/MANIFEST.MF b/i18n/org.eclipse.emf.ecp.view.rule.model.edit.nl_de/META-INF/MANIFEST.MF
index 5c969b8..4360947 100644
--- a/i18n/org.eclipse.emf.ecp.view.rule.model.edit.nl_de/META-INF/MANIFEST.MF
+++ b/i18n/org.eclipse.emf.ecp.view.rule.model.edit.nl_de/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.ecp.view.rule.model.edit German NLS Support
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.rule.model.edit.nl_de;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.view.rule.model.edit;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.view.rule.model.edit;bundle-version="[1.20.0,1.21.0)"
diff --git a/i18n/org.eclipse.emf.ecp.view.rule.model.edit.nl_de/pom.xml b/i18n/org.eclipse.emf.ecp.view.rule.model.edit.nl_de/pom.xml
index b25490b..55c83b5 100644
--- a/i18n/org.eclipse.emf.ecp.view.rule.model.edit.nl_de/pom.xml
+++ b/i18n/org.eclipse.emf.ecp.view.rule.model.edit.nl_de/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-i18n-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.i18n/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.rule.model.edit.nl_de</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/i18n/org.eclipse.emf.ecp.view.table.model.edit.nl_de/META-INF/MANIFEST.MF b/i18n/org.eclipse.emf.ecp.view.table.model.edit.nl_de/META-INF/MANIFEST.MF
index 6a33fb0..a334fcd 100644
--- a/i18n/org.eclipse.emf.ecp.view.table.model.edit.nl_de/META-INF/MANIFEST.MF
+++ b/i18n/org.eclipse.emf.ecp.view.table.model.edit.nl_de/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.ecp.view.table.model.edit German NLS Support
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.table.model.edit.nl_de;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.view.table.model.edit;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.view.table.model.edit;bundle-version="[1.20.0,1.21.0)"
diff --git a/i18n/org.eclipse.emf.ecp.view.table.model.edit.nl_de/pom.xml b/i18n/org.eclipse.emf.ecp.view.table.model.edit.nl_de/pom.xml
index 800de57..bca33e6 100644
--- a/i18n/org.eclipse.emf.ecp.view.table.model.edit.nl_de/pom.xml
+++ b/i18n/org.eclipse.emf.ecp.view.table.model.edit.nl_de/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-i18n-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.i18n/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.table.model.edit.nl_de</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/i18n/org.eclipse.emf.ecp.view.table.model.nl_de/META-INF/MANIFEST.MF b/i18n/org.eclipse.emf.ecp.view.table.model.nl_de/META-INF/MANIFEST.MF
index f742654..88d716d 100644
--- a/i18n/org.eclipse.emf.ecp.view.table.model.nl_de/META-INF/MANIFEST.MF
+++ b/i18n/org.eclipse.emf.ecp.view.table.model.nl_de/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.ecp.view.table.model German NLS Support
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.table.model.nl_de;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.view.table.model;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.view.table.model;bundle-version="[1.20.0,1.21.0)"
diff --git a/i18n/org.eclipse.emf.ecp.view.table.model.nl_de/pom.xml b/i18n/org.eclipse.emf.ecp.view.table.model.nl_de/pom.xml
index 3183aa3..634b7ae 100644
--- a/i18n/org.eclipse.emf.ecp.view.table.model.nl_de/pom.xml
+++ b/i18n/org.eclipse.emf.ecp.view.table.model.nl_de/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-i18n-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.i18n/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.table.model.nl_de</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/i18n/org.eclipse.emf.ecp.view.table.ui.nebula.grid.nl_de/META-INF/MANIFEST.MF b/i18n/org.eclipse.emf.ecp.view.table.ui.nebula.grid.nl_de/META-INF/MANIFEST.MF
index 7b27198..d359055 100644
--- a/i18n/org.eclipse.emf.ecp.view.table.ui.nebula.grid.nl_de/META-INF/MANIFEST.MF
+++ b/i18n/org.eclipse.emf.ecp.view.table.ui.nebula.grid.nl_de/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Forms Nebula Grid Table UI German NLS Support
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.table.ui.nebula.grid.nl_de;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.view.table.ui.nebula.grid;bundle-version="[1.19.0,1.20.0)"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Fragment-Host: org.eclipse.emf.ecp.view.table.ui.nebula.grid;bundle-version="[1.20.0,1.21.0)"
 Automatic-Module-Name: org.eclipse.emf.ecp.view.table.ui.nebula.grid.nl_de
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/i18n/org.eclipse.emf.ecp.view.table.ui.nebula.grid.nl_de/pom.xml b/i18n/org.eclipse.emf.ecp.view.table.ui.nebula.grid.nl_de/pom.xml
index 4c91eee..f72e9e7 100644
--- a/i18n/org.eclipse.emf.ecp.view.table.ui.nebula.grid.nl_de/pom.xml
+++ b/i18n/org.eclipse.emf.ecp.view.table.ui.nebula.grid.nl_de/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-i18n-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.i18n/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.table.ui.nebula.grid.nl_de</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/i18n/org.eclipse.emf.ecp.view.table.ui.swt.nl_de/META-INF/MANIFEST.MF b/i18n/org.eclipse.emf.ecp.view.table.ui.swt.nl_de/META-INF/MANIFEST.MF
index f82f2b2..d53a413 100644
--- a/i18n/org.eclipse.emf.ecp.view.table.ui.swt.nl_de/META-INF/MANIFEST.MF
+++ b/i18n/org.eclipse.emf.ecp.view.table.ui.swt.nl_de/META-INF/MANIFEST.MF
@@ -2,9 +2,9 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Table UI SWT German NLS Support
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.table.ui.swt.nl_de;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.view.table.ui.swt;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.view.table.ui.swt;bundle-version="[1.20.0,1.21.0)"
 Bundle-Localization: OSGI-INF/l10n/bundle
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Automatic-Module-Name: org.eclipse.emf.ecp.view.table.ui.swt.nl_de
diff --git a/i18n/org.eclipse.emf.ecp.view.table.ui.swt.nl_de/pom.xml b/i18n/org.eclipse.emf.ecp.view.table.ui.swt.nl_de/pom.xml
index 0b9dd05..c283b56 100644
--- a/i18n/org.eclipse.emf.ecp.view.table.ui.swt.nl_de/pom.xml
+++ b/i18n/org.eclipse.emf.ecp.view.table.ui.swt.nl_de/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-i18n-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.i18n/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.table.ui.swt.nl_de</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/i18n/org.eclipse.emf.ecp.view.template.model.edit.nl_de/META-INF/MANIFEST.MF b/i18n/org.eclipse.emf.ecp.view.template.model.edit.nl_de/META-INF/MANIFEST.MF
index 717c17f..431b7c1 100644
--- a/i18n/org.eclipse.emf.ecp.view.template.model.edit.nl_de/META-INF/MANIFEST.MF
+++ b/i18n/org.eclipse.emf.ecp.view.template.model.edit.nl_de/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.ecp.view.template.model.edit German NLS Support
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.template.model.edit.nl_de;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.view.template.model.edit;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.view.template.model.edit;bundle-version="[1.20.0,1.21.0)"
diff --git a/i18n/org.eclipse.emf.ecp.view.template.model.edit.nl_de/pom.xml b/i18n/org.eclipse.emf.ecp.view.template.model.edit.nl_de/pom.xml
index 703739a..6885fde 100644
--- a/i18n/org.eclipse.emf.ecp.view.template.model.edit.nl_de/pom.xml
+++ b/i18n/org.eclipse.emf.ecp.view.template.model.edit.nl_de/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-i18n-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.i18n/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.template.model.edit.nl_de</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/i18n/org.eclipse.emf.ecp.view.treemasterdetail.model.edit.nl_de/META-INF/MANIFEST.MF b/i18n/org.eclipse.emf.ecp.view.treemasterdetail.model.edit.nl_de/META-INF/MANIFEST.MF
index e8a82bd..d58080a 100644
--- a/i18n/org.eclipse.emf.ecp.view.treemasterdetail.model.edit.nl_de/META-INF/MANIFEST.MF
+++ b/i18n/org.eclipse.emf.ecp.view.treemasterdetail.model.edit.nl_de/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.ecp.view.treemasterdetail.model.edit German NLS Support
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.treemasterdetail.model.edit.nl_de;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.view.treemasterdetail.model.edit;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.view.treemasterdetail.model.edit;bundle-version="[1.20.0,1.21.0)"
diff --git a/i18n/org.eclipse.emf.ecp.view.treemasterdetail.model.edit.nl_de/pom.xml b/i18n/org.eclipse.emf.ecp.view.treemasterdetail.model.edit.nl_de/pom.xml
index a33dac2..fc8cda8 100644
--- a/i18n/org.eclipse.emf.ecp.view.treemasterdetail.model.edit.nl_de/pom.xml
+++ b/i18n/org.eclipse.emf.ecp.view.treemasterdetail.model.edit.nl_de/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-i18n-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.i18n/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.treemasterdetail.model.edit.nl_de</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/i18n/org.eclipse.emf.ecp.view.vertical.model.edit.nl_de/META-INF/MANIFEST.MF b/i18n/org.eclipse.emf.ecp.view.vertical.model.edit.nl_de/META-INF/MANIFEST.MF
index 937a7c1..3e9c42c 100644
--- a/i18n/org.eclipse.emf.ecp.view.vertical.model.edit.nl_de/META-INF/MANIFEST.MF
+++ b/i18n/org.eclipse.emf.ecp.view.vertical.model.edit.nl_de/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.ecp.view.vertical.model.edit German NLS Support
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.vertical.model.edit.nl_de;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.view.vertical.model.edit;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.view.vertical.model.edit;bundle-version="[1.20.0,1.21.0)"
diff --git a/i18n/org.eclipse.emf.ecp.view.vertical.model.edit.nl_de/pom.xml b/i18n/org.eclipse.emf.ecp.view.vertical.model.edit.nl_de/pom.xml
index 726ba18..b3ab4fa 100644
--- a/i18n/org.eclipse.emf.ecp.view.vertical.model.edit.nl_de/pom.xml
+++ b/i18n/org.eclipse.emf.ecp.view.vertical.model.edit.nl_de/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-i18n-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.i18n/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.vertical.model.edit.nl_de</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/releng/org.eclipse.emf.ecp.products/org.eclipse.emf.ecp.3x.product b/releng/org.eclipse.emf.ecp.products/org.eclipse.emf.ecp.3x.product
index 61bef18..5ea11a2 100644
--- a/releng/org.eclipse.emf.ecp.products/org.eclipse.emf.ecp.3x.product
+++ b/releng/org.eclipse.emf.ecp.products/org.eclipse.emf.ecp.3x.product
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?pde version="3.5"?>
 
-<product name="%productName" uid="org.eclipse.emf.ecp.3x" id="org.eclipse.emf.ecp.application.e3.product" application="org.eclipse.emf.ecp.application.e3.application" version="1.19.0.qualifier" useFeatures="true" includeLaunchers="true">
+<product name="%productName" uid="org.eclipse.emf.ecp.3x" id="org.eclipse.emf.ecp.application.e3.product" application="org.eclipse.emf.ecp.application.e3.application" version="1.20.0.qualifier" useFeatures="true" includeLaunchers="true">
 
    <aboutInfo>
       <image path="/org.eclipse.emf.ecp.application.e3/icons/eclipse_lg.gif"/>
diff --git a/releng/org.eclipse.emf.ecp.products/org.eclipse.emf.ecp.application.e4.product b/releng/org.eclipse.emf.ecp.products/org.eclipse.emf.ecp.application.e4.product
index 29a365d..ba0ce5f 100644
--- a/releng/org.eclipse.emf.ecp.products/org.eclipse.emf.ecp.application.e4.product
+++ b/releng/org.eclipse.emf.ecp.products/org.eclipse.emf.ecp.application.e4.product
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?pde version="3.5"?>
 
-<product name="org.eclipse.emf.ecp.e4.application" uid="org.eclipse.emf.ecp.application.e4.demo" id="org.eclipse.emf.ecp.application.e4.product" application="org.eclipse.e4.ui.workbench.swt.E4Application" version="1.19.0.qualifier" useFeatures="false" includeLaunchers="true">
+<product name="org.eclipse.emf.ecp.e4.application" uid="org.eclipse.emf.ecp.application.e4.demo" id="org.eclipse.emf.ecp.application.e4.product" application="org.eclipse.e4.ui.workbench.swt.E4Application" version="1.20.0.qualifier" useFeatures="false" includeLaunchers="true">
 
    <configIni use="default">
    </configIni>
diff --git a/releng/org.eclipse.emf.ecp.products/pom.xml b/releng/org.eclipse.emf.ecp.products/pom.xml
index d95b1f5..cac3414 100644
--- a/releng/org.eclipse.emf.ecp.products/pom.xml
+++ b/releng/org.eclipse.emf.ecp.products/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.products</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-repository</packaging>
   
   <build>
diff --git a/releng/org.eclipse.emf.ecp.rap.parent/pom.xml b/releng/org.eclipse.emf.ecp.rap.parent/pom.xml
index a9813c6..e4b709d 100644
--- a/releng/org.eclipse.emf.ecp.rap.parent/pom.xml
+++ b/releng/org.eclipse.emf.ecp.rap.parent/pom.xml
@@ -5,7 +5,7 @@
 	<modelVersion>4.0.0</modelVersion>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>ecp-rap-parent</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>pom</packaging>
 	
 	<!-- Parent for the rap product. Needed to reduce environments.
diff --git a/releng/org.eclipse.emf.ecp.rap.products/pom.xml b/releng/org.eclipse.emf.ecp.rap.products/pom.xml
index 07d67c9..1171c45 100644
--- a/releng/org.eclipse.emf.ecp.rap.products/pom.xml
+++ b/releng/org.eclipse.emf.ecp.rap.products/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-rap-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../org.eclipse.emf.ecp.rap.parent/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.rap.products</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-repository</packaging>
 
   <properties>
diff --git a/releng/org.eclipse.emf.ecp.releng.bundles/pom.xml b/releng/org.eclipse.emf.ecp.releng.bundles/pom.xml
index a886e0b..3002863 100644
--- a/releng/org.eclipse.emf.ecp.releng.bundles/pom.xml
+++ b/releng/org.eclipse.emf.ecp.releng.bundles/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>ecp-bundles-parent</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>pom</packaging>
 
 	<modules>
@@ -184,6 +184,10 @@
 		<module>../../bundles/org.eclipse.emf.ecp.view.template.annotation.model.edit</module>
 
 		<!-- IDE -->
+		<module>../../bundles/org.eclipse.emfforms.ide.builder</module>
+		<module>../../bundles/org.eclipse.emfforms.ide.ecore.builder</module>
+		<module>../../bundles/org.eclipse.emfforms.ide.viewtemplate.builder</module>
+		<module>../../bundles/org.eclipse.emfforms.ide.datatemplate.builder</module>
 		<module>../../bundles/org.eclipse.emf.ecp.ide.editor.view</module>
 		<module>../../bundles/org.eclipse.emf.ecp.ide.editor.viewmodel</module>
 		<module>../../bundles/org.eclipse.emf.ecp.ide.view.service</module>
diff --git a/releng/org.eclipse.emf.ecp.releng.examples/pom.xml b/releng/org.eclipse.emf.ecp.releng.examples/pom.xml
index 8a6ca90..48e784c 100644
--- a/releng/org.eclipse.emf.ecp.releng.examples/pom.xml
+++ b/releng/org.eclipse.emf.ecp.releng.examples/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>ecp-examples-parent</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>pom</packaging>
 
 	<modules>
diff --git a/releng/org.eclipse.emf.ecp.releng.features/pom.xml b/releng/org.eclipse.emf.ecp.releng.features/pom.xml
index 6eb10a5..3253f1e 100644
--- a/releng/org.eclipse.emf.ecp.releng.features/pom.xml
+++ b/releng/org.eclipse.emf.ecp.releng.features/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>ecp-features-parent</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>pom</packaging>
 
 	<modules>
diff --git a/releng/org.eclipse.emf.ecp.releng.i18n/pom.xml b/releng/org.eclipse.emf.ecp.releng.i18n/pom.xml
index df49810..80e73d8 100644
--- a/releng/org.eclipse.emf.ecp.releng.i18n/pom.xml
+++ b/releng/org.eclipse.emf.ecp.releng.i18n/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>ecp-i18n-parent</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>pom</packaging>
 
 	<!-- modules -->
diff --git a/releng/org.eclipse.emf.ecp.releng.tests/pom.xml b/releng/org.eclipse.emf.ecp.releng.tests/pom.xml
index 286481a..77eb249 100644
--- a/releng/org.eclipse.emf.ecp.releng.tests/pom.xml
+++ b/releng/org.eclipse.emf.ecp.releng.tests/pom.xml
@@ -5,12 +5,12 @@
 	<modelVersion>4.0.0</modelVersion>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>ecp-tests-parent</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>pom</packaging>
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng/</relativePath>
 	</parent>
 	
@@ -110,6 +110,7 @@
 		<module>../../tests/org.eclipse.emf.ecp.view.horizontal.ui.swt.test</module>
 		<module>../../tests/org.eclipse.emf.ecp.view.model.edit.test</module>
 		<module>../../tests/org.eclipse.emf.ecp.view.model.integrationtest</module>
+		<module>../../tests/org.eclipse.emf.ecp.view.model.provider.generator.test</module>
 		<module>../../tests/org.eclipse.emf.ecp.view.model.provider.xmi.test</module>
 		<module>../../tests/org.eclipse.emf.ecp.view.model.preview.common.test</module>		
 		
@@ -142,6 +143,7 @@
 		<module>../../tests/org.eclipse.emf.ecp.view.control.multireference.tests</module>
 		
 		<module>../../tests/org.eclipse.emfforms.editor.ecore.test</module>
+		<module>../../tests/org.eclipse.emfforms.ide.builder.test</module>
 
 		<module>../../tests/org.eclipse.emf.ecp.core.rap.test</module>
 		<module>../../tests/org.eclipse.emf.ecp.core.rap.concurrent.test</module>
diff --git a/releng/org.eclipse.emf.ecp.releng/pom.xml b/releng/org.eclipse.emf.ecp.releng/pom.xml
index e0ff1be..0545ee5 100644
--- a/releng/org.eclipse.emf.ecp.releng/pom.xml
+++ b/releng/org.eclipse.emf.ecp.releng/pom.xml
@@ -5,14 +5,14 @@
 	<modelVersion>4.0.0</modelVersion>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>ecp-parent</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>pom</packaging>
 
 	<properties>
 		<tycho-version>1.2.0</tycho-version>
 		<tycho-extras-version>1.2.0</tycho-extras-version>
 		<javadoc-version>2.10.3</javadoc-version>
-		<ecp-version>1.19.0</ecp-version>
+		<ecp-version>1.20.0</ecp-version>
 		<javadoc-title>EMF Client Platform ${ecp-version} API</javadoc-title>
 		<maven.antrun.plugin.version>1.7</maven.antrun.plugin.version>
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
diff --git a/releng/org.eclipse.emf.ecp.repository.target/category.xml b/releng/org.eclipse.emf.ecp.repository.target/category.xml
index dea7278..879e736 100644
--- a/releng/org.eclipse.emf.ecp.repository.target/category.xml
+++ b/releng/org.eclipse.emf.ecp.repository.target/category.xml
@@ -219,7 +219,7 @@
    <feature id="org.eclipse.emf.ecp.i18n.feature" version="0.0.0">
       <category name="org.eclipse.emf.ecp.i18n"/>
    </feature>
-   <bundle id="org.eclipse.emf.ecp.view.table.validation" version="1.19.0.qualifier">
+   <bundle id="org.eclipse.emf.ecp.view.table.validation" version="1.20.0.qualifier">
       <category name="org.eclipse.emf.ecp.emfforms"/>
    </bundle>
    <category-def name="org.eclipse.emf.ecp.sdk" label="All SDKs  (install one of these)">
diff --git a/releng/org.eclipse.emf.ecp.repository.target/pom.xml b/releng/org.eclipse.emf.ecp.repository.target/pom.xml
index 5ce66d6..773e63e 100644
--- a/releng/org.eclipse.emf.ecp.repository.target/pom.xml
+++ b/releng/org.eclipse.emf.ecp.repository.target/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-features-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.site.target.feature</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-repository</packaging>
 
 	<build>
diff --git a/releng/org.eclipse.emf.ecp.repository/pom.xml b/releng/org.eclipse.emf.ecp.repository/pom.xml
index 4d1aeb9..e4a2d34 100644
--- a/releng/org.eclipse.emf.ecp.repository/pom.xml
+++ b/releng/org.eclipse.emf.ecp.repository/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-features-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.site.feature</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-repository</packaging>
 
 	<build>
diff --git a/releng/org.eclipse.emf.ecp.target.rap/ecpRAP.target b/releng/org.eclipse.emf.ecp.target.rap/ecpRAP.target
index 14c643d..9c94114 100644
--- a/releng/org.eclipse.emf.ecp.target.rap/ecpRAP.target
+++ b/releng/org.eclipse.emf.ecp.target.rap/ecpRAP.target
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <?pde?>
-<!-- generated with https://github.com/mbarbero/fr.obeo.releng.targetplatform -->
-<target name="ECP RAP" sequenceNumber="1542719392">
+<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
+<target name="ECP RAP" sequenceNumber="1545255804">
   <locations>
     <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
       <unit id="org.eclipse.swtbot.eclipse.feature.group" version="0.0.0"/>
@@ -14,7 +14,7 @@
     <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
       <unit id="org.eclipse.equinox.sdk.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.platform.ide" version="0.0.0"/>
-      <repository location="http://download.eclipse.org/eclipse/updates/4.10milestones"/>
+      <repository location="http://download.eclipse.org/eclipse/updates/4.10"/>
     </location>
     <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
       <unit id="org.eclipse.core.databinding" version="1.5.0.v20150422-0725"/>
diff --git a/releng/org.eclipse.emf.ecp.target.rap/ecpRAP_withECP.target b/releng/org.eclipse.emf.ecp.target.rap/ecpRAP_withECP.target
index a6e6fb3..c126ad5 100644
--- a/releng/org.eclipse.emf.ecp.target.rap/ecpRAP_withECP.target
+++ b/releng/org.eclipse.emf.ecp.target.rap/ecpRAP_withECP.target
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <?pde?>
-<!-- generated with https://github.com/mbarbero/fr.obeo.releng.targetplatform -->
-<target name="ECP RAP with ECP" sequenceNumber="1542719487">
+<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
+<target name="ECP RAP with ECP" sequenceNumber="1548626672">
   <locations>
     <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
       <unit id="org.eclipse.swtbot.eclipse.feature.group" version="0.0.0"/>
@@ -14,7 +14,7 @@
     <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
       <unit id="org.eclipse.equinox.sdk.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.platform.ide" version="0.0.0"/>
-      <repository location="http://download.eclipse.org/eclipse/updates/4.10milestones"/>
+      <repository location="http://download.eclipse.org/eclipse/updates/4.10"/>
     </location>
     <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
       <unit id="org.eclipse.core.databinding" version="1.5.0.v20150422-0725"/>
@@ -89,7 +89,7 @@
       <unit id="org.eclipse.emf.ecp.rap.sdk.feature.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.emf.ecp.rap.util.feature.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.emf.ecp.emfforms.sdk.feature.feature.group" version="0.0.0"/>
-      <repository location="http://download.eclipse.org/ecp/releases/releases_target_119"/>
+      <repository location="http://download.eclipse.org/ecp/releases/releases_target_120"/>
     </location>
   </locations>
 </target>
diff --git a/releng/org.eclipse.emf.ecp.target.rap/ecpRAP_withECP.tpd b/releng/org.eclipse.emf.ecp.target.rap/ecpRAP_withECP.tpd
index 3a7ff40..53603c4 100644
--- a/releng/org.eclipse.emf.ecp.target.rap/ecpRAP_withECP.tpd
+++ b/releng/org.eclipse.emf.ecp.target.rap/ecpRAP_withECP.tpd
@@ -4,7 +4,7 @@
 
 include "ecpRAP.tpd"
 
-location "http://download.eclipse.org/ecp/releases/releases_target_119"{
+location "http://download.eclipse.org/ecp/releases/releases_target_120"{
 	org.eclipse.emf.ecp.rap.sdk.feature.feature.group lazy
 	org.eclipse.emf.ecp.rap.util.feature.feature.group lazy
 	org.eclipse.emf.ecp.emfforms.sdk.feature.feature.group lazy
diff --git a/releng/org.eclipse.emf.ecp.target.rap/pom.xml b/releng/org.eclipse.emf.ecp.target.rap/pom.xml
index b9ff61c..5a1b040 100644
--- a/releng/org.eclipse.emf.ecp.target.rap/pom.xml
+++ b/releng/org.eclipse.emf.ecp.target.rap/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>ecpRAP</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-target-definition</packaging>
 </project>
\ No newline at end of file
diff --git a/releng/org.eclipse.emf.ecp.target.rcp/ecp.target b/releng/org.eclipse.emf.ecp.target.rcp/ecp.target
index 294542a..431562d 100644
--- a/releng/org.eclipse.emf.ecp.target.rcp/ecp.target
+++ b/releng/org.eclipse.emf.ecp.target.rcp/ecp.target
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <?pde?>
-<!-- generated with https://github.com/mbarbero/fr.obeo.releng.targetplatform -->
-<target name="ECP RCP" sequenceNumber="1542719243">
+<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
+<target name="ECP RCP" sequenceNumber="1545254752">
   <locations>
     <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
       <unit id="org.eclipse.swtbot.eclipse.feature.group" version="0.0.0"/>
@@ -14,7 +14,7 @@
     <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
       <unit id="org.eclipse.equinox.sdk.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.platform.ide" version="0.0.0"/>
-      <repository location="http://download.eclipse.org/eclipse/updates/4.10milestones"/>
+      <repository location="http://download.eclipse.org/eclipse/updates/4.10"/>
     </location>
     <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
       <unit id="org.eclipse.core.databinding" version="1.5.0.v20150422-0725"/>
diff --git a/releng/org.eclipse.emf.ecp.target.rcp/ecp.tpd b/releng/org.eclipse.emf.ecp.target.rcp/ecp.tpd
index a565f634..db01d23 100644
--- a/releng/org.eclipse.emf.ecp.target.rcp/ecp.tpd
+++ b/releng/org.eclipse.emf.ecp.target.rcp/ecp.tpd
@@ -10,7 +10,7 @@
 	org.eclipse.swtbot.feature.group lazy
 }
 
-location "http://download.eclipse.org/eclipse/updates/4.10milestones" {
+location "http://download.eclipse.org/eclipse/updates/4.10" {
 	org.eclipse.equinox.sdk.feature.group lazy
 	org.eclipse.platform.ide lazy
 }
diff --git a/releng/org.eclipse.emf.ecp.target.rcp/pom.xml b/releng/org.eclipse.emf.ecp.target.rcp/pom.xml
index 2b30be0..21ade50 100644
--- a/releng/org.eclipse.emf.ecp.target.rcp/pom.xml
+++ b/releng/org.eclipse.emf.ecp.target.rcp/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>ecp</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-target-definition</packaging>
 </project>
\ No newline at end of file
diff --git a/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.target/emfforms_spreadsheet.target b/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.target/emfforms_spreadsheet.target
index cd3b3ea..c6b959d 100644
--- a/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.target/emfforms_spreadsheet.target
+++ b/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.target/emfforms_spreadsheet.target
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <?pde?>
-<!-- generated with https://github.com/mbarbero/fr.obeo.releng.targetplatform -->
-<target name="emfforms_spreadsheet" sequenceNumber="1542719405">
+<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
+<target name="emfforms_spreadsheet" sequenceNumber="1545255763">
   <locations>
     <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
       <unit id="org.eclipse.swtbot.eclipse.feature.group" version="0.0.0"/>
@@ -14,7 +14,7 @@
     <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
       <unit id="org.eclipse.equinox.sdk.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.platform.ide" version="0.0.0"/>
-      <repository location="http://download.eclipse.org/eclipse/updates/4.10milestones"/>
+      <repository location="http://download.eclipse.org/eclipse/updates/4.10"/>
     </location>
     <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
       <unit id="org.eclipse.core.databinding" version="1.5.0.v20150422-0725"/>
diff --git a/tests/ECPQ7Tests/EPPTests/update-site/project/EPPTestsSuite.suite b/tests/ECPQ7Tests/EPPTests/update-site/project/EPPTestsSuite.suite
index 0e2ffc1..15996d8 100644
--- a/tests/ECPQ7Tests/EPPTests/update-site/project/EPPTestsSuite.suite
+++ b/tests/ECPQ7Tests/EPPTests/update-site/project/EPPTestsSuite.suite
@@ -5,8 +5,8 @@
 Element-Version: 2.0
 Id: _MY-BIBiHEeiwib4PmrBZZQ
 Manually-Ordered: true
-Runtime-Version: 2.2.0.201706152316
-Save-Time: 5/23/18 5:31 PM
+Runtime-Version: 2.4.0.201810292311
+Save-Time: 11/28/18 4:08 PM
 
 ------=_testcase-items-62c497da-4241-31f4-811a-6b453a3ecff8
 Content-Type: text/testcase
@@ -31,5 +31,6 @@
 _PcpI0DmJEeiUsKIXZxWPjg	// kind: 'test' name: 'TemplateAnnotationSelector' path: 'TemplateAnnotationSelector.test'
 _JU4aMDmmEeiV5MMKft7xVA	// kind: 'test' name: 'TemplateHierarchySelector' path: 'TemplateHierarchySelector.test'
 _RKICsDmnEeiV5MMKft7xVA	// kind: 'test' name: 'TemplateLabelWrapStyle' path: 'TemplateLabelWrapStyle.test'
+_W4UMAPMcEeik6oWCgIASMQ	// kind: 'test' name: 'View Model With Abstract Root EClass' path: 'View Model With Abstract Root EClass.test'
 
 ------=_testcase-items-62c497da-4241-31f4-811a-6b453a3ecff8--
diff --git a/tests/ECPQ7Tests/EPPTests/update-site/project/ModelWithAbstractClassContext.ctx b/tests/ECPQ7Tests/EPPTests/update-site/project/ModelWithAbstractClassContext.ctx
new file mode 100644
index 0000000..65216d1
--- /dev/null
+++ b/tests/ECPQ7Tests/EPPTests/update-site/project/ModelWithAbstractClassContext.ctx
@@ -0,0 +1,83 @@
+--- RCPTT testcase ---
+Format-Version: 1.0
+Context-Type: org.eclipse.rcptt.ctx.workspace
+Element-Name: ModelWithAbstractClassContext
+Element-Type: context
+Element-Version: 2.0
+Id: _kHXSIPMaEeik6oWCgIASMQ
+Runtime-Version: 2.4.0.201810292311
+Save-Time: 11/28/18 3:55 PM
+
+------=_contents/Project/.settings/org.eclipse.jdt.core.prefs-9719119b-4367-3e9d-a359-2f34f4b85152
+Content-Type: q7/binary
+Entry-Name: contents/Project/.settings/org.eclipse.jdt.core.prefs
+
+UEsDBBQACAgIAAAAIQAAAAAAAAAAAAAAAAAIAAkALmNvbnRlbnRVVAUAAQAAAACVkjFOBDEMRXtOsSeI
+tB1NGgokEEJb0XuSP4NREo9sZyVuTwa2J9tEVpKXbz8FqfBuCLtihaIlWLhCjaXF84PoFnC78ZU9JFGM
+pe5coKPI2NACt8INr6ZP345jM6LRUpAn+Qr/lHwhpVGN7Jjl1MRP4wxKjslnnHSDXwr5KlrjOTxOgr11
+Q36TRCUODwa9/p9Z98I0dE3kZCx9C4ej914XaJwc7MYdfX2Q8qH0PtSka8Izz3O7ykipgWxY8JeM5rzy
+aBmqopMwWq93oooCMsTMNvNz/gb7Vf8DUEsHCEZpZBTZAAAAwQIAAFBLAQIUABQACAgIAAAAIQBGaWQU
+2QAAAMECAAAIAAkAAAAAAAAAAAAAAAAAAAAuY29udGVudFVUBQABAAAAAFBLBQYAAAAAAQABAD8AAAAY
+AQAAAAA=
+------=_contents/Project/.settings/org.eclipse.jdt.core.prefs-9719119b-4367-3e9d-a359-2f34f4b85152--
+------=_contents/Project/model/My.ecore-01914f54-7523-34f2-96c6-5996097f6e68
+Content-Type: q7/binary
+Entry-Name: contents/Project/model/My.ecore
+
+UEsDBBQACAgIAAAAIQAAAAAAAAAAAAAAAAAIAAkALmNvbnRlbnRVVAUAAQAAAACtU8tuwjAQvPMVlnsG
+A71UUQKiFCSkVkI8pF6N2QSrfiDbaejfdx0gClUPrVofEu1mZnY8q6Tjk1bkHZyX1mR00OtTAkbYvTRF
+RrebefeBjkedFIR1kMyWXLzxAshJy6QhDSMJZYxPsJ/RQwjHhLGqqnpWFz3rCvb6smgg/hZS3deIYb8/
+QNjzWhxA8640PnAjgHYInjOz9nDDBaHk0UMtADqPIkM2izBKDNcI5jsfHBcBa79dLRp2u790kMtTCzvC
+oSlMFfde5hKvSdB0Ej6OKHgJov54HTJpxK4SGQ2uhFooSq2xEqF0XM2B4xu+UZyE4OSuDI31+KRE2Qrc
+oy3NHreDu9m0OU888NggP8rkjrEZOsHNUvYbZyvIwUFcxsWZsEY4COAbPyg9vTTPG4sHYYFLo8Fc86jH
+pqwd7W+zbsb8KVvFd6D+N82v18L65p8ZdT4BUEsHCKt2P0dUAQAAbAMAAFBLAQIUABQACAgIAAAAIQCr
+dj9HVAEAAGwDAAAIAAkAAAAAAAAAAAAAAAAAAAAuY29udGVudFVUBQABAAAAAFBLBQYAAAAAAQABAD8A
+AACTAQAAAAA=
+------=_contents/Project/model/My.ecore-01914f54-7523-34f2-96c6-5996097f6e68--
+------=_contents/Project/.classpath-f984ce42-12ff-3be6-aa06-31b4c770dc90
+Content-Type: q7/binary
+Entry-Name: contents/Project/.classpath
+
+UEsDBBQACAgIAAAAIQAAAAAAAAAAAAAAAAAIAAkALmNvbnRlbnRVVAUAAQAAAACVkEFLAzEQhc/2Vyy5
+d9be9rDbIrKFFlylXb1KmgzbaeMkTpJi/70WLYqg0NubxzfDm1fP3l5ccUCJ5LlRE7hWBbLxlnho1GM/
+H1dqNh3VxukYg07b6ejqe0BOciz2xLZRUYwqTuanLP8Ejecz6GUANI5CRAgWwXhBEHzNJGgfXB6I4+WX
+djaB05nN9uMJWK7a59v7rr9ZdO2q/M0RJxTWDixu8gCZvjZRYJ00Wy326a4/BiyX+qDX7XgC1T+JfE4h
+p3OoDfGJrcsf7b0DUEsHCCqShdjNAAAAcQEAAFBLAQIUABQACAgIAAAAIQAqkoXYzQAAAHEBAAAIAAkA
+AAAAAAAAAAAAAAAAAAAuY29udGVudFVUBQABAAAAAFBLBQYAAAAAAQABAD8AAAAMAQAAAAA=
+------=_contents/Project/.classpath-f984ce42-12ff-3be6-aa06-31b4c770dc90--
+------=_contents/Project/META-INF/MANIFEST.MF-fbd2397f-8e7f-3faa-b753-e22becfce759
+Content-Type: q7/binary
+Entry-Name: contents/Project/META-INF/MANIFEST.MF
+
+UEsDBBQACAgIAAAAIQAAAAAAAAAAAAAAAAAIAAkALmNvbnRlbnRVVAUAAQAAAABlj8sKwjAQRff9ivxA
+QutKIi4UuhEqYsF9TKdlJMnYPIr+vQHbgrgb5tw5w22Uwx5C5DfwAclJVomyOCbXGeDNDFe2WchZWZDs
+4ukBOi7L9m3vZFD/wB0L6AYDMd/vo0+wpFdpKfJLMSZlsEfwxRXGhB74NycZ+UGANvgMIMD2eSa/WuZw
+V79Ap5h9tZvQk7PgomQnNam25pXYFocUyaqImjfUpb8KH1BLBwjT77MepwAAAAgBAABQSwECFAAUAAgI
+CAAAACEA0++zHqcAAAAIAQAACAAJAAAAAAAAAAAAAAAAAAAALmNvbnRlbnRVVAUAAQAAAABQSwUGAAAA
+AAEAAQA/AAAA5gAAAAAA
+------=_contents/Project/META-INF/MANIFEST.MF-fbd2397f-8e7f-3faa-b753-e22becfce759--
+------=_contents/Project/.project-c86618dd-5d3d-3ef3-91ee-7e836e2ebf30
+Content-Type: q7/binary
+Entry-Name: contents/Project/.project
+
+UEsDBBQACAgIAAAAIQAAAAAAAAAAAAAAAAAIAAkALmNvbnRlbnRVVAUAAQAAAAC9kk2KAjEQhdd6Cum9
+ybibRWxBB3eK4HiATFK2aTo/JGmZ40+lE2UUBEFw917Vq3yhErb41d3kDD4oa+bVjHxUEzDCSmWaeXX4
+Xk8/q0U9Zs7bFkT8giC8chHD9XjEDNdQ73KL0cFhVVitwcSa0YvCYjkgJE3/m59edXLvQKApboVj3MhU
+KAzrGwKiUy4AaWUkwnoU/MyHPPgrHAe4b/pEDdnSG8/oPeEZpJNANtyoI4S4fBtxL06g+cu8UigrRlTs
+PeRo1o+3m/sJPeQejKS77rq+UWZ7n79IxF1f/eYP/QFQSwcIAqjCT+EAAACAAgAAUEsBAhQAFAAICAgA
+AAAhAAKowk/hAAAAgAIAAAgACQAAAAAAAAAAAAAAAAAAAC5jb250ZW50VVQFAAEAAAAAUEsFBgAAAAAB
+AAEAPwAAACABAAAAAA==
+------=_contents/Project/.project-c86618dd-5d3d-3ef3-91ee-7e836e2ebf30--
+------=_.q7.content-3d2e0690-ce48-3609-83e0-c704d49f1eaf
+Content-Type: q7/binary
+Entry-Name: .q7.content
+
+UEsDBBQACAgIAAAAIQAAAAAAAAAAAAAAAAAIAAkALmNvbnRlbnRVVAUAAQAAAACVkkFvgjAUx+9+iqZ3
+222HZSGgIUYzDjUumuhtYaViFVrSvg327VeUEmJm5m4t79ff/+U9wmlTFuhLGCu1ivAjecBIKK4zqfII
+f8J+/IKnk1GoTU4EL2RlBTG8AiAcGlJrc7JVykWw9aeZViAaQE0pg1771GpdkLKB+x7hA0AVUFrXNdFl
+Tpyc7ljikT+y+ueeaZ+fOeo42nMYqbR0NNOZKLYSDvGHBZNymBWptV2fGMkswu+n1906WbF0LuTpWW9n
+eRKv2RuejBAKeUsqaM/uVhl9FBxsJ19drvhSdfW9LIQvEt4mVSkcMP0d6GzDsi4yNzYPWAHgVmH7gCvD
+cFbHzE1KG+GsYm8HTtpJb4Sw+SYeJ8vFrQwWL5PFfL0hbHG/tGynftP47Zp2nd6vs4Z7OKR+B+f10H4/
+If3vXzoZ/QBQSwcI8IPKIUEBAAAAAwAAUEsBAhQAFAAICAgAAAAhAPCDyiFBAQAAAAMAAAgACQAAAAAA
+AAAAAAAAAAAAAC5jb250ZW50VVQFAAEAAAAAUEsFBgAAAAABAAEAPwAAAIABAAAAAA==
+------=_.q7.content-3d2e0690-ce48-3609-83e0-c704d49f1eaf--
diff --git a/tests/ECPQ7Tests/EPPTests/update-site/project/TableControlWithDetail_Scroll.test b/tests/ECPQ7Tests/EPPTests/update-site/project/TableControlWithDetail_Scroll.test
new file mode 100644
index 0000000..30da33b
--- /dev/null
+++ b/tests/ECPQ7Tests/EPPTests/update-site/project/TableControlWithDetail_Scroll.test
@@ -0,0 +1,102 @@
+--- RCPTT testcase ---
+Format-Version: 1.0
+Contexts: _D4Pj4C3lEeSwhO5Nwx0hPg,_Iu0EsS36EeSYRYqCbC6LMQ
+Element-Name: TableControlWithDetail_Scroll
+Element-Type: testcase
+Element-Version: 3.0
+External-Reference: 
+Id: _jOkp0CpNEem3i-Gw7uP7Ew
+Runtime-Version: 2.4.0.201902270059
+Save-Time: 2/27/19 10:31 AM
+Testcase-Type: ecl
+
+------=_.description-216f885c-d591-38ce-8ea2-e4f8cb4d6ffa
+Content-Type: text/plain
+Entry-Name: .description
+
+tests that the table is not editable when its effectively readonly.
+------=_.description-216f885c-d591-38ce-8ea2-e4f8cb4d6ffa--
+------=_.content-0a7243a0-75d3-3d5f-9791-539de0e5b7ac
+Content-Type: text/ecl
+Entry-Name: .content
+
+get-view "Project Explorer" | get-tree 
+    | select "org.eclipse.emf.ecp.makeithappen.model.viewmodel/viewmodels/UserGroup.view" | double-click
+with [get-editor "UserGroup.view"] {
+    with [get-tree] {
+        select View | get-menu -path TableControl | click
+        select "View/TableControl"
+    }
+    get-button "Create and link new Domain Model Reference" | click
+}
+
+// Create table control in UserGroup.view
+with [get-window "Configure TableDomainModelReference"] {
+    get-button "Create and link new Domain Model Reference" | click
+    with [get-window "New Reference Element"] {
+        get-tree | select "model/FeaturePathDomainModelReference"
+        get-button "Next >" | click
+        get-button "Link Domain Model EFeature" | click
+        with [get-window "Select a EStructuralFeature"] {
+            get-tree | select "users : User"
+            get-button OK | click
+        }
+        get-button Finish | click
+    }
+    get-button Finish | click
+}
+
+get-editor "UserGroup.view" | get-combo -after [get-label "Detail Editing*"] | select WithPanel
+get-button "Save (M1+S)" | click
+get-view "Project Explorer" | get-tree | select "org.eclipse.emf.ecp.makeithappen.model.viewmodel/viewmodels/User.view" 
+    | double-click
+with [get-editor "User.view" | get-tree] {
+    select View | get-menu -path VerticalLayout | click
+    select View | get-menu -path VerticalLayout | click
+    select "View/VerticalLayout" | get-menu -path HorizontalLayout | click
+    select "View/VerticalLayout/HorizontalLayout" | get-menu -path "Generate Controls" | click
+}
+with [get-window -class SelectAttributesDialog] {
+    get-tree | select User
+    get-button "Next >" | click
+    with [get-table] {
+        get-item -path "firstName : EString" | check
+        select "firstName : EString" | get-item -path "lastName : EString" | check
+        select "lastName : EString" | get-item -path "gender : Gender" | check
+        select "gender : Gender" | get-item -path "active : EBoolean" | check
+        select "active : EBoolean" | get-item -path "weight : EDouble" | check
+        select "weight : EDouble" | get-item -path "heigth : EInt" | check
+        select "heigth : EInt"
+    }
+    get-button Finish | click
+}
+get-editor "User.view" | get-tree | select [get-item -path View | get-item -path VerticalLayout -index 1] | get-menu 
+    -path "Generate Controls" | click
+with [get-window -class SelectAttributesDialog] {
+    get-tree | select User
+    get-button "Next >" | click
+    get-button "Select All" | click
+    get-button Finish | click
+}
+get-button "Save (M1+S)" | click
+get-editor "UserGroup.view" | click
+get-view "EMF Forms Preview" | get-button "Manage additional Views" | click
+with [get-window "Manage additional Views"] {
+    get-button "Add View" | click
+    with [get-window -class WorkspaceResourceDialog] {
+        get-tree | select "org.eclipse.emf.ecp.makeithappen.model.viewmodel/viewmodels/User.view"
+        get-button OK | click
+    }
+    get-button OK | click
+}
+with [get-view "EMF Forms Preview"] {
+    get-button "Refresh Preview View" | click
+    get-button "Add an instance of" | click
+}
+with [get-view "EMF Forms Preview" | get-control Any -after [get-label Users] -index 10] {
+    get-property "getHorizontalBar().isVisible()" | equals true | verify-true
+    get-property "getAlwaysShowScrollBars()" | equals false | verify-true
+    get-property "getVerticalBar().isVisible()" | equals true | verify-true
+    get-property "getShowFocusedControl()" | equals false | verify-true
+}
+------=_.content-0a7243a0-75d3-3d5f-9791-539de0e5b7ac--
diff --git a/tests/ECPQ7Tests/EPPTests/update-site/project/TreeMasterDetailSmokeTest.test b/tests/ECPQ7Tests/EPPTests/update-site/project/TreeMasterDetailSmokeTest.test
index d6284cb..8aa2cac 100644
--- a/tests/ECPQ7Tests/EPPTests/update-site/project/TreeMasterDetailSmokeTest.test
+++ b/tests/ECPQ7Tests/EPPTests/update-site/project/TreeMasterDetailSmokeTest.test
@@ -6,8 +6,8 @@
 Element-Version: 3.0
 External-Reference: 
 Id: _cR1mwLKLEeebScL4g4WExw
-Runtime-Version: 2.2.0.201706152316
-Save-Time: 2/27/18 12:00 PM
+Runtime-Version: 2.4.0.201901180020
+Save-Time: 1/18/19 3:34 PM
 Testcase-Type: ecl
 
 ------=_.content-0a7243a0-75d3-3d5f-9791-539de0e5b7ac
@@ -31,7 +31,7 @@
 
 
 with [get-view "EMF Forms Preview" | get-control Any -after [get-label Details] -index 2] {
-    get-property "getChildren().length" | equals 3 | verify-true
+    get-property "getChildren().length" | equals 4 | verify-true
     get-property "getChildren().Control[0].getText()" | equals Name | verify-true
     get-property "getChildren().Control[2].getChildren().Control[0].getText()" | equals "" | verify-true
     get-property "getChildren().Control[2].getChildren().Control[0].getMessage()" | equals Name | verify-true
@@ -268,7 +268,7 @@
 }
 with [get-view "EMF Forms Preview"] {
     with [get-control Any -after [get-label Details] -index 2] {
-        get-property "getChildren().length" | equals 3 | verify-true
+        get-property "getChildren().length" | equals 4 | verify-true
         get-property "getChildren().Control[0].getText()" | equals Name | verify-true
     }
     get-tree | get-property "selection[0].path[0]" | equals "User Group My User Group" | verify-true
diff --git a/tests/ECPQ7Tests/EPPTests/update-site/project/View Model With Abstract Root EClass.test b/tests/ECPQ7Tests/EPPTests/update-site/project/View Model With Abstract Root EClass.test
new file mode 100644
index 0000000..192fb93
--- /dev/null
+++ b/tests/ECPQ7Tests/EPPTests/update-site/project/View Model With Abstract Root EClass.test
@@ -0,0 +1,78 @@
+--- RCPTT testcase ---
+Format-Version: 1.0
+Contexts: _ihvnUC3mEeSwhO5Nwx0hPg,_kHXSIPMaEeik6oWCgIASMQ
+Element-Name: View Model With Abstract Root EClass
+Element-Type: testcase
+Element-Version: 3.0
+External-Reference: 
+Id: _W4UMAPMcEeik6oWCgIASMQ
+Runtime-Version: 2.4.0.201810292311
+Save-Time: 11/28/18 4:04 PM
+Testcase-Type: ecl
+
+------=_.description-216f885c-d591-38ce-8ea2-e4f8cb4d6ffa
+Content-Type: text/plain
+Entry-Name: .description
+
+* Create view model with abstract root EClass
+* Verify that preview works
+------=_.description-216f885c-d591-38ce-8ea2-e4f8cb4d6ffa--
+------=_.content-0a7243a0-75d3-3d5f-9791-539de0e5b7ac
+Content-Type: text/ecl
+Entry-Name: .content
+
+// Creare view model with abstract root EClass
+get-view "Project Explorer" | get-tree | select Project | get-menu -path "New/Other..." | click
+with [get-window New] {
+    get-tree | select "EMF Forms/View Model"
+    get-button "Next >" | click
+    get-button "Browse Workspace" | click
+    with [get-window "Select Model"] {
+        get-tree | select "Project/model/My.ecore"
+        get-button OK | click
+    }
+    get-button "Next >" | click
+    get-tree | select Abstract
+    get-button "Fill view model with default layout" | uncheck
+    get-button "Next >" | click
+    get-button Finish | click
+}
+get-editor "Abstract.view" | get-label Abstract | get-property caption | equals Abstract | verify-true
+
+// Generate Controls
+get-editor "Abstract.view" | get-tree | select Abstract | get-menu -path "Generate Controls" | click
+get-window -class SelectAttributesDialog | get-tree | select Abstract
+get-window -class SelectAttributesDialog | get-tree | get-property itemCount | equals 1 | verify-true
+with [get-window -class SelectAttributesDialog] {
+    get-tree | select Abstract
+    get-button "Next >" | click
+}
+get-window -class SelectAttributesDialog | get-table | get-property itemCount | equals 2 | verify-true
+with [get-window -class SelectAttributesDialog] {
+    get-button "Select All" | click
+    get-button Finish | click
+}
+
+// Open Preview
+get-editor "Abstract.view" | get-button "Open Preview" | click
+get-view "EMF Forms Preview" | get-button "Automatically refresh Preview View" | click
+
+// Check that controls are present and that validation works
+get-view "EMF Forms Preview" | get-label "Name*" | get-property caption | equals "Name*" | verify-true
+get-view "EMF Forms Preview" | get-label "" -after [get-label "Name*"] | get-property "image.path" 
+    | equals "org.eclipse.emf.ecp.edit.swt/icons/validation_error.png" | verify-true
+with [get-view "EMF Forms Preview" | get-editbox -after [get-label "Name*"]] {
+    set-text Test
+    key-type "TRAVERSE_TAB_NEXT"
+}
+get-view "EMF Forms Preview" | get-label "" -after [get-label "Name*"] | get-property "getImage()" | equals null 
+    | verify-true
+get-view "EMF Forms Preview" | get-label Concretes | get-property caption | equals Concretes | verify-true
+get-view "EMF Forms Preview" | get-button "Create and link new Concretes" | click
+with [get-window Concrete] {
+    get-editbox -after [get-label Label] | set-text "Concrete!"
+    get-button OK | click
+}
+get-view "EMF Forms Preview" | get-link "<a>Concrete Concrete!</a>" | get-property caption 
+    | equals "<a>Concrete Concrete!</a>" | verify-true
+------=_.content-0a7243a0-75d3-3d5f-9791-539de0e5b7ac--
diff --git a/tests/ECPQ7Tests/EPPTests/update-site/project/ViewEditor_smoke.test b/tests/ECPQ7Tests/EPPTests/update-site/project/ViewEditor_smoke.test
index 5aff363..e045107 100644
--- a/tests/ECPQ7Tests/EPPTests/update-site/project/ViewEditor_smoke.test
+++ b/tests/ECPQ7Tests/EPPTests/update-site/project/ViewEditor_smoke.test
@@ -6,8 +6,8 @@
 Element-Version: 3.0
 External-Reference: 
 Id: _foqG8GzgEeWQGtcwdcx-qw
-Runtime-Version: 2.2.0.201706152316
-Save-Time: 8/16/18 2:32 PM
+Runtime-Version: 2.4.0.201901180020
+Save-Time: 1/18/19 3:24 PM
 Testcase-Type: ecl
 
 ------=_.content-0a7243a0-75d3-3d5f-9791-539de0e5b7ac
@@ -281,10 +281,10 @@
     select "View/Categorization" | get-menu -path "Leaf Category" | click
     select "View/Categorization/Leaf Category" | get-menu -path VerticalLayout | click
     select "View/Categorization/Leaf Category/VerticalLayout" | key-type Del
-    select "View/Categorization/Leaf Category/VerticalLayout" | get-menu -path Delete | click
+//    select "View/Categorization/Leaf Category/VerticalLayout" | get-menu -path Delete | click
     select "View/Categorization/Leaf Category" | get-menu -path Group | click
     select "View/Categorization/Leaf Category/Group" | key-type Del
-    select "View/Categorization/Leaf Category/Group" | get-menu -path Delete | click
+//    select "View/Categorization/Leaf Category/Group" | get-menu -path Delete | click
     select "View/Categorization/Leaf Category" | get-menu -path TableControl | click
     select "View/Categorization/Leaf Category/TableControl" | get-menu -path Delete | click
     select "View/Categorization/Leaf Category" | get-menu -path HorizontalLayout | click
diff --git a/tests/org.eclipse.emf.ecp.changebroker.provider.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.changebroker.provider.test/META-INF/MANIFEST.MF
index 7711fa8..acaff03 100644
--- a/tests/org.eclipse.emf.ecp.changebroker.provider.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.changebroker.provider.test/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Change Broker EMFStore Provider Tests
 Bundle-SymbolicName: org.eclipse.emf.ecp.changebroker.provider.test
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.changebroker.provider;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emf.ecp.changebroker.provider.test;version="1.19.0";x-internal:=true
+Fragment-Host: org.eclipse.emf.ecp.changebroker.provider;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emf.ecp.changebroker.provider.test;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.0.0,5.0.0)",
-  org.eclipse.osgi;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.workspace.core;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.osgi;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.emf.ecp.workspace.core;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.changebroker.provider.test
diff --git a/tests/org.eclipse.emf.ecp.changebroker.provider.test/pom.xml b/tests/org.eclipse.emf.ecp.changebroker.provider.test/pom.xml
index e6d03c3..95a27f5 100644
--- a/tests/org.eclipse.emf.ecp.changebroker.provider.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.changebroker.provider.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.changebroker.provider.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 	
 		<build>
diff --git a/tests/org.eclipse.emf.ecp.changebroker.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.changebroker.test/META-INF/MANIFEST.MF
index f74d4b7..8a1ad6f 100644
--- a/tests/org.eclipse.emf.ecp.changebroker.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.changebroker.test/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Change Broker Test
 Bundle-SymbolicName: org.eclipse.emf.ecp.changebroker.test
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.changebroker;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emf.ecp.changebroker.test;version="1.19.0";x-internal:=true
+Fragment-Host: org.eclipse.emf.ecp.changebroker;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emf.ecp.changebroker.test;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.0.0,5.0.0)",
-  org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.2.0,2.0.0)",
-  org.eclipse.osgi;bundle-version="[3.7.0,4.0.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)"
+ org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.osgi;bundle-version="[3.7.0,4.0.0)",
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.changebroker.test
diff --git a/tests/org.eclipse.emf.ecp.changebroker.test/pom.xml b/tests/org.eclipse.emf.ecp.changebroker.test/pom.xml
index 725ce1f..225c0d4 100644
--- a/tests/org.eclipse.emf.ecp.changebroker.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.changebroker.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.changebroker.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 	
 		<build>
diff --git a/tests/org.eclipse.emf.ecp.common.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.common.test/META-INF/MANIFEST.MF
index a2e739c..96a4cfe 100644
--- a/tests/org.eclipse.emf.ecp.common.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.common.test/META-INF/MANIFEST.MF
@@ -2,19 +2,20 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.common.test;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
-Fragment-Host: org.eclipse.emf.ecp.common;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.common;bundle-version="[1.20.0,1.21.0)"
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.common.spi;version="1.19.0",
-  org.eclipse.emf.ecp.common.test;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.common.test.model;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.common.test.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.common.test.model.util;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.common.spi;version="1.20.0",
+ org.eclipse.emf.ecp.common.test;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.common.test.model;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.common.test.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.common.test.model.util;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.0.0,5.0.0)",
-  org.eclipse.core.runtime;bundle-version="[3.11.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.11.0,3.0.0)";visibility:=reexport
+ org.eclipse.core.runtime;bundle-version="[3.11.0,4.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.11.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.edit;bundle-version="[2.9.0,3.0.0)"
 Automatic-Module-Name: org.eclipse.emf.ecp.common.test
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/tests/org.eclipse.emf.ecp.common.test/pom.xml b/tests/org.eclipse.emf.ecp.common.test/pom.xml
index 9d7fbc9..2f5b23e 100644
--- a/tests/org.eclipse.emf.ecp.common.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.common.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.common.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<!-- When signing bundles we get a security exception using maven-surefire. 
diff --git a/tests/org.eclipse.emf.ecp.common.test/src/org/eclipse/emf/ecp/common/spi/Labelizer_Test.java b/tests/org.eclipse.emf.ecp.common.test/src/org/eclipse/emf/ecp/common/spi/Labelizer_Test.java
new file mode 100644
index 0000000..98bcda4
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.common.test/src/org/eclipse/emf/ecp/common/spi/Labelizer_Test.java
@@ -0,0 +1,128 @@
+/*******************************************************************************
+ * Copyright (c) 2019 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.common.spi;
+
+import static org.hamcrest.CoreMatchers.hasItem;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.not;
+import static org.hamcrest.CoreMatchers.notNullValue;
+import static org.hamcrest.CoreMatchers.sameInstance;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.Assume.assumeThat;
+
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Map;
+import java.util.concurrent.TimeUnit;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.provider.EAttributeItemProvider;
+import org.eclipse.emf.ecore.provider.EcoreItemProviderAdapterFactory;
+import org.eclipse.emf.ecp.common.test.model.TestFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.ReflectiveItemProvider;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TestRule;
+import org.junit.rules.Timeout;
+
+/**
+ * Unit tests for the {@link Labelizer} API.
+ */
+public class Labelizer_Test {
+
+	@Rule
+	public final TestRule timeout = new Timeout(5, TimeUnit.SECONDS);
+
+	static {
+		// Ensure that the item-provider adapter factory registry has what our test needs
+		final Collection<?> types = Arrays.asList(EcorePackage.eINSTANCE, IItemLabelProvider.class);
+		ComposedAdapterFactory.Descriptor desc = ComposedAdapterFactory.Descriptor.Registry.INSTANCE
+			.getDescriptor(types);
+		if (desc == null) {
+			desc = new ComposedAdapterFactory.Descriptor() {
+
+				@Override
+				public AdapterFactory createAdapterFactory() {
+					return new EcoreItemProviderAdapterFactory();
+				}
+			};
+
+			@SuppressWarnings("unchecked")
+			final Map<Collection<?>, ComposedAdapterFactory.Descriptor> registryMap = (Map<Collection<?>, ComposedAdapterFactory.Descriptor>) ComposedAdapterFactory.Descriptor.Registry.INSTANCE;
+			registryMap.put(types, desc);
+		}
+	}
+
+	/**
+	 * Initializes me.
+	 */
+	public Labelizer_Test() {
+		super();
+	}
+
+	@Test
+	public void intern() {
+		final Labelizer instance1 = Labelizer.get(EcorePackage.eINSTANCE);
+		final Labelizer instance2 = Labelizer.get(EcorePackage.eINSTANCE);
+
+		assertThat("Non-unique instances", instance2, sameInstance(instance1));
+	}
+
+	@Test
+	public void getLabel_registeredAdapterFactory() {
+		final EObject object = EcorePackage.Literals.EATTRIBUTE__ID;
+		final Labelizer labelizer = Labelizer.get(object);
+		final String actualLabel = labelizer.getLabel(object);
+		final String expectedLabel = new EAttributeItemProvider(null).getText(object);
+
+		assertThat(actualLabel, is(expectedLabel));
+	}
+
+	@Test
+	public void getLabel_defaultAdapterFactory() {
+		// We don't have an EMF.Edit implementation for these
+		final EObject object = TestFactory.eINSTANCE.createTest1();
+		final Labelizer labelizer = Labelizer.get(object);
+		final String actualLabel = labelizer.getLabel(object);
+		final String expectedLabel = new ReflectiveItemProvider(null).getText(object);
+
+		assertThat(actualLabel, is(expectedLabel));
+	}
+
+	@Test
+	public void asyncCleanUp() throws Exception {
+		final EPackage ePackage = EcorePackage.eINSTANCE;
+		Labelizer.get(ePackage).getLabel(ePackage);
+
+		final Adapter itemProvider = ePackage.eAdapters().stream().filter(IItemLabelProvider.class::isInstance)
+			.findFirst().orElse(null);
+		assumeThat("No item-provider adapter attached", itemProvider, notNullValue());
+
+		for (int i = 0; i < 15; i++) {
+			if (!ePackage.eAdapters().contains(itemProvider)) {
+				break;
+			}
+
+			System.gc();
+			Thread.sleep(500L);
+		}
+
+		assertThat("Item providers not disposed", ePackage.eAdapters(), not(hasItem(itemProvider)));
+	}
+
+}
diff --git a/tests/org.eclipse.emf.ecp.common.ui.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.common.ui.test/META-INF/MANIFEST.MF
index 3e1887d..58a5f17 100644
--- a/tests/org.eclipse.emf.ecp.common.ui.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.common.ui.test/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Common UI Test
 Bundle-SymbolicName: org.eclipse.emf.ecp.common.ui.test
-Bundle-Version: 1.19.0.qualifier
-Fragment-Host: org.eclipse.emf.ecp.common.ui;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emf.ecp.spi.common.ui.composites;version="1.19.0"
+Bundle-Version: 1.20.0.qualifier
+Fragment-Host: org.eclipse.emf.ecp.common.ui;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emf.ecp.spi.common.ui.composites;version="1.20.0"
 Require-Bundle: org.junit;bundle-version="[4.12.0,5.0.0)",
-  org.hamcrest.core;bundle-version="[1.3.0,2.0.0)"
+ org.hamcrest.core;bundle-version="[1.3.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Import-Package: org.eclipse.core.commands.common;version="0.0.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.common.ui.test
+Import-Package: org.eclipse.core.commands.common;version="0.0.0"
diff --git a/tests/org.eclipse.emf.ecp.common.ui.test/pom.xml b/tests/org.eclipse.emf.ecp.common.ui.test/pom.xml
index cdb4495..8f8545f 100644
--- a/tests/org.eclipse.emf.ecp.common.ui.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.common.ui.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.common.ui.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<!-- When signing bundles we get a security exception using maven-surefire. 
diff --git a/tests/org.eclipse.emf.ecp.controls.fx.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.controls.fx.test/META-INF/MANIFEST.MF
index 491237a..3ecc869 100644
--- a/tests/org.eclipse.emf.ecp.controls.fx.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.controls.fx.test/META-INF/MANIFEST.MF
@@ -5,12 +5,12 @@
 Bundle-Version: 1.3.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
 Export-Package: org.eclipse.emf.ecp.controls.fx.test;version="1.3.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.controls.fx;bundle-version="[1.16.0,1.17.0)",
-  org.eclipse.emf.ecp.common.test.fx;bundle-version="[1.16.0,1.17.0)",
-  org.eclipse.emf.ecp.view.model.fx;bundle-version="[1.16.0,1.17.0)",
-  org.junit;bundle-version="[4.0.0,5.0.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.16.0,1.17.0)",
-  org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.1.0,2.0.0)",
-  org.eclipse.emfforms.common;bundle-version="[1.16.0,1.17.0)"
+Require-Bundle: org.eclipse.emf.ecp.controls.fx;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.common.test.fx;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.fx;bundle-version="[1.20.0,1.21.0)",
+ org.junit;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.1.0,2.0.0)",
+ org.eclipse.emfforms.common;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.controls.fx.test
diff --git a/tests/org.eclipse.emf.ecp.core.rap.concurrent.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.core.rap.concurrent.test/META-INF/MANIFEST.MF
index b41ece7..2519d82 100644
--- a/tests/org.eclipse.emf.ecp.core.rap.concurrent.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.core.rap.concurrent.test/META-INF/MANIFEST.MF
@@ -2,24 +2,24 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Core RAP Test
 Bundle-SymbolicName: org.eclipse.emf.ecp.core.rap.concurrent.test
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.core.rap.concurrent.test;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.core.rap.concurrent.test;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.eclipse.emf.ecp.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.core.rap;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.core.rap.sessionprovider.concurrent.test;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.emfstore.core.rap;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.emfstore.client;bundle-version="[1.9.0,1.10.0)",
-  org.eclipse.emf.ecp.emfstore.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.equinox.ds
+ org.eclipse.emf.ecp.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.core.rap;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.core.rap.sessionprovider.concurrent.test;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.emfstore.core.rap;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.emfstore.client;bundle-version="[1.9.0,1.10.0)",
+ org.eclipse.emf.ecp.emfstore.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.equinox.ds
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.core.rap.concurrent.test
 Import-Package: org.eclipse.core.runtime;version="0.0.0",
-  org.eclipse.emf.ecp.core;version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.core.rap;version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.core.rap.sessionprovider.concurrent.test;version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.emfstore.core.internal;version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.internal.ui;version="[1.19.0,1.20.0)",
-  org.osgi.framework;version="0.0.0"
+ org.eclipse.emf.ecp.core;version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.core.rap;version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.core.rap.sessionprovider.concurrent.test;version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.emfstore.core.internal;version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.internal.ui;version="[1.20.0,1.21.0)",
+ org.osgi.framework;version="0.0.0"
 Bundle-ActivationPolicy: lazy
diff --git a/tests/org.eclipse.emf.ecp.core.rap.concurrent.test/pom.xml b/tests/org.eclipse.emf.ecp.core.rap.concurrent.test/pom.xml
index 3eb6b83..8910158 100644
--- a/tests/org.eclipse.emf.ecp.core.rap.concurrent.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.core.rap.concurrent.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.core.rap.concurrent.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.concurrent.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.concurrent.test/META-INF/MANIFEST.MF
index 6801749..d1c0211 100644
--- a/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.concurrent.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.concurrent.test/META-INF/MANIFEST.MF
@@ -2,10 +2,10 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Core Rap Sessionprovider Concurrent Test
 Bundle-SymbolicName: org.eclipse.emf.ecp.core.rap.sessionprovider.concurrent.test
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.core.rap.sessionprovider.concurrent.test;version="1.19.0"
-Require-Bundle: org.eclipse.emf.ecp.core.rap;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emf.ecp.core.rap.sessionprovider.concurrent.test;version="1.20.0"
+Require-Bundle: org.eclipse.emf.ecp.core.rap;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/component.xml
 Bundle-ActivationPolicy: lazy
diff --git a/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.concurrent.test/pom.xml b/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.concurrent.test/pom.xml
index 87e090d..7c3aff5 100644
--- a/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.concurrent.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.concurrent.test/pom.xml
@@ -6,11 +6,11 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 
 	<artifactId>org.eclipse.emf.ecp.core.rap.sessionprovider.concurrent.test</artifactId>
 	<packaging>eclipse-plugin</packaging>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/META-INF/MANIFEST.MF
index 291a0d4..bed38e1 100644
--- a/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/META-INF/MANIFEST.MF
@@ -2,10 +2,10 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Core Rap Sessionprovider Test
 Bundle-SymbolicName: org.eclipse.emf.ecp.core.rap.sessionprovider.test
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.core.rap.sessionprovider.test;version="1.19.0"
-Require-Bundle: org.eclipse.emf.ecp.core.rap;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emf.ecp.core.rap.sessionprovider.test;version="1.20.0"
+Require-Bundle: org.eclipse.emf.ecp.core.rap;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/component.xml
 Bundle-ActivationPolicy: lazy
diff --git a/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/pom.xml b/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/pom.xml
index 21064b6..17fe199 100644
--- a/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/pom.xml
@@ -6,11 +6,11 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 
 	<artifactId>org.eclipse.emf.ecp.core.rap.sessionprovider.test</artifactId>
 	<packaging>eclipse-plugin</packaging>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/tests/org.eclipse.emf.ecp.core.rap.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.core.rap.test/META-INF/MANIFEST.MF
index 978b3f4..b47b26f 100644
--- a/tests/org.eclipse.emf.ecp.core.rap.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.core.rap.test/META-INF/MANIFEST.MF
@@ -2,20 +2,20 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Core RAP Test
 Bundle-SymbolicName: org.eclipse.emf.ecp.core.rap.test
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.core.rap.test;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.core.rap.test;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.eclipse.emf.ecp.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.core.rap;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.core.rap.sessionprovider.test;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.emfstore.core.rap;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.core.rap;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.core.rap.sessionprovider.test;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.emfstore.core.rap;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.core.rap.test
 Import-Package: org.eclipse.core.runtime;version="0.0.0",
-  org.eclipse.emf.ecp.core;version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.core.rap;version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.core.rap.sessionprovider.test;version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.emfstore.core.internal;version="[1.19.0,1.20.0)",
-  org.osgi.framework;version="0.0.0"
+ org.eclipse.emf.ecp.core;version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.core.rap;version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.core.rap.sessionprovider.test;version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.emfstore.core.internal;version="[1.20.0,1.21.0)",
+ org.osgi.framework;version="0.0.0"
 Bundle-ActivationPolicy: lazy
diff --git a/tests/org.eclipse.emf.ecp.core.rap.test/pom.xml b/tests/org.eclipse.emf.ecp.core.rap.test/pom.xml
index d4a85e8..b8d8883 100644
--- a/tests/org.eclipse.emf.ecp.core.rap.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.core.rap.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.core.rap.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.ecp.core.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.core.test/META-INF/MANIFEST.MF
index 1549d39..e6161f3 100644
--- a/tests/org.eclipse.emf.ecp.core.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.core.test/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Core Test
 Bundle-SymbolicName: org.eclipse.emf.ecp.core.test
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.core;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emf.ecp.core.test;version="1.19.0";x-internal:=true
+Fragment-Host: org.eclipse.emf.ecp.core;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emf.ecp.core.test;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.ui;bundle-version="3.1.0",
-  org.eclipse.core.runtime;bundle-version="3.8.0",
-  org.eclipse.emf.ecp.emfstore.core;bundle-version="[1.19.0,1.20.0)",
-  org.junit;bundle-version="4.0.0",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="1.9.5"
+ org.eclipse.core.runtime;bundle-version="3.8.0",
+ org.eclipse.emf.ecp.emfstore.core;bundle-version="[1.20.0,1.21.0)",
+ org.junit;bundle-version="4.0.0",
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="1.9.5"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.core.test
diff --git a/tests/org.eclipse.emf.ecp.core.test/pom.xml b/tests/org.eclipse.emf.ecp.core.test/pom.xml
index c3bc099..5b1f2a1 100644
--- a/tests/org.eclipse.emf.ecp.core.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.core.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.core.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.ecp.diffmerge.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.diffmerge.test/META-INF/MANIFEST.MF
index 1fc3cf8..4ff65b0 100644
--- a/tests/org.eclipse.emf.ecp.diffmerge.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.diffmerge.test/META-INF/MANIFEST.MF
@@ -2,20 +2,20 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Diff Merge Tests
 Bundle-SymbolicName: org.eclipse.emf.ecp.diffmerge.test
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.diffmerge.context;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emf.ecp.diffmerge.test;version="1.19.0";x-internal:=true
+Fragment-Host: org.eclipse.emf.ecp.diffmerge.context;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emf.ecp.diffmerge.test;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emf.ecp.view.table.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.horizontal.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.test.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.domainexpander.default;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.mappingprovider.default;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.emf;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.structuralchange;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.structuralchange.default;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.13.0,3.0.0)"
+ org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emf.ecp.view.table.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.horizontal.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.domainexpander.default;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.mappingprovider.default;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.emf;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.structuralchange;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.structuralchange.default;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.13.0,3.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.diffmerge.test
diff --git a/tests/org.eclipse.emf.ecp.diffmerge.test/pom.xml b/tests/org.eclipse.emf.ecp.diffmerge.test/pom.xml
index 66b5daa..a090d61 100644
--- a/tests/org.eclipse.emf.ecp.diffmerge.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.diffmerge.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.diffmerge.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.ecp.ecore.editor.test/.classpath b/tests/org.eclipse.emf.ecp.ecore.editor.test/.classpath
index 64c5e31..eca7bdb 100644
--- a/tests/org.eclipse.emf.ecp.ecore.editor.test/.classpath
+++ b/tests/org.eclipse.emf.ecp.ecore.editor.test/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="output" path="bin"/>
diff --git a/tests/org.eclipse.emf.ecp.ecore.editor.test/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.emf.ecp.ecore.editor.test/.settings/org.eclipse.jdt.core.prefs
index edbd6f6..efea61d 100644
--- a/tests/org.eclipse.emf.ecp.ecore.editor.test/.settings/org.eclipse.jdt.core.prefs
+++ b/tests/org.eclipse.emf.ecp.ecore.editor.test/.settings/org.eclipse.jdt.core.prefs
@@ -25,9 +25,9 @@
 org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
 org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.compliance=1.8
 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -130,7 +130,7 @@
 org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
 org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
 org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.source=1.8
 org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
 org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
 org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
diff --git a/tests/org.eclipse.emf.ecp.ecore.editor.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.ecore.editor.test/META-INF/MANIFEST.MF
index c69dbd1..244ec84 100644
--- a/tests/org.eclipse.emf.ecp.ecore.editor.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.ecore.editor.test/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECore GenModel Test
 Bundle-SymbolicName: org.eclipse.emf.ecp.ecore.editor.test
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
 Export-Package: org.eclipse.emf.ecp.ecore.editor.test;version="1.2.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="4.0.0",
-  org.eclipse.ui;bundle-version="[3.0.0,4.0.0)",
-  org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.emf.ecp.ecore.editor;bundle-version="[1.19.0,1.20.0)"
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+ org.eclipse.ui;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.emf.ecp.ecore.editor;bundle-version="[1.20.0,1.21.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.ecore.editor.test
 Import-Package: org.eclipse.ui.part;version="0.0.0"
diff --git a/tests/org.eclipse.emf.ecp.ecore.editor.test/pom.xml b/tests/org.eclipse.emf.ecp.ecore.editor.test/pom.xml
index 8aa1e09..8ec827c 100644
--- a/tests/org.eclipse.emf.ecp.ecore.editor.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.ecore.editor.test/pom.xml
@@ -5,12 +5,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.ecore.editor.test</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-test-plugin</packaging>
   
   <build>
diff --git a/tests/org.eclipse.emf.ecp.edit.swt.test/.classpath b/tests/org.eclipse.emf.ecp.edit.swt.test/.classpath
index 64c5e31..eca7bdb 100644
--- a/tests/org.eclipse.emf.ecp.edit.swt.test/.classpath
+++ b/tests/org.eclipse.emf.ecp.edit.swt.test/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="output" path="bin"/>
diff --git a/tests/org.eclipse.emf.ecp.edit.swt.test/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.emf.ecp.edit.swt.test/.settings/org.eclipse.jdt.core.prefs
index 0c3dffe..23a98ed 100644
--- a/tests/org.eclipse.emf.ecp.edit.swt.test/.settings/org.eclipse.jdt.core.prefs
+++ b/tests/org.eclipse.emf.ecp.edit.swt.test/.settings/org.eclipse.jdt.core.prefs
@@ -25,9 +25,9 @@
 org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
 org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.compliance=1.8
 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -130,7 +130,7 @@
 org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
 org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
 org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.source=1.8
 org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
 org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
 org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
diff --git a/tests/org.eclipse.emf.ecp.edit.swt.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.edit.swt.test/META-INF/MANIFEST.MF
index 3620a80..8f286fa 100644
--- a/tests/org.eclipse.emf.ecp.edit.swt.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.edit.swt.test/META-INF/MANIFEST.MF
@@ -2,26 +2,27 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.edit.swt.test;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
-Fragment-Host: org.eclipse.emf.ecp.edit.swt;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.edit.swt;bundle-version="[1.20.0,1.21.0)"
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.edit.internal.model.testData;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.edit.internal.model.testData.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.edit.internal.model.testData.util;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.edit.internal.swt.table;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.edit.internal.swt.util;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.edit.spi.swt.table;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.edit.internal.model.testData;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.edit.internal.model.testData.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.edit.internal.model.testData.util;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.edit.internal.swt.controls;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.edit.internal.swt.table;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.edit.internal.swt.util;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.edit.spi.swt.table;version="1.20.0"
 Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.5.0,2.0.0)",
-  org.eclipse.emf.ecore.xmi;bundle-version="[2.10.2,3.0.0)",
-  org.eclipse.emf.ecp.test.model;bundle-version="[1.19.0,1.20.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
-  org.eclipse.emfforms.core.services.locale.default;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.legacy;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.test.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.common.prevalidation;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.10.2,3.0.0)",
+ org.eclipse.emf.ecp.test.model;bundle-version="[1.20.0,1.21.0)",
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
+ org.eclipse.emfforms.core.services.locale.default;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.legacy;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.common.prevalidation;bundle-version="[1.20.0,1.21.0)"
 Automatic-Module-Name: org.eclipse.emf.ecp.edit.swt.test
 Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/tests/org.eclipse.emf.ecp.edit.swt.test/pom.xml b/tests/org.eclipse.emf.ecp.edit.swt.test/pom.xml
index 58c95bf..dc2cfc9 100644
--- a/tests/org.eclipse.emf.ecp.edit.swt.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.edit.swt.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.edit.swt.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<!-- When signing bundles we get a security exception using maven-surefire. 
diff --git a/tests/org.eclipse.emf.ecp.edit.swt.test/src/org/eclipse/emf/ecp/edit/internal/swt/controls/TableControl_Test.java b/tests/org.eclipse.emf.ecp.edit.swt.test/src/org/eclipse/emf/ecp/edit/internal/swt/controls/TableControl_Test.java
new file mode 100644
index 0000000..4ff03d4
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.edit.swt.test/src/org/eclipse/emf/ecp/edit/internal/swt/controls/TableControl_Test.java
@@ -0,0 +1,99 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * nicole.behlen - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.edit.internal.swt.controls;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.emf.ecp.edit.internal.swt.controls.TableControl.ECPTableEditingSupport;
+import org.eclipse.emf.ecp.edit.internal.swt.controls.TableControl.ECPTableEditingSupport.EditingState;
+import org.eclipse.jface.viewers.TableViewer;
+import org.junit.Test;
+
+/**
+ * @author nicole.behlen
+ *
+ */
+@SuppressWarnings({ "deprecation", "rawtypes" })
+public class TableControl_Test {
+
+	@Test
+	public void isUpdateNeeded_BothNull_ReturnFalse() {
+		/* setup */
+		final TableViewer tblViewer = mock(TableViewer.class);
+		final TableControl renderer = mock(TableControl.class);
+		final IObservableValue<?> target = mock(IObservableValue.class);
+		when(target.getValue()).thenReturn(null);
+		final IObservableValue<?> model = mock(IObservableValue.class);
+		when(model.getValue()).thenReturn(null);
+		final ECPTableEditingSupport editingSupport = renderer.new ECPTableEditingSupport(tblViewer, null, null);
+		final EditingState state = editingSupport.new EditingState(null, target, model);
+		/* act */
+		final boolean updateNeeded = state.isUpdateNeeded();
+		/* assert */
+		assertFalse(updateNeeded);
+	}
+
+	@Test
+	public void isUpdateNeeded_OnlyModelNull_ReturnTrue() {
+		/* setup */
+		final TableViewer tblViewer = mock(TableViewer.class);
+		final TableControl renderer = mock(TableControl.class);
+		final IObservableValue target = mock(IObservableValue.class);
+		when(target.getValue()).thenReturn(new Object());
+		final IObservableValue<?> model = mock(IObservableValue.class);
+		when(model.getValue()).thenReturn(null);
+		final ECPTableEditingSupport editingSupport = renderer.new ECPTableEditingSupport(tblViewer, null, null);
+		final EditingState state = editingSupport.new EditingState(null, target, model);
+		/* act */
+		final boolean updateNeeded = state.isUpdateNeeded();
+		/* assert */
+		assertTrue(updateNeeded);
+	}
+
+	@Test
+	public void isUpdateNeeded_TargetModelNull_ReturnTrue() {
+		/* setup */
+		final TableViewer tblViewer = mock(TableViewer.class);
+		final TableControl renderer = mock(TableControl.class);
+		final IObservableValue target = mock(IObservableValue.class);
+		when(target.getValue()).thenReturn(null);
+		final IObservableValue model = mock(IObservableValue.class);
+		when(model.getValue()).thenReturn(new Object());
+		final ECPTableEditingSupport editingSupport = renderer.new ECPTableEditingSupport(tblViewer, null, null);
+		final EditingState state = editingSupport.new EditingState(null, target, model);
+		/* act */
+		final boolean updateNeeded = state.isUpdateNeeded();
+		/* assert */
+		assertTrue(updateNeeded);
+	}
+
+	@Test
+	public void isUpdateNeeded_Same_ReturnFalse() {
+		/* setup */
+		final TableViewer tblViewer = mock(TableViewer.class);
+		final TableControl renderer = mock(TableControl.class);
+		final IObservableValue target = mock(IObservableValue.class);
+		when(target.getValue()).thenReturn(0);
+		final IObservableValue model = mock(IObservableValue.class);
+		when(model.getValue()).thenReturn(0);
+		final ECPTableEditingSupport editingSupport = renderer.new ECPTableEditingSupport(tblViewer, null, null);
+		final EditingState state = editingSupport.new EditingState(null, target, model);
+		/* act */
+		final boolean updateNeeded = state.isUpdateNeeded();
+		/* assert */
+		assertFalse(updateNeeded);
+	}
+}
diff --git a/tests/org.eclipse.emf.ecp.emf2web.json.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.emf2web.json.test/META-INF/MANIFEST.MF
index fe18e69..64adc6e 100644
--- a/tests/org.eclipse.emf.ecp.emf2web.json.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.emf2web.json.test/META-INF/MANIFEST.MF
@@ -2,12 +2,14 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF To Web JSON Test
 Bundle-SymbolicName: org.eclipse.emf.ecp.emf2web.json.test
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.emf2web;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emf.ecp.emf2web.json.generator.xtend;version="1.19.0"
+Fragment-Host: org.eclipse.emf.ecp.emf2web;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emf.ecp.emf2web.json.controller.xtend;version="1.20.0",
+ org.eclipse.emf.ecp.emf2web.json.generator.xtend;version="1.20.0"
 Require-Bundle: org.junit;bundle-version="[4.12.0,5.0.0)",
-  com.google.gson;bundle-version="[2.2.0,3.0.0)",
-  org.eclipse.emf.ecp.emf2web.json;bundle-version="[1.19.0,1.20.0)"
+ com.google.gson;bundle-version="[2.2.0,3.0.0)",
+ org.eclipse.emf.ecp.emf2web.json;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.view.controlgrid.model;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.emf2web.json.test
diff --git a/tests/org.eclipse.emf.ecp.emf2web.json.test/pom.xml b/tests/org.eclipse.emf.ecp.emf2web.json.test/pom.xml
index 6cb745a..ecf906f 100644
--- a/tests/org.eclipse.emf.ecp.emf2web.json.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.emf2web.json.test/pom.xml
@@ -5,11 +5,11 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.emf2web.json.test</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/tests/org.eclipse.emf.ecp.emf2web.json.test/src/org/eclipse/emf/ecp/emf2web/json/controller/xtend/ViewCleaner_Test.xtend b/tests/org.eclipse.emf.ecp.emf2web.json.test/src/org/eclipse/emf/ecp/emf2web/json/controller/xtend/ViewCleaner_Test.xtend
new file mode 100644
index 0000000..d0ae607
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.emf2web.json.test/src/org/eclipse/emf/ecp/emf2web/json/controller/xtend/ViewCleaner_Test.xtend
@@ -0,0 +1,126 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ * Stefan Dirix - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.emf2web.json.controller.xtend
+
+import org.eclipse.emf.common.util.Diagnostic
+import org.eclipse.emf.ecore.EAttribute
+import org.eclipse.emf.ecore.EClass
+import org.eclipse.emf.ecore.EcoreFactory
+import org.eclipse.emf.ecore.EcorePackage
+import org.eclipse.emf.ecore.util.Diagnostician
+import org.eclipse.emf.ecp.view.spi.model.VControl
+import org.eclipse.emf.ecp.view.spi.model.VView
+import org.eclipse.emf.ecp.view.spi.model.VViewFactory
+import org.eclipse.emf.ecp.view.spi.vertical.model.VVerticalFactory
+import org.eclipse.emf.ecp.view.spi.vertical.model.VVerticalLayout
+import org.eclipse.emf.emfforms.spi.view.controlgrid.model.VControlgridFactory
+import org.junit.Before
+import org.junit.BeforeClass
+import org.junit.Test
+
+import static org.junit.Assert.*
+
+class ViewCleaner_Test {
+
+	static EClass personEClass
+	static EAttribute ageAttribute
+
+	@BeforeClass
+	def static void init(){
+		personEClass = EcoreFactory.eINSTANCE.createEClass
+		personEClass.name = "Person"
+		
+		ageAttribute = EcoreFactory.eINSTANCE.createEAttribute
+		ageAttribute.name = "age"
+		ageAttribute.EType = EcorePackage.eINSTANCE.EInt
+		
+		personEClass.EStructuralFeatures.add(ageAttribute);
+	}
+
+	VView view
+	VVerticalLayout vertical
+	VControl ageControl
+
+	@Before
+	def void createDefaultView(){
+		view = VViewFactory.eINSTANCE.createView
+		view.rootEClass = personEClass
+		
+		vertical = VVerticalFactory.eINSTANCE.createVerticalLayout
+		ageControl = VViewFactory.eINSTANCE.createControl
+		view.children += vertical
+		ageControl.domainModelReference = ageAttribute
+		vertical.children += ageControl
+	}
+
+	@Test
+	def void validViewModel(){				
+		ViewCleaner.cleanView(view);
+		
+		assertTrue(view.children.contains(vertical))
+		assertTrue(vertical.children.contains(ageControl))
+	}
+
+	@Test
+	def void removeControlWithoutReference(){
+		val control = VViewFactory.eINSTANCE.createControl
+		vertical.children += control
+		
+		assertTrue(vertical.children.contains(control))
+				
+		ViewCleaner.cleanView(view);
+		
+		assertTrue(vertical.children.contains(ageControl))
+		assertFalse(vertical.children.contains(control))
+	}
+
+	@Test
+	def void removeControlWithInvalidReference(){
+		val control = VViewFactory.eINSTANCE.createControl
+		
+		val attribute = EcoreFactory.eINSTANCE.createEAttribute
+		attribute.name = "invalid"
+		attribute.EType = EcorePackage.eINSTANCE.getEString()
+		
+		control.domainModelReference = attribute
+		vertical.children += control
+		
+		assertTrue(vertical.children.contains(control))
+				
+		ViewCleaner.cleanView(view);
+		
+		assertTrue(vertical.children.contains(ageControl))
+		assertFalse(vertical.children.contains(control))
+	}
+
+	@Test
+	def void removeUnsupportedElement(){
+		val control = VViewFactory.eINSTANCE.createControl
+		control.domainModelReference = ageAttribute
+		
+		val grid = VControlgridFactory.eINSTANCE.createControlGrid
+		val row = VControlgridFactory.eINSTANCE.createControlGridRow
+		val cell = VControlgridFactory.eINSTANCE.createControlGridCell
+		vertical.children += grid
+		grid.rows += row
+		row.cells += cell
+		cell.control = control
+		
+		assertTrue(vertical.children.contains(grid))
+		assertTrue(Diagnostician.INSTANCE.validate(grid).severity === Diagnostic.OK)
+				
+		ViewCleaner.cleanView(view);
+		
+		assertFalse(vertical.children.contains(grid))
+	}
+
+}
\ No newline at end of file
diff --git a/tests/org.eclipse.emf.ecp.emf2web.json.test/src/org/eclipse/emf/ecp/emf2web/json/generator/xtend/EcoreJsonExporter_Test.xtend b/tests/org.eclipse.emf.ecp.emf2web.json.test/src/org/eclipse/emf/ecp/emf2web/json/generator/xtend/EcoreJsonExporter_Test.xtend
index 8f8b093..0146273 100644
--- a/tests/org.eclipse.emf.ecp.emf2web.json.test/src/org/eclipse/emf/ecp/emf2web/json/generator/xtend/EcoreJsonExporter_Test.xtend
+++ b/tests/org.eclipse.emf.ecp.emf2web.json.test/src/org/eclipse/emf/ecp/emf2web/json/generator/xtend/EcoreJsonExporter_Test.xtend
@@ -14,15 +14,15 @@
 import org.eclipse.emf.ecore.EClassifier
 
 class EcoreJsonExporter_Test {
-	static final val ECORE_PACKAGE = EcorePackage.eINSTANCE
-	static final val ECORE_FACTORY = EcoreFactory.eINSTANCE
-	static final val TEST_ECLASS_NAME = "TestEClass";
-	static final val TEST_EATTRIBUTE_NAME = "testAttribute";
-    static final val TEST_EREFERENCE_NAME = "testReference";
+	static val ECORE_PACKAGE = EcorePackage.eINSTANCE
+	static val ECORE_FACTORY = EcoreFactory.eINSTANCE
+	static val TEST_ECLASS_NAME = "TestEClass";
+	static val TEST_EATTRIBUTE_NAME = "testAttribute";
+	static val TEST_EREFERENCE_NAME = "testReference";
 
-	final val List<String> testEnumValues = new ArrayList<String>(Arrays.asList("1A", "2B"))
+	val List<String> testEnumValues = new ArrayList<String>(Arrays.asList("1A", "2B"))
 
-	private EcoreJsonGenerator exporter;
+	EcoreJsonGenerator exporter;
 
 	@Before
 	def void init() {
@@ -119,9 +119,6 @@
 		assertEquals(eClassWithOptionalSingleReferencedEClassJsonElement, result)
 	}
 
-	/*
-	 * New tests
-	 */
 	@Test
 	def void createJsonSchemaElementFromEmptyEClass() {
 		val eClass = emptyEClass()
diff --git a/tests/org.eclipse.emf.ecp.emf2web.json.test/src/org/eclipse/emf/ecp/emf2web/json/generator/xtend/FormsJsonExporter_Test.xtend b/tests/org.eclipse.emf.ecp.emf2web.json.test/src/org/eclipse/emf/ecp/emf2web/json/generator/xtend/FormsJsonExporter_Test.xtend
index c8d2ac2..a19c9fd 100644
--- a/tests/org.eclipse.emf.ecp.emf2web.json.test/src/org/eclipse/emf/ecp/emf2web/json/generator/xtend/FormsJsonExporter_Test.xtend
+++ b/tests/org.eclipse.emf.ecp.emf2web.json.test/src/org/eclipse/emf/ecp/emf2web/json/generator/xtend/FormsJsonExporter_Test.xtend
@@ -15,9 +15,11 @@
 import org.eclipse.emf.ecp.emf2web.json.generator.xtend.FormsJsonGenerator
 import org.eclipse.emf.ecp.emf2web.util.ReferenceHelper
 import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationFactory
+import org.eclipse.emf.ecore.EcoreFactory
+import com.google.gson.JsonObject
 
 class FormsJsonExporter_Test {
-	private FormsJsonGenerator exporter;
+	FormsJsonGenerator exporter;
 	val testName = "testName";
 	val testReference = "testReference";
 	val EStructuralFeature mockFeature = EcorePackage.eINSTANCE.getEClass_Abstract
@@ -229,6 +231,18 @@
 		assertEquals(test2ControlsInVertical, result)
 	}
 
+	@Test
+	def testFallbackObject() {
+		val result = exporter.createJsonElement(EcoreFactory.eINSTANCE.createEObject)
+		assertEquals(new JsonObject, result)
+	}
+
+	@Test
+	def testNull() {
+		val result = exporter.createJsonElement(null)
+		assertEquals(new JsonObject, result)
+	}
+
 	def JsonElement test2HorizontalInVertical() {
 		'''
 			{
diff --git a/tests/org.eclipse.emf.ecp.emf2web.json.test/src/org/eclipse/emf/ecp/emf2web/json/generator/xtend/JsonGenerator_Test.xtend b/tests/org.eclipse.emf.ecp.emf2web.json.test/src/org/eclipse/emf/ecp/emf2web/json/generator/xtend/JsonGenerator_Test.xtend
new file mode 100644
index 0000000..2baedf6
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.emf2web.json.test/src/org/eclipse/emf/ecp/emf2web/json/generator/xtend/JsonGenerator_Test.xtend
@@ -0,0 +1,89 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ * Stefan Dirix - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.emf2web.json.generator.xtend
+
+import org.eclipse.emf.ecore.EObject
+import com.google.gson.JsonObject
+import org.junit.Before
+import org.junit.Test
+
+import static org.junit.Assert.*
+import java.util.LinkedList
+import org.eclipse.emf.ecore.EcorePackage
+
+class JsonGenerator_Test {
+	static class TestJsonGenerator extends JsonGenerator{
+		override createJsonElement(EObject object) {
+			new JsonObject
+		}
+	}
+	
+	JsonGenerator generator
+	
+	@Before
+	def void init() {
+		generator = new TestJsonGenerator()
+	}
+	
+	@Test
+	def void generateWithString() {
+		val object = new JsonObject
+		generator.with(object, "test", "test2");
+		assertEquals("test2", object.getAsJsonPrimitive("test").asString)
+	}
+	
+	@Test
+	def void generateWithNumber() {
+		val object = new JsonObject
+		generator.with(object, "test", 10);
+		assertEquals(10, object.getAsJsonPrimitive("test").asInt)
+	}
+	
+	@Test
+	def void generateWithBoolean() {
+		val object = new JsonObject
+		generator.with(object, "test", true);
+		assertEquals(true, object.getAsJsonPrimitive("test").asBoolean)
+	}
+	
+	@Test
+	def void generateWithCharacter() {
+		val object = new JsonObject
+		generator.with(object, "test", 'c');
+		assertEquals(new Character('c'), object.getAsJsonPrimitive("test").asCharacter)
+	}
+	
+	@Test
+	def void generateWithNull() {
+		val object = new JsonObject
+		generator.with(object, "test", null);
+		assertEquals("", object.getAsJsonPrimitive("test").asString)
+	}
+	
+	@Test
+	def void generateWithEObjectList() {
+		val object = new JsonObject
+		val eObjects = new LinkedList
+		eObjects.add(EcorePackage.eINSTANCE.EAttribute)
+		generator.with(object, "test", eObjects);
+		assertEquals(new JsonObject, object.getAsJsonArray("test").get(0))
+	}
+	
+	@Test
+	def void generateWithOther() {
+		val object = new JsonObject
+		generator.with(object, "test", new Object);
+		assertEquals("", object.getAsJsonPrimitive("test").asString)
+	}
+	
+
+}
\ No newline at end of file
diff --git a/tests/org.eclipse.emf.ecp.ide.editor.view.test/AllPluginTests for ecp.ide.editor.view.launch b/tests/org.eclipse.emf.ecp.ide.editor.view.test/AllPluginTests for ecp.ide.editor.view.launch
index 9e7c962..24461d0 100644
--- a/tests/org.eclipse.emf.ecp.ide.editor.view.test/AllPluginTests for ecp.ide.editor.view.launch
+++ b/tests/org.eclipse.emf.ecp.ide.editor.view.test/AllPluginTests for ecp.ide.editor.view.launch
@@ -2,7 +2,7 @@
 <launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
 <booleanAttribute key="append.args" value="true"/>
 <booleanAttribute key="askclear" value="false"/>
-<booleanAttribute key="automaticAdd" value="true"/>
+<booleanAttribute key="automaticAdd" value="false"/>
 <booleanAttribute key="automaticValidate" value="true"/>
 <stringAttribute key="bootstrap" value=""/>
 <stringAttribute key="checked" value="[NONE]"/>
@@ -11,8 +11,7 @@
 <booleanAttribute key="clearwslog" value="false"/>
 <stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/AllPluginTests for ecp.ide.editor.view"/>
 <booleanAttribute key="default" value="false"/>
-<stringAttribute key="deselected_workspace_plugins" value="com.capana.example.application,com.capana.example.data,com.capana.example.data.mock,com.capana.example.model,com.capana.example.model.edit,markant.customcontrol.visibility,org.eclipse.emf.ecp.application.e3,org.eclipse.emf.ecp.application.e4,org.eclipse.emf.ecp.application.e4.fx,org.eclipse.emf.ecp.cdo.core,org.eclipse.emf.ecp.cdo.ui,org.eclipse.emf.ecp.changebroker,org.eclipse.emf.ecp.changebroker.provider,org.eclipse.emf.ecp.changebroker.provider.test,org.eclipse.emf.ecp.changebroker.test,org.eclipse.emf.ecp.common.test,org.eclipse.emf.ecp.common.test.fx,org.eclipse.emf.ecp.controls.fx,org.eclipse.emf.ecp.controls.fx.test,org.eclipse.emf.ecp.core.emffilter,org.eclipse.emf.ecp.core.rap,org.eclipse.emf.ecp.core.rap.concurrent.test,org.eclipse.emf.ecp.core.rap.sessionprovider.concurrent.test,org.eclipse.emf.ecp.core.rap.sessionprovider.rwt,org.eclipse.emf.ecp.core.rap.sessionprovider.test,org.eclipse.emf.ecp.core.rap.test,org.eclipse.emf.ecp.diffmerge.context,org.eclipse.emf.ecp.diffmerge.model,org.eclipse.emf.ecp.diffmerge.model.edit,org.eclipse.emf.ecp.diffmerge.renderer.swt,org.eclipse.emf.ecp.diffmerge.swt,org.eclipse.emf.ecp.diffmerge.test,org.eclipse.emf.ecp.doc,org.eclipse.emf.ecp.ecore.editor,org.eclipse.emf.ecp.ecore.editor.test,org.eclipse.emf.ecp.ecore.editor.ui,org.eclipse.emf.ecp.edit.ecore.swt,org.eclipse.emf.ecp.emf2web,org.eclipse.emf.ecp.emf2web.json,org.eclipse.emf.ecp.emf2web.json.test,org.eclipse.emf.ecp.emf2web.ui,org.eclipse.emf.ecp.emf2web.ui.json,org.eclipse.emf.ecp.emfstore.core.rap,org.eclipse.emf.ecp.emfstore.localserver,org.eclipse.emf.ecp.emfstore.ui,org.eclipse.emf.ecp.emfstore.ui.e3,org.eclipse.emf.ecp.emfstore.ui.e4,org.eclipse.emf.ecp.emfstore.ui.e4.fx,org.eclipse.emf.ecp.emfstore.ui.search,org.eclipse.emf.ecp.examplemodel.ui,org.eclipse.emf.ecp.graphiti.core,org.eclipse.emf.ecp.graphiti.integration,org.eclipse.emf.ecp.ide.editor.view.templatebridge,org.eclipse.emf.ecp.ide.editor.viewmodel,org.eclipse.emf.ecp.ide.migration,org.eclipse.emf.ecp.ide.util.test,org.eclipse.emf.ecp.ide.view.service.test,org.eclipse.emf.ecp.integrationtest,org.eclipse.emf.ecp.makeithappen.application.sample.e3,org.eclipse.emf.ecp.makeithappen.application.sample.e4,org.eclipse.emf.ecp.makeithappen.application.sample.fx,org.eclipse.emf.ecp.makeithappen.application.sample.rap,org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee,org.eclipse.emf.ecp.makeithappen.model.edit,org.eclipse.emf.ecp.makeithappen.model.viewmodel,org.eclipse.emf.ecp.makeithappen.view.email.renderer,org.eclipse.emf.ecp.makeithappen.view.group.renderer,org.eclipse.emf.ecp.makeithappen.wizards,org.eclipse.emf.ecp.products,org.eclipse.emf.ecp.quickfix,org.eclipse.emf.ecp.quickfix.test,org.eclipse.emf.ecp.quickfix.ui.e4,org.eclipse.emf.ecp.rap,org.eclipse.emf.ecp.rap.util,org.eclipse.emf.ecp.test.model.edit,org.eclipse.emf.ecp.ui.e3,org.eclipse.emf.ecp.ui.e4,org.eclipse.emf.ecp.ui.rap,org.eclipse.emf.ecp.ui.rcp,org.eclipse.emf.ecp.ui.transaction,org.eclipse.emf.ecp.ui.validation,org.eclipse.emf.ecp.ui.validation.e4,org.eclipse.emf.ecp.ui.validation.test,org.eclipse.emf.ecp.ui.view.editor.controls,org.eclipse.emf.ecp.ui.view.editor.controls.test,org.eclipse.emf.ecp.ui.view.linewrapper,org.eclipse.emf.ecp.ui.view.linewrapper.tests,org.eclipse.emf.ecp.ui.view.swt.di,org.eclipse.emf.ecp.util.e4.fx,org.eclipse.emf.ecp.util.fx,org.eclipse.emf.ecp.validation,org.eclipse.emf.ecp.validation.connector,org.eclipse.emf.ecp.validation.diagnostician,org.eclipse.emf.ecp.validation.diagnostician.test,org.eclipse.emf.ecp.validation.test,org.eclipse.emf.ecp.validationvieweditorbridge,org.eclipse.emf.ecp.view.categorization.model,org.eclipse.emf.ecp.view.categorization.model.edit,org.eclipse.emf.ecp.view.categorization.swt,org.eclipse.emf.ecp.view.categorization.swt.test,org.eclipse.emf.ecp.view.compoundcontrol.model,org.eclipse.emf.ecp.view.compoundcontrol.model.edit,org.eclipse.emf.ecp.view.compoundcontrol.swt,org.eclipse.emf.ecp.view.compoundcontrol.swt.test,org.eclipse.emf.ecp.view.compoundcontrol.tooling,org.eclipse.emf.ecp.view.context.locale,org.eclipse.emf.ecp.view.control.multireference,org.eclipse.emf.ecp.view.control.multireference.tests,org.eclipse.emf.ecp.view.core.swt,org.eclipse.emf.ecp.view.core.swt.tests,org.eclipse.emf.ecp.view.custom.model,org.eclipse.emf.ecp.view.custom.model.edit,org.eclipse.emf.ecp.view.custom.ui.swt,org.eclipse.emf.ecp.view.custom.ui.swt.di,org.eclipse.emf.ecp.view.custom.ui.swt.test,org.eclipse.emf.ecp.view.dynamictree.model,org.eclipse.emf.ecp.view.dynamictree.model.edit,org.eclipse.emf.ecp.view.dynamictree.model.test,org.eclipse.emf.ecp.view.dynamictree.ui,org.eclipse.emf.ecp.view.dynamictree.ui.swt,org.eclipse.emf.ecp.view.edapt,org.eclipse.emf.ecp.view.edapt.test,org.eclipse.emf.ecp.view.edapt.util.test,org.eclipse.emf.ecp.view.group.fx,org.eclipse.emf.ecp.view.group.model.edit,org.eclipse.emf.ecp.view.group.swt.collapsable,org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup,org.eclipse.emf.ecp.view.group.swt.embedded,org.eclipse.emf.ecp.view.group.ui.swt,org.eclipse.emf.ecp.view.group.ui.swt.test,org.eclipse.emf.ecp.view.groupedgrid.model,org.eclipse.emf.ecp.view.groupedgrid.model.edit,org.eclipse.emf.ecp.view.groupedgrid.ui.swt,org.eclipse.emf.ecp.view.horizontal.fx,org.eclipse.emf.ecp.view.horizontal.model,org.eclipse.emf.ecp.view.horizontal.model.edit,org.eclipse.emf.ecp.view.horizontal.ui.swt,org.eclipse.emf.ecp.view.horizontal.ui.swt.test,org.eclipse.emf.ecp.view.indexdmr.model,org.eclipse.emf.ecp.view.indexdmr.model.edit,org.eclipse.emf.ecp.view.indexdmr.model.test,org.eclipse.emf.ecp.view.indexdmr.tooling,org.eclipse.emf.ecp.view.keyattributedmr.model,org.eclipse.emf.ecp.view.keyattributedmr.model.edit,org.eclipse.emf.ecp.view.keyattributedmr.model.test,org.eclipse.emf.ecp.view.keyattributedmr.tooling,org.eclipse.emf.ecp.view.label.fx,org.eclipse.emf.ecp.view.label.model,org.eclipse.emf.ecp.view.label.model.edit,org.eclipse.emf.ecp.view.label.rap,org.eclipse.emf.ecp.view.label.ui.swt,org.eclipse.emf.ecp.view.mappingdmr.model,org.eclipse.emf.ecp.view.mappingdmr.model.edit,org.eclipse.emf.ecp.view.mappingdmr.model.test,org.eclipse.emf.ecp.view.mappingdmr.tooling,org.eclipse.emf.ecp.view.model.common.di,org.eclipse.emf.ecp.view.model.edapt,org.eclipse.emf.ecp.view.model.edit,org.eclipse.emf.ecp.view.model.edit.test,org.eclipse.emf.ecp.view.model.editor,org.eclipse.emf.ecp.view.model.editor.testplugin,org.eclipse.emf.ecp.view.model.fx,org.eclipse.emf.ecp.view.model.integrationtest,org.eclipse.emf.ecp.view.model.preview.common,org.eclipse.emf.ecp.view.model.preview.e3,org.eclipse.emf.ecp.view.model.project.installer,org.eclipse.emf.ecp.view.rule,org.eclipse.emf.ecp.view.rule.model,org.eclipse.emf.ecp.view.rule.model.edit,org.eclipse.emf.ecp.view.rule.test,org.eclipse.emf.ecp.view.rule.ui.swt.test,org.eclipse.emf.ecp.view.section.model,org.eclipse.emf.ecp.view.section.model.edit,org.eclipse.emf.ecp.view.section.ui.swt,org.eclipse.emf.ecp.view.stack.model,org.eclipse.emf.ecp.view.stack.model.edit,org.eclipse.emf.ecp.view.stack.ui.swt,org.eclipse.emf.ecp.view.stack.ui.swt.test,org.eclipse.emf.ecp.view.stack.viewmodel,org.eclipse.emf.ecp.view.swt.layout,org.eclipse.emf.ecp.view.table.celleditor.rcp,org.eclipse.emf.ecp.view.table.columnservice,org.eclipse.emf.ecp.view.table.edapt,org.eclipse.emf.ecp.view.table.model.edit,org.eclipse.emf.ecp.view.table.ui.nebula.grid,org.eclipse.emf.ecp.view.table.ui.nebula.grid.rap,org.eclipse.emf.ecp.view.table.ui.nebula.grid.test,org.eclipse.emf.ecp.view.table.ui.rcp,org.eclipse.emf.ecp.view.table.ui.swt,org.eclipse.emf.ecp.view.table.ui.swt.persistedstate,org.eclipse.emf.ecp.view.table.ui.swt.test,org.eclipse.emf.ecp.view.table.validation,org.eclipse.emf.ecp.view.table.validation.test,org.eclipse.emf.ecp.view.template.model.edit,org.eclipse.emf.ecp.view.template.service,org.eclipse.emf.ecp.view.template.service.test,org.eclipse.emf.ecp.view.template.tooling,org.eclipse.emf.ecp.view.treemasterdetail.fx,org.eclipse.emf.ecp.view.treemasterdetail.model,org.eclipse.emf.ecp.view.treemasterdetail.model.edit,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.test,org.eclipse.emf.ecp.view.treemasterdetail.validation,org.eclipse.emf.ecp.view.treemasterdetail.validation.test,org.eclipse.emf.ecp.view.ui.editor.test,org.eclipse.emf.ecp.view.unset,org.eclipse.emf.ecp.view.unset.test,org.eclipse.emf.ecp.view.util.swt.rap,org.eclipse.emf.ecp.view.validation.bean,org.eclipse.emf.ecp.view.validation.bean.default,org.eclipse.emf.ecp.view.validation.bean.test,org.eclipse.emf.ecp.view.vertical.fx,org.eclipse.emf.ecp.view.vertical.model.edit,org.eclipse.emf.ecp.view.vertical.ui.swt,org.eclipse.emf.ecp.view.vertical.ui.swt.test,org.eclipse.emf.ecp.view.viewproxy.model,org.eclipse.emf.ecp.view.viewproxy.model.edit,org.eclipse.emf.ecp.view.viewproxy.tests,org.eclipse.emf.ecp.view.workspace.migrator,org.eclipse.emf.ecp.viewmodel.fx,org.eclipse.emf.ecp.workspace.core,org.eclipse.emf.ecp.workspace.ui,org.eclipse.emf.ecp.workspace.ui.rap,org.eclipse.emf.ecp.workspace.ui.rap.test,org.eclipse.emf.emfstore.fx.projects,org.eclipse.emf.emfstore.fx.util,org.eclipse.emfforms.core.services.databinding.featurepath,org.eclipse.emfforms.core.services.databinding.featurepath.tests,org.eclipse.emfforms.core.services.databinding.index,org.eclipse.emfforms.core.services.databinding.index.tests,org.eclipse.emfforms.core.services.databinding.integrationtest,org.eclipse.emfforms.core.services.databinding.keyattribute,org.eclipse.emfforms.core.services.databinding.keyattribute.tests,org.eclipse.emfforms.core.services.databinding.mapping,org.eclipse.emfforms.core.services.databinding.mapping.tests,org.eclipse.emfforms.core.services.domainexpander.index,org.eclipse.emfforms.core.services.domainexpander.index.tests,org.eclipse.emfforms.core.services.domainexpander.keyattribute,org.eclipse.emfforms.core.services.domainexpander.keyattribute.tests,org.eclipse.emfforms.core.services.domainexpander.mapping,org.eclipse.emfforms.core.services.domainexpander.mapping.tests,org.eclipse.emfforms.core.services.structuralchange.index,org.eclipse.emfforms.core.services.structuralchange.keyattribute,org.eclipse.emfforms.core.services.structuralchange.keyattribute.tests,org.eclipse.emfforms.core.services.structuralchange.mapping,org.eclipse.emfforms.core.services.structuralchange.table,org.eclipse.emfforms.editor,org.eclipse.emfforms.editor.ecore,org.eclipse.emfforms.editor.ecore.test,org.eclipse.emfforms.editor.genmodel,org.eclipse.emfforms.editor.genmodel.util,org.eclipse.emfforms.editor.viewmodel,org.eclipse.emfforms.rulerepository.model,org.eclipse.emfforms.rulerepository.model.edit,org.eclipse.emfforms.rulerepository.tooling,org.eclipse.emfforms.setup.base,org.eclipse.emfforms.spreadsheet.core,org.eclipse.emfforms.spreadsheet.core.error.model,org.eclipse.emfforms.spreadsheet.core.error.model.edit,org.eclipse.emfforms.spreadsheet.core.renderer,org.eclipse.emfforms.spreadsheet.core.renderer.categorization,org.eclipse.emfforms.spreadsheet.core.renderer.categorization.tests,org.eclipse.emfforms.spreadsheet.core.renderer.custom,org.eclipse.emfforms.spreadsheet.core.renderer.table,org.eclipse.emfforms.spreadsheet.core.renderer.table.tests,org.eclipse.emfforms.spreadsheet.core.tests,org.eclipse.emfforms.spreadsheet.file,org.eclipse.emfforms.spreadsheet.integrationtest,org.eclipse.emfforms.spreadsheet.stream,org.eclipse.emfforms.swt.categorization.expandbar,org.eclipse.emfforms.swt.common.test,org.eclipse.emfforms.swt.control.multiattribute,org.eclipse.emfforms.swt.control.text.autocomplete,org.eclipse.emfforms.swt.control.text.autocomplete.tests,org.eclipse.emfforms.swt.control.text.richtext,org.eclipse.emfforms.swt.controlgrid,org.eclipse.emfforms.swt.controlgrid.test,org.eclipse.emfforms.swt.core.di,org.eclipse.emfforms.swt.core.di.extension,org.eclipse.emfforms.swt.core.di.extension.tests,org.eclipse.emfforms.swt.core.di.tests,org.eclipse.emfforms.swt.core.plugin,org.eclipse.emfforms.swt.table,org.eclipse.emfforms.swt.treemasterdetail,org.eclipse.emfforms.swt.treemasterdetail.decorator.validation.default,org.eclipse.emfforms.view.annotation.model,org.eclipse.emfforms.view.annotation.model.edit,org.eclipse.emfforms.view.controlgrid.model,org.eclipse.emfforms.view.controlgrid.model.edit,org.eclipse.emfforms.view.model.localization,org.eclipse.emfforms.view.model.localization.tests"/>
-<booleanAttribute key="includeOptional" value="true"/>
+<booleanAttribute key="includeOptional" value="false"/>
 <stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
 <listEntry value="/org.eclipse.emf.ecp.ide.editor.view.test/src/org/eclipse/emf/ecp/ide/editor/view/test/AllPluginTests.java"/>
@@ -24,6 +23,7 @@
 <booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
 <stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
 <stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
 <stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.ecp.ide.editor.view.test.AllPluginTests"/>
 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
@@ -33,8 +33,8 @@
 <stringAttribute key="pde.version" value="3.3"/>
 <stringAttribute key="product" value="org.eclipse.platform.ide"/>
 <booleanAttribute key="run_in_ui_thread" value="true"/>
-<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,com.jcraft.jsch@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet@default:default,org.apache.ant@default:default,org.apache.batik.css*1.8.0.v20170214-1941@default:default,org.apache.batik.util*1.8.0.v20170214-1941@default:default,org.apache.commons.codec@default:default,org.apache.commons.jxpath@default:default,org.apache.commons.logging@default:default,org.apache.felix.scr@default:default,org.apache.log4j@default:default,org.apache.lucene.analyzers-common@default:default,org.apache.lucene.analyzers-smartcn@default:default,org.apache.lucene.core@default:default,org.apache.lucene.misc@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.compare@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding*1.6.100.v20170515-1119@default:default,org.eclipse.core.databinding.observable*1.6.100.v20170515-1119@default:default,org.eclipse.core.databinding.property*1.6.100.v20170515-1119@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filebuffers@default:default,org.eclipse.core.filesystem.linux.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.net.linux.x86_64@default:false,org.eclipse.core.net@default:default,org.eclipse.core.resources@default:default,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.annotations@default:default,org.eclipse.e4.core.di.extensions.supplier@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.emf.xpath@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.swt.gtk@default:false,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.bidi@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.security.linux.x86_64@default:false,org.eclipse.equinox.security@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help.base@default:default,org.eclipse.help.ui@default:default,org.eclipse.help@default:default,org.eclipse.jetty.http@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jetty.security@default:default,org.eclipse.jetty.server@default:default,org.eclipse.jetty.servlet@default:default,org.eclipse.jetty.util@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface.text@default:default,org.eclipse.jface@default:default,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.ltk.ui.refactoring@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.eclipse.platform@default:default,org.eclipse.swt.gtk.linux.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.swtbot.ant.junit@default:false,org.eclipse.team.core@default:default,org.eclipse.team.ui@default:default,org.eclipse.text@default:default,org.eclipse.ui.cheatsheets@default:default,org.eclipse.ui.editors@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.ide.application@default:default,org.eclipse.ui.ide@default:default,org.eclipse.ui.intro@default:default,org.eclipse.ui.navigator.resources@default:default,org.eclipse.ui.navigator@default:default,org.eclipse.ui.views.properties.tabbed@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench.texteditor@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.eclipse.xtext.logging@default:false,org.hamcrest.core@default:default,org.junit@default:default,org.mockito.mockito-core-hamcrest-modified@default:default,org.objenesis@default:default,org.slf4j.api@default:default,org.tukaani.xz@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil*1.0.1.v200903091627@default:default,org.w3c.dom.svg@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core.test@default:false,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt.test@default:false,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.ide.editor.view.test@default:false,org.eclipse.emf.ecp.ide.editor.view@default:default,org.eclipse.emf.ecp.ide.util@default:default,org.eclipse.emf.ecp.ide.view.service@default:default,org.eclipse.emf.ecp.makeithappen.model@default:default,org.eclipse.emf.ecp.test.common@default:default,org.eclipse.emf.ecp.test.model@default:default,org.eclipse.emf.ecp.ui.view.swt.test@default:false,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.context.tests@default:false,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.migrator@default:default,org.eclipse.emf.ecp.view.model.common.test@default:false,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi.test@default:false,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model.test@default:false,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.table.model.test@default:false,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.template.model.test@default:false,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.test.common@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation.test@default:false,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.rap.edit.ui.minimal@default:default,org.eclipse.emfforms.common.prevalidation@default:default,org.eclipse.emfforms.common.tests@default:false,org.eclipse.emfforms.common.validation.tests@default:false,org.eclipse.emfforms.common.validation@default:default,org.eclipse.emfforms.common@default:default,org.eclipse.emfforms.core.services.databinding.testmodel@default:default,org.eclipse.emfforms.core.services.domainexpander.default.tests@default:false,org.eclipse.emfforms.core.services.domainexpander.default@default:default,org.eclipse.emfforms.core.services.domainexpander.table@default:default,org.eclipse.emfforms.core.services.editsupport@default:default,org.eclipse.emfforms.core.services.emf.tests@default:false,org.eclipse.emfforms.core.services.emf@default:default,org.eclipse.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emfforms.core.services.legacy.tests@default:false,org.eclipse.emfforms.core.services.legacy@default:default,org.eclipse.emfforms.core.services.locale.default@default:default,org.eclipse.emfforms.core.services.mappingprovider.default@default:default,org.eclipse.emfforms.core.services.mappingprovider.table@default:default,org.eclipse.emfforms.core.services.structuralchange.default@default:default,org.eclipse.emfforms.core.services.structuralchange@default:default,org.eclipse.emfforms.core.services.tests@default:false,org.eclipse.emfforms.core.services@default:default,org.eclipse.emfforms.localization.tests@default:false,org.eclipse.emfforms.localization@default:default,org.eclipse.emfforms.swt.core.tests@default:false,org.eclipse.emfforms.swt.core@default:default"/>
+<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,org.apache.batik.constants@default:default,org.apache.batik.css*1.10.0.v20180703-1553@default:default,org.apache.batik.i18n@default:default,org.apache.batik.util*1.10.0.v20180703-1553@default:default,org.apache.commons.codec@default:default,org.apache.commons.io@default:default,org.apache.commons.jxpath@default:default,org.apache.commons.logging*1.2.0.v20180409-1502@default:default,org.apache.felix.scr@1:true,org.apache.log4j@default:default,org.apache.xmlgraphics@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.compare@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding*1.7.100.v20181030-1443@default:default,org.eclipse.core.databinding.observable*1.6.300.v20180827-2028@default:default,org.eclipse.core.databinding.property*1.6.300.v20180827-2028@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filebuffers@default:default,org.eclipse.core.filesystem.linux.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.net.linux.x86_64@default:false,org.eclipse.core.net@default:default,org.eclipse.core.resources@default:default,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.annotations@default:default,org.eclipse.e4.core.di.extensions.supplier@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.emf.xpath@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.swt.gtk@default:false,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.bidi@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.security.linux.x86_64@default:false,org.eclipse.equinox.security@default:default,org.eclipse.equinox.supplement@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface.text@default:default,org.eclipse.jface@default:default,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.ltk.ui.refactoring@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.gtk.linux.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.swtbot.swt.finder@default:default,org.eclipse.team.core@default:default,org.eclipse.team.ui@default:default,org.eclipse.text@default:default,org.eclipse.ui.editors@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.ide.application@default:default,org.eclipse.ui.ide@default:default,org.eclipse.ui.navigator.resources@default:default,org.eclipse.ui.navigator@default:default,org.eclipse.ui.trace@default:default,org.eclipse.ui.views.properties.tabbed@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench.texteditor@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.eclipse.urischeme@default:default,org.hamcrest.core*1.3.0.v20180420-1519@default:default,org.hamcrest.library@default:default,org.junit@default:default,org.mockito.mockito-core-hamcrest-modified@default:default,org.objenesis@default:default,org.tukaani.xz@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil*1.0.1.v200903091627@default:default,org.w3c.dom.svg@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core.test@default:false,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.ide.editor.view.test@default:false,org.eclipse.emf.ecp.ide.editor.view@default:default,org.eclipse.emf.ecp.ide.editor.viewmodel@default:default,org.eclipse.emf.ecp.ide.util@default:default,org.eclipse.emf.ecp.ide.view.service@default:default,org.eclipse.emf.ecp.makeithappen.model@default:default,org.eclipse.emf.ecp.test.common@default:default,org.eclipse.emf.ecp.test.model@default:default,org.eclipse.emf.ecp.ui.view.swt.di@default:default,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.validation@default:default,org.eclipse.emf.ecp.view.categorization.model.edit@default:default,org.eclipse.emf.ecp.view.categorization.model@default:default,org.eclipse.emf.ecp.view.categorization.swt@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.control.multireference@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.group.ui.swt@default:default,org.eclipse.emf.ecp.view.horizontal.model@default:default,org.eclipse.emf.ecp.view.horizontal.ui.swt@default:default,org.eclipse.emf.ecp.view.indexdmr.model@default:default,org.eclipse.emf.ecp.view.label.model@default:default,org.eclipse.emf.ecp.view.mappingdmr.model@default:default,org.eclipse.emf.ecp.view.migrator@default:default,org.eclipse.emf.ecp.view.model.common.di@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.rule.model@default:default,org.eclipse.emf.ecp.view.swt.layout@default:default,org.eclipse.emf.ecp.view.table.columnservice@default:default,org.eclipse.emf.ecp.view.table.model.nl_de@default:false,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.table.test.common@default:default,org.eclipse.emf.ecp.view.table.ui.swt@default:default,org.eclipse.emf.ecp.view.table.validation@default:default,org.eclipse.emf.ecp.view.template.annotation.model@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.template.service@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.test.common@default:default,org.eclipse.emf.ecp.view.treemasterdetail.model@default:default,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt@default:default,org.eclipse.emf.ecp.view.treemasterdetail.validation@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.ecp.view.vertical.ui.swt@default:default,org.eclipse.emfforms.common.prevalidation@default:default,org.eclipse.emfforms.common.validation@default:default,org.eclipse.emfforms.common@default:default,org.eclipse.emfforms.core.bazaar@default:default,org.eclipse.emfforms.core.services.databinding.featurepath@default:default,org.eclipse.emfforms.core.services.databinding.index@default:default,org.eclipse.emfforms.core.services.databinding.mapping@default:default,org.eclipse.emfforms.core.services.databinding.testmodel@default:default,org.eclipse.emfforms.core.services.domainexpander.default@default:default,org.eclipse.emfforms.core.services.domainexpander.index@default:default,org.eclipse.emfforms.core.services.domainexpander.mapping@default:default,org.eclipse.emfforms.core.services.domainexpander.table@default:default,org.eclipse.emfforms.core.services.editsupport@default:default,org.eclipse.emfforms.core.services.emf@default:default,org.eclipse.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emfforms.core.services.legacy@default:default,org.eclipse.emfforms.core.services.locale.default@default:default,org.eclipse.emfforms.core.services.mappingprovider.default@default:default,org.eclipse.emfforms.core.services.mappingprovider.table.panel@default:default,org.eclipse.emfforms.core.services.mappingprovider.table@default:default,org.eclipse.emfforms.core.services.segments.featurepath@default:default,org.eclipse.emfforms.core.services.segments.index@default:default,org.eclipse.emfforms.core.services.segments.mapping@default:default,org.eclipse.emfforms.core.services.segments.multi@default:default,org.eclipse.emfforms.core.services.segments@default:default,org.eclipse.emfforms.core.services.structuralchange.default@default:default,org.eclipse.emfforms.core.services.structuralchange.index@default:default,org.eclipse.emfforms.core.services.structuralchange.mapping@default:default,org.eclipse.emfforms.core.services.structuralchange.table@default:default,org.eclipse.emfforms.core.services.structuralchange@default:default,org.eclipse.emfforms.core.services@default:default,org.eclipse.emfforms.editor.ecore@default:default,org.eclipse.emfforms.editor@default:default,org.eclipse.emfforms.localization@default:default,org.eclipse.emfforms.setup.base@default:default,org.eclipse.emfforms.swt.common.test@default:default,org.eclipse.emfforms.swt.control.multiattribute@default:default,org.eclipse.emfforms.swt.core.di.extension@default:default,org.eclipse.emfforms.swt.core.di.tests@default:default,org.eclipse.emfforms.swt.core.di@default:default,org.eclipse.emfforms.swt.core.plugin@default:default,org.eclipse.emfforms.swt.core@default:default,org.eclipse.emfforms.swt.table@default:default,org.eclipse.emfforms.swt.treemasterdetail.decorator.validation.default@default:default,org.eclipse.emfforms.swt.treemasterdetail@default:default,org.eclipse.emfforms.view.annotation.model@default:default,org.eclipse.emfforms.view.controlgrid.model@default:default,org.eclipse.emfforms.view.indexsegment.model@default:default,org.eclipse.emfforms.view.mappingsegment.model@default:default,org.eclipse.emfforms.view.model.localization@default:default,org.eclipse.emfforms.view.multisegment.model@default:default"/>
 <booleanAttribute key="show_selected_only" value="false"/>
 <booleanAttribute key="tracing" value="false"/>
 <booleanAttribute key="useCustomFeatures" value="false"/>
diff --git a/tests/org.eclipse.emf.ecp.ide.editor.view.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.ide.editor.view.test/META-INF/MANIFEST.MF
index 6e746cc..16d3874 100644
--- a/tests/org.eclipse.emf.ecp.ide.editor.view.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.ide.editor.view.test/META-INF/MANIFEST.MF
@@ -2,13 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: IDE Editor View Tests
 Bundle-SymbolicName: org.eclipse.emf.ecp.ide.editor.view.test
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.ide.editor.view;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emf.ecp.ide.editor.view;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.ide.editor.view.test;version="1.19.0";x-internal:=true
+Fragment-Host: org.eclipse.emf.ecp.ide.editor.view;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emf.ecp.ide.editor.view;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.ide.editor.view.test;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.12.0,5.0.0)",
-  org.eclipse.emf.ecp.makeithappen.model;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.swtbot.swt.finder;bundle-version="[2.7.0,3.0.0)",
+ org.eclipse.emf.ecp.makeithappen.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.ide.editor.view.test
 Import-Package: org.eclipse.ui.internal;version="0.0.0"
diff --git a/tests/org.eclipse.emf.ecp.ide.editor.view.test/pom.xml b/tests/org.eclipse.emf.ecp.ide.editor.view.test/pom.xml
index 0b1cfbe..22d2754 100644
--- a/tests/org.eclipse.emf.ecp.ide.editor.view.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.ide.editor.view.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.ide.editor.view.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.ecp.ide.editor.view.test/resources/View-WellFormed.view b/tests/org.eclipse.emf.ecp.ide.editor.view.test/resources/View-WellFormed.view
new file mode 100644
index 0000000..9ec364a
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.ide.editor.view.test/resources/View-WellFormed.view
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="ASCII"?>
+<org.eclipse.emf.ecp.view.model:View xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:org.eclipse.emf.ecp.view.model="http://org/eclipse/emf/ecp/view/model/1180" xmi:id="_7nHmAOVsEeemhYbnLSAhXw" name="User">
+  <rootEClass href="http://eclipse/org/emf/ecp/makeithappen/model/task#//User"/>
+  <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_7nO60uVsEeemhYbnLSAhXw" name="Control email">
+    <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_7nO60-VsEeemhYbnLSAhXw">
+      <domainModelEFeature xsi:type="ecore:EAttribute" href="http://eclipse/org/emf/ecp/makeithappen/model/task#//User/email"/>
+    </domainModelReference>
+  </children>
+</org.eclipse.emf.ecp.view.model:View>
diff --git a/tests/org.eclipse.emf.ecp.ide.editor.view.test/src/org/eclipse/emf/ecp/ide/editor/view/ViewEditorPart_PTest.java b/tests/org.eclipse.emf.ecp.ide.editor.view.test/src/org/eclipse/emf/ecp/ide/editor/view/ViewEditorPart_PTest.java
index 20bfcd1..900ad7b 100644
--- a/tests/org.eclipse.emf.ecp.ide.editor.view.test/src/org/eclipse/emf/ecp/ide/editor/view/ViewEditorPart_PTest.java
+++ b/tests/org.eclipse.emf.ecp.ide.editor.view.test/src/org/eclipse/emf/ecp/ide/editor/view/ViewEditorPart_PTest.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2018 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -8,27 +8,61 @@
  *
  * Contributors:
  * lucas - initial API and implementation
+ * Christian W. Damus - bug 543376
  ******************************************************************************/
 package org.eclipse.emf.ecp.ide.editor.view;
 
+import static org.hamcrest.CoreMatchers.instanceOf;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.notNullValue;
+import static org.hamcrest.CoreMatchers.nullValue;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
+import static org.junit.Assume.assumeThat;
 
 import java.lang.reflect.Field;
 import java.text.MessageFormat;
+import java.util.Iterator;
 
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.emf.common.ui.URIEditorInput;
 import org.eclipse.emf.common.util.URI;
 import org.eclipse.emf.ecp.ide.editor.view.messages.Messages;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.test.common.swt.spi.SWTTestUtil;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.bindings.keys.ParseException;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.dnd.Clipboard;
+import org.eclipse.swt.dnd.TextTransfer;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.swt.widgets.Tree;
+import org.eclipse.swt.widgets.TreeItem;
+import org.eclipse.swtbot.swt.finder.SWTBot;
+import org.eclipse.swtbot.swt.finder.exceptions.WidgetNotFoundException;
+import org.eclipse.swtbot.swt.finder.keyboard.Keyboard;
+import org.eclipse.swtbot.swt.finder.keyboard.KeyboardFactory;
+import org.eclipse.swtbot.swt.finder.utils.SWTBotPreferences;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotText;
 import org.eclipse.ui.IEditorInput;
 import org.eclipse.ui.IEditorPart;
 import org.eclipse.ui.IEditorReference;
 import org.eclipse.ui.IWorkbenchPage;
 import org.eclipse.ui.PartInitException;
 import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.actions.ActionFactory;
 import org.eclipse.ui.internal.ErrorEditorPart;
+import org.eclipse.ui.part.EditorActionBarContributor;
 import org.junit.After;
 import org.junit.Test;
 
@@ -41,6 +75,8 @@
 @SuppressWarnings("restriction")
 public class ViewEditorPart_PTest {
 
+	private static final String USER_VIEW_MODEL = "View-WellFormed.view";
+
 	@Test
 	public void openView_NoRootEClass() {
 		final String expectedErrorMessage = Messages.ViewEditorPart_invalidVView_noRootEClass;
@@ -69,6 +105,153 @@
 		assertErrorMessage(error, expectedErrorMessage);
 	}
 
+	@Test
+	public void getEditingDomain() {
+		final IEditorPart editor = open(USER_VIEW_MODEL, IEditorPart.class);
+		assertThat("Editor does not provide an editing domain", editor, instanceOf(IEditingDomainProvider.class));
+		final IEditingDomainProvider provider = (IEditingDomainProvider) editor;
+		assertThat("No editing domain provided", provider.getEditingDomain(), notNullValue());
+	}
+
+	@Test
+	public void selectionTrackingAndUndo() {
+		final IEditorPart editor = open(USER_VIEW_MODEL, IEditorPart.class);
+		assumeThat("Editor does not provide an editing domain", editor, instanceOf(IEditingDomainProvider.class));
+		final IEditingDomainProvider provider = (IEditingDomainProvider) editor;
+		assumeThat("No editing domain provided", provider.getEditingDomain(), notNullValue());
+
+		final ISelectionProvider selectionProvider = editor.getSite().getSelectionProvider();
+		assertThat("No selection provider for the editor site", selectionProvider, notNullValue());
+
+		final EditorActionBarContributor contributor = (EditorActionBarContributor) editor.getEditorSite()
+			.getActionBarContributor();
+		final IAction delete = contributor.getActionBars().getGlobalActionHandler(ActionFactory.DELETE.getId());
+		final IAction undo = contributor.getActionBars().getGlobalActionHandler(ActionFactory.UNDO.getId());
+
+		// Find a control to select
+		VControl control = null;
+		for (final Iterator<?> iter = provider.getEditingDomain().getResourceSet().getAllContents(); control == null
+			&& iter.hasNext();) {
+			final Object next = iter.next();
+			if (next instanceof VControl) {
+				control = (VControl) next;
+			}
+		}
+
+		assumeThat("Could not find a control in the view model", control, notNullValue());
+
+		selectionProvider.setSelection(new StructuredSelection(control));
+
+		final ISelection selection = selectionProvider.getSelection();
+		assertThat(selection, instanceOf(IStructuredSelection.class));
+		assertThat("Control not selected", ((IStructuredSelection) selection).getFirstElement(), is(control));
+
+		// Action enablement updates are deferred
+		SWTTestUtil.waitForUIThread();
+
+		// Delete the selected control
+		assertThat("Delete command not enabled", delete.isEnabled(), is(true));
+		delete.run();
+
+		assertThat("Control not deleted", control.eContainer(), nullValue());
+		assertThat("Editor not dirty", editor.isDirty(), is(true));
+
+		// Action enablement updates are deferred
+		SWTTestUtil.waitForUIThread();
+
+		// Undo the delete
+		assertThat("Undo command not enabled", undo.isEnabled(), is(true));
+		undo.run();
+
+		assertThat("Deletion not undone", control.eContainer(), notNullValue());
+		assertThat("Editor still dirty", editor.isDirty(), is(false));
+	}
+
+	@Test
+	public void copyPaste_Tree() throws WidgetNotFoundException, ParseException, InterruptedException {
+		SWTBotPreferences.KEYBOARD_LAYOUT = "EN_US";
+		final Keyboard keyboard = KeyboardFactory.getAWTKeyboard();
+
+		final ViewEditorPart editor = open(USER_VIEW_MODEL, ViewEditorPart.class);
+		final Composite parent = getEditorParentComposite(editor);
+		final Tree tree = SWTTestUtil.findControl(parent, 0, Tree.class);
+		final TreeItem viewItem = tree.getItem(0);
+		final TreeItem controlItem0 = viewItem.getItem(0);
+		SWTTestUtil.selectTreeItem(controlItem0); // select the VControl
+
+		// Manually force focus to increase test stability because sometimes selecting a tree item programmatically
+		// doesn't set focus or at least not fast enough
+		tree.setFocus();
+		SWTTestUtil.waitForUIThread();
+		keyboard.pressShortcut(SWT.CTRL, 'c');
+		SWTTestUtil.waitForUIThread();
+
+		SWTTestUtil.selectTreeItem(viewItem);
+		SWTTestUtil.waitForUIThread();
+
+		tree.setFocus();
+		SWTTestUtil.waitForUIThread();
+		keyboard.pressShortcut(SWT.CTRL, 'v');
+		SWTTestUtil.waitForUIThread();
+		tree.update();
+		SWTTestUtil.waitForUIThread();
+
+		// At the beginning of the test the view had one child control. After copy and pasting, it should have 2
+		assertEquals("Number of VControls in the VView object", 2, editor.getView().getChildren().size());
+		assertEquals("Number of VControls in the tree", 2, viewItem.getItemCount());
+	}
+
+	@Test
+	public void copyPaste_Detail_TextControl() {
+		SWTBotPreferences.KEYBOARD_LAYOUT = "EN_US";
+		final Keyboard keyboard = KeyboardFactory.getAWTKeyboard();
+
+		final ViewEditorPart editor = open(USER_VIEW_MODEL, ViewEditorPart.class);
+		final Clipboard clipboard = new Clipboard(Display.getCurrent());
+		clipboard.clearContents();
+		final Composite parent = getEditorParentComposite(editor);
+		final Tree tree = SWTTestUtil.findControl(parent, 0, Tree.class);
+		final TreeItem viewItem = tree.getItem(0);
+		final TreeItem controlItem0 = viewItem.getItem(0);
+		SWTTestUtil.selectTreeItem(controlItem0); // select the VControl
+		SWTTestUtil.waitForUIThread();
+
+		// Get the text field of a VControl's name
+		final Text text = SWTTestUtil.findControl(parent, 0, Text.class);
+		final String string = "TEST";
+		text.setText(string);
+		text.update();
+		SWTTestUtil.waitForUIThread();
+
+		final SWTBot bot = new SWTBot(parent);
+		final SWTBotText botText = bot.text(string);
+		botText.selectAll();
+		SWTTestUtil.waitForUIThread();
+		botText.setFocus();
+		// Press multiple times to increase test stability
+		for (int i = 0; i < 10; i++) {
+			keyboard.pressShortcut(SWT.CTRL, 'c');
+			SWTTestUtil.waitForUIThread();
+		}
+		text.setSelection(0);
+
+		// Check that copy to clip board worked
+		final Object contents = clipboard.getContents(TextTransfer.getInstance());
+		assertNotNull(contents);
+		assertEquals(string, contents);
+
+		botText.setFocus();
+		// Press multiple times to increase test stability
+		for (int i = 0; i < 10; i++) {
+			keyboard.pressShortcut(SWT.CTRL, 'v');
+			SWTTestUtil.waitForUIThread();
+		}
+		text.update();
+		SWTTestUtil.waitForUIThread();
+
+		assertTrue(text.getText().contains(string + string));
+	}
+
 	@After
 	public void closeAllEditors() {
 		getActivePage().closeAllEditors(false);
@@ -155,4 +338,18 @@
 			fail("Cannot access status field of error editor: " + e.getMessage());
 		}
 	}
+
+	Composite getEditorParentComposite(ViewEditorPart editor) {
+		Field parentField;
+		try {
+			parentField = ViewEditorPart.class.getDeclaredField("parent");
+			parentField.setAccessible(true);
+			final Object parentFieldValue = parentField.get(editor);
+			assertTrue(parentFieldValue instanceof Composite);
+			return (Composite) parentFieldValue;
+		} catch (NoSuchFieldException | SecurityException | IllegalAccessException ex) {
+			fail("Could not get parent composite of the view editor: " + ex.getMessage());
+			return null; // Never happens
+		}
+	}
 }
diff --git a/tests/org.eclipse.emf.ecp.ide.util.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.ide.util.test/META-INF/MANIFEST.MF
index 24f02cb..8c4b13b 100644
--- a/tests/org.eclipse.emf.ecp.ide.util.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.ide.util.test/META-INF/MANIFEST.MF
@@ -2,21 +2,21 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Test
 Bundle-SymbolicName: org.eclipse.emf.ecp.ide.util.test;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.ide.util.test.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.ide.util.test;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.ide.util.test;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.ui;bundle-version="[3.106.0,4.0.0)",
-  org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.eclipse.emf.common;bundle-version="[2.10.0,3.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.core.resources;bundle-version="[3.9.0,4.0.0)",
-  org.eclipse.emf.ecore.xmi;bundle-version="[2.10.0,3.0.0)",
-  org.eclipse.emf.common.ui;bundle-version="[2.9.0,3.0.0)",
-  org.eclipse.emf.ecp.ide.util;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.9.0,1.10.0)"
+ org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
+ org.junit;bundle-version="[4.11.0,5.0.0)",
+ org.eclipse.emf.common;bundle-version="[2.10.0,3.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.core.resources;bundle-version="[3.9.0,4.0.0)",
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.10.0,3.0.0)",
+ org.eclipse.emf.common.ui;bundle-version="[2.9.0,3.0.0)",
+ org.eclipse.emf.ecp.ide.util;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.9.0,1.10.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.ide.util.test
 Bundle-ActivationPolicy: lazy
diff --git a/tests/org.eclipse.emf.ecp.ide.util.test/pom.xml b/tests/org.eclipse.emf.ecp.ide.util.test/pom.xml
index 7706ebc..7a33312 100644
--- a/tests/org.eclipse.emf.ecp.ide.util.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.ide.util.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.ide.util.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.ecp.ide.view.service.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.ide.view.service.test/META-INF/MANIFEST.MF
index c7067a8..45da735 100644
--- a/tests/org.eclipse.emf.ecp.ide.view.service.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.ide.view.service.test/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: IDEViewModelRegistry Test
 Bundle-SymbolicName: org.eclipse.emf.ecp.ide.view.service.test;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.ide.view.service.test;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.ide.view.service;bundle-version="[1.19.0,1.20.0)",
-  org.junit;bundle-version="[4.0.0,5.0.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.resources;bundle-version="[3.0.0,4.0.0)",
-  org.eclipse.emf.edit;bundle-version="[2.0.0,3.0.0)",
-  org.eclipse.emf.ecore.xmi;bundle-version="[2.0.0,3.0.0)",
-  org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.emf.common.ui;bundle-version="[2.7.0,3.0.0)"
+Export-Package: org.eclipse.emf.ecp.ide.view.service.test;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emf.ecp.ide.view.service;bundle-version="[1.20.0,1.21.0)",
+ org.junit;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.resources;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.emf.edit;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.emf.common.ui;bundle-version="[2.7.0,3.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.ide.view.service.test
diff --git a/tests/org.eclipse.emf.ecp.ide.view.service.test/pom.xml b/tests/org.eclipse.emf.ecp.ide.view.service.test/pom.xml
index 3584c18..ba06d47 100644
--- a/tests/org.eclipse.emf.ecp.ide.view.service.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.ide.view.service.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.ide.view.service.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.ecp.integrationtest/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.integrationtest/META-INF/MANIFEST.MF
index 0a639d6..d0324fd 100644
--- a/tests/org.eclipse.emf.ecp.integrationtest/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.integrationtest/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Integrationtest
 Bundle-SymbolicName: org.eclipse.emf.ecp.integrationtest
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.integrationtest.Activator
-Export-Package: org.eclipse.emf.ecp.integrationtest;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.integrationtest;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.0.0,5.0.0)",
  org.eclipse.osgi;bundle-version="[3.7.0,4.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.integrationtest
+Bundle-ActivationPolicy: lazy
diff --git a/tests/org.eclipse.emf.ecp.integrationtest/pom.xml b/tests/org.eclipse.emf.ecp.integrationtest/pom.xml
index 55a96d8..8662405 100644
--- a/tests/org.eclipse.emf.ecp.integrationtest/pom.xml
+++ b/tests/org.eclipse.emf.ecp.integrationtest/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.integrationtest</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.ecp.quickfix.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.quickfix.test/META-INF/MANIFEST.MF
index ca5e3a4..cf90d80 100644
--- a/tests/org.eclipse.emf.ecp.quickfix.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.quickfix.test/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Model Quick Fix Test
 Bundle-SymbolicName: org.eclipse.emf.ecp.quickfix.test
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.quickfix;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emf.ecp.ui.quickfix.test;version="1.19.0";x-internal:=true
+Fragment-Host: org.eclipse.emf.ecp.quickfix;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emf.ecp.ui.quickfix.test;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.emf.common;bundle-version="[2.7.0,3.0.0)",
-  org.junit;bundle-version="[4.0.0,5.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)"
+ org.eclipse.emf.common;bundle-version="[2.7.0,3.0.0)",
+ org.junit;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.quickfix.test
 Bundle-ActivationPolicy: lazy
diff --git a/tests/org.eclipse.emf.ecp.quickfix.test/pom.xml b/tests/org.eclipse.emf.ecp.quickfix.test/pom.xml
index 2bfe900..6d15205 100644
--- a/tests/org.eclipse.emf.ecp.quickfix.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.quickfix.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.quickfix.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.ecp.test.model.edit/.classpath b/tests/org.eclipse.emf.ecp.test.model.edit/.classpath
index 304e861..22f3064 100644
--- a/tests/org.eclipse.emf.ecp.test.model.edit/.classpath
+++ b/tests/org.eclipse.emf.ecp.test.model.edit/.classpath
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
 	<classpathentry kind="src" path="src"/>
-	<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.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/tests/org.eclipse.emf.ecp.test.model.edit/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.emf.ecp.test.model.edit/.settings/org.eclipse.jdt.core.prefs
index edc0222..97dce01 100644
--- a/tests/org.eclipse.emf.ecp.test.model.edit/.settings/org.eclipse.jdt.core.prefs
+++ b/tests/org.eclipse.emf.ecp.test.model.edit/.settings/org.eclipse.jdt.core.prefs
@@ -26,9 +26,9 @@
 org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.compliance=1.8
 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -132,7 +132,7 @@
 org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
 org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
 org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.source=1.8
 org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
 org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
 org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
diff --git a/tests/org.eclipse.emf.ecp.test.model.edit/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.test.model.edit/META-INF/MANIFEST.MF
index 3d13f5d..7129295 100644
--- a/tests/org.eclipse.emf.ecp.test.model.edit/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.test.model.edit/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Test Model Edit Plugin
 Bundle-SymbolicName: org.eclipse.emf.ecp.test.model.edit;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.ecp.test.university.provider.UniversityEditPlugin$Implementation
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.test.university.provider;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.test.university.provider;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.test.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport
+ org.eclipse.emf.ecp.test.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport
 Automatic-Module-Name: org.eclipse.emf.ecp.test.model.edit
 Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/tests/org.eclipse.emf.ecp.test.model.edit/pom.xml b/tests/org.eclipse.emf.ecp.test.model.edit/pom.xml
index f9495bd..6c6d5ef 100644
--- a/tests/org.eclipse.emf.ecp.test.model.edit/pom.xml
+++ b/tests/org.eclipse.emf.ecp.test.model.edit/pom.xml
@@ -6,11 +6,11 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 
 	<artifactId>org.eclipse.emf.ecp.test.model.edit</artifactId>
 	<packaging>eclipse-plugin</packaging>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/tests/org.eclipse.emf.ecp.test.model.feature/feature.xml b/tests/org.eclipse.emf.ecp.test.model.feature/feature.xml
index 320df3f..0a3808b 100644
--- a/tests/org.eclipse.emf.ecp.test.model.feature/feature.xml
+++ b/tests/org.eclipse.emf.ecp.test.model.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.emf.ecp.test.model.feature"
       label="ECP Test Model Feature"
-      version="1.19.0.qualifier">
+      version="1.20.0.qualifier">
 
    <description url="http://www.example.com/description">
       [Enter Feature Description here.]
diff --git a/tests/org.eclipse.emf.ecp.test.model.feature/pom.xml b/tests/org.eclipse.emf.ecp.test.model.feature/pom.xml
index 5795996..b37c9eb 100644
--- a/tests/org.eclipse.emf.ecp.test.model.feature/pom.xml
+++ b/tests/org.eclipse.emf.ecp.test.model.feature/pom.xml
@@ -5,11 +5,11 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.test.model.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/tests/org.eclipse.emf.ecp.test.model/.classpath b/tests/org.eclipse.emf.ecp.test.model/.classpath
index 64c5e31..eca7bdb 100644
--- a/tests/org.eclipse.emf.ecp.test.model/.classpath
+++ b/tests/org.eclipse.emf.ecp.test.model/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="output" path="bin"/>
diff --git a/tests/org.eclipse.emf.ecp.test.model/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.emf.ecp.test.model/.settings/org.eclipse.jdt.core.prefs
index edbd6f6..efea61d 100644
--- a/tests/org.eclipse.emf.ecp.test.model/.settings/org.eclipse.jdt.core.prefs
+++ b/tests/org.eclipse.emf.ecp.test.model/.settings/org.eclipse.jdt.core.prefs
@@ -25,9 +25,9 @@
 org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
 org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.compliance=1.8
 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -130,7 +130,7 @@
 org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
 org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
 org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.source=1.8
 org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
 org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
 org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
diff --git a/tests/org.eclipse.emf.ecp.test.model/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.test.model/META-INF/MANIFEST.MF
index 17e3b51..ad60ec4 100644
--- a/tests/org.eclipse.emf.ecp.test.model/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.test.model/META-INF/MANIFEST.MF
@@ -2,17 +2,17 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Test Model Plugin
 Bundle-SymbolicName: org.eclipse.emf.ecp.test.model;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.test.university;version="1.19.0",
-  org.eclipse.emf.ecp.test.university.impl;version="1.19.0",
-  org.eclipse.emf.ecp.test.university.util;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.test.university;version="1.20.0",
+ org.eclipse.emf.ecp.test.university.impl;version="1.20.0",
+ org.eclipse.emf.ecp.test.university.util;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.9.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.validation;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.19.0,1.20.0)"
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+ org.eclipse.emf.ecore;bundle-version="[2.9.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.validation;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.20.0,1.21.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.test.model
diff --git a/tests/org.eclipse.emf.ecp.test.model/pom.xml b/tests/org.eclipse.emf.ecp.test.model/pom.xml
index 194c55d..b6a7c7b 100644
--- a/tests/org.eclipse.emf.ecp.test.model/pom.xml
+++ b/tests/org.eclipse.emf.ecp.test.model/pom.xml
@@ -6,11 +6,11 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 
 	<artifactId>org.eclipse.emf.ecp.test.model</artifactId>
 	<packaging>eclipse-plugin</packaging>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/tests/org.eclipse.emf.ecp.ui.validation.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.ui.validation.test/META-INF/MANIFEST.MF
index 1d4b1ed..ab3ffa6 100644
--- a/tests/org.eclipse.emf.ecp.ui.validation.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.ui.validation.test/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Validation View Test
 Bundle-SymbolicName: org.eclipse.emf.ecp.ui.validation.test;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.ui.validation;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emf.ecp.ui.validation.test;version="1.19.0";x-internal:=true
+Fragment-Host: org.eclipse.emf.ecp.ui.validation;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emf.ecp.ui.validation.test;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.3.0,2.0.0)",
-  org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.eclipse.emf.ecp.validation.diagnostician;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.emfstore.examplemodel.edit;bundle-version="[1.3.0,2.0.0)"
+ org.junit;bundle-version="[4.11.0,5.0.0)",
+ org.eclipse.emf.ecp.validation.diagnostician;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.emfstore.examplemodel.edit;bundle-version="[1.3.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.ui.validation.test
diff --git a/tests/org.eclipse.emf.ecp.ui.validation.test/pom.xml b/tests/org.eclipse.emf.ecp.ui.validation.test/pom.xml
index c649d9d..6a9fa96 100644
--- a/tests/org.eclipse.emf.ecp.ui.validation.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.ui.validation.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.ui.validation.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.ecp.ui.view.editor.controls.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.ui.view.editor.controls.test/META-INF/MANIFEST.MF
index 45cce7f..87303b8 100644
--- a/tests/org.eclipse.emf.ecp.ui.view.editor.controls.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.ui.view.editor.controls.test/META-INF/MANIFEST.MF
@@ -2,25 +2,25 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.ui.view.editor.controls.test;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
-Fragment-Host: org.eclipse.emf.ecp.ui.view.editor.controls;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.ui.view.editor.controls;bundle-version="[1.20.0,1.21.0)"
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.ui.view.editor.controls.test;version="1.19.0",
-  org.eclipse.emf.ecp.ui.view.editor.test.model.test;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.ui.view.editor.test.model.test.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.ui.view.editor.test.model.test.util;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.internal.editor.controls;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.internal.editor.handler;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.ui.view.editor.controls.test;version="1.20.0",
+ org.eclipse.emf.ecp.ui.view.editor.test.model.test;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.ui.view.editor.test.model.test.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.ui.view.editor.test.model.test.util;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.internal.editor.controls;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.internal.editor.handler;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.0.0,5.0.0)",
-  org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emf.ecp.view.group.model;bundle-version="[1.19.0,1.20.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
-  org.objenesis;bundle-version="[1.0.0,2.0.0)",
-  org.eclipse.emf.ecp.test.common;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emf.ecp.view.group.model;bundle-version="[1.20.0,1.21.0)",
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
+ org.objenesis;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.20.0,1.21.0)"
 Automatic-Module-Name: org.eclipse.emf.ecp.ui.view.editor.controls.test
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/tests/org.eclipse.emf.ecp.ui.view.editor.controls.test/pom.xml b/tests/org.eclipse.emf.ecp.ui.view.editor.controls.test/pom.xml
index 1825f5a..8bf2993 100644
--- a/tests/org.eclipse.emf.ecp.ui.view.editor.controls.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.ui.view.editor.controls.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.ui.view.editor.controls.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.ecp.ui.view.linewrapper.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.ui.view.linewrapper.tests/META-INF/MANIFEST.MF
index cbeb188..b92e03d 100644
--- a/tests/org.eclipse.emf.ecp.ui.view.linewrapper.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.ui.view.linewrapper.tests/META-INF/MANIFEST.MF
@@ -2,10 +2,10 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP String Modifier with Line Wrapping Tests
 Bundle-SymbolicName: org.eclipse.emf.ecp.ui.view.linewrapper.tests
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.ui.view.linewrapper;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emf.ecp.ui.view.linewrapper.tests;version="1.19.0";x-internal:=true
+Fragment-Host: org.eclipse.emf.ecp.ui.view.linewrapper;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emf.ecp.ui.view.linewrapper.tests;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.0.0,5.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.ui.view.linewrapper.tests
diff --git a/tests/org.eclipse.emf.ecp.ui.view.linewrapper.tests/pom.xml b/tests/org.eclipse.emf.ecp.ui.view.linewrapper.tests/pom.xml
index 2d808f8..8ca8baa 100644
--- a/tests/org.eclipse.emf.ecp.ui.view.linewrapper.tests/pom.xml
+++ b/tests/org.eclipse.emf.ecp.ui.view.linewrapper.tests/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.ui.view.linewrapper.tests</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-plugin</packaging>
 
 </project>
diff --git a/tests/org.eclipse.emf.ecp.ui.view.swt.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.ui.view.swt.test/META-INF/MANIFEST.MF
index 0c889c9..acb0dd9 100644
--- a/tests/org.eclipse.emf.ecp.ui.view.swt.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.ui.view.swt.test/META-INF/MANIFEST.MF
@@ -2,20 +2,20 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: SWT Renderer Tests
 Bundle-SymbolicName: org.eclipse.emf.ecp.ui.view.swt.test
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emf.ecp.ui.view.swt;version="1.19.0",
-  org.eclipse.emf.ecp.ui.view.swt.test;version="1.19.0"
+Fragment-Host: org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emf.ecp.ui.view.swt;version="1.20.0",
+ org.eclipse.emf.ecp.ui.view.swt.test;version="1.20.0"
 Require-Bundle: org.junit;bundle-version="[4.0.0,5.0.0)",
-  org.eclipse.jface.databinding;bundle-version="[1.6.0,2.0.0)",
-  org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.legacy;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.domainexpander.default;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.structuralchange.default;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.structuralchange;bundle-version="[1.19.0,1.20.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)"
+ org.eclipse.jface.databinding;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.legacy;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.domainexpander.default;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.structuralchange.default;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.structuralchange;bundle-version="[1.20.0,1.21.0)",
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.ui.view.swt.test
diff --git a/tests/org.eclipse.emf.ecp.ui.view.swt.test/pom.xml b/tests/org.eclipse.emf.ecp.ui.view.swt.test/pom.xml
index d22aef6..ff2f905 100644
--- a/tests/org.eclipse.emf.ecp.ui.view.swt.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.ui.view.swt.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.ui.view.swt.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.ecp.ui.view.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.ui.view.test/META-INF/MANIFEST.MF
index efef84d..cac68a1 100644
--- a/tests/org.eclipse.emf.ecp.ui.view.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.ui.view.test/META-INF/MANIFEST.MF
@@ -2,22 +2,22 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Test
 Bundle-SymbolicName: org.eclipse.emf.ecp.ui.view.test
-Bundle-Version: 1.19.0.qualifier
-Export-Package: org.eclipse.emf.ecp.ui.view.test;version="1.19.0"
+Bundle-Version: 1.20.0.qualifier
+Export-Package: org.eclipse.emf.ecp.ui.view.test;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="3.8.0",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.junit;bundle-version="4.10.0",
-  org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model.provider.generator;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emf.emfstore.examplemodel.edit;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.ui;bundle-version="3.104.0",
-  org.eclipse.emf.ecp.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.emfstore.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.edit;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecore;bundle-version="2.8.0",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.junit;bundle-version="4.10.0",
+ org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.provider.generator;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emf.emfstore.examplemodel.edit;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.ui;bundle-version="3.104.0",
+ org.eclipse.emf.ecp.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.emfstore.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.edit;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecore;bundle-version="2.8.0",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.ui.view.test
diff --git a/tests/org.eclipse.emf.ecp.ui.view.test/pom.xml b/tests/org.eclipse.emf.ecp.ui.view.test/pom.xml
index 9a13d6d..e1031bf 100644
--- a/tests/org.eclipse.emf.ecp.ui.view.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.ui.view.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.ui.view.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.ecp.validation.diagnostician.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.validation.diagnostician.test/META-INF/MANIFEST.MF
index 14d4322..db8a23f 100644
--- a/tests/org.eclipse.emf.ecp.validation.diagnostician.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.validation.diagnostician.test/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Diagnostician Test
 Bundle-SymbolicName: org.eclipse.emf.ecp.validation.diagnostician.test;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.validation.diagnostician;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emf.ecp.validation.diagnostician.test;version="1.19.0";x-internal:=true
+Fragment-Host: org.eclipse.emf.ecp.validation.diagnostician;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emf.ecp.validation.diagnostician.test;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.3.0,2.0.0)"
+ org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.3.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.validation.diagnostician.test
diff --git a/tests/org.eclipse.emf.ecp.validation.diagnostician.test/pom.xml b/tests/org.eclipse.emf.ecp.validation.diagnostician.test/pom.xml
index c745993..0545c48 100644
--- a/tests/org.eclipse.emf.ecp.validation.diagnostician.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.validation.diagnostician.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.validation.diagnostician.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.ecp.validation.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.validation.test/META-INF/MANIFEST.MF
index babc077..1997e27 100644
--- a/tests/org.eclipse.emf.ecp.validation.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.validation.test/META-INF/MANIFEST.MF
@@ -2,20 +2,20 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.validation.test;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.validation;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.validation;bundle-version="[1.20.0,1.21.0)"
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.validation.test;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.validation.test.test;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.validation.test.test.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.validation.test.test.util;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.validation.test;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.validation.test.test;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.validation.test.test.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.validation.test.test.util;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="3.8.0",
-  org.eclipse.emf.ecore;bundle-version="2.8.0",
-  org.junit;bundle-version="4.10.0",
-  org.eclipse.emf.ecp.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.emfstore.core;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecore;bundle-version="2.8.0",
+ org.junit;bundle-version="4.10.0",
+ org.eclipse.emf.ecp.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.emfstore.core;bundle-version="[1.20.0,1.21.0)"
 Automatic-Module-Name: org.eclipse.emf.ecp.validation.test
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/tests/org.eclipse.emf.ecp.validation.test/pom.xml b/tests/org.eclipse.emf.ecp.validation.test/pom.xml
index 2c1d14b..c01923e 100644
--- a/tests/org.eclipse.emf.ecp.validation.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.validation.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.validation.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.ecp.view.categorization.model.edit.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.categorization.model.edit.test/META-INF/MANIFEST.MF
index 6d85efa..3359301 100644
--- a/tests/org.eclipse.emf.ecp.view.categorization.model.edit.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.categorization.model.edit.test/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Tests for the Categorization Model's Edit Bundle
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.categorization.model.edit.test
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.view.categorization.model.edit;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emf.ecp.view.categorization.model.edit.test;version="1.19.0";x-internal:=true,
- org.eclipse.emf.ecp.view.spi.categorization.model.provider;version="1.19.0"
+Fragment-Host: org.eclipse.emf.ecp.view.categorization.model.edit;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emf.ecp.view.categorization.model.edit.test;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.spi.categorization.model.provider;version="1.20.0"
 Require-Bundle: org.junit;bundle-version="[4.12.0,5.0.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
-  org.objenesis;bundle-version="[1.0.0,2.0.0)"
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
+ org.objenesis;bundle-version="[1.0.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.categorization.model.edit.test
diff --git a/tests/org.eclipse.emf.ecp.view.categorization.model.edit.test/pom.xml b/tests/org.eclipse.emf.ecp.view.categorization.model.edit.test/pom.xml
index c06ec95..ed0f2f6 100644
--- a/tests/org.eclipse.emf.ecp.view.categorization.model.edit.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.categorization.model.edit.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.view.categorization.model.edit.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.ecp.view.categorization.swt.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.categorization.swt.test/META-INF/MANIFEST.MF
index 40d14fe..c9e0c83 100644
--- a/tests/org.eclipse.emf.ecp.view.categorization.swt.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.categorization.swt.test/META-INF/MANIFEST.MF
@@ -2,18 +2,18 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Categorization Test
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.categorization.swt.test
-Bundle-Version: 1.19.0.qualifier
-Fragment-Host: org.eclipse.emf.ecp.view.categorization.swt;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emf.ecp.view.categorization.swt.test;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.spi.categorization.swt;version="1.19.0"
+Bundle-Version: 1.20.0.qualifier
+Fragment-Host: org.eclipse.emf.ecp.view.categorization.swt;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emf.ecp.view.categorization.swt.test;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.spi.categorization.swt;version="1.20.0"
 Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.4.0,2.0.0)",
-  org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.19.0,1.20.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
-  org.eclipse.emf.ecp.view.rule.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.legacy;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.domainexpander.default;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.mappingprovider.default;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.20.0,1.21.0)",
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
+ org.eclipse.emf.ecp.view.rule.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.legacy;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.domainexpander.default;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.mappingprovider.default;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.categorization.swt.test
 Import-Package: org.eclipse.swt.layout;version="0.0.0"
diff --git a/tests/org.eclipse.emf.ecp.view.categorization.swt.test/pom.xml b/tests/org.eclipse.emf.ecp.view.categorization.swt.test/pom.xml
index 7ec1f80..9e14762 100644
--- a/tests/org.eclipse.emf.ecp.view.categorization.swt.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.categorization.swt.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.view.categorization.swt.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.ecp.view.compoundcontrol.swt.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.compoundcontrol.swt.test/META-INF/MANIFEST.MF
index 59cedbc..004226d 100644
--- a/tests/org.eclipse.emf.ecp.view.compoundcontrol.swt.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.compoundcontrol.swt.test/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Compound Control SWT Tests
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.compoundcontrol.swt.test
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.view.compoundcontrol.swt;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emf.ecp.view.spi.compoundcontrol.swt;version="1.19.0"
+Fragment-Host: org.eclipse.emf.ecp.view.compoundcontrol.swt;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emf.ecp.view.spi.compoundcontrol.swt;version="1.20.0"
 Require-Bundle: org.junit;bundle-version="[4.12.0,5.0.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
-  org.eclipse.emf.ecp.test.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)"
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.compoundcontrol.swt.test
 Import-Package: org.eclipse.swt.graphics;version="0.0.0",
-  org.eclipse.swt.layout;version="0.0.0"
+ org.eclipse.swt.layout;version="0.0.0"
diff --git a/tests/org.eclipse.emf.ecp.view.compoundcontrol.swt.test/pom.xml b/tests/org.eclipse.emf.ecp.view.compoundcontrol.swt.test/pom.xml
index 373f6db..8d65e6b 100644
--- a/tests/org.eclipse.emf.ecp.view.compoundcontrol.swt.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.compoundcontrol.swt.test/pom.xml
@@ -5,13 +5,13 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
   
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.compoundcontrol.swt.test</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-test-plugin</packaging>
   
   <build>
diff --git a/tests/org.eclipse.emf.ecp.view.context.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.context.tests/META-INF/MANIFEST.MF
index 4f5276c..513c814 100644
--- a/tests/org.eclipse.emf.ecp.view.context.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.context.tests/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms View Model Context Tests
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.context.tests
-Bundle-Version: 1.19.0.qualifier
-Fragment-Host: org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emf.ecp.view.context.tests;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.internal.context;version="1.19.0";x-internal:=true
+Bundle-Version: 1.20.0.qualifier
+Fragment-Host: org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emf.ecp.view.context.tests;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.internal.context;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
-  org.eclipse.equinox.ds;bundle-version="[1.4.300,2.0.0)",
-  org.eclipse.emfforms.core.services.domainexpander.default;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.structuralchange;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.structuralchange.default;bundle-version="[1.19.0,1.20.0)"
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
+ org.eclipse.equinox.ds;bundle-version="[1.4.300,2.0.0)",
+ org.eclipse.emfforms.core.services.domainexpander.default;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.structuralchange;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.structuralchange.default;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.context.tests
diff --git a/tests/org.eclipse.emf.ecp.view.context.tests/pom.xml b/tests/org.eclipse.emf.ecp.view.context.tests/pom.xml
index ccb475a..1d19d6b 100644
--- a/tests/org.eclipse.emf.ecp.view.context.tests/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.context.tests/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.view.context.tests</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.ecp.view.control.multireference.tests/AllPluginTests for view.control.multireference.launch b/tests/org.eclipse.emf.ecp.view.control.multireference.tests/AllPluginTests for view.control.multireference.launch
index 48c5e27..d79cb93 100644
--- a/tests/org.eclipse.emf.ecp.view.control.multireference.tests/AllPluginTests for view.control.multireference.launch
+++ b/tests/org.eclipse.emf.ecp.view.control.multireference.tests/AllPluginTests for view.control.multireference.launch
@@ -32,8 +32,8 @@
 <stringAttribute key="pde.version" value="3.3"/>
 <stringAttribute key="product" value="org.eclipse.platform.ide"/>
 <booleanAttribute key="run_in_ui_thread" value="true"/>
-<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,org.apache.batik.css*1.8.0.v20170214-1941@default:default,org.apache.batik.util*1.8.0.v20170214-1941@default:default,org.apache.commons.codec@default:default,org.apache.commons.jxpath@default:default,org.apache.commons.logging@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.scr@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding*1.6.100.v20170515-1119@default:default,org.eclipse.core.databinding.observable*1.6.100.v20170515-1119@default:default,org.eclipse.core.databinding.property*1.6.100.v20170515-1119@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.linux.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources@default:default,org.eclipse.core.runtime@default:true,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.annotations@default:default,org.eclipse.e4.core.di.extensions.supplier@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.emf.xpath@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.swt.gtk@default:false,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.gtk.linux.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.team.core@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.trace@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core@default:default,org.hamcrest.library@default:default,org.junit@default:default,org.mockito.mockito-core-hamcrest-modified@default:default,org.objenesis@default:default,org.w3c.css.sac@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.test.common@default:default,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.control.multireference.tests@default:false,org.eclipse.emf.ecp.view.control.multireference@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.migrator@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.swt.layout@default:default,org.eclipse.emf.ecp.view.table.model.test@default:false,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.test.common@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.rap.edit.ui.minimal@default:default,org.eclipse.emfforms.common.prevalidation@default:default,org.eclipse.emfforms.common.validation@default:default,org.eclipse.emfforms.common@default:default,org.eclipse.emfforms.core.bazaar@default:default,org.eclipse.emfforms.core.services.databinding.testmodel@default:default,org.eclipse.emfforms.core.services.domainexpander.default@default:default,org.eclipse.emfforms.core.services.domainexpander.table@default:default,org.eclipse.emfforms.core.services.editsupport@default:default,org.eclipse.emfforms.core.services.emf@default:default,org.eclipse.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emfforms.core.services.legacy@default:default,org.eclipse.emfforms.core.services.locale.default@default:default,org.eclipse.emfforms.core.services.mappingprovider.default@default:default,org.eclipse.emfforms.core.services.mappingprovider.table@default:default,org.eclipse.emfforms.core.services.structuralchange.default@default:default,org.eclipse.emfforms.core.services.structuralchange@default:default,org.eclipse.emfforms.core.services@default:default,org.eclipse.emfforms.localization@default:default,org.eclipse.emfforms.swt.core.di@default:default,org.eclipse.emfforms.swt.core@default:default,org.eclipse.emfforms.view.annotation.model@default:default"/>
+<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,org.apache.batik.constants@default:default,org.apache.batik.css*1.10.0.v20180703-1553@default:default,org.apache.batik.i18n@default:default,org.apache.batik.util*1.10.0.v20180703-1553@default:default,org.apache.commons.codec@default:default,org.apache.commons.jxpath@default:default,org.apache.commons.logging*1.1.1.v201101211721@default:default,org.apache.commons.logging*1.2.0.v20180409-1502@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.scr@1:true,org.apache.xmlgraphics@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding*1.7.100.v20181030-1443@default:default,org.eclipse.core.databinding.observable*1.6.300.v20180827-2028@default:default,org.eclipse.core.databinding.property*1.6.300.v20180827-2028@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.linux.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources@default:default,org.eclipse.core.runtime@default:true,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.annotations@default:default,org.eclipse.e4.core.di.extensions.supplier@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.emf.xpath@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.swt.gtk@default:false,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.gtk.linux.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.team.core@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.trace@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core*1.3.0.v201303031735@default:default,org.hamcrest.core*1.3.0.v20180420-1519@default:default,org.hamcrest.library@default:default,org.junit@default:default,org.mockito.mockito-core-hamcrest-modified@default:default,org.objenesis@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil*1.0.1.v200903091627@default:default,org.w3c.dom.svg@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.test.common@default:default,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.control.multireference.tests@default:false,org.eclipse.emf.ecp.view.control.multireference@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.migrator@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.swt.layout@default:default,org.eclipse.emf.ecp.view.table.model.test@default:false,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.test.common@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.rap.edit.ui.minimal@default:default,org.eclipse.emfforms.common.prevalidation@default:default,org.eclipse.emfforms.common.validation@default:default,org.eclipse.emfforms.common@default:default,org.eclipse.emfforms.core.bazaar@default:default,org.eclipse.emfforms.core.services.databinding.testmodel@default:default,org.eclipse.emfforms.core.services.domainexpander.default@default:default,org.eclipse.emfforms.core.services.domainexpander.table@default:default,org.eclipse.emfforms.core.services.editsupport@default:default,org.eclipse.emfforms.core.services.emf@default:default,org.eclipse.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emfforms.core.services.legacy@default:default,org.eclipse.emfforms.core.services.locale.default@default:default,org.eclipse.emfforms.core.services.mappingprovider.default@default:default,org.eclipse.emfforms.core.services.mappingprovider.table@default:default,org.eclipse.emfforms.core.services.structuralchange.default@default:default,org.eclipse.emfforms.core.services.structuralchange@default:default,org.eclipse.emfforms.core.services@default:default,org.eclipse.emfforms.localization@default:default,org.eclipse.emfforms.swt.core.di@default:default,org.eclipse.emfforms.swt.core@default:default,org.eclipse.emfforms.view.annotation.model@default:default,org.eclipse.emfforms.view.multisegment.model@default:default"/>
 <booleanAttribute key="show_selected_only" value="false"/>
 <booleanAttribute key="tracing" value="false"/>
 <booleanAttribute key="useCustomFeatures" value="false"/>
diff --git a/tests/org.eclipse.emf.ecp.view.control.multireference.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.control.multireference.tests/META-INF/MANIFEST.MF
index 07a4741..6c78efc 100644
--- a/tests/org.eclipse.emf.ecp.view.control.multireference.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.control.multireference.tests/META-INF/MANIFEST.MF
@@ -2,23 +2,23 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Multi Reference Control Tests
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.control.multireference.tests
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.view.control.multireference;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emf.ecp.view.control.multireference.tests;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.internal.control.multireference;version="1.19.0";x-internal:=true
+Fragment-Host: org.eclipse.emf.ecp.view.control.multireference;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emf.ecp.view.control.multireference.tests;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.internal.control.multireference;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
-  org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.emfstore.examplemodel.edit;bundle-version="[1.9.0,2.0.0)",
-  org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)",
-  org.objenesis;bundle-version="[1.0.0,2.0.0)",
-  org.hamcrest.library;bundle-version="[1.3.0,2.0.0)"
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
+ org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.emfstore.examplemodel.edit;bundle-version="[1.9.0,2.0.0)",
+ org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)",
+ org.objenesis;bundle-version="[1.0.0,2.0.0)",
+ org.hamcrest.library;bundle-version="[1.3.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0",
-  org.osgi.framework;version="[1.1.0,2.0.0)"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.osgi.framework;version="[1.1.0,2.0.0)"
 Automatic-Module-Name: org.eclipse.emf.ecp.view.control.multireference.tests
diff --git a/tests/org.eclipse.emf.ecp.view.control.multireference.tests/pom.xml b/tests/org.eclipse.emf.ecp.view.control.multireference.tests/pom.xml
index 0d0c7b2..403392c 100644
--- a/tests/org.eclipse.emf.ecp.view.control.multireference.tests/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.control.multireference.tests/pom.xml
@@ -6,7 +6,7 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<artifactId>org.eclipse.emf.ecp.view.control.multireference.tests</artifactId>
@@ -67,5 +67,5 @@
 		</plugins>
 	</build>
 	<groupId>org.eclipse.emf.ecp</groupId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/tests/org.eclipse.emf.ecp.view.control.multireference.tests/src/org/eclipse/emf/ecp/view/internal/control/multireference/MultiReferenceRenderer_PTest.java b/tests/org.eclipse.emf.ecp.view.control.multireference.tests/src/org/eclipse/emf/ecp/view/internal/control/multireference/MultiReferenceRenderer_PTest.java
index 7393ce9..ad43fba 100644
--- a/tests/org.eclipse.emf.ecp.view.control.multireference.tests/src/org/eclipse/emf/ecp/view/internal/control/multireference/MultiReferenceRenderer_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.control.multireference.tests/src/org/eclipse/emf/ecp/view/internal/control/multireference/MultiReferenceRenderer_PTest.java
@@ -19,6 +19,7 @@
 import static org.hamcrest.Matchers.nullValue;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 import static org.mockito.Matchers.any;
@@ -38,6 +39,7 @@
 import org.eclipse.core.databinding.observable.list.IObservableList;
 import org.eclipse.core.databinding.observable.list.WritableList;
 import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.core.databinding.property.value.IValueProperty;
 import org.eclipse.emf.common.command.BasicCommandStack;
 import org.eclipse.emf.common.util.URI;
 import org.eclipse.emf.databinding.EMFProperties;
@@ -89,6 +91,8 @@
 import org.eclipse.emfforms.spi.swt.core.SWTDataElementIdHelper;
 import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
 import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.swt.SWT;
 import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
@@ -96,6 +100,7 @@
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.swt.widgets.Table;
 import org.eclipse.swt.widgets.TableColumn;
+import org.eclipse.swt.widgets.TableItem;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.BeforeClass;
@@ -114,6 +119,11 @@
  */
 @RunWith(DatabindingClassRunner.class)
 public class MultiReferenceRenderer_PTest {
+	private static final String UUID_LINK = "UUID#link"; //$NON-NLS-1$
+	private static final String UUID_ADD = "UUID#add"; //$NON-NLS-1$
+	private static final String UUID_DELETE = "UUID#delete"; //$NON-NLS-1$
+	private static final String UUID_DOWN = "UUID#down"; //$NON-NLS-1$
+	private static final String UUID_UP = "UUID#up"; //$NON-NLS-1$
 	private static final String TEST_DESCRIPTION = "test-description"; //$NON-NLS-1$
 	private static final String TEST_DISPLAYNAME = "test-displayName"; //$NON-NLS-1$
 	private static Realm realm;
@@ -189,6 +199,15 @@
 		});
 		when(viewContext.getService(EMFFormsLocalizationService.class)).thenReturn(l10n);
 
+		// mock databinding to return a value property with changeable structural feature.
+		// Necessary due to the implementation of Bug 536250
+		final EStructuralFeature changeableFeature = mock(EStructuralFeature.class);
+		when(changeableFeature.isChangeable()).thenReturn(true);
+		final IValueProperty<?, ?> valueProperty = mock(IValueProperty.class);
+		when(valueProperty.getValueType()).thenReturn(changeableFeature);
+		when(databindingService.getValueProperty(any(VDomainModelReference.class), any(EObject.class)))
+			.thenReturn(valueProperty);
+
 		renderer = new MultiReferenceSWTRenderer(vControl, viewContext, reportService, databindingService,
 			labelProvider, templateProvider, imageRegistryService, l10n) {
 			@Override
@@ -527,15 +546,15 @@
 	public void testButtonData() {
 		showMoveButtons = true;
 		final Table table = createLeaguePlayersTable();
-		assertEquals("UUID#up", SWTTestUtil.findControl(table.getParent().getParent(), 0, Button.class) //$NON-NLS-1$
+		assertEquals(UUID_UP, SWTTestUtil.findControl(table.getParent().getParent(), 0, Button.class)
 			.getData(SWTDataElementIdHelper.ELEMENT_ID_KEY));
-		assertEquals("UUID#down", SWTTestUtil.findControl(table.getParent().getParent(), 1, Button.class) //$NON-NLS-1$
+		assertEquals(UUID_DOWN, SWTTestUtil.findControl(table.getParent().getParent(), 1, Button.class)
 			.getData(SWTDataElementIdHelper.ELEMENT_ID_KEY));
-		assertEquals("UUID#link", SWTTestUtil.findControl(table.getParent().getParent(), 2, Button.class) //$NON-NLS-1$
+		assertEquals(UUID_LINK, SWTTestUtil.findControl(table.getParent().getParent(), 2, Button.class)
 			.getData(SWTDataElementIdHelper.ELEMENT_ID_KEY));
-		assertEquals("UUID#add", SWTTestUtil.findControl(table.getParent().getParent(), 3, Button.class) //$NON-NLS-1$
+		assertEquals(UUID_ADD, SWTTestUtil.findControl(table.getParent().getParent(), 3, Button.class)
 			.getData(SWTDataElementIdHelper.ELEMENT_ID_KEY));
-		assertEquals("UUID#delete", SWTTestUtil.findControl(table.getParent().getParent(), 4, Button.class) //$NON-NLS-1$
+		assertEquals(UUID_DELETE, SWTTestUtil.findControl(table.getParent().getParent(), 4, Button.class)
 			.getData(SWTDataElementIdHelper.ELEMENT_ID_KEY));
 	}
 
@@ -595,10 +614,14 @@
 	}
 
 	protected Table createLeaguePlayersTable() {
+		final League league = BowlingFactory.eINSTANCE.createLeague();
+		return createLeaguePlayersTable(league);
+	}
+
+	protected Table createLeaguePlayersTable(final League league) {
 		final EditingDomain domain = new AdapterFactoryEditingDomain(
 			new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE), new BasicCommandStack());
 		final Resource bowling = domain.getResourceSet().createResource(URI.createURI("foo.ecore")); //$NON-NLS-1$
-		final League league = BowlingFactory.eINSTANCE.createLeague();
 		bowling.getContents().add(league);
 
 		final IObservableList<?> observableList = EMFEditProperties
@@ -661,28 +684,59 @@
 	}
 
 	/**
-	 * Test that the control is disabled when it's set to read only
+	 * Test that the control is disabled when it's set to read only.
 	 *
 	 * @throws DatabindingFailedException
 	 * @throws NoRendererFoundException
 	 * @throws NoPropertyDescriptorFoundExeption
 	 */
 	@Test
-	public void testReadOnlyDisablesControl()
+	public void testReadOnlyNotDisablesControl()
 		throws DatabindingFailedException, NoRendererFoundException, NoPropertyDescriptorFoundExeption {
-		when(renderer.getVElement().isReadonly()).thenReturn(true);
+		showMoveButtons = true;
+		when(renderer.getVElement().isEffectivelyReadonly()).thenReturn(true);
+		when(renderer.getVElement().isEffectivelyEnabled()).thenReturn(true);
 		final TestObservableValue observableValue = mock(TestObservableValue.class);
 		when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
 			observableValue);
 		when(observableValue.getObserved()).thenReturn(mock(EObject.class));
-		System.out.println(renderer.getVElement().isReadonly());
 		final Composite composite = (Composite) renderer.render(new SWTGridCell(0, 0, renderer), shell);
 		renderer.finalizeRendering(shell);
-		assertFalse(composite.isEnabled());
+		// only buttons shall be not visible
+		// main composite shall still be enabled
+		assertTrue(composite.isEnabled());
+	}
+
+	/**
+	 * Test that the control and buttons are visible when it's not read only.
+	 *
+	 * @throws DatabindingFailedException
+	 * @throws NoRendererFoundException
+	 * @throws NoPropertyDescriptorFoundExeption
+	 */
+	@Test
+	public void testNotReadOnlyButtonsVisibility()
+		throws DatabindingFailedException, NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+		showMoveButtons = true;
+		when(renderer.getVElement().isReadonly()).thenReturn(false);
+		when(renderer.getVElement().isEffectivelyReadonly()).thenReturn(false);
+		final TestObservableValue observableValue = mock(TestObservableValue.class);
+		when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+			observableValue);
+		when(observableValue.getObserved()).thenReturn(mock(EObject.class));
+		final Composite composite = (Composite) renderer.render(new SWTGridCell(0, 0, renderer), shell);
+		renderer.finalizeRendering(shell);
+
+		checkButton(composite, UUID_UP, true, false);
+		checkButton(composite, UUID_DOWN, true, false);
+		checkButton(composite, UUID_DELETE, true, false);
+		checkNoButton(composite, UUID_LINK);
+		checkNoButton(composite, UUID_ADD);
 	}
 
 	/**
 	 * Test that the control is disabled when it's effectively set to read only because a parent is read only.
+	 * Test also buttons visibility
 	 *
 	 * @throws DatabindingFailedException
 	 * @throws NoRendererFoundException
@@ -691,7 +745,43 @@
 	@Test
 	public void testEffectivelyReadOnlyDisablesControl()
 		throws DatabindingFailedException, NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+		showMoveButtons = true;
 		when(renderer.getVElement().isReadonly()).thenReturn(false);
+		when(renderer.getVElement().isEffectivelyReadonly()).thenReturn(true);
+		when(renderer.getVElement().isEffectivelyEnabled()).thenReturn(true);
+		// Simulate control's parent that is set to readOnly
+		final VView parent = mock(VView.class);
+		when(parent.isReadonly()).thenReturn(true);
+		when(renderer.getVElement().eContainer()).thenReturn(parent);
+
+		final TestObservableValue observableValue = mock(TestObservableValue.class);
+		when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+			observableValue);
+		when(observableValue.getObserved()).thenReturn(mock(EObject.class));
+		final Composite composite = (Composite) renderer.render(new SWTGridCell(0, 0, renderer), shell);
+		renderer.finalizeRendering(shell);
+		// read only does not disable control, but hides button
+		assertTrue(composite.isEnabled());
+		checkButton(composite, UUID_UP, false, false);
+		checkButton(composite, UUID_DOWN, false, false);
+		checkButton(composite, UUID_DELETE, false, false);
+		checkNoButton(composite, UUID_LINK);
+		checkNoButton(composite, UUID_ADD);
+	}
+
+	/**
+	 * Test that the control is disabled when VElement enablement is set to false
+	 *
+	 * @throws DatabindingFailedException
+	 * @throws NoRendererFoundException
+	 * @throws NoPropertyDescriptorFoundExeption
+	 */
+	@Test
+	public void testControlDisabled()
+		throws DatabindingFailedException, NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+		showMoveButtons = true;
+		when(renderer.getVElement().isEffectivelyReadonly()).thenReturn(false);
+		when(renderer.getVElement().isEnabled()).thenReturn(false);
 
 		// Simulate control's parent that is set to readOnly
 		final VView parent = mock(VView.class);
@@ -702,10 +792,84 @@
 		when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
 			observableValue);
 		when(observableValue.getObserved()).thenReturn(mock(EObject.class));
-		System.out.println(renderer.getVElement().isReadonly());
 		final Composite composite = (Composite) renderer.render(new SWTGridCell(0, 0, renderer), shell);
 		renderer.finalizeRendering(shell);
 		assertFalse(composite.isEnabled());
+
+		checkButton(composite, UUID_UP, true, false);
+		checkButton(composite, UUID_DOWN, true, false);
+		checkNoButton(composite, UUID_LINK);
+		checkButton(composite, UUID_DELETE, true, false);
+	}
+
+	/**
+	 * Test that the control is enabled when VElement enablement is set to true
+	 *
+	 * @throws DatabindingFailedException
+	 * @throws NoRendererFoundException
+	 * @throws NoPropertyDescriptorFoundExeption
+	 */
+	@Test
+	public void testControlEnabled()
+		throws DatabindingFailedException, NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+		showMoveButtons = true;
+		when(renderer.getVElement().isEffectivelyReadonly()).thenReturn(false);
+		when(renderer.getVElement().isEffectivelyEnabled()).thenReturn(true);
+		when(renderer.getVElement().isEnabled()).thenReturn(true);
+		when(renderer.getVElement().isVisible()).thenReturn(true);
+
+		final VTReferenceStyleProperty property = VTReferenceFactory.eINSTANCE.createReferenceStyleProperty();
+		property.setShowLinkButtonForContainmentReferences(true);
+		when(templateProvider.getStyleProperties(any(VElement.class), any(ViewModelContext.class)))
+			.thenReturn(Collections.<VTStyleProperty> singleton(property));
+
+		final League league = BowlingFactory.eINSTANCE.createLeague();
+		createPlayers(league, "player1", "player2", "player3"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+		final Table table = createLeaguePlayersTable(league);
+		when(renderer.getVElement().isEffectivelyReadonly()).thenReturn(false);
+		when(renderer.getVElement().isEffectivelyEnabled()).thenReturn(true);
+
+		/* setup rendering */
+		final SWTGridDescription gridDescription = renderer.getGridDescription(null);
+		final SWTGridCell lastGridCell = gridDescription.getGrid().get(gridDescription.getGrid().size() - 1);
+
+		/* render */
+		final Control control = renderer.render(lastGridCell, shell);
+		renderer.finalizeRendering(shell);
+		SWTTestUtil.findControl(control, 0, Table.class);
+
+		// check table itself
+		assertTrue(table.getVisible());
+		assertTrue(table.isEnabled());
+
+		final Button upButton = SWTTestUtil.findControlById(control, UUID_UP, Button.class);
+		checkControl(upButton, true, false);
+
+		final Button deleteButton = SWTTestUtil.findControlById(control, UUID_DELETE, Button.class);
+		checkControl(deleteButton, true, false);
+
+		final IObservableList<?> list = databindingService.getObservableList(null, league);
+		renderer.getTableViewer().setSelection(new StructuredSelection(list.get(0)), true);
+		SWTTestUtil.waitForUIThread();
+
+		// up may be false, as first element is selected (not yet implemented)
+		checkControl(upButton, true, false);
+		checkControl(deleteButton, true, true);
+
+		renderer.getTableViewer().setSelection(new StructuredSelection(list.get(1)), true);
+		SWTTestUtil.waitForUIThread();
+
+		// up may be false, as first element is selected (not yet implemented)
+		checkControl(upButton, true, true);
+		checkControl(deleteButton, true, true);
+	}
+
+	private void createPlayers(League league, String... names) {
+		for (final String name : names) {
+			final Player p = BowlingFactory.eINSTANCE.createPlayer();
+			p.setName(name);
+			league.getPlayers().add(p);
+		}
 	}
 
 	/**
@@ -782,38 +946,219 @@
 		assertThat(deleteButton.getToolTipText(), is("Delete")); //$NON-NLS-1$
 	}
 
-	public void compare() {
-		// final MultiReferenceSWTRenderer multi = new MultiReferenceSWTRenderer(mock(VControl.class),
-		// mock(ViewModelContext.class), mock(ReportService.class), mock(EMFFormsDatabinding.class),
-		// mock(EMFFormsLabelProvider.class), mock(VTViewTemplateProvider.class), mock(ImageRegistryService.class));
+	/**
+	 * For a cross ref the 'link' button must still be shown even if the reference style property is set to false.
+	 */
+	@Test
+	public void linkButton_crossRefReferenceStyleFalse() {
+		final VTReferenceStyleProperty property = VTReferenceFactory.eINSTANCE.createReferenceStyleProperty();
+		property.setShowLinkButtonForContainmentReferences(false);
+		when(templateProvider.getStyleProperties(any(VElement.class), any(ViewModelContext.class)))
+			.thenReturn(Collections.<VTStyleProperty> singleton(property));
 
-		// Label: Player A
-		final Player pA = BowlingFactory.eINSTANCE.createPlayer();
-		pA.setName("A"); //$NON-NLS-1$
+		final Composite rendered = createFanVisitedTournaments();
+		final Button linkButton = SWTTestUtil.findControl(rendered, 0, Button.class);
+		assertThat(linkButton.getToolTipText(), is("Link Tournament")); //$NON-NLS-1$
+		final Button createButton = SWTTestUtil.findControl(rendered, 1, Button.class);
+		assertThat(createButton.getToolTipText(), is("Create and link new Tournament")); //$NON-NLS-1$
+		final Button deleteButton = SWTTestUtil.findControl(rendered, 2, Button.class);
+		assertThat(deleteButton.getToolTipText(), is("Delete")); //$NON-NLS-1$
+	}
 
-		// Label: Player C
-		final Player pC = BowlingFactory.eINSTANCE.createPlayer();
-		pA.setName("C"); //$NON-NLS-1$
+	/**
+	 * By default, the 'link new' button must be shown for containment references (legacy behavior).
+	 */
+	@Test
+	public void linkButton_containmentRefNoReferenceStyle() {
+		final Composite rendered = createLeaguePlayersTable().getParent().getParent();
+		final Button linkButton = SWTTestUtil.findControl(rendered, 0, Button.class);
+		assertThat(linkButton.getToolTipText(), is("Link Player")); //$NON-NLS-1$
+		final Button createButton = SWTTestUtil.findControl(rendered, 1, Button.class);
+		assertThat(createButton.getToolTipText(), is("Create and link new Player")); //$NON-NLS-1$
+		final Button deleteButton = SWTTestUtil.findControl(rendered, 2, Button.class);
+		assertThat(deleteButton.getToolTipText(), is("Delete")); //$NON-NLS-1$
+	}
 
-		// Label: Player B
-		final Player pB = BowlingFactory.eINSTANCE.createPlayer();
-		pA.setName("B"); //$NON-NLS-1$
+	@Test
+	public void linkButton_containmentRefReferenceStyleTrue() {
+		final VTReferenceStyleProperty property = VTReferenceFactory.eINSTANCE.createReferenceStyleProperty();
+		property.setShowLinkButtonForContainmentReferences(true);
+		when(templateProvider.getStyleProperties(any(VElement.class), any(ViewModelContext.class)))
+			.thenReturn(Collections.<VTStyleProperty> singleton(property));
 
-		assertEquals(0, renderer.compare(0, pA, pB));
-		assertEquals(0, renderer.compare(0, pA, pC));
-		assertEquals(0, renderer.compare(0, pB, pC));
+		final Composite rendered = createLeaguePlayersTable().getParent().getParent();
+		final Button linkButton = SWTTestUtil.findControl(rendered, 0, Button.class);
+		assertThat(linkButton.getToolTipText(), is("Link Player")); //$NON-NLS-1$
+		final Button createButton = SWTTestUtil.findControl(rendered, 1, Button.class);
+		assertThat(createButton.getToolTipText(), is("Create and link new Player")); //$NON-NLS-1$
+		final Button deleteButton = SWTTestUtil.findControl(rendered, 2, Button.class);
+		assertThat(deleteButton.getToolTipText(), is("Delete")); //$NON-NLS-1$
+	}
 
-		// direction UP
-		assertEquals(0, renderer.compare(1, pA, pA));
-		assertEquals(-1, renderer.compare(1, pA, pB));
-		assertEquals(-1, renderer.compare(1, pA, pC));
-		assertEquals(-1, renderer.compare(1, pB, pC));
+	@Test
+	public void linkButton_containmentRefReferenceStyleFalse() {
+		final VTReferenceStyleProperty property = VTReferenceFactory.eINSTANCE.createReferenceStyleProperty();
+		property.setShowLinkButtonForContainmentReferences(false);
+		when(templateProvider.getStyleProperties(any(VElement.class), any(ViewModelContext.class)))
+			.thenReturn(Collections.<VTStyleProperty> singleton(property));
 
-		// direction DOWN
-		assertEquals(0, renderer.compare(2, pA, pA));
-		assertEquals(1, renderer.compare(2, pA, pB));
-		assertEquals(1, renderer.compare(2, pA, pC));
-		assertEquals(1, renderer.compare(2, pB, pC));
+		final Composite rendered = createLeaguePlayersTable().getParent().getParent();
+		final Button createButton = SWTTestUtil.findControl(rendered, 0, Button.class);
+		assertThat(createButton.getToolTipText(), is("Create and link new Player")); //$NON-NLS-1$
+		final Button deleteButton = SWTTestUtil.findControl(rendered, 1, Button.class);
+		assertThat(deleteButton.getToolTipText(), is("Delete")); //$NON-NLS-1$ NON-NLS-1$
+
+		try {
+			SWTTestUtil.findControl(rendered, 2, Button.class);
+			fail(
+				"There must not be a third button for a containment reference with disabled 'link' button."); //$NON-NLS-1$
+		} catch (final NoSuchElementException ex) {
+			// This is what we expect => Test is successful
+			// Cannot use expected in @Test annotation because the test must not succeed if the 'create and link' or the
+			// delete button are not found.
+		}
+	}
+
+	@Test
+	public void compare()
+		throws NoRendererFoundException, NoPropertyDescriptorFoundExeption, DatabindingFailedException {
+		showMoveButtons = false;
+
+		// Label: Player a2
+		final Player p1 = BowlingFactory.eINSTANCE.createPlayer();
+		p1.setName("a2"); //$NON-NLS-1$
+
+		// Label: Player a10
+		final Player p2 = BowlingFactory.eINSTANCE.createPlayer();
+		p2.setName("a10a"); //$NON-NLS-1$
+
+		// Label: Player a10a
+		final Player p3 = BowlingFactory.eINSTANCE.createPlayer();
+		p3.setName("a10"); //$NON-NLS-1$
+
+		final League league = BowlingFactory.eINSTANCE.createLeague();
+		league.getPlayers().add(p1);
+		league.getPlayers().add(p2);
+		league.getPlayers().add(p3);
+
+		final Table playersTable = createLeaguePlayersTable(league);
+
+		// Initially, items should be sorted by insertion order
+		assertEquals(SWT.NONE, playersTable.getSortDirection());
+		assertItemOrder(playersTable, p1, p2, p3);
+
+		SWTTestUtil.selectWidget(playersTable.getColumn(0));
+		SWTTestUtil.waitForUIThread();
+
+		// ascending
+		assertEquals(SWT.UP, playersTable.getSortDirection());
+		assertItemOrder(playersTable, p1, p3, p2);
+
+		SWTTestUtil.selectWidget(playersTable.getColumn(0));
+		SWTTestUtil.waitForUIThread();
+
+		// descending
+		assertEquals(SWT.DOWN, playersTable.getSortDirection());
+		assertItemOrder(playersTable, p2, p3, p1);
+
+		SWTTestUtil.selectWidget(playersTable.getColumn(0));
+		SWTTestUtil.waitForUIThread();
+
+		// insertion order again
+		assertEquals(SWT.NONE, playersTable.getSortDirection());
+		assertItemOrder(playersTable, p1, p2, p3);
+	}
+
+	private static void assertItemOrder(Table table, Object... objects) {
+		assertEquals(objects.length, table.getItemCount());
+		final TableItem[] items = table.getItems();
+		for (int i = 0; i < items.length; i++) {
+			assertSame(objects[i], items[i].getData());
+		}
+	}
+
+	@Test
+	public void testVisibleOnWritable()
+		throws NoRendererFoundException, NoPropertyDescriptorFoundExeption, DatabindingFailedException {
+
+		final VTReferenceStyleProperty property = VTReferenceFactory.eINSTANCE.createReferenceStyleProperty();
+		property.setShowLinkButtonForContainmentReferences(true);
+		when(templateProvider.getStyleProperties(any(VElement.class), any(ViewModelContext.class)))
+			.thenReturn(Collections.<VTStyleProperty> singleton(property));
+
+		createLeaguePlayersTable();
+		when(renderer.getVElement().isEffectivelyReadonly()).thenReturn(false);
+		when(renderer.getVElement().isEffectivelyEnabled()).thenReturn(true);
+
+		/* setup rendering */
+		final SWTGridDescription gridDescription = renderer.getGridDescription(null);
+		final SWTGridCell lastGridCell = gridDescription.getGrid().get(gridDescription.getGrid().size() - 1);
+
+		/* render */
+		final Control control = renderer.render(lastGridCell, shell);
+		renderer.finalizeRendering(shell);
+		final Button upButton = SWTTestUtil.findControl(control, 0, Button.class);
+		final Table table = SWTTestUtil.findControl(control, 0, Table.class);
+
+		// check table itself
+		assertTrue(table.getVisible());
+		assertTrue(table.isEnabled());
+		assertTrue(upButton.getEnabled());
+	}
+
+	@Test
+	public void testActivateOnEnable()
+		throws NoRendererFoundException, NoPropertyDescriptorFoundExeption, DatabindingFailedException {
+		final VTReferenceStyleProperty property = VTReferenceFactory.eINSTANCE.createReferenceStyleProperty();
+		property.setShowLinkButtonForContainmentReferences(true);
+		when(templateProvider.getStyleProperties(any(VElement.class), any(ViewModelContext.class)))
+			.thenReturn(Collections.<VTStyleProperty> singleton(property));
+
+		createLeaguePlayersTable();
+		when(renderer.getVElement().isEffectivelyReadonly()).thenReturn(false);
+		when(renderer.getVElement().isEffectivelyEnabled()).thenReturn(true);
+
+		/* setup rendering */
+		final SWTGridDescription gridDescription = renderer.getGridDescription(null);
+		final SWTGridCell lastGridCell = gridDescription.getGrid().get(gridDescription.getGrid().size() - 1);
+
+		/* render */
+		final Control control = renderer.render(lastGridCell, shell);
+		renderer.finalizeRendering(shell);
+		final Button upButton = SWTTestUtil.findControl(control, 0, Button.class);
+		final Table table = SWTTestUtil.findControl(control, 0, Table.class);
+
+		// check table itself
+		assertTrue(table.isEnabled());
+
+		checkControl(upButton, true, true);
+		assertTrue(upButton.getParent().getVisible());
+
+	}
+
+	@Test
+	public void testButtonsNotVisibleOnReadOnly()
+		throws NoRendererFoundException, NoPropertyDescriptorFoundExeption, DatabindingFailedException {
+		final VTReferenceStyleProperty property = VTReferenceFactory.eINSTANCE.createReferenceStyleProperty();
+		property.setShowLinkButtonForContainmentReferences(true);
+		when(templateProvider.getStyleProperties(any(VElement.class), any(ViewModelContext.class)))
+			.thenReturn(Collections.<VTStyleProperty> singleton(property));
+
+		createLeaguePlayersTable();
+		when(renderer.getVElement().isEffectivelyReadonly()).thenReturn(true);
+		when(renderer.getVElement().isEffectivelyEnabled()).thenReturn(true);
+
+		/* setup rendering */
+		final SWTGridDescription gridDescription = renderer.getGridDescription(null);
+		final SWTGridCell lastGridCell = gridDescription.getGrid().get(gridDescription.getGrid().size() - 1);
+
+		/* render */
+		final Control control = renderer.render(lastGridCell, shell);
+		renderer.finalizeRendering(shell);
+		final Button upButton = SWTTestUtil.findControl(control, 0, Button.class);
+
+		/* by default, up is disabled (no selection) */
+		assertFalse(upButton.getVisible());
 	}
 
 	/**
@@ -824,4 +1169,21 @@
 	 */
 	public interface TestObservableValue extends IObservableValue, IObserving {
 	}
+
+	private void checkButton(Composite root, String elementId, boolean visible, boolean enabled) {
+		final Button button = SWTTestUtil.findControlById(root, elementId, Button.class);
+		checkControl(button, visible, enabled);
+	}
+
+	private void checkNoButton(Composite root, String elementId) {
+		final Button button = SWTTestUtil.findControlById(root, elementId, Button.class);
+		assertThat(button, nullValue());
+	}
+
+	private void checkControl(Control control, boolean visible, boolean enabled) {
+		assertThat(control, notNullValue());
+		assertThat(control.getVisible(), is(visible));
+		// no selection
+		assertThat(control.getEnabled(), is(enabled));
+	}
 }
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.core.swt.tests/META-INF/MANIFEST.MF
index 901416e..4e1e13f 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/META-INF/MANIFEST.MF
@@ -2,37 +2,37 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.core.swt.tests;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
-Fragment-Host: org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.20.0,1.21.0)"
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.core.swt.test.model;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.core.swt.test.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.core.swt.test.model.util;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.core.swt.tests;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.internal.core.swt.renderer;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.spi.core.swt;version="1.19.0",
-  org.eclipse.emf.ecp.view.spi.core.swt.renderer;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.core.swt.test.model;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.core.swt.test.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.core.swt.test.model.util;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.core.swt.tests;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.internal.core.swt.renderer;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.spi.core.swt;version="1.20.0",
+ org.eclipse.emf.ecp.view.spi.core.swt.renderer;version="1.20.0"
 Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emf.emfstore.examplemodel.edit;bundle-version="[1.3.0,2.0.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
-  org.eclipse.core.databinding.observable;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emf.ecp.test.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.swt.layout;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.legacy;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.domainexpander.default;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.structuralchange;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.structuralchange.default;bundle-version="[1.19.0,1.20.0)",
-  org.objenesis;bundle-version="1.0.0",
-  org.eclipse.emfforms.swt.common.test;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emf.emfstore.examplemodel.edit;bundle-version="[1.3.0,2.0.0)",
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
+ org.eclipse.core.databinding.observable;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.swt.layout;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.legacy;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.domainexpander.default;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.structuralchange;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.structuralchange.default;bundle-version="[1.20.0,1.21.0)",
+ org.objenesis;bundle-version="1.0.0",
+ org.eclipse.emfforms.swt.common.test;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.view.core.swt.tests
 Import-Package: com.ibm.icu.text;version="52.1.1",
-  org.eclipse.swt.widgets;version="0.0.0"
+ org.eclipse.swt.widgets;version="0.0.0"
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/pom.xml b/tests/org.eclipse.emf.ecp.view.core.swt.tests/pom.xml
index d8a1df1..5226f25 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/pom.xml
@@ -6,7 +6,7 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<artifactId>org.eclipse.emf.ecp.view.core.swt.tests</artifactId>
@@ -62,5 +62,5 @@
 		</plugins>
 	</build>
 	<groupId>org.eclipse.emf.ecp</groupId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/BooleanControlRenderer_PTest.java b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/BooleanControlRenderer_PTest.java
index b0a0616..565ae69 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/BooleanControlRenderer_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/BooleanControlRenderer_PTest.java
@@ -167,7 +167,7 @@
 		NoPropertyDescriptorFoundExeption, DatabindingFailedException {
 		Mockito.reset(getDatabindingService());
 
-		mockDatabindingIsUnsettable();
+		mockDatabindingIsSettableAndChangeable();
 		when(getDatabindingService().getObservableValue(any(VDomainModelReference.class), any(EObject.class)))
 			.thenReturn(
 				mockedObservable);
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/DateTimeControlRenderer_PTest.java b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/DateTimeControlRenderer_PTest.java
index 7f771ef..cb991f9 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/DateTimeControlRenderer_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/DateTimeControlRenderer_PTest.java
@@ -85,7 +85,6 @@
 	private static final String SELECTTIME = "Select Time";
 
 	@Before
-	@SuppressWarnings("unchecked")
 	public void before() throws DatabindingFailedException {
 		realm = new DefaultRealm();
 		final ReportService reportService = mock(ReportService.class);
@@ -133,7 +132,6 @@
 	}
 
 	@Test
-	@SuppressWarnings("unchecked")
 	public void renderControlLabelAlignmentNone()
 		throws NoRendererFoundException, NoPropertyDescriptorFoundExeption, DatabindingFailedException {
 		setMockLabelAlignment(LabelAlignment.NONE);
@@ -151,7 +149,6 @@
 	}
 
 	@Test
-	@SuppressWarnings("unchecked")
 	public void renderControlLabelAlignmentLeft()
 		throws NoRendererFoundException, NoPropertyDescriptorFoundExeption, DatabindingFailedException {
 		setMockLabelAlignment(LabelAlignment.LEFT);
@@ -340,10 +337,10 @@
 	 * @throws NoPropertyDescriptorFoundExeption
 	 * @throws DatabindingFailedException
 	 */
-	@SuppressWarnings({ "unchecked", "rawtypes" })
+	@SuppressWarnings({ "rawtypes" })
 	private DateTime[] setUpDatabindingTest(final IObservableValue mockedObservable) throws NoRendererFoundException,
 		NoPropertyDescriptorFoundExeption, DatabindingFailedException {
-		mockDatabindingIsUnsettable();
+		mockDatabindingIsSettableAndChangeable();
 		when(getDatabindingService().getObservableValue(any(VDomainModelReference.class), any(EObject.class)))
 			.thenReturn(
 				mockedObservable);
@@ -401,7 +398,6 @@
 	 * The control should behave the same way as the default one (with no VDateTimeDisplayAttachment set).
 	 */
 	@Test
-	@SuppressWarnings("unchecked")
 	public void testDateTimeDisplayAttachmentDateAndTime()
 		throws NoRendererFoundException, NoPropertyDescriptorFoundExeption, DatabindingFailedException {
 
@@ -432,7 +428,6 @@
 	 * The control should have only the date widget visible.
 	 */
 	@Test
-	@SuppressWarnings("unchecked")
 	public void testDateTimeDisplayAttachmentDateOnly()
 		throws NoRendererFoundException, NoPropertyDescriptorFoundExeption, DatabindingFailedException {
 
@@ -464,7 +459,6 @@
 	 * The control should have only the time widget visible.
 	 */
 	@Test
-	@SuppressWarnings("unchecked")
 	public void testDateTimeDisplayAttachmentTimeOnly()
 		throws NoRendererFoundException, NoPropertyDescriptorFoundExeption, DatabindingFailedException {
 
@@ -491,7 +485,6 @@
 	}
 
 	@Test
-	@SuppressWarnings("unchecked")
 	public void testEffectivelyReadOnlyDeactivatesControl()
 		throws NoRendererFoundException, NoPropertyDescriptorFoundExeption, DatabindingFailedException {
 		final EStructuralFeature mockedEStructuralFeature = mock(EStructuralFeature.class);
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/EnumComboViewerRenderer_PTest.java b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/EnumComboViewerRenderer_PTest.java
index cb362e3..257c06e 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/EnumComboViewerRenderer_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/EnumComboViewerRenderer_PTest.java
@@ -59,7 +59,6 @@
 	private DefaultRealm realm;
 
 	@Before
-	@SuppressWarnings("unchecked")
 	public void before() throws DatabindingFailedException {
 		realm = new DefaultRealm();
 		final ReportService reportService = mock(ReportService.class);
@@ -162,10 +161,9 @@
 	 * @throws NoPropertyDescriptorFoundExeption
 	 * @throws DatabindingFailedException
 	 */
-	@SuppressWarnings("unchecked")
 	private Combo setUpDatabindingTest(final ObservingWritableValue mockedObservable) throws NoRendererFoundException,
 		NoPropertyDescriptorFoundExeption, DatabindingFailedException {
-		mockDatabindingIsUnsettable();
+		mockDatabindingIsSettableAndChangeable();
 		when(getDatabindingService().getObservableValue(any(VDomainModelReference.class), any(EObject.class)))
 			.thenReturn(
 				mockedObservable);
@@ -193,7 +191,6 @@
 	}
 
 	@Test
-	@SuppressWarnings("unchecked")
 	public void testEffectivelyReadOnlyDeactivatesControl()
 		throws NoRendererFoundException, NoPropertyDescriptorFoundExeption, DatabindingFailedException {
 		final ObservingWritableValue mockedObservable = new ObservingWritableValue(realm, TestEnum.B,
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/LinkControlSWTRenderer_Containment_PTest.java b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/LinkControlSWTRenderer_Containment_PTest.java
index 8ebe6a0..37aca01 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/LinkControlSWTRenderer_Containment_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/LinkControlSWTRenderer_Containment_PTest.java
@@ -12,12 +12,14 @@
 package org.eclipse.emf.ecp.view.internal.core.swt.renderer;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
 import static org.mockito.Matchers.any;
 import static org.mockito.Matchers.eq;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
 import java.util.Collections;
+import java.util.NoSuchElementException;
 
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EReference;
@@ -156,4 +158,50 @@
 		final Button deleteButton = SWTTestUtil.findControl(renderControl, 2, Button.class);
 		assertEquals("Delete", deleteButton.getToolTipText());
 	}
+
+	/** For containment references, the 'link' button must be shown by default (:= reference style == true). */
+	@Test
+	public void linkExistingButton_noReferenceStyle()
+		throws DatabindingFailedException, NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+		final Control renderControl = renderControl(new SWTGridCell(0, 2, getRenderer()));
+		getRenderer().finalizeRendering(getShell());
+
+		final Button linkButton = SWTTestUtil.findControl(renderControl, 0, Button.class);
+		assertEquals("Link Merchandise", linkButton.getToolTipText());
+		final Button createAndLinkButton = SWTTestUtil.findControl(renderControl, 1, Button.class);
+		assertEquals("Create and link new Merchandise", createAndLinkButton.getToolTipText());
+		final Button deleteButton = SWTTestUtil.findControl(renderControl, 2, Button.class);
+		assertEquals("Delete", deleteButton.getToolTipText());
+	}
+
+	/**
+	 * For containment references, the 'link' button must not be shown if the reference style property
+	 * is set to false.
+	 */
+	@Test
+	public void linkButton_referenceStyleFalse()
+		throws DatabindingFailedException, NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+
+		final VTReferenceStyleProperty property = VTReferenceFactory.eINSTANCE.createReferenceStyleProperty();
+		property.setShowLinkButtonForContainmentReferences(false);
+		when(templateProvider.getStyleProperties(any(VElement.class), any(ViewModelContext.class)))
+			.thenReturn(Collections.<VTStyleProperty> singleton(property));
+
+		final Control renderControl = renderControl(new SWTGridCell(0, 2, getRenderer()));
+		getRenderer().finalizeRendering(getShell());
+
+		final Button createAndLinkButton = SWTTestUtil.findControl(renderControl, 0, Button.class);
+		assertEquals("Create and link new Merchandise", createAndLinkButton.getToolTipText());
+		final Button deleteButton = SWTTestUtil.findControl(renderControl, 1, Button.class);
+		assertEquals("Delete", deleteButton.getToolTipText());
+		try {
+			SWTTestUtil.findControl(renderControl, 2, Button.class);
+			fail(
+				"There must not be a third button for a containment reference with disabled 'link' button."); //$NON-NLS-1$
+		} catch (final NoSuchElementException ex) {
+			// This is what we expect => Test is successful
+			// Cannot use expected in @Test annotation because the test must not succeed if the 'create and link' or the
+			// delete button are not found.
+		}
+	}
 }
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/LinkControlSWTRenderer_CrossReference_PTest.java b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/LinkControlSWTRenderer_CrossReference_PTest.java
index 757a52e..5b27f91 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/LinkControlSWTRenderer_CrossReference_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/LinkControlSWTRenderer_CrossReference_PTest.java
@@ -187,4 +187,43 @@
 			// button are not found.
 		}
 	}
+
+	/** For cross references, the 'link' button must be shown by default (:= reference style == true). */
+	@Test
+	public void linkExistingButton_noReferenceStyle()
+		throws DatabindingFailedException, NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+		final Control renderControl = renderControl(new SWTGridCell(0, 2, getRenderer()));
+		getRenderer().finalizeRendering(getShell());
+
+		final Button linkButton = SWTTestUtil.findControl(renderControl, 0, Button.class);
+		assertEquals("Link Player", linkButton.getToolTipText());
+		final Button createAndLinkButton = SWTTestUtil.findControl(renderControl, 1, Button.class);
+		assertEquals("Create and link new Player", createAndLinkButton.getToolTipText());
+		final Button deleteButton = SWTTestUtil.findControl(renderControl, 2, Button.class);
+		assertEquals("Delete", deleteButton.getToolTipText());
+	}
+
+	/**
+	 * For cross references, the 'link' button must also be shown if the reference style property
+	 * is set to false.
+	 */
+	@Test
+	public void linkButton_referenceStyleFalse()
+		throws DatabindingFailedException, NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+
+		final VTReferenceStyleProperty property = VTReferenceFactory.eINSTANCE.createReferenceStyleProperty();
+		property.setShowLinkButtonForContainmentReferences(false);
+		when(templateProvider.getStyleProperties(any(VElement.class), any(ViewModelContext.class)))
+			.thenReturn(Collections.<VTStyleProperty> singleton(property));
+
+		final Control renderControl = renderControl(new SWTGridCell(0, 2, getRenderer()));
+		getRenderer().finalizeRendering(getShell());
+
+		final Button linkButton = SWTTestUtil.findControl(renderControl, 0, Button.class);
+		assertEquals("Link Player", linkButton.getToolTipText());
+		final Button createAndLinkButton = SWTTestUtil.findControl(renderControl, 1, Button.class);
+		assertEquals("Create and link new Player", createAndLinkButton.getToolTipText());
+		final Button deleteButton = SWTTestUtil.findControl(renderControl, 2, Button.class);
+		assertEquals("Delete", deleteButton.getToolTipText());
+	}
 }
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/NumberControlRenderer_PTest.java b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/NumberControlRenderer_PTest.java
index 41e1dd8..8acf37b 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/NumberControlRenderer_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/NumberControlRenderer_PTest.java
@@ -307,7 +307,7 @@
 	 */
 	private Text setUpDatabindingTest(final ObservingWritableValue mockedObservable) throws NoRendererFoundException,
 		NoPropertyDescriptorFoundExeption, DatabindingFailedException {
-		mockDatabindingIsUnsettable();
+		mockDatabindingIsSettableAndChangeable();
 		when(getDatabindingService().getObservableValue(any(VDomainModelReference.class), any(EObject.class)))
 			.thenReturn(
 				mockedObservable, new ObservingWritableValue(mockedObservable));
@@ -324,7 +324,6 @@
 	}
 
 	@Test
-	@SuppressWarnings("unchecked")
 	public void testEffectivelyReadOnlyDeactivatesControl()
 		throws NoRendererFoundException, NoPropertyDescriptorFoundExeption, DatabindingFailedException {
 		final ObservingWritableValue mockedObservable = new ObservingWritableValue(realm, 1,
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/ViewRenderer_PTest.java b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/ViewRenderer_PTest.java
index 80c299d..047b789 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/ViewRenderer_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/ViewRenderer_PTest.java
@@ -27,7 +27,6 @@
 import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
 import org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleProvider;
 import org.eclipse.emfforms.spi.common.report.ReportService;
-import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
 import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
 import org.eclipse.emfforms.spi.swt.core.EMFFormsNoRendererException;
 import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
@@ -64,14 +63,13 @@
 	public void setUp() {
 		realm = new DefaultRealm();
 		final ReportService reportService = mock(ReportService.class);
-		final EMFFormsDatabinding databindingService = mock(EMFFormsDatabinding.class);
 		rendererFactory = mock(EMFFormsRendererFactory.class);
 		final EMFFormsLocaleProvider localeProvider = mock(EMFFormsLocaleProvider.class);
 		view = Mockito.mock(VView.class);
 
 		context = Mockito.mock(ViewModelContext.class);
 		shell = new Shell();
-		viewRenderer = new ViewSWTRenderer(view, context, reportService, rendererFactory, databindingService,
+		viewRenderer = new ViewSWTRenderer(view, context, reportService, rendererFactory,
 			localeProvider);
 		viewRenderer.init();
 	}
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/XMLDateControlRenderer_PTest.java b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/XMLDateControlRenderer_PTest.java
index 5fed621..e5d15d0 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/XMLDateControlRenderer_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/XMLDateControlRenderer_PTest.java
@@ -69,7 +69,6 @@
 	private DefaultRealm realm;
 
 	@Before
-	@SuppressWarnings("unchecked")
 	public void before() throws DatabindingFailedException {
 		realm = new DefaultRealm();
 		final ReportService reportService = mock(ReportService.class);
@@ -96,7 +95,6 @@
 	}
 
 	@Test
-	@SuppressWarnings("unchecked")
 	public void renderControlLabelAlignmentNone()
 		throws NoRendererFoundException, NoPropertyDescriptorFoundExeption, DatabindingFailedException {
 		setMockLabelAlignment(LabelAlignment.NONE);
@@ -116,7 +114,6 @@
 	}
 
 	@Test
-	@SuppressWarnings("unchecked")
 	public void renderControlLabelAlignmentLeft()
 		throws NoRendererFoundException, NoPropertyDescriptorFoundExeption, DatabindingFailedException {
 		setMockLabelAlignment(LabelAlignment.LEFT);
@@ -227,11 +224,10 @@
 	 * @throws NoPropertyDescriptorFoundExeption
 	 * @throws DatabindingFailedException
 	 */
-	@SuppressWarnings("unchecked")
 	private Text setUpDatabindingTest(final ObservingWritableValue mockedObservable) throws NoRendererFoundException,
 		NoPropertyDescriptorFoundExeption, DatabindingFailedException {
 		Mockito.reset(getDatabindingService());
-		mockDatabindingIsUnsettable();
+		mockDatabindingIsSettableAndChangeable();
 		when(getDatabindingService().getObservableValue(any(VDomainModelReference.class), any(EObject.class)))
 			.thenReturn(
 				mockedObservable, new ObservingWritableValue(mockedObservable));
@@ -276,7 +272,6 @@
 	}
 
 	@Test
-	@SuppressWarnings("unchecked")
 	public void testEffectivelyReadOnlyDeactivatesControl()
 		throws NoRendererFoundException, NoPropertyDescriptorFoundExeption, DatabindingFailedException {
 
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/spi/core/swt/renderer/TextControlRendererUnsettable_PTest.java b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/spi/core/swt/renderer/TextControlRendererUnsettable_PTest.java
index 0829b00..dc684d9 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/spi/core/swt/renderer/TextControlRendererUnsettable_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/spi/core/swt/renderer/TextControlRendererUnsettable_PTest.java
@@ -25,6 +25,7 @@
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EStructuralFeature;
 import org.eclipse.emf.ecp.test.common.DefaultRealm;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
 import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
 import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
 import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
@@ -62,7 +63,7 @@
  * @author Lucas Koehler
  *
  */
-public class TextControlRendererUnsettable_PTest extends AbstractControl_PTest {
+public class TextControlRendererUnsettable_PTest extends AbstractControl_PTest<VControl> {
 
 	private DefaultRealm realm;
 	private VTUnsettableStyleProperty unsettableStyleProperty;
@@ -102,7 +103,7 @@
 	}
 
 	@Override
-	protected void mockDatabindingIsUnsettable() throws DatabindingFailedException {
+	protected void mockDatabindingIsSettableAndChangeable() throws DatabindingFailedException {
 	}
 
 	/**
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/spi/core/swt/renderer/TextControlRenderer_PTest.java b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/spi/core/swt/renderer/TextControlRenderer_PTest.java
index 81d1d2f..c3b1984 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/spi/core/swt/renderer/TextControlRenderer_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/spi/core/swt/renderer/TextControlRenderer_PTest.java
@@ -29,6 +29,7 @@
 import org.eclipse.emf.ecp.test.common.DefaultRealm;
 import org.eclipse.emf.ecp.view.core.swt.tests.ObservingWritableValue;
 import org.eclipse.emf.ecp.view.spi.model.LabelAlignment;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
 import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
 import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
 import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
@@ -52,12 +53,11 @@
 import org.junit.Test;
 import org.mockito.Mockito;
 
-public class TextControlRenderer_PTest extends AbstractControl_PTest {
+public class TextControlRenderer_PTest extends AbstractControl_PTest<VControl> {
 
 	private DefaultRealm realm;
 
 	@Before
-	@SuppressWarnings("unchecked")
 	public void before() throws DatabindingFailedException {
 		realm = new DefaultRealm();
 		final ReportService reportService = mock(ReportService.class);
@@ -79,7 +79,6 @@
 	}
 
 	@Test
-	@SuppressWarnings("unchecked")
 	public void renderControlLabelAlignmentNone()
 		throws NoRendererFoundException, NoPropertyDescriptorFoundExeption, DatabindingFailedException,
 		NoLabelFoundException {
@@ -101,7 +100,6 @@
 	}
 
 	@Test
-	@SuppressWarnings("unchecked")
 	public void renderControlLabelAlignmentLeft()
 		throws NoRendererFoundException, NoPropertyDescriptorFoundExeption, DatabindingFailedException,
 		NoLabelFoundException {
@@ -208,13 +206,12 @@
 	 * @throws DatabindingFailedException if the databinding failed
 	 * @throws NoLabelFoundException
 	 */
-	@SuppressWarnings("unchecked")
 	private Text setUpDatabindingTest(final ObservingWritableValue mockedObservable) throws NoRendererFoundException,
 		NoPropertyDescriptorFoundExeption, DatabindingFailedException, NoLabelFoundException {
 		when(getLabelProvider().getDisplayName(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
 			Observables.constantObservableValue("antiException"));
 		Mockito.reset(getDatabindingService());
-		mockDatabindingIsUnsettable();
+		mockDatabindingIsSettableAndChangeable();
 		when(getDatabindingService().getObservableValue(any(VDomainModelReference.class), any(EObject.class)))
 			.thenReturn(
 				mockedObservable, new ObservingWritableValue(mockedObservable));
@@ -235,7 +232,7 @@
 	 * @throws NoLabelFoundException
 	 */
 	@Test
-	@SuppressWarnings({ "unchecked", "rawtypes" })
+	@SuppressWarnings({ "rawtypes" })
 	public void testLabelServiceUsageTextField() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption,
 		DatabindingFailedException, NoLabelFoundException {
 		final IObservableValue testDisplayName = Observables.constantObservableValue("test-displayname", String.class);
@@ -264,7 +261,6 @@
 	}
 
 	@Test
-	@SuppressWarnings("unchecked")
 	public void testEffectivelyReadOnlyDeactivatesControl()
 		throws NoRendererFoundException, NoPropertyDescriptorFoundExeption, DatabindingFailedException,
 		NoLabelFoundException {
diff --git a/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/META-INF/MANIFEST.MF
index 2d56110..6750648 100644
--- a/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/META-INF/MANIFEST.MF
@@ -2,41 +2,41 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Tests for the Custom SWT Renderer
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.custom.ui.swt.test;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.view.custom.ui.swt.test.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.custom.ui.swt.test;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.19.0,1.20.0)",
-  org.junit;bundle-version="[4.0.0,5.0.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.swt;bundle-version="[3.1.0,4.0.0)",
-  org.eclipse.emf.ecp.edit;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.test;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.equinox.common;bundle-version="[3.6.0,4.0.0)",
-  org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
-  org.eclipse.jface.databinding;bundle-version="[1.4.0,2.0.0)",
-  org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emf.ecp.edit.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.validation;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
-  org.eclipse.emf.ecp.view.custom.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.custom.ui.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.legacy;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.domainexpander.default;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.mappingprovider.default;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.emf;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.indexdmr.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.databinding.index;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.domainexpander.index;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.structuralchange.index;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emf.ecp.view.custom.ui.swt.test;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.20.0,1.21.0)",
+ org.junit;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.swt;bundle-version="[3.1.0,4.0.0)",
+ org.eclipse.emf.ecp.edit;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.test;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.equinox.common;bundle-version="[3.6.0,4.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
+ org.eclipse.jface.databinding;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emf.ecp.edit.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.validation;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emf.ecp.view.custom.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.custom.ui.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.legacy;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.domainexpander.default;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.mappingprovider.default;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.emf;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.indexdmr.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.databinding.index;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.domainexpander.index;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.structuralchange.index;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.jface.layout;version="0.0.0",
-  org.eclipse.jface.viewers;version="0.0.0"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.jface.layout;version="0.0.0",
+ org.eclipse.jface.viewers;version="0.0.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.view.custom.ui.swt.test
diff --git a/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/pom.xml b/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/pom.xml
index 9d95809..3f7c495 100644
--- a/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.view.custom.ui.swt.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.ecp.view.dynamictree.feature/feature.xml b/tests/org.eclipse.emf.ecp.view.dynamictree.feature/feature.xml
index ca14dbf..a3f5415 100644
--- a/tests/org.eclipse.emf.ecp.view.dynamictree.feature/feature.xml
+++ b/tests/org.eclipse.emf.ecp.view.dynamictree.feature/feature.xml
@@ -2,12 +2,12 @@
 <feature
       id="org.eclipse.emf.ecp.view.dynamictree.feature"
       label="Dynamic Tree Feature"
-      version="1.19.0.qualifier"
+      version="1.20.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.ecp.view.dynamictree.model"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.ecp.license.feature"
-      license-feature-version="1.19.0.qualifier">
+      license-feature-version="1.20.0.qualifier">
 
    <description>
       %description
diff --git a/tests/org.eclipse.emf.ecp.view.dynamictree.feature/pom.xml b/tests/org.eclipse.emf.ecp.view.dynamictree.feature/pom.xml
index a3db7b1..214c950 100644
--- a/tests/org.eclipse.emf.ecp.view.dynamictree.feature/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.dynamictree.feature/pom.xml
@@ -5,11 +5,11 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.dynamictree.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/tests/org.eclipse.emf.ecp.view.dynamictree.model.edit/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.dynamictree.model.edit/META-INF/MANIFEST.MF
index 8a873b6..2657e01 100644
--- a/tests/org.eclipse.emf.ecp.view.dynamictree.model.edit/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.dynamictree.model.edit/META-INF/MANIFEST.MF
@@ -2,21 +2,21 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Dynamic Containment Tree Edit Plugin
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.dynamictree.model.edit;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.ecp.view.dynamictree.model.provider.DynamicTreeEditPlugin$Implementation
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.dynamictree.model.provider;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.dynamictree.model.provider;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
-  org.eclipse.emf.ecp.view.dynamictree.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.edit;bundle-version="[2.5.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.categorization.model.edit;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecore.edit;bundle-version="[2.5.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.emf.ecp.view.dynamictree.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.edit;bundle-version="[2.5.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.categorization.model.edit;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.edit;bundle-version="[2.5.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
 Automatic-Module-Name: org.eclipse.emf.ecp.view.dynamictree.model.edit
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/tests/org.eclipse.emf.ecp.view.dynamictree.model.edit/pom.xml b/tests/org.eclipse.emf.ecp.view.dynamictree.model.edit/pom.xml
index 59576d2..ea7ea06 100644
--- a/tests/org.eclipse.emf.ecp.view.dynamictree.model.edit/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.dynamictree.model.edit/pom.xml
@@ -6,11 +6,11 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 
 	<artifactId>org.eclipse.emf.ecp.view.dynamictree.model.edit</artifactId>
 	<packaging>eclipse-plugin</packaging>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/tests/org.eclipse.emf.ecp.view.dynamictree.model.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.dynamictree.model.test/META-INF/MANIFEST.MF
index 5cf67d0..7afab8b 100644
--- a/tests/org.eclipse.emf.ecp.view.dynamictree.model.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.dynamictree.model.test/META-INF/MANIFEST.MF
@@ -2,39 +2,39 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Dynamic Containment Tree Tests
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.dynamictree.model.test;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.view.dynamictree.model.test.Activator
-Export-Package: org.eclipse.emf.ecp.view.dynamictree.model.test;version="1.19.0";
-   uses:="org.eclipse.emf.ecore,
-    org.eclipse.core.databinding,
-    org.eclipse.emf.ecp.view.context,
-    org.eclipse.emf.ecp.internal.ui.view.renderer,
-    org.osgi.framework,
-    org.eclipse.emf.ecp.view.dynamictree.model,
-    org.eclipse.emf.edit.provider,
-    org.eclipse.emf.ecp.edit,
-    org.eclipse.emf.edit.domain,
-    org.eclipse.emf.ecp.internal.ui.view.builders"
+Export-Package: org.eclipse.emf.ecp.view.dynamictree.model.test;version="1.20.0";
+  uses:="org.eclipse.emf.ecore,
+   org.eclipse.core.databinding,
+   org.eclipse.emf.ecp.view.context,
+   org.eclipse.emf.ecp.internal.ui.view.renderer,
+   org.osgi.framework,
+   org.eclipse.emf.ecp.view.dynamictree.model,
+   org.eclipse.emf.edit.provider,
+   org.eclipse.emf.ecp.edit,
+   org.eclipse.emf.edit.domain,
+   org.eclipse.emf.ecp.internal.ui.view.builders"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
-  org.junit;bundle-version="4.11.0",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.databinding;bundle-version="[1.4.1,2.0.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.dynamictree.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.jface.databinding;bundle-version="[1.6.200,2.0.0)",
-  org.eclipse.swt;bundle-version="[3.102.1,4.0.0)",
-  org.eclipse.emf.ecp.view.label.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.group.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.table.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.custom.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.dynamictree.model.edit;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.edit;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.legacy;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.domainexpander.default;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.test.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.mappingprovider.default;bundle-version="[1.19.0,1.20.0)"
+ org.junit;bundle-version="4.11.0",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.databinding;bundle-version="[1.4.1,2.0.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.dynamictree.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.jface.databinding;bundle-version="[1.6.200,2.0.0)",
+ org.eclipse.swt;bundle-version="[3.102.1,4.0.0)",
+ org.eclipse.emf.ecp.view.label.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.group.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.table.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.custom.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.dynamictree.model.edit;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.edit;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.legacy;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.domainexpander.default;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.mappingprovider.default;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.dynamictree.model.test
 Bundle-ActivationPolicy: lazy
diff --git a/tests/org.eclipse.emf.ecp.view.dynamictree.model.test/pom.xml b/tests/org.eclipse.emf.ecp.view.dynamictree.model.test/pom.xml
index 490e483..b5f9f56 100644
--- a/tests/org.eclipse.emf.ecp.view.dynamictree.model.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.dynamictree.model.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.view.dynamictree.model.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.ecp.view.dynamictree.model/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.dynamictree.model/META-INF/MANIFEST.MF
index 92050fc..f0bc584 100644
--- a/tests/org.eclipse.emf.ecp.view.dynamictree.model/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.dynamictree.model/META-INF/MANIFEST.MF
@@ -2,22 +2,22 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Dynamic Containment Tree Model Plugin
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.dynamictree.model;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.dynamictree.model;version="1.19.0",
-  org.eclipse.emf.ecp.view.dynamictree.model.impl;version="1.19.0",
-  org.eclipse.emf.ecp.view.dynamictree.model.util;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.dynamictree.model;version="1.20.0",
+ org.eclipse.emf.ecp.view.dynamictree.model.impl;version="1.20.0",
+ org.eclipse.emf.ecp.view.dynamictree.model.util;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)";visibility:=reexport,
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
-  org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emfforms.core.services.emf;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit;bundle-version="[2.12.0,3.0.0)"
+ org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)";visibility:=reexport,
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emfforms.core.services.emf;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit;bundle-version="[2.12.0,3.0.0)"
 Automatic-Module-Name: org.eclipse.emf.ecp.view.dynamictree.model
 Service-Component: OSGI-INF/dynamicContainmentTreeDMRConverter.xml
 Bundle-ActivationPolicy: lazy
diff --git a/tests/org.eclipse.emf.ecp.view.dynamictree.model/pom.xml b/tests/org.eclipse.emf.ecp.view.dynamictree.model/pom.xml
index 93df498..6f4caa4 100644
--- a/tests/org.eclipse.emf.ecp.view.dynamictree.model/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.dynamictree.model/pom.xml
@@ -6,11 +6,11 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 
 	<artifactId>org.eclipse.emf.ecp.view.dynamictree.model</artifactId>
 	<packaging>eclipse-plugin</packaging>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/tests/org.eclipse.emf.ecp.view.dynamictree.ui.swt/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.dynamictree.ui.swt/META-INF/MANIFEST.MF
index 0c65780..dba6fde 100644
--- a/tests/org.eclipse.emf.ecp.view.dynamictree.ui.swt/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.dynamictree.ui.swt/META-INF/MANIFEST.MF
@@ -2,21 +2,21 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: View Model Dynamic Tree SWT UI
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.dynamictree.ui.swt;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.dynamictree.ui.swt;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.view.dynamictree.ui.swt;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecp.view.dynamictree.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.edit;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.view.dynamictree.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.edit;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.dynamictree.ui.swt
-Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.core.services.databinding;version="[1.19.0,1.20.0)",
-  org.eclipse.jface.layout;version="0.0.0",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.core.services.databinding;version="[1.20.0,1.21.0)",
+ org.eclipse.jface.layout;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0"
 Bundle-ActivationPolicy: lazy
diff --git a/tests/org.eclipse.emf.ecp.view.dynamictree.ui.swt/pom.xml b/tests/org.eclipse.emf.ecp.view.dynamictree.ui.swt/pom.xml
index cc5b5ea..b99e82f 100644
--- a/tests/org.eclipse.emf.ecp.view.dynamictree.ui.swt/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.dynamictree.ui.swt/pom.xml
@@ -7,11 +7,11 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 
   <artifactId>org.eclipse.emf.ecp.view.dynamictree.ui.swt</artifactId>
   <packaging>eclipse-plugin</packaging>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/tests/org.eclipse.emf.ecp.view.dynamictree.ui.swt/src/org/eclipse/emf/ecp/view/dynamictree/ui/swt/SWTDynamicContainmentItemRenderer.java b/tests/org.eclipse.emf.ecp.view.dynamictree.ui.swt/src/org/eclipse/emf/ecp/view/dynamictree/ui/swt/SWTDynamicContainmentItemRenderer.java
index 72dae3d..e30803b 100644
--- a/tests/org.eclipse.emf.ecp.view.dynamictree.ui.swt/src/org/eclipse/emf/ecp/view/dynamictree/ui/swt/SWTDynamicContainmentItemRenderer.java
+++ b/tests/org.eclipse.emf.ecp.view.dynamictree.ui.swt/src/org/eclipse/emf/ecp/view/dynamictree/ui/swt/SWTDynamicContainmentItemRenderer.java
@@ -19,7 +19,6 @@
 import org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer;
 import org.eclipse.emf.ecp.view.spi.model.VContainedElement;
 import org.eclipse.emfforms.spi.common.report.ReportService;
-import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
 import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.FrameworkUtil;
@@ -32,15 +31,12 @@
  */
 public class SWTDynamicContainmentItemRenderer extends ContainerSWTRenderer<DynamicContainmentItem> {
 
-	private static final EMFFormsDatabinding EMFFORMS_DATABINDING;
 	private static final EMFFormsRendererFactory EMFFORMS_RENDERER_FACTORY;
 
 	static {
 		final BundleContext bundleContext = FrameworkUtil.getBundle(SWTDynamicContainmentTreeRenderer.class)
 			.getBundleContext();
-		final ServiceReference<EMFFormsDatabinding> emfFormsDatabindingServiceReference = bundleContext
-			.getServiceReference(EMFFormsDatabinding.class);
-		EMFFORMS_DATABINDING = bundleContext.getService(emfFormsDatabindingServiceReference);
+
 		final ServiceReference<EMFFormsRendererFactory> emfFormsLabelProviderServiceReference = bundleContext
 			.getServiceReference(EMFFormsRendererFactory.class);
 		EMFFORMS_RENDERER_FACTORY = bundleContext.getService(emfFormsLabelProviderServiceReference);
@@ -53,8 +49,7 @@
 	 */
 	public SWTDynamicContainmentItemRenderer(DynamicContainmentItem vElement, ViewModelContext viewContext,
 		ReportService reportService) {
-		super(vElement, viewContext, reportService, EMFFORMS_RENDERER_FACTORY, EMFFORMS_DATABINDING);
-		// TODO Auto-generated constructor stub
+		super(vElement, viewContext, reportService, EMFFORMS_RENDERER_FACTORY);
 	}
 
 	/**
diff --git a/tests/org.eclipse.emf.ecp.view.dynamictree.ui.swt/src/org/eclipse/emf/ecp/view/dynamictree/ui/swt/SWTDynamicContainmentTreeRenderer.java b/tests/org.eclipse.emf.ecp.view.dynamictree.ui.swt/src/org/eclipse/emf/ecp/view/dynamictree/ui/swt/SWTDynamicContainmentTreeRenderer.java
index ba08df7..a859c02 100644
--- a/tests/org.eclipse.emf.ecp.view.dynamictree.ui.swt/src/org/eclipse/emf/ecp/view/dynamictree/ui/swt/SWTDynamicContainmentTreeRenderer.java
+++ b/tests/org.eclipse.emf.ecp.view.dynamictree.ui.swt/src/org/eclipse/emf/ecp/view/dynamictree/ui/swt/SWTDynamicContainmentTreeRenderer.java
@@ -19,7 +19,6 @@
 import org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer;
 import org.eclipse.emf.ecp.view.spi.model.VContainedElement;
 import org.eclipse.emfforms.spi.common.report.ReportService;
-import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
 import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.FrameworkUtil;
@@ -32,15 +31,12 @@
  */
 public class SWTDynamicContainmentTreeRenderer extends ContainerSWTRenderer<DynamicContainmentTree> {
 
-	private static final EMFFormsDatabinding EMFFORMS_DATABINDING;
 	private static final EMFFormsRendererFactory EMFFORMS_RENDERER_FACTORY;
 
 	static {
 		final BundleContext bundleContext = FrameworkUtil.getBundle(SWTDynamicContainmentTreeRenderer.class)
 			.getBundleContext();
-		final ServiceReference<EMFFormsDatabinding> emfFormsDatabindingServiceReference = bundleContext
-			.getServiceReference(EMFFormsDatabinding.class);
-		EMFFORMS_DATABINDING = bundleContext.getService(emfFormsDatabindingServiceReference);
+
 		final ServiceReference<EMFFormsRendererFactory> emfFormsLabelProviderServiceReference = bundleContext
 			.getServiceReference(EMFFormsRendererFactory.class);
 		EMFFORMS_RENDERER_FACTORY = bundleContext.getService(emfFormsLabelProviderServiceReference);
@@ -53,7 +49,7 @@
 	 */
 	public SWTDynamicContainmentTreeRenderer(DynamicContainmentTree vElement, ViewModelContext viewContext,
 		ReportService reportService) {
-		super(vElement, viewContext, reportService, EMFFORMS_RENDERER_FACTORY, EMFFORMS_DATABINDING);
+		super(vElement, viewContext, reportService, EMFFORMS_RENDERER_FACTORY);
 	}
 
 	/**
diff --git a/tests/org.eclipse.emf.ecp.view.dynamictree.ui/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.dynamictree.ui/META-INF/MANIFEST.MF
index c5f08da..91084d5 100644
--- a/tests/org.eclipse.emf.ecp.view.dynamictree.ui/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.dynamictree.ui/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: View Model Dynamic Tree UI
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.dynamictree.ui;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.dynamictree.ui;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.dynamictree.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.edit;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.runtime;bundle-version="[3.9.0,4.0.0)",
-  org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)"
+Export-Package: org.eclipse.emf.ecp.view.dynamictree.ui;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.dynamictree.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.edit;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.runtime;bundle-version="[3.9.0,4.0.0)",
+ org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.dynamictree.ui
 Bundle-ActivationPolicy: lazy
diff --git a/tests/org.eclipse.emf.ecp.view.dynamictree.ui/pom.xml b/tests/org.eclipse.emf.ecp.view.dynamictree.ui/pom.xml
index f9a894d..9b5440e 100644
--- a/tests/org.eclipse.emf.ecp.view.dynamictree.ui/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.dynamictree.ui/pom.xml
@@ -7,11 +7,11 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 
   <artifactId>org.eclipse.emf.ecp.view.dynamictree.ui</artifactId>
   <packaging>eclipse-plugin</packaging>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.test/1160/Player.view b/tests/org.eclipse.emf.ecp.view.edapt.test/1160/Player.view
new file mode 100644
index 0000000..8bcd543
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.edapt.test/1160/Player.view
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="ASCII"?>
+<org.eclipse.emf.ecp.view.model:View xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:org.eclipse.emf.ecp.view.model="http://org/eclipse/emf/ecp/view/model/170" xmlns:org.eclipse.emf.ecp.view.rule.model="http://org/eclipse/emf/ecp/view/rule/model" xmi:id="_krXaMEWAEeWfKJaajyNdyA" ecorePath="/org.eclipse.emf.emfstore.examplemodel/model/bowling.ecore">
+  <rootEClass href="http://org/eclipse/example/bowling#//Player"/>
+  <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_ebmTQGfGEeeL55VBaXqWGQ" name="Control">
+    <attachments xsi:type="org.eclipse.emf.ecp.view.rule.model:ShowRule" xmi:id="_8yucIBPpEemzDuEqO4jNhw" hide="true">
+      <condition xsi:type="org.eclipse.emf.ecp.view.rule.model:LeafCondition" xmi:id="_IuiRYBPrEemzDuEqO4jNhw" expectedValue="ACED0005737200116A6176612E6C616E672E426F6F6C65616ECD207280D59CFAEE0200015A000576616C7565787001" compareType="NOT_EQUALS">
+        <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_JmGykBPrEemzDuEqO4jNhw">
+          <domainModelEFeature xsi:type="ecore:EAttribute" href="http://org/eclipse/example/bowling#//Player/isProfessional"/>
+        </domainModelReference>
+      </condition>
+    </attachments>
+    <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_ebmTQWfGEeeL55VBaXqWGQ">
+      <domainModelEFeature xsi:type="ecore:EReference" href="http://org/eclipse/example/bowling#//Player/name"/>
+    </domainModelReference>
+  </children>
+</org.eclipse.emf.ecp.view.model:View>
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.edapt.test/META-INF/MANIFEST.MF
index 3f2a916..8c3990a 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.edapt.test/META-INF/MANIFEST.MF
@@ -2,30 +2,30 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.edapt.test;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
-Fragment-Host: org.eclipse.emf.ecp.view.edapt;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.view.edapt;bundle-version="[1.20.0,1.21.0)"
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.edapt.test;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.edapt.test._140to1170;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.edapt.test._160to1170;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.edapt.test.model;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.edapt.test.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.edapt.test.model.util;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.view.edapt.test;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.test._140to1170;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.test._160to1170;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.test.model;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.test.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.test.model.util;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.label.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.4.0,2.0.0)",
-  org.eclipse.emf.ecp.view.horizontal.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.table.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.group.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.custom.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.rule.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.label.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emf.ecp.view.horizontal.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.table.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.group.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.custom.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.rule.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport
 Automatic-Module-Name: org.eclipse.emf.ecp.view.edapt.test
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.test/build.properties b/tests/org.eclipse.emf.ecp.view.edapt.test/build.properties
index 3532afb..e6e9b1f 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.test/build.properties
+++ b/tests/org.eclipse.emf.ecp.view.edapt.test/build.properties
@@ -11,8 +11,10 @@
                model/,\
                META-INF/,\
                fragment.xml,\
-160/,\
-               plugin.properties
+               160/,\
+               plugin.properties,\
+               140/,\
+               1160/
 jars.compile.order = .
 source.. = src/
 output.. = bin/
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.test/pom.xml b/tests/org.eclipse.emf.ecp.view.edapt.test/pom.xml
index 939767a..dbd33fd 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.edapt.test/pom.xml
@@ -6,12 +6,12 @@
 <parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
   </parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.view.edapt.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.test/src/org/eclipse/emf/ecp/view/edapt/test/AllTests.java b/tests/org.eclipse.emf.ecp.view.edapt.test/src/org/eclipse/emf/ecp/view/edapt/test/AllTests.java
index cd6313b..eadf5f3 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.test/src/org/eclipse/emf/ecp/view/edapt/test/AllTests.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.test/src/org/eclipse/emf/ecp/view/edapt/test/AllTests.java
@@ -11,6 +11,7 @@
  ******************************************************************************/
 package org.eclipse.emf.ecp.view.edapt.test;
 
+import org.eclipse.emf.ecp.view.edapt.test._1160to1200.All1160to1200Tests;
 import org.eclipse.emf.ecp.view.edapt.test._140to1170.All140to1170Tests;
 import org.eclipse.emf.ecp.view.edapt.test._160to1170.All160to1170Tests;
 import org.junit.runner.RunWith;
@@ -19,7 +20,8 @@
 @RunWith(Suite.class)
 @Suite.SuiteClasses({
 	All140to1170Tests.class,
-	All160to1170Tests.class
+	All160to1170Tests.class,
+	All1160to1200Tests.class
 })
 public class AllTests {
 
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.test/src/org/eclipse/emf/ecp/view/edapt/test/_1160to1200/All1160to1200Tests.java b/tests/org.eclipse.emf.ecp.view.edapt.test/src/org/eclipse/emf/ecp/view/edapt/test/_1160to1200/All1160to1200Tests.java
new file mode 100644
index 0000000..69cfc92
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.edapt.test/src/org/eclipse/emf/ecp/view/edapt/test/_1160to1200/All1160to1200Tests.java
@@ -0,0 +1,23 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Johannes Faltermeier - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.edapt.test._1160to1200;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+
+@RunWith(Suite.class)
+@Suite.SuiteClasses({
+	CompareTypeMigration_PTest.class
+})
+public class All1160to1200Tests {
+
+}
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.test/src/org/eclipse/emf/ecp/view/edapt/test/_1160to1200/CompareTypeMigration_PTest.java b/tests/org.eclipse.emf.ecp.view.edapt.test/src/org/eclipse/emf/ecp/view/edapt/test/_1160to1200/CompareTypeMigration_PTest.java
new file mode 100644
index 0000000..e95ba3e
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.edapt.test/src/org/eclipse/emf/ecp/view/edapt/test/_1160to1200/CompareTypeMigration_PTest.java
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Johannes Faltermeier - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.edapt.test._1160to1200;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+
+import org.eclipse.emf.ecp.view.edapt.test.AbstractMigrationTest;
+import org.eclipse.emf.ecp.view.spi.model.VView;
+import org.eclipse.emf.ecp.view.spi.rule.model.CompareType;
+import org.eclipse.emf.ecp.view.spi.rule.model.LeafCondition;
+import org.eclipse.emf.ecp.view.spi.rule.model.ShowRule;
+
+public class CompareTypeMigration_PTest extends AbstractMigrationTest {
+
+	@Override
+	// BEGIN SUPRESS CATCH EXCEPTION
+	protected void performTest() throws Exception {// END SUPRESS CATCH EXCEPTION
+		assertFalse(getMigrator().checkMigration(getURI()));
+		getMigrator().performMigration(getURI());
+		final VView view = getMigratedView();
+		final ShowRule rule = (ShowRule) view.getChildren().get(0).getAttachments().get(0);
+		final LeafCondition leafCondition = (LeafCondition) rule.getCondition();
+		assertEquals(CompareType.NOT_EQUALS, leafCondition.getCompareType());
+	}
+
+	@Override
+	protected String getPath() {
+		return "1160/Player.view";
+	}
+}
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.edapt.util.test/META-INF/MANIFEST.MF
index 0e8242e..20535b5 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/META-INF/MANIFEST.MF
@@ -2,45 +2,45 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.edapt.util.test;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
-Fragment-Host: org.eclipse.emf.ecp.view.edapt;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.view.edapt;bundle-version="[1.20.0,1.21.0)"
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.edapt;version="1.19.0",
-  org.eclipse.emf.ecp.view.edapt.util.test.model.a;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.edapt.util.test.model.a.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.edapt.util.test.model.a.util;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.edapt.util.test.model.b;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.edapt.util.test.model.b.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.edapt.util.test.model.b.util;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.edapt.util.test.model.c;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.edapt.util.test.model.c.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.edapt.util.test.model.c.util;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.edapt.util.test.model.d;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.edapt.util.test.model.d.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.edapt.util.test.model.d.util;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.edapt.util.test.model.e;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.edapt.util.test.model.e.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.edapt.util.test.model.e.util;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.edapt.util.test.model.f;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.edapt.util.test.model.f.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.edapt.util.test.model.f.util;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.edapt.util.test.model.w;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.edapt.util.test.model.w.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.edapt.util.test.model.w.util;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.edapt.util.test.model.x;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.edapt.util.test.model.x.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.edapt.util.test.model.x.util;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.edapt.util.test.model.y;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.edapt.util.test.model.y.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.edapt.util.test.model.y.util;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.edapt.util.test.model.z;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.edapt.util.test.model.z.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.edapt.util.test.model.z.util;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.view.edapt;version="1.20.0",
+ org.eclipse.emf.ecp.view.edapt.util.test.model.a;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.a.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.a.util;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.b;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.b.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.b.util;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.c;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.c.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.c.util;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.d;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.d.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.d.util;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.e;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.e.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.e.util;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.f;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.f.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.f.util;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.w;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.w.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.w.util;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.x;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.x.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.x.util;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.y;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.y.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.y.util;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.z;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.z.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.z.util;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.junit;bundle-version="[4.0.0,5.0.0)"
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.junit;bundle-version="[4.0.0,5.0.0)"
 Automatic-Module-Name: org.eclipse.emf.ecp.view.edapt.util.test
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/pom.xml b/tests/org.eclipse.emf.ecp.view.edapt.util.test/pom.xml
index 9d2f380..7e7fe9a 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/pom.xml
@@ -6,11 +6,11 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.view.edapt.util.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-plugin</packaging>
 </project>
diff --git a/tests/org.eclipse.emf.ecp.view.group.ui.swt.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.group.ui.swt.test/META-INF/MANIFEST.MF
index 41ef8f3..1c5416a 100644
--- a/tests/org.eclipse.emf.ecp.view.group.ui.swt.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.group.ui.swt.test/META-INF/MANIFEST.MF
@@ -2,22 +2,22 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Tests for the Group SWT Renderer
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.group.ui.swt.test
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.view.group.ui.swt;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emf.ecp.view.group.ui.swt.test;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.19.0,1.20.0)",
-  org.junit;bundle-version="[4.0.0,5.0.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.swt;bundle-version="[3.1.0,4.0.0)",
-  org.eclipse.emf.ecp.edit;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.test;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.group.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.legacy;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.domainexpander.default;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.structuralchange;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.structuralchange.default;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.view.group.ui.swt;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emf.ecp.view.group.ui.swt.test;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.20.0,1.21.0)",
+ org.junit;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.swt;bundle-version="[3.1.0,4.0.0)",
+ org.eclipse.emf.ecp.edit;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.test;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.group.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.legacy;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.domainexpander.default;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.structuralchange;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.structuralchange.default;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.group.ui.swt.test
diff --git a/tests/org.eclipse.emf.ecp.view.group.ui.swt.test/pom.xml b/tests/org.eclipse.emf.ecp.view.group.ui.swt.test/pom.xml
index 0f6d592..ba78ffa 100644
--- a/tests/org.eclipse.emf.ecp.view.group.ui.swt.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.group.ui.swt.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.view.group.ui.swt.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.ecp.view.horizontal.ui.swt.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.horizontal.ui.swt.test/META-INF/MANIFEST.MF
index 01de212..15a3280 100644
--- a/tests/org.eclipse.emf.ecp.view.horizontal.ui.swt.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.horizontal.ui.swt.test/META-INF/MANIFEST.MF
@@ -2,23 +2,23 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Tests for the Horizontal SWT Renderer
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.horizontal.ui.swt.test
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.view.horizontal.ui.swt;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emf.ecp.view.horizontal.ui.swt.test;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.19.0,1.20.0)",
-  org.junit;bundle-version="[4.0.0,5.0.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.swt;bundle-version="[3.1.0,4.0.0)",
-  org.eclipse.emf.ecp.edit;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.test;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.jface;bundle-version="3.8.102",
-  org.eclipse.emf.ecp.view.horizontal.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.legacy;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.domainexpander.default;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.structuralchange;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.structuralchange.default;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.view.horizontal.ui.swt;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emf.ecp.view.horizontal.ui.swt.test;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.20.0,1.21.0)",
+ org.junit;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.swt;bundle-version="[3.1.0,4.0.0)",
+ org.eclipse.emf.ecp.edit;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.test;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.jface;bundle-version="3.8.102",
+ org.eclipse.emf.ecp.view.horizontal.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.legacy;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.domainexpander.default;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.structuralchange;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.structuralchange.default;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.horizontal.ui.swt.test
diff --git a/tests/org.eclipse.emf.ecp.view.horizontal.ui.swt.test/pom.xml b/tests/org.eclipse.emf.ecp.view.horizontal.ui.swt.test/pom.xml
index 4922b60..15d8baf 100644
--- a/tests/org.eclipse.emf.ecp.view.horizontal.ui.swt.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.horizontal.ui.swt.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.view.horizontal.ui.swt.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.ecp.view.indexdmr.model.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.indexdmr.model.test/META-INF/MANIFEST.MF
index a1ddabc..813504d 100644
--- a/tests/org.eclipse.emf.ecp.view.indexdmr.model.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.indexdmr.model.test/META-INF/MANIFEST.MF
@@ -2,18 +2,18 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.indexdmr.model.test;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.index.test.example;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.index.test.example.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.index.test.example.util;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.indexdmr.model.test;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.view.index.test.example;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.index.test.example.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.index.test.example.util;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.indexdmr.model.test;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.eclipse.emf.ecp.view.indexdmr.model;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.junit;bundle-version="[4.11.0,5.0.0)",
+ org.eclipse.emf.ecp.view.indexdmr.model;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.view.indexdmr.model.test
diff --git a/tests/org.eclipse.emf.ecp.view.indexdmr.model.test/pom.xml b/tests/org.eclipse.emf.ecp.view.indexdmr.model.test/pom.xml
index 18187d1..32a75ce 100644
--- a/tests/org.eclipse.emf.ecp.view.indexdmr.model.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.indexdmr.model.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<artifactId>org.eclipse.emf.ecp.view.indexdmr.model.test</artifactId>
 	<packaging>eclipse-plugin</packaging>
 	<groupId>org.eclipse.emf.ecp</groupId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 
 </project>
diff --git a/tests/org.eclipse.emf.ecp.view.keyattributedmr.model.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.keyattributedmr.model.test/META-INF/MANIFEST.MF
index f56beec..c0ad637 100644
--- a/tests/org.eclipse.emf.ecp.view.keyattributedmr.model.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.keyattributedmr.model.test/META-INF/MANIFEST.MF
@@ -2,18 +2,18 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.keyattributedmr.model.test;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.keyattribute.test.example;version="1.19.0",
-  org.eclipse.emf.ecp.view.keyattribute.test.example.impl;version="1.19.0",
-  org.eclipse.emf.ecp.view.keyattribute.test.example.util;version="1.19.0",
-  org.eclipse.emf.ecp.view.keyattributedmr.model.test;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.view.keyattribute.test.example;version="1.20.0",
+ org.eclipse.emf.ecp.view.keyattribute.test.example.impl;version="1.20.0",
+ org.eclipse.emf.ecp.view.keyattribute.test.example.util;version="1.20.0",
+ org.eclipse.emf.ecp.view.keyattributedmr.model.test;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.keyattributedmr.model;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.keyattributedmr.model;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.view.keyattributedmr.model.test
diff --git a/tests/org.eclipse.emf.ecp.view.keyattributedmr.model.test/pom.xml b/tests/org.eclipse.emf.ecp.view.keyattributedmr.model.test/pom.xml
index a26836d..48e06ae 100644
--- a/tests/org.eclipse.emf.ecp.view.keyattributedmr.model.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.keyattributedmr.model.test/pom.xml
@@ -6,11 +6,11 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<artifactId>org.eclipse.emf.ecp.view.keyattributedmr.model.test</artifactId>
 	<packaging>eclipse-plugin</packaging>
 	<groupId>org.eclipse.emf.ecp</groupId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/tests/org.eclipse.emf.ecp.view.mappingdmr.model.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.mappingdmr.model.test/META-INF/MANIFEST.MF
index b216b49..152790e 100644
--- a/tests/org.eclipse.emf.ecp.view.mappingdmr.model.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.mappingdmr.model.test/META-INF/MANIFEST.MF
@@ -2,18 +2,18 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.mappingdmr.model.test;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.mapping.test.example;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.mapping.test.example.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.mapping.test.example.util;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.mappingdmr.model.test;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.view.mapping.test.example;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.mapping.test.example.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.mapping.test.example.util;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.mappingdmr.model.test;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
-  org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.eclipse.emf.ecp.view.mappingdmr.model;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.junit;bundle-version="[4.11.0,5.0.0)",
+ org.eclipse.emf.ecp.view.mappingdmr.model;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.view.mappingdmr.model.test
diff --git a/tests/org.eclipse.emf.ecp.view.mappingdmr.model.test/pom.xml b/tests/org.eclipse.emf.ecp.view.mappingdmr.model.test/pom.xml
index 0ab0e8b..c201875 100644
--- a/tests/org.eclipse.emf.ecp.view.mappingdmr.model.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.mappingdmr.model.test/pom.xml
@@ -6,11 +6,11 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<artifactId>org.eclipse.emf.ecp.view.mappingdmr.model.test</artifactId>
 	<packaging>eclipse-plugin</packaging>
 	<groupId>org.eclipse.emf.ecp</groupId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/tests/org.eclipse.emf.ecp.view.migrator.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.migrator.test/META-INF/MANIFEST.MF
index 2fd11e2..06f735d 100644
--- a/tests/org.eclipse.emf.ecp.view.migrator.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.migrator.test/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Forms Template Tooling Tests
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.migrator.test
-Bundle-Version: 1.19.0.qualifier
-Fragment-Host: org.eclipse.emf.ecp.view.migrator;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emf.ecp.spi.view.migrator;version="1.19.0"
+Bundle-Version: 1.20.0.qualifier
+Fragment-Host: org.eclipse.emf.ecp.view.migrator;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emf.ecp.spi.view.migrator;version="1.20.0"
 Require-Bundle: org.junit;bundle-version="[4.12.0,5.0.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
-  org.objenesis;bundle-version="[1.0.0,2.0.0)"
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
+ org.objenesis;bundle-version="[1.0.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.migrator.test
diff --git a/tests/org.eclipse.emf.ecp.view.migrator.test/pom.xml b/tests/org.eclipse.emf.ecp.view.migrator.test/pom.xml
index 2d35769..f1f932d 100644
--- a/tests/org.eclipse.emf.ecp.view.migrator.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.migrator.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.view.migrator.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 </project>
diff --git a/tests/org.eclipse.emf.ecp.view.model.common.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.model.common.test/META-INF/MANIFEST.MF
index 9f7a506..97d86f0 100644
--- a/tests/org.eclipse.emf.ecp.view.model.common.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.model.common.test/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: View Model Common Test
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.model.common.test
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.view.model.common;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emf.ecp.view.model.common;version="1.19.0"
+Fragment-Host: org.eclipse.emf.ecp.view.model.common;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emf.ecp.view.model.common;version="1.20.0"
 Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)"
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.model.common.test
-Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)"
diff --git a/tests/org.eclipse.emf.ecp.view.model.common.test/pom.xml b/tests/org.eclipse.emf.ecp.view.model.common.test/pom.xml
index a1ae254..06a4cf0 100644
--- a/tests/org.eclipse.emf.ecp.view.model.common.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.model.common.test/pom.xml
@@ -6,7 +6,7 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
diff --git a/tests/org.eclipse.emf.ecp.view.model.edit.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.model.edit.test/META-INF/MANIFEST.MF
index 41b81d4..c12b131 100644
--- a/tests/org.eclipse.emf.ecp.view.model.edit.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.model.edit.test/META-INF/MANIFEST.MF
@@ -2,10 +2,10 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Test
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.model.edit.test
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emf.ecp.view.model.edit.test;version="1.19.0";x-internal:=true
+Fragment-Host: org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emf.ecp.view.model.edit.test;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.0.0,5.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.model.edit.test
diff --git a/tests/org.eclipse.emf.ecp.view.model.edit.test/pom.xml b/tests/org.eclipse.emf.ecp.view.model.edit.test/pom.xml
index ed3c1b2..b59e9bf 100644
--- a/tests/org.eclipse.emf.ecp.view.model.edit.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.model.edit.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.view.model.edit.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.ecp.view.model.editor.test.feature/feature.xml b/tests/org.eclipse.emf.ecp.view.model.editor.test.feature/feature.xml
index 0adfd4d..b846e11 100644
--- a/tests/org.eclipse.emf.ecp.view.model.editor.test.feature/feature.xml
+++ b/tests/org.eclipse.emf.ecp.view.model.editor.test.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.emf.ecp.view.model.editor.test.feature"
       label="View Model Editor Test Feature"
-      version="1.19.0.qualifier">
+      version="1.20.0.qualifier">
 
    <description>
       Plugins for testing the View Model Editor with Q7. 
diff --git a/tests/org.eclipse.emf.ecp.view.model.editor.test.feature/pom.xml b/tests/org.eclipse.emf.ecp.view.model.editor.test.feature/pom.xml
index ebf9fd0..9dfc8f0 100644
--- a/tests/org.eclipse.emf.ecp.view.model.editor.test.feature/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.model.editor.test.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-features-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.model.editor.test.feature</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/tests/org.eclipse.emf.ecp.view.model.editor.testplugin/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.model.editor.testplugin/META-INF/MANIFEST.MF
index 7956fbf..1d31e3f 100644
--- a/tests/org.eclipse.emf.ecp.view.model.editor.testplugin/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.model.editor.testplugin/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: View Editor Test Plugin for Q7
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.model.editor.testplugin;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Require-Bundle: org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.19.0,1.20.0)"
+Require-Bundle: org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.20.0,1.21.0)"
 Automatic-Module-Name: org.eclipse.emf.ecp.view.model.editor.testplugin
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/tests/org.eclipse.emf.ecp.view.model.editor.testplugin/pom.xml b/tests/org.eclipse.emf.ecp.view.model.editor.testplugin/pom.xml
index 1691b86..9fff72b 100644
--- a/tests/org.eclipse.emf.ecp.view.model.editor.testplugin/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.model.editor.testplugin/pom.xml
@@ -6,11 +6,11 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.view.model.editor.testplugin</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-plugin</packaging>
 </project>
diff --git a/tests/org.eclipse.emf.ecp.view.model.integrationtest/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.model.integrationtest/META-INF/MANIFEST.MF
index 86681ea..fab6056 100644
--- a/tests/org.eclipse.emf.ecp.view.model.integrationtest/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.model.integrationtest/META-INF/MANIFEST.MF
@@ -2,28 +2,28 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Integrationtest
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.model.integrationtest
-Bundle-Version: 1.19.0.qualifier
-Export-Package: org.eclipse.emf.ecp.view.model.integrationtest;version="1.19.0";x-internal:=true
+Bundle-Version: 1.20.0.qualifier
+Export-Package: org.eclipse.emf.ecp.view.model.integrationtest;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.0.0,5.0.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.groupedgrid.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.label.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.rule.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.group.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.table.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.horizontal.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.viewproxy.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.stack.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.section.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.treemasterdetail.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.compoundcontrol.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.custom.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.template.annotation.model.edit;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.groupedgrid.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.label.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.rule.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.group.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.table.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.horizontal.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.viewproxy.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.stack.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.section.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.treemasterdetail.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.compoundcontrol.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.custom.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.template.annotation.model.edit;bundle-version="[1.20.0,1.21.0)"
 Automatic-Module-Name: org.eclipse.emf.ecp.view.model.integrationtest
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/tests/org.eclipse.emf.ecp.view.model.integrationtest/pom.xml b/tests/org.eclipse.emf.ecp.view.model.integrationtest/pom.xml
index e7e5fcf..daef5a1 100644
--- a/tests/org.eclipse.emf.ecp.view.model.integrationtest/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.model.integrationtest/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.view.model.integrationtest</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.ecp.view.model.integrationtest/src/org/eclipse/emf/ecp/view/model/integrationtest/ChildrenDescriptorExtension_PTest.java b/tests/org.eclipse.emf.ecp.view.model.integrationtest/src/org/eclipse/emf/ecp/view/model/integrationtest/ChildrenDescriptorExtension_PTest.java
index 85d5bff..b12157f 100644
--- a/tests/org.eclipse.emf.ecp.view.model.integrationtest/src/org/eclipse/emf/ecp/view/model/integrationtest/ChildrenDescriptorExtension_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.model.integrationtest/src/org/eclipse/emf/ecp/view/model/integrationtest/ChildrenDescriptorExtension_PTest.java
@@ -79,7 +79,7 @@
 	private static final int CATEGORY_CHILD_COUNT = NUMBER_OF_COMPOSITES + ABSTRACTCATEGORIZATION_CHILD_COUNT;
 
 	private static final int CONTROL_CHILD_COUNT = COMPOSITE_CHILD_COUNT + DOMAINMODELREFERENCE_COUNT;
-	private static final int TABLECONTROL_CHILD_COUNT = CONTROL_CHILD_COUNT + 4;
+	private static final int TABLECONTROL_CHILD_COUNT = CONTROL_CHILD_COUNT + 3;
 	private static final int ACTION_CHILD_COUNT = 0;
 	private static final int GROUPEDGRID_CHILD_COUNT = RENDERABLE_CHILD_COUNT + 1;
 	private static final int GRIDEDGROUP_CHILD_COUNT = 1;
diff --git a/tests/org.eclipse.emf.ecp.view.model.preview.common.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.model.preview.common.test/META-INF/MANIFEST.MF
index 4e78980..9f347ec 100644
--- a/tests/org.eclipse.emf.ecp.view.model.preview.common.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.model.preview.common.test/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Preview Common Tests
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.model.preview.common.test;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.view.model.preview.common;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.view.model.preview.common;bundle-version="[1.20.0,1.21.0)"
 Export-Package: org.eclipse.emf.ecp.view.model.preview.common.test;version="0.0.0"
 Require-Bundle: org.eclipse.swt;bundle-version="[3.106.2,4.0.0)",
-  org.junit;bundle-version="[4.12.0,5.0.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
-  org.objenesis;bundle-version="[1.0.0,2.0.0)"
+ org.junit;bundle-version="[4.12.0,5.0.0)",
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
+ org.objenesis;bundle-version="[1.0.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.model.preview.common.test
diff --git a/tests/org.eclipse.emf.ecp.view.model.preview.common.test/pom.xml b/tests/org.eclipse.emf.ecp.view.model.preview.common.test/pom.xml
index c78a4b2..4121806 100644
--- a/tests/org.eclipse.emf.ecp.view.model.preview.common.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.model.preview.common.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.view.model.preview.common.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/.checkstyle b/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/.checkstyle
new file mode 100644
index 0000000..24d357f
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/.checkstyle
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
+  <local-check-config name="ESMCheckstyleTest" location="/org.eclipse.emf.ecp.releng/checkstyle/esmCheckstyleTest.xml" type="project" description="">
+    <additional-data name="protect-config-file" value="false"/>
+  </local-check-config>
+  <fileset name="Java Files" enabled="true" check-config-name="ESMCheckstyleTest" local="true">
+    <file-match-pattern match-pattern=".java" include-pattern="true"/>
+  </fileset>
+</fileset-config>
diff --git a/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/.classpath b/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/.classpath
new file mode 100644
index 0000000..3e5654f
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/.classpath
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src">
+		<attributes>
+			<attribute name="test" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/.project b/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/.project
new file mode 100644
index 0000000..72616ae
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.emf.ecp.view.model.provider.generator.test</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<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>
+	</natures>
+</projectDescription>
diff --git a/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/.settings/org.eclipse.core.resources.prefs b/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..f548abb
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,6 @@
+eclipse.preferences.version=1
+
+encoding//model/etypes.ecore=UTF-8
+
+
+encoding/<project>=UTF-8
diff --git a/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/.settings/org.eclipse.core.runtime.prefs b/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..7269f8c
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,420 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=true
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=120
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/.settings/org.eclipse.jdt.launching.prefs b/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/.settings/org.eclipse.jdt.launching.prefs
new file mode 100644
index 0000000..3bb2352
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/.settings/org.eclipse.jdt.launching.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore
diff --git a/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/.settings/org.eclipse.jdt.ui.prefs b/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..8bc4bb4
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,127 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=true
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=false
+cleanup.remove_unnecessary_nls_tags=false
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=true
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_esmCleanUp
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_esmFormatter
+formatter_settings_version=12
+org.eclipse.jdt.ui.exception.name=ex
+org.eclipse.jdt.ui.gettersetter.use.is=true
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.keywordthis=false
+org.eclipse.jdt.ui.overrideannotation=true
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return the ${bare_field_name}\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\r\n * @param ${param} the ${bare_field_name} to set\r\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\r\n * Copyright (c) 2011-${year} EclipseSource Muenchen GmbH and others.\r\n * \r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors\:\r\n * ${user} - initial API and implementation\r\n ******************************************************************************/</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author ${user}\r\n *\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment"/><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\r\n * {@inheritDoc}\r\n * ${see_to_overridden}\r\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\r\n * ${tags}\r\n * ${see_to_target}\r\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">\t\t\t// TODO Auto-generated catch block\r\n\t\t\t// Do NOT catch all Exceptions ("catch (Exception e)")\r\n\t\t\t// Log AND handle Exceptions if possible \r\n            //\r\n            // You can just uncomment one of the lines below to log an exception\:\r\n\t\t\t// logException will show the logged excpetion to the user\r\n\t\t\t// ModelUtil.logException(${exception_var});\r\n\t\t\t// ModelUtil.logException("YOUR MESSAGE HERE", ${exception_var});\r\n\t\t\t// logWarning will only add the message to the error log\r\n\t\t\t// ModelUtil.logWarning("YOUR MESSAGE HERE", ${exception_var});\r\n\t\t\t// ModelUtil.logWarning("YOUR MESSAGE HERE");\r\n\t\t\t//\t\t\t\r\n\t\t\t// If handling is not possible declare and rethrow Exception</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\r\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\r\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_type_arguments=false
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=false
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=false
+sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_this_for_non_static_field_access=true
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=true
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+sp_cleanup.use_type_arguments=false
diff --git a/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/.settings/org.eclipse.ltk.core.refactoring.prefs b/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/.settings/org.eclipse.ltk.core.refactoring.prefs
new file mode 100644
index 0000000..864e30f
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/.settings/org.eclipse.ltk.core.refactoring.prefs
@@ -0,0 +1,3 @@
+#Thu Feb 04 09:44:24 CET 2010
+eclipse.preferences.version=1
+org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false
diff --git a/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/.settings/org.eclipse.pde.api.tools.prefs b/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..e4e3c00
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,97 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
+ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
+API_USE_SCAN_FIELD_SEVERITY=Error
+API_USE_SCAN_METHOD_SEVERITY=Error
+API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
+CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
+CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
+CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
+CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
+ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
+ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
+ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
+FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
+FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
+FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
+FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
+ILLEGAL_EXTEND=Warning
+ILLEGAL_IMPLEMENT=Warning
+ILLEGAL_INSTANTIATE=Warning
+ILLEGAL_OVERRIDE=Warning
+ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
+INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_JAVADOC_TAG=Warning
+INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
+LEAK_EXTEND=Warning
+LEAK_FIELD_DECL=Warning
+LEAK_IMPLEMENT=Warning
+LEAK_METHOD_PARAM=Warning
+LEAK_METHOD_RETURN_TYPE=Warning
+METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
+METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+MISSING_EE_DESCRIPTIONS=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
+UNUSED_PROBLEM_FILTERS=Ignore
+automatically_removed_unused_problem_filters=Disabled
+eclipse.preferences.version=1
+incompatible_api_component_version=Error
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/.settings/org.eclipse.pde.prefs b/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/.settings/org.eclipse.pde.prefs
new file mode 100644
index 0000000..0bbee3c
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/.settings/org.eclipse.pde.prefs
@@ -0,0 +1,32 @@
+compilers.f.unresolved-features=1
+compilers.f.unresolved-plugins=1
+compilers.incompatible-environment=1
+compilers.p.build=1
+compilers.p.build.bin.includes=1
+compilers.p.build.encodings=2
+compilers.p.build.java.compiler=2
+compilers.p.build.java.compliance=1
+compilers.p.build.missing.output=2
+compilers.p.build.output.library=1
+compilers.p.build.source.library=1
+compilers.p.build.src.includes=1
+compilers.p.deprecated=1
+compilers.p.discouraged-class=1
+compilers.p.internal=1
+compilers.p.missing-packages=1
+compilers.p.missing-version-export-package=1
+compilers.p.missing-version-import-package=1
+compilers.p.missing-version-require-bundle=1
+compilers.p.no-required-att=0
+compilers.p.not-externalized-att=2
+compilers.p.unknown-attribute=1
+compilers.p.unknown-class=1
+compilers.p.unknown-element=1
+compilers.p.unknown-identifier=1
+compilers.p.unknown-resource=1
+compilers.p.unresolved-ex-points=0
+compilers.p.unresolved-import=0
+compilers.s.create-docs=false
+compilers.s.doc-folder=doc
+compilers.s.open-tags=1
+eclipse.preferences.version=1
diff --git a/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..f91e101
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/META-INF/MANIFEST.MF
@@ -0,0 +1,13 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Generator Tests
+Bundle-SymbolicName: org.eclipse.emf.ecp.view.model.provider.generator.test;singleton:=true
+Bundle-Version: 1.20.0.qualifier
+Bundle-Vendor: Eclipse Modeling Project
+Fragment-Host: org.eclipse.emf.ecp.view.model.provider.generator;bundle-version="[1.19.0,1.20.1)"
+Automatic-Module-Name: org.eclipse.emf.ecp.view.model.provider.generator.test
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.junit;bundle-version="[4.12.0,5.0.0)",
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
+ org.objenesis;bundle-version="[1.0.0,2.0.0)"
+Export-Package: org.eclipse.emf.ecp.view.model.generator;version="1.20.0"
diff --git a/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/build.properties b/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/build.properties
new file mode 100644
index 0000000..34d2e4d
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/build.properties
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .
diff --git a/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/pom.xml b/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/pom.xml
new file mode 100644
index 0000000..0dba5ac
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/pom.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.eclipse.emf.ecp</groupId>
+		<artifactId>ecp-tests-parent</artifactId>
+		<version>1.20.0-SNAPSHOT</version>
+		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
+	</parent>
+	<groupId>org.eclipse.emf.ecp</groupId>
+	<artifactId>org.eclipse.emf.ecp.view.model.provider.generator.test</artifactId>
+	<version>1.20.0-SNAPSHOT</version>
+	<packaging>eclipse-test-plugin</packaging>
+</project>
diff --git a/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/src/org/eclipse/emf/ecp/view/model/generator/ViewProvider_Test.java b/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/src/org/eclipse/emf/ecp/view/model/generator/ViewProvider_Test.java
new file mode 100644
index 0000000..9dfbd21
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.model.provider.generator.test/src/org/eclipse/emf/ecp/view/model/generator/ViewProvider_Test.java
@@ -0,0 +1,175 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2018 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.model.generator;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcoreFactory;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VView;
+import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
+import org.eclipse.emf.ecp.view.spi.model.VViewModelLoadingProperties;
+import org.eclipse.emf.ecp.view.spi.table.model.VTableControl;
+import org.eclipse.emf.ecp.view.spi.table.model.VTableDomainModelReference;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Unit tests for {@link ViewProvider}.
+ *
+ * @author Lucas Koehler
+ */
+public class ViewProvider_Test {
+
+	private EClass eClass;
+	private EClass refType;
+	private ViewProvider viewProvider;
+	private VViewModelLoadingProperties viewProperties;
+
+	@Before
+	public void setUp() {
+		viewProvider = new ViewProvider();
+		viewProperties = VViewFactory.eINSTANCE.createViewModelLoadingProperties();
+
+		eClass = EcoreFactory.eINSTANCE.createEClass();
+		eClass.setName("Test");
+		refType = EcoreFactory.eINSTANCE.createEClass();
+		refType.setName("RefType");
+
+		final EPackage p = EcoreFactory.eINSTANCE.createEPackage();
+		p.setName("p");
+		p.setNsPrefix("p");
+		p.setNsURI("p");
+		p.getEClassifiers().add(eClass);
+		p.getEClassifiers().add(refType);
+	}
+
+	@Test
+	public void provideViewModel_attribute() {
+		final EAttribute attribute = EcoreFactory.eINSTANCE.createEAttribute();
+		attribute.setName("attribute");
+		attribute.setEType(EcorePackage.Literals.ESTRING);
+		eClass.getEStructuralFeatures().add(attribute);
+
+		final EObject object = EcoreUtil.create(eClass);
+		final VView view = viewProvider.provideViewModel(object, viewProperties);
+		assertView(view);
+
+		assertTrue(view.getChildren().get(0) instanceof VControl);
+		final VControl control = (VControl) view.getChildren().get(0);
+		assertNotNull(control.getUuid());
+		assertFalse(control.getUuid().isEmpty());
+		final VDomainModelReference dmr = control.getDomainModelReference();
+		assertTrue(dmr instanceof VFeaturePathDomainModelReference);
+		final VFeaturePathDomainModelReference featureDmr = (VFeaturePathDomainModelReference) dmr;
+		assertTrue(featureDmr.getDomainModelEReferencePath().isEmpty());
+		assertSame(attribute, featureDmr.getDomainModelEFeature());
+	}
+
+	@Test
+	public void provideViewModel_singleReference() {
+		final EReference singleRef = EcoreFactory.eINSTANCE.createEReference();
+		singleRef.setName("singleRef");
+		singleRef.setEType(refType);
+		eClass.getEStructuralFeatures().add(singleRef);
+
+		final EObject object = EcoreUtil.create(eClass);
+		final VView view = viewProvider.provideViewModel(object, viewProperties);
+		assertView(view);
+
+		assertTrue(view.getChildren().get(0) instanceof VControl);
+		final VControl control = (VControl) view.getChildren().get(0);
+		assertNotNull(control.getUuid());
+		assertFalse(control.getUuid().isEmpty());
+		final VDomainModelReference dmr = control.getDomainModelReference();
+		assertTrue(dmr instanceof VFeaturePathDomainModelReference);
+		final VFeaturePathDomainModelReference featureDmr = (VFeaturePathDomainModelReference) dmr;
+		assertTrue(featureDmr.getDomainModelEReferencePath().isEmpty());
+		assertSame(singleRef, featureDmr.getDomainModelEFeature());
+	}
+
+	@Test
+	public void provideViewModel_multiCrossReference() {
+		final EReference multiCrossRef = EcoreFactory.eINSTANCE.createEReference();
+		multiCrossRef.setName("multiCrossRef");
+		multiCrossRef.setEType(refType);
+		multiCrossRef.setUpperBound(-1); // multi ref
+		multiCrossRef.setContainment(false);
+		eClass.getEStructuralFeatures().add(multiCrossRef);
+
+		final EObject object = EcoreUtil.create(eClass);
+		final VView view = viewProvider.provideViewModel(object, viewProperties);
+		assertView(view);
+
+		assertTrue(view.getChildren().get(0) instanceof VControl);
+		final VControl control = (VControl) view.getChildren().get(0);
+		assertNotNull(control.getUuid());
+		assertFalse(control.getUuid().isEmpty());
+		final VDomainModelReference dmr = control.getDomainModelReference();
+		assertTrue(dmr instanceof VFeaturePathDomainModelReference);
+		final VFeaturePathDomainModelReference featureDmr = (VFeaturePathDomainModelReference) dmr;
+		assertTrue(featureDmr.getDomainModelEReferencePath().isEmpty());
+		assertSame(multiCrossRef, featureDmr.getDomainModelEFeature());
+	}
+
+	/** Verify that the generator generates a table control for multi containment refs. */
+	@Test
+	public void provideViewModel_multiContainmentReference() {
+		final EReference multiContainmentRef = EcoreFactory.eINSTANCE.createEReference();
+		multiContainmentRef.setName("multiContainmentRef");
+		multiContainmentRef.setEType(refType);
+		multiContainmentRef.setUpperBound(-1); // multi ref
+		multiContainmentRef.setContainment(true);
+		eClass.getEStructuralFeatures().add(multiContainmentRef);
+
+		final EObject object = EcoreUtil.create(eClass);
+		final VView view = viewProvider.provideViewModel(object, viewProperties);
+		assertView(view);
+
+		assertTrue(view.getChildren().get(0) instanceof VTableControl);
+		final VTableControl control = (VTableControl) view.getChildren().get(0);
+		assertNotNull(control.getUuid());
+		assertFalse(control.getUuid().isEmpty());
+		final VDomainModelReference controlDmr = control.getDomainModelReference();
+		assertTrue(controlDmr instanceof VTableDomainModelReference);
+		final VTableDomainModelReference tableDmr = (VTableDomainModelReference) controlDmr;
+		assertTrue(tableDmr.getDomainModelEReferencePath().isEmpty());
+		assertNull(tableDmr.getDomainModelEFeature());
+
+		assertTrue(tableDmr.getDomainModelReference() instanceof VFeaturePathDomainModelReference);
+		final VFeaturePathDomainModelReference featureDmr = (VFeaturePathDomainModelReference) tableDmr
+			.getDomainModelReference();
+
+		assertSame(multiContainmentRef, featureDmr.getDomainModelEFeature());
+	}
+
+	private void assertView(final VView view) {
+		assertNotNull(view);
+		assertNotNull(view.getUuid());
+		assertFalse(view.getUuid().isEmpty());
+		assertEquals(1, view.getChildren().size());
+	}
+}
diff --git a/tests/org.eclipse.emf.ecp.view.model.provider.xmi.test/.classpath b/tests/org.eclipse.emf.ecp.view.model.provider.xmi.test/.classpath
index 64c5e31..4f83b23 100644
--- a/tests/org.eclipse.emf.ecp.view.model.provider.xmi.test/.classpath
+++ b/tests/org.eclipse.emf.ecp.view.model.provider.xmi.test/.classpath
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/tests/org.eclipse.emf.ecp.view.model.provider.xmi.test/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.emf.ecp.view.model.provider.xmi.test/.settings/org.eclipse.jdt.core.prefs
index edbd6f6..7269f8c 100644
--- a/tests/org.eclipse.emf.ecp.view.model.provider.xmi.test/.settings/org.eclipse.jdt.core.prefs
+++ b/tests/org.eclipse.emf.ecp.view.model.provider.xmi.test/.settings/org.eclipse.jdt.core.prefs
@@ -25,9 +25,10 @@
 org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
 org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.compliance=1.8
 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -130,7 +131,8 @@
 org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
 org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
 org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.source=1.8
 org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
 org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
 org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
diff --git a/tests/org.eclipse.emf.ecp.view.model.provider.xmi.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.model.provider.xmi.test/META-INF/MANIFEST.MF
index 114df0b..97cb925 100644
--- a/tests/org.eclipse.emf.ecp.view.model.provider.xmi.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.model.provider.xmi.test/META-INF/MANIFEST.MF
@@ -2,17 +2,17 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP XMI Provider Test
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.model.provider.xmi.test;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emf.ecp.view.model.provider.xmi;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.model.provider.xmi.test;version="1.19.0";x-internal:=true
+Fragment-Host: org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emf.ecp.view.model.provider.xmi;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.model.provider.xmi.test;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="3.8.0",
-  org.junit;bundle-version="4.0.0",
-  org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.3.0,2.0.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="1.9.5",
-  org.eclipse.emf.ecp.makeithappen.model;bundle-version="[1.19.0,1.20.0)"
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+ org.junit;bundle-version="4.0.0",
+ org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.3.0,2.0.0)",
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="1.9.5",
+ org.eclipse.emf.ecp.makeithappen.model;bundle-version="[1.20.0,1.21.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.view.model.provider.xmi.test
diff --git a/tests/org.eclipse.emf.ecp.view.model.provider.xmi.test/pom.xml b/tests/org.eclipse.emf.ecp.view.model.provider.xmi.test/pom.xml
index 5925f69..727e3fc 100644
--- a/tests/org.eclipse.emf.ecp.view.model.provider.xmi.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.model.provider.xmi.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.view.model.provider.xmi.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.ecp.view.model.test/.project b/tests/org.eclipse.emf.ecp.view.model.test/.project
index 3829862..75e4400 100644
--- a/tests/org.eclipse.emf.ecp.view.model.test/.project
+++ b/tests/org.eclipse.emf.ecp.view.model.test/.project
@@ -20,9 +20,15 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
 	</natures>
 </projectDescription>
diff --git a/tests/org.eclipse.emf.ecp.view.model.test/AllTests ecp.view.model.launch b/tests/org.eclipse.emf.ecp.view.model.test/AllTests ecp.view.model.launch
index d35c78a..0333b02 100644
--- a/tests/org.eclipse.emf.ecp.view.model.test/AllTests ecp.view.model.launch
+++ b/tests/org.eclipse.emf.ecp.view.model.test/AllTests ecp.view.model.launch
@@ -1,15 +1,19 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.emf.ecp.view.model.test/src/org/eclipse/emf/ecp/view/model/test/AllTests.java"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
-<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
-<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.ecp.view.model.test.AllTests"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emf.ecp.view.model.test"/>
-</launchConfiguration>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.emf.ecp.view.model.test/src/org/eclipse/emf/ecp/view/model/test/AllTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<listAttribute key="org.eclipse.eclemma.core.SCOPE_IDS">
+<listEntry value="=org.eclipse.emf.ecp.view.model/src"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.ecp.view.model.test.AllTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emf.ecp.view.model.test"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.emf.ecp.view.model.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.model.test/META-INF/MANIFEST.MF
index 4a3bcd5..c7ef13e 100644
--- a/tests/org.eclipse.emf.ecp.view.model.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.model.test/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Model Test
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.model.test
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emf.ecp.view.model.test;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.spi.model;version="1.19.0"
+Fragment-Host: org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emf.ecp.view.model.test;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.spi.model;version="1.20.0"
 Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.3.0,2.0.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
-  org.objenesis;bundle-version="1.0.0"
+ org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.3.0,2.0.0)",
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
+ org.objenesis;bundle-version="1.0.0"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.model.test
-Import-Package: org.eclipse.emf.ecp.view.spi.group.model;version="[1.19.0,1.20.0)"
+Import-Package: org.eclipse.emf.ecp.view.spi.group.model;version="[1.20.0,1.21.0)"
diff --git a/tests/org.eclipse.emf.ecp.view.model.test/pom.xml b/tests/org.eclipse.emf.ecp.view.model.test/pom.xml
index 5c855d3..96cf633 100644
--- a/tests/org.eclipse.emf.ecp.view.model.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.model.test/pom.xml
@@ -6,7 +6,7 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
diff --git a/tests/org.eclipse.emf.ecp.view.model.test/src/org/eclipse/emf/ecp/view/model/test/AllTests.java b/tests/org.eclipse.emf.ecp.view.model.test/src/org/eclipse/emf/ecp/view/model/test/AllTests.java
index c26a7ca..2851bf5 100644
--- a/tests/org.eclipse.emf.ecp.view.model.test/src/org/eclipse/emf/ecp/view/model/test/AllTests.java
+++ b/tests/org.eclipse.emf.ecp.view.model.test/src/org/eclipse/emf/ecp/view/model/test/AllTests.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2017 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -8,7 +8,7 @@
  *
  * Contributors:
  * Eugen Neufeld - initial API and implementation
- * Christian W. Damus - bug 527826
+ * Christian W. Damus - bugs 527826, 543160
  ******************************************************************************/
 package org.eclipse.emf.ecp.view.model.test;
 
@@ -29,6 +29,7 @@
 	DiagnosticMessageExtractor_Test.class,
 	DefaultViewModelProperties_Test.class,
 	VElement_Test.class,
+	VDiagnostic_Test.class,
 })
 public class AllTests {
 	// JUnit 4 Test Suite
diff --git a/tests/org.eclipse.emf.ecp.view.model.test/src/org/eclipse/emf/ecp/view/model/test/DomainModelReference_Test.java b/tests/org.eclipse.emf.ecp.view.model.test/src/org/eclipse/emf/ecp/view/model/test/DomainModelReference_Test.java
index 8a6a648..e56b26b 100644
--- a/tests/org.eclipse.emf.ecp.view.model.test/src/org/eclipse/emf/ecp/view/model/test/DomainModelReference_Test.java
+++ b/tests/org.eclipse.emf.ecp.view.model.test/src/org/eclipse/emf/ecp/view/model/test/DomainModelReference_Test.java
@@ -1,3 +1,15 @@
+/*******************************************************************************
+ * Copyright (c) 2014-2019 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ * Christian W. Damus - bug 543160
+ ******************************************************************************/
 package org.eclipse.emf.ecp.view.model.test;
 
 import static org.junit.Assert.assertEquals;
diff --git a/tests/org.eclipse.emf.ecp.view.model.test/src/org/eclipse/emf/ecp/view/model/test/FeaturePathDMRValidation_Test.java b/tests/org.eclipse.emf.ecp.view.model.test/src/org/eclipse/emf/ecp/view/model/test/FeaturePathDMRValidation_Test.java
index 5f7f1f8..0593dbf 100644
--- a/tests/org.eclipse.emf.ecp.view.model.test/src/org/eclipse/emf/ecp/view/model/test/FeaturePathDMRValidation_Test.java
+++ b/tests/org.eclipse.emf.ecp.view.model.test/src/org/eclipse/emf/ecp/view/model/test/FeaturePathDMRValidation_Test.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -8,6 +8,7 @@
  *
  * Contributors:
  * jfaltermeier - initial API and implementation
+ * Christian W. Damus - Bug 543160
  ******************************************************************************/
 package org.eclipse.emf.ecp.view.model.test;
 
@@ -99,7 +100,8 @@
 	}
 
 	private DiagnosticInfo controlDMRWarning() {
-		return new DiagnosticInfo(Diagnostic.WARNING, control, VViewPackage.eINSTANCE.getControl_DomainModelReference());
+		return new DiagnosticInfo(Diagnostic.WARNING, control,
+			VViewPackage.eINSTANCE.getControl_DomainModelReference());
 	}
 
 	private DiagnosticInfo featurePathEFeature() {
@@ -273,7 +275,7 @@
 		private final EObject object;
 		private final EStructuralFeature feature;
 
-		public DiagnosticInfo(int severity, EObject object, EStructuralFeature feature) {
+		DiagnosticInfo(int severity, EObject object, EStructuralFeature feature) {
 			this.severity = severity;
 			this.object = object;
 			this.feature = feature;
diff --git a/tests/org.eclipse.emf.ecp.view.model.test/src/org/eclipse/emf/ecp/view/model/test/VDiagnostic_Test.java b/tests/org.eclipse.emf.ecp.view.model.test/src/org/eclipse/emf/ecp/view/model/test/VDiagnostic_Test.java
new file mode 100644
index 0000000..f217cb7
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.model.test/src/org/eclipse/emf/ecp/view/model/test/VDiagnostic_Test.java
@@ -0,0 +1,377 @@
+/*******************************************************************************
+ * Copyright (c) 2019 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.model.test;
+
+import static java.util.Collections.emptyList;
+import static org.hamcrest.CoreMatchers.both;
+import static org.hamcrest.CoreMatchers.hasItem;
+import static org.hamcrest.CoreMatchers.hasItems;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.not;
+import static org.hamcrest.MatcherAssert.assertThat;
+
+import java.time.LocalDate;
+import java.time.ZoneId;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Stream;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecp.view.spi.model.VDiagnostic;
+import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
+import org.eclipse.emf.ecp.view.spi.model.impl.VDiagnosticImpl;
+import org.eclipse.emf.emfstore.bowling.BowlingFactory;
+import org.eclipse.emf.emfstore.bowling.BowlingPackage;
+import org.eclipse.emf.emfstore.bowling.Gender;
+import org.eclipse.emf.emfstore.bowling.League;
+import org.eclipse.emf.emfstore.bowling.Player;
+import org.hamcrest.CoreMatchers;
+import org.hamcrest.Description;
+import org.hamcrest.FeatureMatcher;
+import org.hamcrest.Matcher;
+import org.hamcrest.TypeSafeMatcher;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Test cases for the custom code in the {@link VDiagnosticImpl} class.
+ */
+public class VDiagnostic_Test {
+
+	private static final EStructuralFeature NAME = BowlingPackage.Literals.PLAYER__NAME;
+	private static final EStructuralFeature DOB = BowlingPackage.Literals.PLAYER__DATE_OF_BIRTH;
+	private static final EStructuralFeature PLAYERS = BowlingPackage.Literals.LEAGUE__PLAYERS;
+
+	private final VDiagnostic fixture = VViewFactory.eINSTANCE.createDiagnostic();
+
+	private League league;
+	private Player alice;
+	private Player brenda;
+	private Player cathy;
+
+	/**
+	 * Test uniqueness of the diagnostic list.
+	 */
+	@Test
+	public void getDiagnostics() {
+		final List<Object> diagnostics = fixture.getDiagnostics();
+
+		assertThat(diagnostics.size(), is(0));
+		diagnostics.add(warning(alice, NAME, "first"));
+		diagnostics.add(ok(brenda, NAME, "brenda"));
+
+		assertThat(diagnostics.size(), is(2));
+
+		assertThat(diagnostics.add(warning(cathy, NAME, "second")), is(true));
+		assertThat(diagnostics.add(warning(cathy, NAME, "second")), is(false));
+
+		diagnostics.addAll(Arrays.asList(
+			warning(alice, NAME, "first"), // dupe
+			warning(alice, NAME, "second"), // new
+			ok(brenda, NAME, "brenda"), // dupe
+			error(brenda, NAME, "brenda"), // new
+			warning(cathy, DOB, "second") // new
+		));
+
+		assertThat(diagnostics.size(), is(6));
+
+		assertThat(diagnostics, hasItems(
+			warning(alice, NAME, "first"),
+			ok(brenda, NAME, "brenda"),
+			warning(cathy, NAME, "second"),
+			warning(alice, NAME, "second"),
+			error(brenda, NAME, "brenda"),
+			warning(cathy, DOB, "second")));
+	}
+
+	/**
+	 * Test severity query.
+	 *
+	 * @see VDiagnostic#getHighestSeverity()
+	 */
+	@Test
+	public void getHighestSeverity() {
+		final List<Object> diagnostics = fixture.getDiagnostics();
+
+		assertThat(fixture.getHighestSeverity(), is(Diagnostic.OK));
+
+		diagnostics.add(ok(brenda, NAME, "first"));
+		assertThat(fixture.getHighestSeverity(), is(Diagnostic.OK));
+
+		diagnostics.add(warning(alice, NAME, "first"));
+		assertThat(fixture.getHighestSeverity(), is(Diagnostic.WARNING));
+
+		diagnostics.add(error(cathy, NAME, "first"));
+		assertThat(fixture.getHighestSeverity(), is(Diagnostic.ERROR));
+
+		diagnostics.remove(2);
+		assertThat(fixture.getHighestSeverity(), is(Diagnostic.WARNING));
+	}
+
+	/**
+	 * Test message query.
+	 *
+	 * @see VDiagnostic#getMessage()
+	 */
+	@Test
+	public void getMessage() {
+		final List<Object> diagnostics = fixture.getDiagnostics();
+
+		assertThat(fixture.getMessage(), is(""));
+
+		diagnostics.add(ok(brenda, NAME, "first"));
+		assertThat(fixture.getMessage(), is(""));
+
+		diagnostics.add(warning(alice, NAME, "second"));
+		assertThat(fixture.getMessage(), is("second"));
+
+		diagnostics.add(error(cathy, NAME, "third"));
+		assertThat(fixture.getMessage(), is("third\nsecond")); // Severity order
+	}
+
+	/**
+	 * Test mappings of diagnostics {@linkplain VDiagnostic#getDiagnostics(EObject) by object}.
+	 *
+	 * @see VDiagnostic#getDiagnostics(EObject)
+	 */
+	@Test
+	public void getDiagnostics_EObject() {
+		final List<Object> diagnostics = fixture.getDiagnostics();
+
+		assertThat(fixture.getDiagnostics(alice), is(emptyList()));
+		assertThat(fixture.getDiagnostics(league), is(emptyList()));
+
+		// OKs are filtered out
+		diagnostics.add(ok(alice, NAME, "first"));
+		assertThat(fixture.getDiagnostics(alice), is(emptyList()));
+		assertThat(fixture.getDiagnostics(league), is(emptyList()));
+
+		diagnostics.add(warning(alice, DOB, "second"));
+		diagnostics.add(error(alice, NAME, "third"));
+		assertThat(fixture.getDiagnostics(alice), hasInOrder(
+			error(alice, NAME, "third"), warning(alice, DOB, "second")));
+		assertThat(fixture.getDiagnostics(league), hasInOrder(
+			error(alice, NAME, "third"), warning(alice, DOB, "second")));
+
+		diagnostics.add(warning(cathy, DOB, "third"));
+		assertThat(fixture.getDiagnostics(alice), hasInOrder(
+			error(alice, NAME, "third"), warning(alice, DOB, "second")));
+		assertThat(fixture.getDiagnostics(alice), not(hasItem(isAbout(cathy))));
+		assertThat(fixture.getDiagnostics(cathy), hasItem(warning(cathy, DOB, "third")));
+		assertThat(fixture.getDiagnostics(cathy), not(hasItem(isAbout(alice))));
+		assertThat(fixture.getDiagnostics(league), hasInOrder(
+			// Warnings are alphabetical by message
+			error(alice, NAME, "third"), warning(alice, DOB, "second"), warning(cathy, DOB, "third")));
+
+		diagnostics.add(error(league, PLAYERS, "too few"));
+		assertThat(fixture.getDiagnostics(league), hasItem(isAbout(league)));
+		assertThat(fixture.getDiagnostics(alice), not(hasItem(isAbout(league))));
+		assertThat(fixture.getDiagnostics(cathy), not(hasItem(isAbout(league))));
+
+		// Now remove the error(alice, NAME, "third")
+		diagnostics.remove(2);
+		assertThat(fixture.getDiagnostics(alice), not(hasItem(error(alice, NAME, "third"))));
+		assertThat(fixture.getDiagnostics(league), not(hasItem(error(alice, NAME, "third"))));
+
+		// And replace warning(alice, DOB, "second")
+		diagnostics.set(1, error(brenda, NAME, "new"));
+		assertThat(fixture.getDiagnostics(alice), not(hasItem(warning(alice, DOB, "second"))));
+		assertThat(fixture.getDiagnostics(league), both(hasItem(error(brenda, NAME, "new"))).and(
+			not(hasItem(warning(alice, DOB, "second")))));
+	}
+
+	/**
+	 * Test mappings of diagnostics {@linkplain VDiagnostic#getDiagnostics(EObject) by object and feature}.
+	 *
+	 * @see VDiagnostic#getDiagnostic(EObject, EStructuralFeature)
+	 */
+	@Test
+	public void getDiagnostic_EObject_EStructuralFeature() {
+		final List<Object> diagnostics = fixture.getDiagnostics();
+
+		assertThat(fixture.getDiagnostic(cathy, NAME), is(emptyList()));
+		assertThat(fixture.getDiagnostic(league, NAME), is(emptyList()));
+
+		// OKs are filtered out
+		diagnostics.add(ok(cathy, NAME, "first"));
+		assertThat(fixture.getDiagnostic(cathy, NAME), is(emptyList()));
+		assertThat(fixture.getDiagnostic(league, NAME), is(emptyList()));
+
+		diagnostics.add(warning(cathy, NAME, "second"));
+		diagnostics.add(error(cathy, DOB, "third"));
+		assertThat(fixture.getDiagnostic(cathy, NAME), hasItem(
+			warning(cathy, NAME, "second")));
+		assertThat(fixture.getDiagnostic(cathy, NAME), not(hasItem(hasFeature(DOB))));
+		assertThat(fixture.getDiagnostic(league, NAME), hasItem(
+			warning(cathy, NAME, "second")));
+		assertThat(fixture.getDiagnostic(league, NAME), not(hasItem(hasFeature(DOB))));
+
+		diagnostics.add(error(cathy, NAME, "third"));
+		assertThat(fixture.getDiagnostic(cathy, NAME), hasInOrder(
+			error(cathy, NAME, "third"), warning(cathy, NAME, "second")));
+	}
+
+	//
+	// Test framework
+	//
+
+	@Before
+	public void createModel() {
+		league = BowlingFactory.eINSTANCE.createLeague();
+		league.setName("Bantam A");
+
+		alice = player("Alice");
+		brenda = player("Brenda");
+		cathy = player("Cathy");
+	}
+
+	private Player player(String name) {
+		final Player result = BowlingFactory.eINSTANCE.createPlayer();
+		result.setName(name);
+		result.setGender(Gender.FEMALE);
+		result.setDateOfBirth(
+			java.util.Date.from(LocalDate.now().minusYears(23).atStartOfDay(ZoneId.systemDefault()).toInstant()));
+		league.getPlayers().add(result);
+		return result;
+	}
+
+	Diagnostic error(EObject subject, EStructuralFeature feature, String message) {
+		return problem(Diagnostic.ERROR, subject, feature, message);
+	}
+
+	Diagnostic warning(EObject subject, EStructuralFeature feature, String message) {
+		return problem(Diagnostic.WARNING, subject, feature, message);
+	}
+
+	Diagnostic ok(EObject subject, EStructuralFeature feature, String message) {
+		return problem(Diagnostic.OK, subject, feature, message);
+	}
+
+	Diagnostic problem(int severity, EObject subject, EStructuralFeature feature, String message) {
+		return new BasicDiagnostic(severity, "source", 0, message, new Object[] { subject, feature }) {
+			// Implement equals() and hashcode() for convenience of testing uniqueness constraints
+
+			@Override
+			public int hashCode() {
+				return Objects.hash(getSeverity(), getSource(), getMessage(), getData());
+			}
+
+			@Override
+			public boolean equals(Object obj) {
+				if (obj == null || obj.getClass() != getClass()) {
+					return false;
+				}
+				final Diagnostic other = (Diagnostic) obj;
+				return getSeverity() == other.getSeverity()
+					&& Objects.equals(getSource(), other.getSource())
+					&& Objects.equals(getMessage(), other.getMessage())
+					&& Objects.equals(getData(), other.getData());
+			}
+		};
+	}
+
+	static Matcher<Diagnostic> isAbout(Matcher<? super EObject> subjectMatcher) {
+		return new FeatureMatcher<Diagnostic, EObject>(subjectMatcher, "data[0] as EObject", "subject") {
+			@Override
+			protected EObject featureValueOf(Diagnostic actual) {
+				final List<?> data = actual.getData();
+				return data.isEmpty() || !(data.get(0) instanceof EObject)
+					? null
+					: (EObject) data.get(0);
+			}
+		};
+	}
+
+	static Matcher<Diagnostic> isAbout(EObject subject) {
+		return isAbout(is(subject));
+	}
+
+	static Matcher<Diagnostic> hasFeature(Matcher<? super EStructuralFeature> featureMatcher) {
+		return new FeatureMatcher<Diagnostic, EStructuralFeature>(featureMatcher, "data[1] as EStructuralFeature",
+			"feature") {
+			@Override
+			protected EStructuralFeature featureValueOf(Diagnostic actual) {
+				final List<?> data = actual.getData();
+				return data.size() < 2 || !(data.get(1) instanceof EStructuralFeature)
+					? null
+					: (EStructuralFeature) data.get(1);
+			}
+		};
+	}
+
+	static Matcher<Diagnostic> hasFeature(EStructuralFeature feature) {
+		return hasFeature(is(feature));
+	}
+
+	@SafeVarargs
+	static <T> Matcher<Iterable<T>> hasInOrder(Matcher<? super T>... matchers) {
+		return new InOrderMatcher<>(matchers);
+	}
+
+	private static final class InOrderMatcher<T> extends TypeSafeMatcher<Iterable<T>> {
+		private final List<Matcher<? super T>> matchers;
+
+		@SafeVarargs
+		InOrderMatcher(Matcher<? super T>... matchers) {
+			super();
+
+			this.matchers = Arrays.asList(matchers);
+		}
+
+		@Override
+		public void describeTo(Description description) {
+			description.appendText("matches in order ");
+			matchers.forEach(description::appendDescriptionOf);
+		}
+
+		@Override
+		protected boolean matchesSafely(Iterable<T> item) {
+			boolean result = true;
+			final Iterator<T> iter = item.iterator();
+			final Iterator<Matcher<? super T>> mIter = matchers.iterator();
+			Matcher<? super T> m = null;
+
+			while (iter.hasNext()) {
+				if (m == null) {
+					if (!mIter.hasNext()) {
+						break; // All matched
+					}
+					m = mIter.next();
+				}
+
+				final T next = iter.next();
+				if (m.matches(next)) {
+					// Match the next
+					m = null;
+				}
+			}
+
+			if (mIter.hasNext()) {
+				// Not all matched
+				result = false;
+			}
+
+			return result;
+		}
+	}
+
+	@SuppressWarnings("unchecked")
+	static <T> Matcher<Iterable<T>> hasInOrder(T... items) {
+		return hasInOrder(Stream.of(items).map(CoreMatchers::is).toArray(Matcher[]::new));
+	}
+
+}
diff --git a/tests/org.eclipse.emf.ecp.view.rule.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.rule.test/META-INF/MANIFEST.MF
index 608551a..7afe06e 100644
--- a/tests/org.eclipse.emf.ecp.view.rule.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.rule.test/META-INF/MANIFEST.MF
@@ -2,32 +2,32 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: View Model Rule Test
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.rule.test
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.rule.test;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.rule.test;version="1.20.0"
 Require-Bundle: org.junit;bundle-version="[4.0.0,5.0.0)",
-  org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emf.ecp.ui.view.test;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.rule;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.rule.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.test.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.test.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.test.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.indexdmr.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.legacy;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.mappingprovider.default;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.domainexpander.default;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.structuralchange;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.structuralchange.default;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.common.validation;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.validation;bundle-version="[1.19.0,1.20.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="1.9.5"
+ org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emf.ecp.ui.view.test;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.rule;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.rule.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.test.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.test.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.indexdmr.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.legacy;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.mappingprovider.default;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.domainexpander.default;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.structuralchange;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.structuralchange.default;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.common.validation;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.validation;bundle-version="[1.20.0,1.21.0)",
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="1.9.5"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.rule.test
-Import-Package: org.eclipse.emf.ecp.view.spi.validation;version="[1.19.0,1.20.0)"
+Import-Package: org.eclipse.emf.ecp.view.spi.validation;version="[1.20.0,1.21.0)"
diff --git a/tests/org.eclipse.emf.ecp.view.rule.test/pom.xml b/tests/org.eclipse.emf.ecp.view.rule.test/pom.xml
index 1b527e8..1934758 100644
--- a/tests/org.eclipse.emf.ecp.view.rule.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.rule.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.view.rule.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.ecp.view.rule.ui.swt.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.rule.ui.swt.test/META-INF/MANIFEST.MF
index de3d674..977757a 100644
--- a/tests/org.eclipse.emf.ecp.view.rule.ui.swt.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.rule.ui.swt.test/META-INF/MANIFEST.MF
@@ -2,18 +2,18 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: View Model Rule Test
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.rule.ui.swt.test
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.view.rule;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emf.ecp.view.rule.ui.swt.test;version="1.19.0";x-internal:=true
+Fragment-Host: org.eclipse.emf.ecp.view.rule;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emf.ecp.view.rule.ui.swt.test;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="4.11.0",
-  org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emf.ecp.ui.view.test;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.swt;bundle-version="[3.1.0,4.0.0)",
-  org.eclipse.emf.ecp.view.rule.test;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.rule.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.legacy;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emf.ecp.ui.view.test;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.swt;bundle-version="[3.1.0,4.0.0)",
+ org.eclipse.emf.ecp.view.rule.test;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.rule.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.legacy;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.rule.ui.swt.test
diff --git a/tests/org.eclipse.emf.ecp.view.rule.ui.swt.test/pom.xml b/tests/org.eclipse.emf.ecp.view.rule.ui.swt.test/pom.xml
index b3731a4..5734e15 100644
--- a/tests/org.eclipse.emf.ecp.view.rule.ui.swt.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.rule.ui.swt.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.view.rule.ui.swt.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.ecp.view.section.ui.swt.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.section.ui.swt.test/META-INF/MANIFEST.MF
index 91241ca..f76618d 100644
--- a/tests/org.eclipse.emf.ecp.view.section.ui.swt.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.section.ui.swt.test/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Tests for Section SWT Renderers
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.section.ui.swt.test
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.view.section.ui.swt;bundle-version="[1.19.0,1.20.0)"
-Automatic-Module-Name: org.eclipse.emf.ecp.view.section.ui.swt.test
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Fragment-Host: org.eclipse.emf.ecp.view.section.ui.swt;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emf.ecp.view.spi.section.swt;version="1.20.0"
 Require-Bundle: org.junit;bundle-version="[4.0.0,5.0.0)",
  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.0,2.0.0)",
  org.objenesis;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.emf.ecp.test.common;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emf.ecp.view.spi.section.swt;version="1.19.0"
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.20.0,1.21.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Automatic-Module-Name: org.eclipse.emf.ecp.view.section.ui.swt.test
diff --git a/tests/org.eclipse.emf.ecp.view.section.ui.swt.test/pom.xml b/tests/org.eclipse.emf.ecp.view.section.ui.swt.test/pom.xml
index 9acc8b8..70d739d 100644
--- a/tests/org.eclipse.emf.ecp.view.section.ui.swt.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.section.ui.swt.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.view.section.ui.swt.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.ecp.view.stack.ui.swt.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.stack.ui.swt.test/META-INF/MANIFEST.MF
index c0c5b1b..d65a8c0 100644
--- a/tests/org.eclipse.emf.ecp.view.stack.ui.swt.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.stack.ui.swt.test/META-INF/MANIFEST.MF
@@ -2,17 +2,17 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Forms Stack Model SWT Tests
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.stack.ui.swt.test
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.view.stack.ui.swt;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emf.ecp.view.stack.ui.swt.test;version="1.19.0";x-internal:=true
+Fragment-Host: org.eclipse.emf.ecp.view.stack.ui.swt;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emf.ecp.view.stack.ui.swt.test;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.3.0,2.0.0)",
-  org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.test.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.legacy;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.domainexpander.default;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.structuralchange;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.structuralchange.default;bundle-version="[1.19.0,1.20.0)"
+ org.junit;bundle-version="[4.11.0,5.0.0)",
+ org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.legacy;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.domainexpander.default;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.structuralchange;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.structuralchange.default;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.stack.ui.swt.test
diff --git a/tests/org.eclipse.emf.ecp.view.stack.ui.swt.test/pom.xml b/tests/org.eclipse.emf.ecp.view.stack.ui.swt.test/pom.xml
index a22c81f..aa98d97 100644
--- a/tests/org.eclipse.emf.ecp.view.stack.ui.swt.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.stack.ui.swt.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.view.stack.ui.swt.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.ecp.view.table.model.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.table.model.test/META-INF/MANIFEST.MF
index 7eab96f..e187b24 100644
--- a/tests/org.eclipse.emf.ecp.view.table.model.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.table.model.test/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Table Model Test
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.table.model.test
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.view.table.model;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emf.ecp.view.spi.table.model.util;version="1.19.0",
-  org.eclipse.emf.ecp.view.table.model.test;version="1.19.0";x-internal:=true
+Fragment-Host: org.eclipse.emf.ecp.view.table.model;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emf.ecp.view.spi.table.model.util;version="1.20.0",
+ org.eclipse.emf.ecp.view.table.model.test;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
  org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.4.0,2.0.0)",
  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
diff --git a/tests/org.eclipse.emf.ecp.view.table.model.test/pom.xml b/tests/org.eclipse.emf.ecp.view.table.model.test/pom.xml
index 8b8db79..3ccaf00 100644
--- a/tests/org.eclipse.emf.ecp.view.table.model.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.table.model.test/pom.xml
@@ -6,11 +6,11 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<artifactId>org.eclipse.emf.ecp.view.table.model.test</artifactId>
 	<packaging>eclipse-plugin</packaging>
 	<groupId>org.eclipse.emf.ecp</groupId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/tests/org.eclipse.emf.ecp.view.table.test.common/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.table.test.common/META-INF/MANIFEST.MF
index 4da0339..4672009 100644
--- a/tests/org.eclipse.emf.ecp.view.table.test.common/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.table.test.common/META-INF/MANIFEST.MF
@@ -2,10 +2,10 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Common Utils for Table Tests
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.table.test.common
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.table.test.common;version="1.19.0"
-Require-Bundle: org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.table.model;bundle-version="[1.19.0,1.20.0)"
+Export-Package: org.eclipse.emf.ecp.view.table.test.common;version="1.20.0"
+Require-Bundle: org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.table.model;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.table.test.common
diff --git a/tests/org.eclipse.emf.ecp.view.table.test.common/pom.xml b/tests/org.eclipse.emf.ecp.view.table.test.common/pom.xml
index 1b912d0..ecd826f 100644
--- a/tests/org.eclipse.emf.ecp.view.table.test.common/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.table.test.common/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-tests-parent</artifactId>
-    <version>1.19.0-SNAPSHOT</version>
+    <version>1.20.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.table.test.common</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/tests/org.eclipse.emf.ecp.view.table.ui.nebula.grid.test/GridControlRenderer_PTest.launch b/tests/org.eclipse.emf.ecp.view.table.ui.nebula.grid.test/GridControlRenderer_PTest.launch
index 50b4d52..1e1a29c 100644
--- a/tests/org.eclipse.emf.ecp.view.table.ui.nebula.grid.test/GridControlRenderer_PTest.launch
+++ b/tests/org.eclipse.emf.ecp.view.table.ui.nebula.grid.test/GridControlRenderer_PTest.launch
@@ -33,8 +33,8 @@
 <stringAttribute key="pde.version" value="3.3"/>
 <stringAttribute key="product" value="org.eclipse.platform.ide"/>
 <booleanAttribute key="run_in_ui_thread" value="true"/>
-<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,com.jcraft.jsch@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet@default:default,org.apache.ant@default:default,org.apache.batik.css*1.8.0.v20170214-1941@default:default,org.apache.batik.util*1.8.0.v20170214-1941@default:default,org.apache.commons.codec@default:default,org.apache.commons.jxpath@default:default,org.apache.commons.logging@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.scr@default:default,org.apache.log4j@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding*1.6.100.v20170515-1119@default:default,org.eclipse.core.databinding.beans*1.3.0.v20150422-0725@default:default,org.eclipse.core.databinding.observable*1.6.100.v20170515-1119@default:default,org.eclipse.core.databinding.property*1.6.100.v20170515-1119@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.linux.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources@default:default,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.annotations@default:default,org.eclipse.e4.core.di.extensions.supplier@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.emf.xpath@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.swt.gtk@default:false,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.bidi@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.security.linux.x86_64@default:false,org.eclipse.equinox.security@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface.text@default:default,org.eclipse.jface@default:default,org.eclipse.nebula.widgets.grid@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.gtk.linux.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.swtbot.ant.junit@default:false,org.eclipse.team.core@default:default,org.eclipse.text@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.ide@default:default,org.eclipse.ui.trace@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.eclipse.xtext.logging@default:false,org.hamcrest.core@default:default,org.hamcrest.library@default:default,org.junit@default:default,org.mockito.mockito-core-hamcrest-modified@default:default,org.objenesis@default:default,org.tukaani.xz@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil*1.0.1.v200903091627@default:default,org.w3c.dom.svg@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.makeithappen.model@default:default,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.indexdmr.model@default:default,org.eclipse.emf.ecp.view.keyattributedmr.model@default:default,org.eclipse.emf.ecp.view.label.model@default:default,org.eclipse.emf.ecp.view.mappingdmr.model@default:default,org.eclipse.emf.ecp.view.migrator@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.swt.layout@default:default,org.eclipse.emf.ecp.view.table.columnservice@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.table.ui.nebula.grid@default:default,org.eclipse.emf.ecp.view.table.ui.swt@default:default,org.eclipse.emf.ecp.view.template.annotation.model@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.template.service@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.rap.edit.ui.minimal@default:default,org.eclipse.emfforms.common.prevalidation@default:default,org.eclipse.emfforms.common.validation@default:default,org.eclipse.emfforms.common@default:default,org.eclipse.emfforms.core.bazaar@default:default,org.eclipse.emfforms.core.services.databinding.featurepath@default:default,org.eclipse.emfforms.core.services.databinding.index@default:default,org.eclipse.emfforms.core.services.databinding.keyattribute@default:default,org.eclipse.emfforms.core.services.databinding.mapping@default:default,org.eclipse.emfforms.core.services.domainexpander.default@default:default,org.eclipse.emfforms.core.services.domainexpander.index@default:default,org.eclipse.emfforms.core.services.domainexpander.keyattribute@default:default,org.eclipse.emfforms.core.services.domainexpander.mapping@default:default,org.eclipse.emfforms.core.services.domainexpander.table@default:default,org.eclipse.emfforms.core.services.editsupport@default:default,org.eclipse.emfforms.core.services.emf@default:default,org.eclipse.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emfforms.core.services.legacy@default:default,org.eclipse.emfforms.core.services.locale.default@default:default,org.eclipse.emfforms.core.services.mappingprovider.default@default:default,org.eclipse.emfforms.core.services.mappingprovider.table@default:default,org.eclipse.emfforms.core.services.structuralchange.default@default:default,org.eclipse.emfforms.core.services.structuralchange.index@default:default,org.eclipse.emfforms.core.services.structuralchange.keyattribute@default:default,org.eclipse.emfforms.core.services.structuralchange.mapping@default:default,org.eclipse.emfforms.core.services.structuralchange.table@default:default,org.eclipse.emfforms.core.services.structuralchange@default:default,org.eclipse.emfforms.core.services@default:default,org.eclipse.emfforms.localization@default:default,org.eclipse.emfforms.swt.core.di.extension@default:default,org.eclipse.emfforms.swt.core.di@default:default,org.eclipse.emfforms.swt.core@default:default,org.eclipse.emfforms.swt.table@default:default,org.eclipse.emfforms.view.annotation.model@default:default,org.eclipse.emfforms.view.controlgrid.model@default:default,org.eclipse.emfforms.view.model.localization@default:default"/>
+<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,com.jcraft.jsch@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet@default:default,org.apache.ant@default:default,org.apache.batik.constants@default:default,org.apache.batik.css*1.10.0.v20180703-1553@default:default,org.apache.batik.i18n@default:default,org.apache.batik.util*1.10.0.v20180703-1553@default:default,org.apache.commons.codec@default:default,org.apache.commons.jxpath@default:default,org.apache.commons.logging*1.1.1.v201101211721@default:default,org.apache.commons.logging*1.2.0.v20180409-1502@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.scr@1:true,org.apache.log4j@default:default,org.apache.xmlgraphics@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding*1.7.100.v20181030-1443@default:default,org.eclipse.core.databinding.beans*1.4.300.v20181030-1443@default:default,org.eclipse.core.databinding.observable*1.6.300.v20180827-2028@default:default,org.eclipse.core.databinding.property*1.6.300.v20180827-2028@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.linux.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources@default:default,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.annotations@default:default,org.eclipse.e4.core.di.extensions.supplier@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.emf.xpath@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.swt.gtk@default:false,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.bidi@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.security.linux.x86_64@default:false,org.eclipse.equinox.security@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface.text@default:default,org.eclipse.jface@default:default,org.eclipse.nebula.widgets.grid@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.gtk.linux.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.swtbot.ant.junit@default:false,org.eclipse.team.core@default:default,org.eclipse.text@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.ide@default:default,org.eclipse.ui.trace@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.eclipse.xtext.logging@default:false,org.hamcrest.core*1.3.0.v201303031735@default:default,org.hamcrest.core*1.3.0.v20180420-1519@default:default,org.hamcrest.library@default:default,org.junit@default:default,org.mockito.mockito-core-hamcrest-modified@default:default,org.objenesis@default:default,org.tukaani.xz@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil*1.0.1.v200903091627@default:default,org.w3c.dom.svg@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.makeithappen.model@default:default,org.eclipse.emf.ecp.test.common@default:default,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.indexdmr.model@default:default,org.eclipse.emf.ecp.view.keyattributedmr.model@default:default,org.eclipse.emf.ecp.view.label.model@default:default,org.eclipse.emf.ecp.view.mappingdmr.model@default:default,org.eclipse.emf.ecp.view.migrator@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.swt.layout@default:default,org.eclipse.emf.ecp.view.table.columnservice@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.table.test.common@default:default,org.eclipse.emf.ecp.view.table.ui.nebula.grid.test@default:false,org.eclipse.emf.ecp.view.table.ui.nebula.grid@default:default,org.eclipse.emf.ecp.view.table.ui.swt@default:default,org.eclipse.emf.ecp.view.template.annotation.model@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.template.service@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.test.common@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.rap.edit.ui.minimal@default:default,org.eclipse.emfforms.common.prevalidation@default:default,org.eclipse.emfforms.common.validation@default:default,org.eclipse.emfforms.common@default:default,org.eclipse.emfforms.core.bazaar@default:default,org.eclipse.emfforms.core.services.databinding.featurepath@default:default,org.eclipse.emfforms.core.services.databinding.index@default:default,org.eclipse.emfforms.core.services.databinding.keyattribute@default:default,org.eclipse.emfforms.core.services.databinding.mapping@default:default,org.eclipse.emfforms.core.services.domainexpander.default@default:default,org.eclipse.emfforms.core.services.domainexpander.index@default:default,org.eclipse.emfforms.core.services.domainexpander.keyattribute@default:default,org.eclipse.emfforms.core.services.domainexpander.mapping@default:default,org.eclipse.emfforms.core.services.domainexpander.table@default:default,org.eclipse.emfforms.core.services.editsupport@default:default,org.eclipse.emfforms.core.services.emf@default:default,org.eclipse.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emfforms.core.services.legacy@default:default,org.eclipse.emfforms.core.services.locale.default@default:default,org.eclipse.emfforms.core.services.mappingprovider.default@default:default,org.eclipse.emfforms.core.services.mappingprovider.table@default:default,org.eclipse.emfforms.core.services.segments.featurepath@default:default,org.eclipse.emfforms.core.services.segments.index@default:default,org.eclipse.emfforms.core.services.segments.mapping@default:default,org.eclipse.emfforms.core.services.segments@default:default,org.eclipse.emfforms.core.services.structuralchange.default@default:default,org.eclipse.emfforms.core.services.structuralchange.index@default:default,org.eclipse.emfforms.core.services.structuralchange.keyattribute@default:default,org.eclipse.emfforms.core.services.structuralchange.mapping@default:default,org.eclipse.emfforms.core.services.structuralchange.table@default:default,org.eclipse.emfforms.core.services.structuralchange@default:default,org.eclipse.emfforms.core.services@default:default,org.eclipse.emfforms.localization@default:default,org.eclipse.emfforms.swt.common.test@default:default,org.eclipse.emfforms.swt.core.di.extension@default:default,org.eclipse.emfforms.swt.core.di@default:default,org.eclipse.emfforms.swt.core@default:default,org.eclipse.emfforms.swt.table@default:default,org.eclipse.emfforms.view.annotation.model@default:default,org.eclipse.emfforms.view.controlgrid.model@default:default,org.eclipse.emfforms.view.indexsegment.model@default:default,org.eclipse.emfforms.view.mappingsegment.model@default:default,org.eclipse.emfforms.view.model.localization@default:default,org.eclipse.emfforms.view.multisegment.model@default:default"/>
 <booleanAttribute key="show_selected_only" value="false"/>
 <booleanAttribute key="tracing" value="false"/>
 <booleanAttribute key="useCustomFeatures" value="false"/>
diff --git a/tests/org.eclipse.emf.ecp.view.table.ui.nebula.grid.test/GridTable_PTest.launch b/tests/org.eclipse.emf.ecp.view.table.ui.nebula.grid.test/GridTable_PTest.launch
index 0dd544d..60f5df1 100644
--- a/tests/org.eclipse.emf.ecp.view.table.ui.nebula.grid.test/GridTable_PTest.launch
+++ b/tests/org.eclipse.emf.ecp.view.table.ui.nebula.grid.test/GridTable_PTest.launch
@@ -33,8 +33,8 @@
 <stringAttribute key="pde.version" value="3.3"/>
 <stringAttribute key="product" value="org.eclipse.platform.ide"/>
 <booleanAttribute key="run_in_ui_thread" value="true"/>
-<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,com.jcraft.jsch@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet@default:default,org.apache.ant@default:default,org.apache.batik.css*1.8.0.v20170214-1941@default:default,org.apache.batik.util*1.8.0.v20170214-1941@default:default,org.apache.commons.codec@default:default,org.apache.commons.jxpath@default:default,org.apache.commons.logging@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.scr@default:default,org.apache.log4j@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding*1.6.100.v20170515-1119@default:default,org.eclipse.core.databinding.beans*1.3.0.v20150422-0725@default:default,org.eclipse.core.databinding.observable*1.6.100.v20170515-1119@default:default,org.eclipse.core.databinding.property*1.6.100.v20170515-1119@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.linux.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources@default:default,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.annotations@default:default,org.eclipse.e4.core.di.extensions.supplier@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.emf.xpath@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.swt.gtk@default:false,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.bidi@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.security.linux.x86_64@default:false,org.eclipse.equinox.security@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface.text@default:default,org.eclipse.jface@default:default,org.eclipse.nebula.widgets.grid@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.gtk.linux.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.swtbot.ant.junit@default:false,org.eclipse.team.core@default:default,org.eclipse.text@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.ide@default:default,org.eclipse.ui.trace@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.eclipse.xtext.logging@default:false,org.hamcrest.core@default:default,org.hamcrest.library@default:default,org.junit@default:default,org.mockito.mockito-core-hamcrest-modified@default:default,org.objenesis@default:default,org.tukaani.xz@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil*1.0.1.v200903091627@default:default,org.w3c.dom.svg@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.makeithappen.model@default:default,org.eclipse.emf.ecp.test.common@default:default,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.indexdmr.model@default:default,org.eclipse.emf.ecp.view.keyattributedmr.model@default:default,org.eclipse.emf.ecp.view.label.model@default:default,org.eclipse.emf.ecp.view.mappingdmr.model@default:default,org.eclipse.emf.ecp.view.migrator@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.swt.layout@default:default,org.eclipse.emf.ecp.view.table.columnservice@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.table.test.common@default:default,org.eclipse.emf.ecp.view.table.ui.nebula.grid.test@default:false,org.eclipse.emf.ecp.view.table.ui.nebula.grid@default:default,org.eclipse.emf.ecp.view.table.ui.swt.test@default:false,org.eclipse.emf.ecp.view.table.ui.swt@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.template.service@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emfforms.common.prevalidation@default:default,org.eclipse.emfforms.common.validation@default:default,org.eclipse.emfforms.common@default:default,org.eclipse.emfforms.core.bazaar@default:default,org.eclipse.emfforms.core.services.databinding.featurepath@default:default,org.eclipse.emfforms.core.services.databinding.index@default:default,org.eclipse.emfforms.core.services.databinding.keyattribute@default:default,org.eclipse.emfforms.core.services.databinding.mapping@default:default,org.eclipse.emfforms.core.services.domainexpander.default@default:default,org.eclipse.emfforms.core.services.domainexpander.index@default:default,org.eclipse.emfforms.core.services.domainexpander.keyattribute@default:default,org.eclipse.emfforms.core.services.domainexpander.mapping@default:default,org.eclipse.emfforms.core.services.domainexpander.table@default:default,org.eclipse.emfforms.core.services.editsupport@default:default,org.eclipse.emfforms.core.services.emf@default:default,org.eclipse.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emfforms.core.services.legacy@default:default,org.eclipse.emfforms.core.services.locale.default@default:default,org.eclipse.emfforms.core.services.mappingprovider.default@default:default,org.eclipse.emfforms.core.services.mappingprovider.table@default:default,org.eclipse.emfforms.core.services.structuralchange.default@default:default,org.eclipse.emfforms.core.services.structuralchange.index@default:default,org.eclipse.emfforms.core.services.structuralchange.keyattribute@default:default,org.eclipse.emfforms.core.services.structuralchange.mapping@default:default,org.eclipse.emfforms.core.services.structuralchange.table@default:default,org.eclipse.emfforms.core.services.structuralchange@default:default,org.eclipse.emfforms.core.services@default:default,org.eclipse.emfforms.localization@default:default,org.eclipse.emfforms.swt.common.test@default:default,org.eclipse.emfforms.swt.core.di.extension@default:default,org.eclipse.emfforms.swt.core.di@default:default,org.eclipse.emfforms.swt.core@default:default,org.eclipse.emfforms.swt.table@default:default,org.eclipse.emfforms.view.model.localization@default:default"/>
+<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,com.jcraft.jsch@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet@default:default,org.apache.ant@default:default,org.apache.batik.constants@default:default,org.apache.batik.css*1.10.0.v20180703-1553@default:default,org.apache.batik.i18n@default:default,org.apache.batik.util*1.10.0.v20180703-1553@default:default,org.apache.commons.codec@default:default,org.apache.commons.io@default:default,org.apache.commons.jxpath@default:default,org.apache.commons.logging*1.1.1.v201101211721@default:default,org.apache.commons.logging*1.2.0.v20180409-1502@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.scr@1:true,org.apache.log4j@default:default,org.apache.xmlgraphics@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding*1.7.100.v20181030-1443@default:default,org.eclipse.core.databinding.beans*1.3.0.v20150422-0725@default:default,org.eclipse.core.databinding.observable*1.6.300.v20180827-2028@default:default,org.eclipse.core.databinding.property*1.6.300.v20180827-2028@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.linux.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources@default:default,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.annotations@default:default,org.eclipse.e4.core.di.extensions.supplier@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.emf.xpath@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.swt.gtk@default:false,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.bidi@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.security.linux.x86_64@default:false,org.eclipse.equinox.security@default:default,org.eclipse.equinox.supplement@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface.text@default:default,org.eclipse.jface@default:default,org.eclipse.nebula.widgets.grid@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.gtk.linux.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.swtbot.ant.junit@default:false,org.eclipse.team.core@default:default,org.eclipse.text@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.ide@default:default,org.eclipse.ui.trace@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.eclipse.xtext.logging@default:false,org.hamcrest.core*1.3.0.v201303031735@default:default,org.hamcrest.core*1.3.0.v20180420-1519@default:default,org.hamcrest.library@default:default,org.junit@default:default,org.mockito.mockito-core-hamcrest-modified@default:default,org.objenesis@default:default,org.tukaani.xz@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil*1.0.1.v200903091627@default:default,org.w3c.dom.svg@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.makeithappen.model@default:default,org.eclipse.emf.ecp.test.common@default:default,org.eclipse.emf.ecp.ui.view.swt.di@default:default,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.validation@default:default,org.eclipse.emf.ecp.view.categorization.model.edit@default:default,org.eclipse.emf.ecp.view.categorization.model@default:default,org.eclipse.emf.ecp.view.categorization.swt@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.control.multireference@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.group.ui.swt@default:default,org.eclipse.emf.ecp.view.horizontal.model@default:default,org.eclipse.emf.ecp.view.horizontal.ui.swt@default:default,org.eclipse.emf.ecp.view.indexdmr.model@default:default,org.eclipse.emf.ecp.view.keyattributedmr.model@default:default,org.eclipse.emf.ecp.view.label.model@default:default,org.eclipse.emf.ecp.view.mappingdmr.model@default:default,org.eclipse.emf.ecp.view.migrator@default:default,org.eclipse.emf.ecp.view.model.common.di@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.rule.model@default:default,org.eclipse.emf.ecp.view.swt.layout@default:default,org.eclipse.emf.ecp.view.table.columnservice@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.table.test.common@default:default,org.eclipse.emf.ecp.view.table.ui.nebula.grid.test@default:false,org.eclipse.emf.ecp.view.table.ui.nebula.grid@default:default,org.eclipse.emf.ecp.view.table.ui.swt@default:default,org.eclipse.emf.ecp.view.table.validation@default:default,org.eclipse.emf.ecp.view.template.annotation.model@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.template.service@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.test.common@default:default,org.eclipse.emf.ecp.view.treemasterdetail.model@default:default,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt@default:default,org.eclipse.emf.ecp.view.treemasterdetail.validation@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.ecp.view.vertical.ui.swt@default:default,org.eclipse.emf.rap.edit.ui.minimal@default:default,org.eclipse.emfforms.common.prevalidation@default:default,org.eclipse.emfforms.common.validation@default:default,org.eclipse.emfforms.common@default:default,org.eclipse.emfforms.core.bazaar@default:default,org.eclipse.emfforms.core.services.databinding.featurepath@default:default,org.eclipse.emfforms.core.services.databinding.index@default:default,org.eclipse.emfforms.core.services.databinding.keyattribute@default:default,org.eclipse.emfforms.core.services.databinding.mapping@default:default,org.eclipse.emfforms.core.services.domainexpander.default@default:default,org.eclipse.emfforms.core.services.domainexpander.index@default:default,org.eclipse.emfforms.core.services.domainexpander.keyattribute@default:default,org.eclipse.emfforms.core.services.domainexpander.mapping@default:default,org.eclipse.emfforms.core.services.domainexpander.table@default:default,org.eclipse.emfforms.core.services.editsupport@default:default,org.eclipse.emfforms.core.services.emf@default:default,org.eclipse.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emfforms.core.services.legacy@default:default,org.eclipse.emfforms.core.services.locale.default@default:default,org.eclipse.emfforms.core.services.mappingprovider.default@default:default,org.eclipse.emfforms.core.services.mappingprovider.table.panel@default:default,org.eclipse.emfforms.core.services.mappingprovider.table@default:default,org.eclipse.emfforms.core.services.segments.index@default:default,org.eclipse.emfforms.core.services.segments.mapping@default:default,org.eclipse.emfforms.core.services.segments@default:default,org.eclipse.emfforms.core.services.structuralchange.default@default:default,org.eclipse.emfforms.core.services.structuralchange.index@default:default,org.eclipse.emfforms.core.services.structuralchange.keyattribute@default:default,org.eclipse.emfforms.core.services.structuralchange.mapping@default:default,org.eclipse.emfforms.core.services.structuralchange.table@default:default,org.eclipse.emfforms.core.services.structuralchange@default:default,org.eclipse.emfforms.core.services@default:default,org.eclipse.emfforms.editor.ecore@default:default,org.eclipse.emfforms.editor@default:default,org.eclipse.emfforms.localization@default:default,org.eclipse.emfforms.setup.base@default:default,org.eclipse.emfforms.swt.common.test@default:default,org.eclipse.emfforms.swt.control.multiattribute@default:default,org.eclipse.emfforms.swt.core.di.extension@default:default,org.eclipse.emfforms.swt.core.di.tests@default:default,org.eclipse.emfforms.swt.core.di@default:default,org.eclipse.emfforms.swt.core.plugin@default:default,org.eclipse.emfforms.swt.core@default:default,org.eclipse.emfforms.swt.table@default:default,org.eclipse.emfforms.swt.treemasterdetail.decorator.validation.default@default:default,org.eclipse.emfforms.swt.treemasterdetail@default:default,org.eclipse.emfforms.view.annotation.model@default:default,org.eclipse.emfforms.view.indexsegment.model@default:default,org.eclipse.emfforms.view.mappingsegment.model@default:default,org.eclipse.emfforms.view.model.localization@default:default,org.eclipse.emfforms.view.multisegment.model@default:default"/>
 <booleanAttribute key="show_selected_only" value="false"/>
 <booleanAttribute key="tracing" value="false"/>
 <booleanAttribute key="useCustomFeatures" value="false"/>
diff --git a/tests/org.eclipse.emf.ecp.view.table.ui.nebula.grid.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.table.ui.nebula.grid.test/META-INF/MANIFEST.MF
index 495d9ce..fe78c24 100644
--- a/tests/org.eclipse.emf.ecp.view.table.ui.nebula.grid.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.table.ui.nebula.grid.test/META-INF/MANIFEST.MF
@@ -2,35 +2,36 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.table.ui.nebula.grid.test;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
-Fragment-Host: org.eclipse.emf.ecp.view.table.ui.nebula.grid;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.view.table.ui.nebula.grid;bundle-version="[1.20.0,1.21.0)"
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.internal.table.nebula.grid;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.spi.table.nebula.grid;version="1.19.0",
-  org.eclipse.emf.ecp.view.table.ui.nebula.grid.test;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.table.ui.nebula.grid.test.model.audit;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.table.ui.nebula.grid.test.model.audit.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.table.ui.nebula.grid.test.model.audit.util;version="1.19.0";x-internal:=true
-Require-Bundle: org.junit;bundle-version="[4.0.0,5.0.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
-  org.eclipse.emf.ecp.test.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.common.test;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.emf;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.databinding.beans;bundle-version="1.3.0",
-  org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.localization;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.9.0,2.0.0)",
-  org.eclipse.emf.ecp.view.table.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.e4.core.contexts;bundle-version="[1.6.0,2.0.0)",
-  org.eclipse.nebula.widgets.grid;bundle-version="[1.0.0,2.0.0)",
-  org.eclipse.emfforms.swt.core.di.extension;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.table.test.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.runtime;bundle-version="[3.13.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.13.0,3.0.0)";visibility:=reexport,
-  org.objenesis;bundle-version="[1.0.0,2.0.0)"
+Export-Package: org.eclipse.emf.ecp.view.internal.table.nebula.grid;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.spi.table.nebula.grid;version="1.20.0",
+ org.eclipse.emf.ecp.view.table.ui.nebula.grid.test;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.table.ui.nebula.grid.test.model.audit;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.table.ui.nebula.grid.test.model.audit.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.table.ui.nebula.grid.test.model.audit.util;version="1.20.0";x-internal:=true
+Require-Bundle: org.hamcrest.library;bundle-version="[1.3.0,2.0.0)",
+ org.junit;bundle-version="[4.0.0,5.0.0)",
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.common.test;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.emf;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.databinding.beans;bundle-version="1.3.0",
+ org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.9.0,2.0.0)",
+ org.eclipse.emf.ecp.view.table.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.e4.core.contexts;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.nebula.widgets.grid;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.emfforms.swt.core.di.extension;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.table.test.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.runtime;bundle-version="[3.13.0,4.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.13.0,3.0.0)";visibility:=reexport,
+ org.objenesis;bundle-version="[1.0.0,2.0.0)"
 Automatic-Module-Name: org.eclipse.emf.ecp.view.table.ui.nebula.grid.test
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/tests/org.eclipse.emf.ecp.view.table.ui.nebula.grid.test/pom.xml b/tests/org.eclipse.emf.ecp.view.table.ui.nebula.grid.test/pom.xml
index 42b0c8a..51dfc89 100644
--- a/tests/org.eclipse.emf.ecp.view.table.ui.nebula.grid.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.table.ui.nebula.grid.test/pom.xml
@@ -6,7 +6,7 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
diff --git a/tests/org.eclipse.emf.ecp.view.table.ui.nebula.grid.test/src/org/eclipse/emf/ecp/view/internal/table/nebula/grid/GridControlRenderer_PTest.java b/tests/org.eclipse.emf.ecp.view.table.ui.nebula.grid.test/src/org/eclipse/emf/ecp/view/internal/table/nebula/grid/GridControlRenderer_PTest.java
index d064255..7fd775e 100644
--- a/tests/org.eclipse.emf.ecp.view.table.ui.nebula.grid.test/src/org/eclipse/emf/ecp/view/internal/table/nebula/grid/GridControlRenderer_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.table.ui.nebula.grid.test/src/org/eclipse/emf/ecp/view/internal/table/nebula/grid/GridControlRenderer_PTest.java
@@ -32,6 +32,7 @@
 import org.eclipse.core.databinding.observable.list.WritableList;
 import org.eclipse.core.databinding.observable.value.IObservableValue;
 import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.databinding.IEMFValueProperty;
 import org.eclipse.emf.databinding.internal.EMFValueProperty;
 import org.eclipse.emf.databinding.internal.EMFValuePropertyDecorator;
 import org.eclipse.emf.ecore.EClass;
@@ -234,6 +235,13 @@
 			.thenReturn(
 				mockedObservableValue);
 
+		final EStructuralFeature structuralFeature = mock(EStructuralFeature.class);
+		when(structuralFeature.isChangeable()).thenReturn(true);
+		final IEMFValueProperty valueProperty = mock(IEMFValueProperty.class);
+		when(valueProperty.getValueType()).thenReturn(structuralFeature);
+		when(getDatabindingService().getValueProperty(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+			valueProperty);
+
 		when(getvControl().getColumnConfigurations())
 			.thenReturn(new BasicEList<VTableColumnConfiguration>());
 
@@ -521,6 +529,10 @@
 		columnConfiguration.matchFilter().setValue("foo");
 		assertEquals(0, filterVisible(grid.getItems()).length);
 
+		// double check, that extending a filter which lead to an empty result still created an empty result
+		columnConfiguration.matchFilter().setValue("foo2");
+		assertEquals(0, filterVisible(grid.getItems()).length);
+
 		columnConfiguration.matchFilter().resetToDefault();
 		assertEquals(expectedRows, filterVisible(grid.getItems()).length);
 
diff --git a/tests/org.eclipse.emf.ecp.view.table.ui.nebula.grid.test/src/org/eclipse/emf/ecp/view/internal/table/nebula/grid/GridTable_PTest.java b/tests/org.eclipse.emf.ecp.view.table.ui.nebula.grid.test/src/org/eclipse/emf/ecp/view/internal/table/nebula/grid/GridTable_PTest.java
index d89ec96..aed1551 100644
--- a/tests/org.eclipse.emf.ecp.view.table.ui.nebula.grid.test/src/org/eclipse/emf/ecp/view/internal/table/nebula/grid/GridTable_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.table.ui.nebula.grid.test/src/org/eclipse/emf/ecp/view/internal/table/nebula/grid/GridTable_PTest.java
@@ -12,6 +12,9 @@
  *******************************************************************************/
 package org.eclipse.emf.ecp.view.internal.table.nebula.grid;
 
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.greaterThan;
+import static org.hamcrest.Matchers.lessThan;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
@@ -19,14 +22,13 @@
 
 import java.io.ByteArrayOutputStream;
 import java.io.PrintStream;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
 import java.util.Arrays;
 import java.util.Set;
 
 import org.eclipse.e4.core.contexts.IEclipseContext;
 import org.eclipse.emf.ecore.EAttribute;
 import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EReference;
 import org.eclipse.emf.ecore.EStructuralFeature;
@@ -382,7 +384,7 @@
 		final ScrolledComposite scrolledComposite = (ScrolledComposite) sash.getChildren()[1];
 		final Composite parentForECPView = (Composite) scrolledComposite.getChildren()[0];
 		assertEquals(2, table.getItemCount());
-		final GridTableViewer tableViewer = getTableViewerFromRenderer(tableRenderer);
+		final GridTableViewer tableViewer = GridTestsUtil.getTableViewerFromRenderer(tableRenderer);
 
 		// no initial selection
 		assertEquals(0, parentForECPView.getChildren().length);
@@ -437,7 +439,7 @@
 			fail("No control was rendered");
 		}
 		final Grid table = SWTTestUtil.findControl(control, 0, Grid.class);
-		assertTableItemOrder(table, class1, class2, class3);
+		assertGridItemOrder(table, class1, class2, class3);
 
 		// column 0 is validation column
 
@@ -445,29 +447,29 @@
 		// up
 		SWTTestUtil.selectWidget(table.getColumns()[1]);
 		SWTTestUtil.waitForUIThread();
-		assertTableItemOrder(table, class1, class2, class3);
+		assertGridItemOrder(table, class1, class2, class3);
 		// down
 		SWTTestUtil.selectWidget(table.getColumns()[1]);
 		SWTTestUtil.waitForUIThread();
-		assertTableItemOrder(table, class3, class2, class1);
+		assertGridItemOrder(table, class3, class2, class1);
 		// none
 		SWTTestUtil.selectWidget(table.getColumns()[1]);
 		SWTTestUtil.waitForUIThread();
-		assertTableItemOrder(table, class1, class2, class3);
+		assertGridItemOrder(table, class1, class2, class3);
 
 		// select column 2
 		// up
 		SWTTestUtil.selectWidget(table.getColumns()[2]);
 		SWTTestUtil.waitForUIThread();
-		assertTableItemOrder(table, class3, class1, class2);
+		assertGridItemOrder(table, class3, class1, class2);
 		// down
 		SWTTestUtil.selectWidget(table.getColumns()[2]);
 		SWTTestUtil.waitForUIThread();
-		assertTableItemOrder(table, class2, class1, class3);
+		assertGridItemOrder(table, class2, class1, class3);
 		// none
 		SWTTestUtil.selectWidget(table.getColumns()[2]);
 		SWTTestUtil.waitForUIThread();
-		assertTableItemOrder(table, class1, class2, class3);
+		assertGridItemOrder(table, class1, class2, class3);
 	}
 
 	@Test
@@ -498,7 +500,7 @@
 			fail("No control was rendered");
 		}
 		final Grid table = SWTTestUtil.findControl(control, 0, Grid.class);
-		assertTableItemOrder(table, class1, class2, class3);
+		assertGridItemOrder(table, class1, class2, class3);
 
 		// column 0 is validation column
 
@@ -506,29 +508,85 @@
 		// up
 		SWTTestUtil.selectWidget(table.getColumns()[1]);
 		SWTTestUtil.waitForUIThread();
-		assertTableItemOrder(table, class3, class2, class1);
+		assertGridItemOrder(table, class3, class2, class1);
 		// down
 		SWTTestUtil.selectWidget(table.getColumns()[1]);
 		SWTTestUtil.waitForUIThread();
-		assertTableItemOrder(table, class1, class2, class3);
+		assertGridItemOrder(table, class1, class2, class3);
 		// none
 		SWTTestUtil.selectWidget(table.getColumns()[1]);
 		SWTTestUtil.waitForUIThread();
-		assertTableItemOrder(table, class1, class2, class3);
+		assertGridItemOrder(table, class1, class2, class3);
 
 		// select column 2
 		// up
 		SWTTestUtil.selectWidget(table.getColumns()[2]);
 		SWTTestUtil.waitForUIThread();
-		assertTableItemOrder(table, class3, class1, class2);
+		assertGridItemOrder(table, class3, class1, class2);
 		// down
 		SWTTestUtil.selectWidget(table.getColumns()[2]);
 		SWTTestUtil.waitForUIThread();
-		assertTableItemOrder(table, class2, class1, class3);
+		assertGridItemOrder(table, class2, class1, class3);
 		// none
 		SWTTestUtil.selectWidget(table.getColumns()[2]);
 		SWTTestUtil.waitForUIThread();
-		assertTableItemOrder(table, class1, class2, class3);
+		assertGridItemOrder(table, class1, class2, class3);
+	}
+
+	@Test
+	public void gridSorting_autoSortOnEdit()
+		throws EMFFormsNoRendererException, NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+		// domain
+		((EClass) domainElement).getEStructuralFeatures().clear();
+		final EAttribute attribute1 = createEAttribute("a", EcorePackage.Literals.ESTRING, 0, 2);
+		final EAttribute attribute2 = createEAttribute("b", EcorePackage.Literals.ESTRING, 0, 11);
+		final EAttribute attribute3 = createEAttribute("c", EcorePackage.Literals.ESTRING, 0, 1);
+		((EClass) domainElement).getEStructuralFeatures().add(attribute1);
+		((EClass) domainElement).getEStructuralFeatures().add(attribute2);
+		((EClass) domainElement).getEStructuralFeatures().add(attribute3);
+
+		// table control
+		final VTableControl tableControl = TableTestUtil.createTableControl();
+		final VTableDomainModelReference tableDMR = (VTableDomainModelReference) tableControl.getDomainModelReference();
+		tableDMR.setDomainModelEFeature(EcorePackage.eINSTANCE.getEClass_EAttributes());
+		tableDMR.getColumnDomainModelReferences().add(createDMR(EcorePackage.eINSTANCE.getENamedElement_Name()));
+		tableDMR.getColumnDomainModelReferences().add(
+			createDMR(EcorePackage.eINSTANCE.getETypedElement_UpperBound()));
+
+		// render
+		shell.open();
+		// With this shell size, the table will be 77 pixels high and show 2 rows
+		shell.setSize(200, 150);
+		final Control control = SWTViewTestHelper.render(tableControl, domainElement, shell);
+		if (control == null) {
+			fail("No control was rendered");
+		}
+		shell.layout();
+		final Grid grid = SWTTestUtil.findControl(control, 0, Grid.class);
+
+		// column 0 is validation column
+		// select column 1 (name) and ascending sorting
+		SWTTestUtil.selectWidget(grid.getColumns()[1]);
+		SWTTestUtil.waitForUIThread();
+		assertGridItemOrder(grid, attribute1, attribute2, attribute3);
+
+		// Change the attribute the sorting is currently applied on and assert that the table was automatically
+		// re-sorted
+		attribute1.setName("z");
+		SWTTestUtil.waitForUIThread();
+		assertGridItemOrder(grid, attribute2, attribute3, attribute1);
+
+		final GridItem sortItem = grid.getItem(2);
+		final int itemLowerEnd = sortItem.getBounds(1).y + sortItem.getBounds(1).height;
+		// Assert that the edited grid item was revealed after it had been moved to the end of the grid.
+		assertThat(
+			"The edited grid item is not fully visible after the auto sort because the grid didn't scroll down.",
+			itemLowerEnd, lessThan(grid.getBounds().height));
+		assertThat(
+			"The edited grid item is not fully visible after the auto sort because the grid is scrolled too far down.",
+			sortItem.getBounds(1).y, greaterThan(grid.getHeaderHeight()));
+
+		shell.close();
 	}
 
 	private GridControlSWTRenderer createRendererInstanceWithCustomCellEditor(final VTableControl tableControl)
@@ -560,7 +618,7 @@
 		return tableControlSWTRenderer;
 	}
 
-	private static void assertTableItemOrder(Grid table, Object... objects) {
+	private static void assertGridItemOrder(Grid table, Object... objects) {
 		assertEquals(objects.length, table.getItemCount());
 		final GridItem[] items = table.getItems();
 		for (int i = 0; i < items.length; i++) {
@@ -575,6 +633,15 @@
 		return clazz;
 	}
 
+	private static EAttribute createEAttribute(String name, EClassifier classifier, int lowerBound, int upperBound) {
+		final EAttribute attribute = EcoreFactory.eINSTANCE.createEAttribute();
+		attribute.setName(name);
+		attribute.setEType(classifier);
+		attribute.setLowerBound(lowerBound);
+		attribute.setUpperBound(upperBound);
+		return attribute;
+	}
+
 	private static VFeaturePathDomainModelReference createDMR(EAttribute attribute, EReference... refs) {
 		final VFeaturePathDomainModelReference dmr = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
 		dmr.setDomainModelEFeature(attribute);
@@ -621,25 +688,6 @@
 		return tableControlHandle;
 	}
 
-	private GridTableViewer getTableViewerFromRenderer(AbstractSWTRenderer<VElement> renderer) {
-		try {
-			final Method method = TableControlSWTRenderer.class.getDeclaredMethod("getTableViewer");
-			method.setAccessible(true);
-			return (GridTableViewer) method.invoke(renderer);
-		} catch (final NoSuchMethodException ex) {
-			fail(ex.getMessage());
-		} catch (final SecurityException ex) {
-			fail(ex.getMessage());
-		} catch (final IllegalAccessException ex) {
-			fail(ex.getMessage());
-		} catch (final IllegalArgumentException ex) {
-			fail(ex.getMessage());
-		} catch (final InvocationTargetException ex) {
-			fail(ex.getMessage());
-		}
-		return null;
-	}
-
 	/**
 	 * Stub implementation without getting services from ex. point.
 	 *
diff --git a/tests/org.eclipse.emf.ecp.view.table.ui.nebula.grid.test/src/org/eclipse/emf/ecp/view/internal/table/nebula/grid/GridTestsUtil.java b/tests/org.eclipse.emf.ecp.view.table.ui.nebula.grid.test/src/org/eclipse/emf/ecp/view/internal/table/nebula/grid/GridTestsUtil.java
new file mode 100644
index 0000000..1399dbf
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.table.ui.nebula.grid.test/src/org/eclipse/emf/ecp/view/internal/table/nebula/grid/GridTestsUtil.java
@@ -0,0 +1,53 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.internal.table.nebula.grid;
+
+import static org.junit.Assert.fail;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.table.swt.TableControlSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.nebula.jface.gridviewer.GridTableViewer;
+
+/**
+ * Util for Grid Tests.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public final class GridTestsUtil {
+
+	private GridTestsUtil() {
+	}
+
+	public static GridTableViewer getTableViewerFromRenderer(AbstractSWTRenderer<VElement> renderer) {
+		try {
+			final Method method = TableControlSWTRenderer.class.getDeclaredMethod("getTableViewer");
+			method.setAccessible(true);
+			return (GridTableViewer) method.invoke(renderer);
+		} catch (final NoSuchMethodException ex) {
+			fail(ex.getMessage());
+		} catch (final SecurityException ex) {
+			fail(ex.getMessage());
+		} catch (final IllegalAccessException ex) {
+			fail(ex.getMessage());
+		} catch (final IllegalArgumentException ex) {
+			fail(ex.getMessage());
+		} catch (final InvocationTargetException ex) {
+			fail(ex.getMessage());
+		}
+		return null;
+	}
+}
diff --git a/tests/org.eclipse.emf.ecp.view.table.ui.nebula.grid.test/src/org/eclipse/emf/ecp/view/spi/table/nebula/grid/GridControlDetailPanelRenderer_PTest.java b/tests/org.eclipse.emf.ecp.view.table.ui.nebula.grid.test/src/org/eclipse/emf/ecp/view/spi/table/nebula/grid/GridControlDetailPanelRenderer_PTest.java
index c59c1a4..68fbb7f 100644
--- a/tests/org.eclipse.emf.ecp.view.table.ui.nebula.grid.test/src/org/eclipse/emf/ecp/view/spi/table/nebula/grid/GridControlDetailPanelRenderer_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.table.ui.nebula.grid.test/src/org/eclipse/emf/ecp/view/spi/table/nebula/grid/GridControlDetailPanelRenderer_PTest.java
@@ -30,7 +30,7 @@
 import org.eclipse.emf.ecore.EcoreFactory;
 import org.eclipse.emf.ecore.EcorePackage;
 import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecp.test.common.DefaultRealm;
+import org.eclipse.emf.ecp.view.internal.table.nebula.grid.GridTestsUtil;
 import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
 import org.eclipse.emf.ecp.view.spi.model.VElement;
 import org.eclipse.emf.ecp.view.spi.model.VView;
@@ -43,7 +43,10 @@
 import org.eclipse.emf.ecp.view.table.test.common.TableControlHandle;
 import org.eclipse.emf.ecp.view.table.test.common.TableTestUtil;
 import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
+import org.eclipse.emf.ecp.view.test.common.swt.spi.DatabindingClassRunner;
+import org.eclipse.emf.ecp.view.test.common.swt.spi.SWTTestUtil;
 import org.eclipse.emf.ecp.view.test.common.swt.spi.SWTViewTestHelper;
+import org.eclipse.emf.ecp.view.test.common.swt.spi.SWTViewTestHelper.RendererResult;
 import org.eclipse.emfforms.spi.common.converter.EStructuralFeatureValueConverterService;
 import org.eclipse.emfforms.spi.common.report.ReportService;
 import org.eclipse.emfforms.spi.core.services.databinding.emf.EMFFormsDatabindingEMF;
@@ -51,9 +54,12 @@
 import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
 import org.eclipse.emfforms.spi.localization.EMFFormsLocalizationService;
 import org.eclipse.emfforms.spi.swt.core.EMFFormsNoRendererException;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.nebula.jface.gridviewer.GridTableViewer;
 import org.eclipse.nebula.widgets.grid.Grid;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.SashForm;
+import org.eclipse.swt.custom.ScrolledComposite;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Shell;
@@ -62,6 +68,7 @@
 import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
+import org.junit.runner.RunWith;
 
 /**
  * Unit tests for the {@link GridControlDetailPanelRenderer}.
@@ -69,13 +76,13 @@
  * @author Lucas Koehler
  *
  */
+@RunWith(DatabindingClassRunner.class)
 public class GridControlDetailPanelRenderer_PTest {
 
 	private static String log;
 	private static PrintStream systemErr;
 	private Shell shell;
 	private EObject domainElement;
-	private DefaultRealm realm;
 
 	@BeforeClass
 	public static void beforeClass() {
@@ -90,7 +97,6 @@
 
 	@Before
 	public void init() {
-		realm = new DefaultRealm();
 		log = "";
 		shell = SWTViewTestHelper.createShell();
 
@@ -101,7 +107,6 @@
 
 	@After
 	public void after() {
-		realm.dispose();
 		shell.dispose();
 		if (!log.isEmpty()) {
 			fail("Unexpected log to System.err: " + log);
@@ -136,6 +141,44 @@
 		getChild(sashForm, Composite.class, 1);
 	}
 
+	/**
+	 * Tests that a horizontal and vertical scrollbar appears if the detail is to small.
+	 */
+	@Test
+	public void testScroll() throws NoRendererFoundException,
+		NoPropertyDescriptorFoundExeption, EMFFormsNoRendererException {
+		shell.setSize(100, 200);
+		shell.open();
+		SWTTestUtil.waitForUIThread();
+		// setup model
+		final TableControlHandle handle = TableTestUtil.createInitializedTableWithoutTableColumns();
+		handle.getTableControl().setDetailEditing(DetailEditing.WITH_PANEL);
+		//
+		final RendererResult renderControl = SWTViewTestHelper.renderControl(handle.getTableControl(), domainElement,
+			shell);
+		shell.layout();
+		SWTTestUtil.waitForUIThread();
+		final GridTableViewer tableViewer = GridTestsUtil.getTableViewerFromRenderer(renderControl.getRenderer());
+		final Control render = renderControl.getControl().get();
+		assertTrue(render instanceof Composite);
+		final Composite border = getChild(getChild(render, Composite.class, 0), Composite.class, 1);
+		assertEquals("The grid and detail should be surrounded by a common border", SWT.BORDER,
+			border.getStyle() & SWT.BORDER);
+		final SashForm sashForm = getChild(border, SashForm.class, 0);
+		tableViewer.setSelection(new StructuredSelection(tableViewer.getElementAt(0)));
+		final ScrolledComposite scrolledComposite = getChild(sashForm, ScrolledComposite.class, 1);
+		assertFalse(scrolledComposite.getAlwaysShowScrollBars());
+		assertTrue(scrolledComposite.getHorizontalBar().isVisible());
+		assertTrue(scrolledComposite.getVerticalBar().isVisible());
+
+		// modify shell to force no scroll
+		shell.setSize(1000, 1000);
+		assertFalse(scrolledComposite.getHorizontalBar().isVisible());
+		assertFalse(scrolledComposite.getVerticalBar().isVisible());
+
+		shell.close();
+	}
+
 	@Test
 	public void testGetView() {
 		final GridControlDetailPanelRenderer renderer = new GridControlDetailPanelRenderer(mock(VTableControl.class),
diff --git a/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/All Tests for view.table.ui.swt.launch b/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/All Tests for view.table.ui.swt.launch
index 9069564..a5f0b03 100644
--- a/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/All Tests for view.table.ui.swt.launch
+++ b/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/All Tests for view.table.ui.swt.launch
@@ -24,7 +24,8 @@
 <booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
 <stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
 <stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
-<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.ecp.view.table.ui.swt.test.AllTests"/>
 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
 <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emf.ecp.view.table.ui.swt.test"/>
@@ -32,8 +33,8 @@
 <stringAttribute key="pde.version" value="3.3"/>
 <stringAttribute key="product" value="org.eclipse.platform.ide"/>
 <booleanAttribute key="run_in_ui_thread" value="true"/>
-<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,org.apache.batik.constants@default:default,org.apache.batik.css*1.10.0.v20180703-1553@default:default,org.apache.batik.i18n@default:default,org.apache.batik.util*1.10.0.v20180703-1553@default:default,org.apache.commons.codec@default:default,org.apache.commons.jxpath@default:default,org.apache.commons.logging*1.1.1.v201101211721@default:default,org.apache.commons.logging*1.2.0.v20180409-1502@default:default,org.apache.felix.scr@1:true,org.apache.xmlgraphics@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding*1.7.0.v20180827-2028@default:default,org.eclipse.core.databinding.beans*1.4.200.v20180827-2028@default:default,org.eclipse.core.databinding.observable*1.6.300.v20180827-2028@default:default,org.eclipse.core.databinding.property*1.6.300.v20180827-2028@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.linux.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources@default:default,org.eclipse.core.runtime@default:true,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.annotations@default:default,org.eclipse.e4.core.di.extensions.supplier@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.emf.xpath@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.swt.gtk@default:false,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.gtk.linux.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core*1.3.0.v201303031735@default:default,org.hamcrest.core*1.3.0.v20180420-1519@default:default,org.hamcrest.library@default:default,org.junit@default:default,org.mockito.mockito-core-hamcrest-modified@default:default,org.objenesis@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil*1.0.1.v200903091627@default:default,org.w3c.dom.svg@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.test@default:false,org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core.test@default:false,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt.test@default:false,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.makeithappen.model@default:default,org.eclipse.emf.ecp.test.common@default:default,org.eclipse.emf.ecp.test.model@default:default,org.eclipse.emf.ecp.ui.view.swt.test@default:false,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.view.context.tests@default:false,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt.tests@default:false,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.migrator@default:default,org.eclipse.emf.ecp.view.model.common.test@default:false,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi.test@default:false,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model.test@default:false,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.swt.layout@default:default,org.eclipse.emf.ecp.view.table.columnservice@default:default,org.eclipse.emf.ecp.view.table.model.nl_de@default:false,org.eclipse.emf.ecp.view.table.model.test@default:false,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.table.test.common@default:default,org.eclipse.emf.ecp.view.table.ui.swt.test@default:false,org.eclipse.emf.ecp.view.table.ui.swt@default:default,org.eclipse.emf.ecp.view.template.annotation.model@default:default,org.eclipse.emf.ecp.view.template.model.test@default:false,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.template.service@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.test.common@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation.test@default:false,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.rap.edit.ui.minimal@default:default,org.eclipse.emfforms.common.prevalidation@default:default,org.eclipse.emfforms.common.validation.tests@default:false,org.eclipse.emfforms.common.validation@default:default,org.eclipse.emfforms.common@default:default,org.eclipse.emfforms.core.bazaar.tests@default:false,org.eclipse.emfforms.core.bazaar@default:default,org.eclipse.emfforms.core.services.databinding.featurepath@default:default,org.eclipse.emfforms.core.services.databinding.testmodel@default:default,org.eclipse.emfforms.core.services.domainexpander.default.tests@default:false,org.eclipse.emfforms.core.services.domainexpander.default@default:default,org.eclipse.emfforms.core.services.domainexpander.table@default:default,org.eclipse.emfforms.core.services.editsupport@default:default,org.eclipse.emfforms.core.services.emf.tests@default:false,org.eclipse.emfforms.core.services.emf@default:default,org.eclipse.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emfforms.core.services.legacy.tests@default:false,org.eclipse.emfforms.core.services.legacy@default:default,org.eclipse.emfforms.core.services.locale.default@default:default,org.eclipse.emfforms.core.services.mappingprovider.default@default:default,org.eclipse.emfforms.core.services.mappingprovider.table.panel@default:default,org.eclipse.emfforms.core.services.mappingprovider.table@default:default,org.eclipse.emfforms.core.services.structuralchange.default@default:default,org.eclipse.emfforms.core.services.structuralchange.table@default:default,org.eclipse.emfforms.core.services.structuralchange@default:default,org.eclipse.emfforms.core.services.tests@default:false,org.eclipse.emfforms.core.services@default:default,org.eclipse.emfforms.localization.tests@default:false,org.eclipse.emfforms.localization@default:default,org.eclipse.emfforms.swt.common.test@default:default,org.eclipse.emfforms.swt.core.di@default:default,org.eclipse.emfforms.swt.core.tests@default:false,org.eclipse.emfforms.swt.core@default:default,org.eclipse.emfforms.swt.table@default:default,org.eclipse.emfforms.view.annotation.model@default:default,org.eclipse.emfforms.view.controlgrid.model@default:default,org.eclipse.emfforms.view.multisegment.model@default:default"/>
+<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,org.apache.batik.constants@default:default,org.apache.batik.css*1.10.0.v20180703-1553@default:default,org.apache.batik.i18n@default:default,org.apache.batik.util*1.10.0.v20180703-1553@default:default,org.apache.commons.codec@default:default,org.apache.commons.jxpath@default:default,org.apache.commons.logging*1.1.1.v201101211721@default:default,org.apache.commons.logging*1.2.0.v20180409-1502@default:default,org.apache.felix.scr@1:true,org.apache.xmlgraphics@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding*1.7.100.v20181030-1443@default:default,org.eclipse.core.databinding.observable*1.6.300.v20180827-2028@default:default,org.eclipse.core.databinding.property*1.6.300.v20180827-2028@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.linux.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources@default:default,org.eclipse.core.runtime@default:true,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.annotations@default:default,org.eclipse.e4.core.di.extensions.supplier@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.emf.xpath@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.swt.gtk@default:false,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.gtk.linux.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core*1.3.0.v201303031735@default:default,org.hamcrest.core*1.3.0.v20180420-1519@default:default,org.hamcrest.library@default:default,org.junit@default:default,org.mockito.mockito-core-hamcrest-modified@default:default,org.objenesis@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil*1.0.1.v200903091627@default:default,org.w3c.dom.svg@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.test@default:false,org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core.test@default:false,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt.test@default:false,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.makeithappen.model@default:default,org.eclipse.emf.ecp.test.common@default:default,org.eclipse.emf.ecp.test.model@default:default,org.eclipse.emf.ecp.ui.view.swt.test@default:false,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.view.context.tests@default:false,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt.tests@default:false,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.migrator@default:default,org.eclipse.emf.ecp.view.model.common.test@default:false,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi.test@default:false,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model.test@default:false,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.swt.layout@default:default,org.eclipse.emf.ecp.view.table.columnservice@default:default,org.eclipse.emf.ecp.view.table.model.nl_de@default:false,org.eclipse.emf.ecp.view.table.model.test@default:false,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.table.test.common@default:default,org.eclipse.emf.ecp.view.table.ui.swt.test@default:false,org.eclipse.emf.ecp.view.table.ui.swt@default:default,org.eclipse.emf.ecp.view.template.annotation.model@default:default,org.eclipse.emf.ecp.view.template.model.test@default:false,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.template.service@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.test.common@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation.test@default:false,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.rap.edit.ui.minimal@default:default,org.eclipse.emfforms.common.prevalidation@default:default,org.eclipse.emfforms.common.validation.tests@default:false,org.eclipse.emfforms.common.validation@default:default,org.eclipse.emfforms.common@default:default,org.eclipse.emfforms.core.bazaar.tests@default:false,org.eclipse.emfforms.core.bazaar@default:default,org.eclipse.emfforms.core.services.databinding.featurepath@default:default,org.eclipse.emfforms.core.services.databinding.testmodel@default:default,org.eclipse.emfforms.core.services.domainexpander.default.tests@default:false,org.eclipse.emfforms.core.services.domainexpander.default@default:default,org.eclipse.emfforms.core.services.domainexpander.table@default:default,org.eclipse.emfforms.core.services.editsupport@default:default,org.eclipse.emfforms.core.services.emf.tests@default:false,org.eclipse.emfforms.core.services.emf@default:default,org.eclipse.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emfforms.core.services.legacy.tests@default:false,org.eclipse.emfforms.core.services.legacy@default:default,org.eclipse.emfforms.core.services.locale.default@default:default,org.eclipse.emfforms.core.services.mappingprovider.default@default:default,org.eclipse.emfforms.core.services.mappingprovider.table.panel@default:default,org.eclipse.emfforms.core.services.mappingprovider.table@default:default,org.eclipse.emfforms.core.services.segments.featurepath@default:default,org.eclipse.emfforms.core.services.segments.multi@default:default,org.eclipse.emfforms.core.services.segments@default:default,org.eclipse.emfforms.core.services.structuralchange.default@default:default,org.eclipse.emfforms.core.services.structuralchange.table@default:default,org.eclipse.emfforms.core.services.structuralchange@default:default,org.eclipse.emfforms.core.services.tests@default:false,org.eclipse.emfforms.core.services@default:default,org.eclipse.emfforms.localization.tests@default:false,org.eclipse.emfforms.localization@default:default,org.eclipse.emfforms.swt.common.test@default:default,org.eclipse.emfforms.swt.core.di@default:default,org.eclipse.emfforms.swt.core.tests@default:false,org.eclipse.emfforms.swt.core@default:default,org.eclipse.emfforms.swt.table@default:default,org.eclipse.emfforms.view.annotation.model@default:default,org.eclipse.emfforms.view.controlgrid.model@default:default,org.eclipse.emfforms.view.multisegment.model@default:default"/>
 <booleanAttribute key="show_selected_only" value="false"/>
 <booleanAttribute key="tracing" value="false"/>
 <booleanAttribute key="useCustomFeatures" value="false"/>
diff --git a/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/META-INF/MANIFEST.MF
index 2b70fe8..c8fd79a 100644
--- a/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/META-INF/MANIFEST.MF
@@ -2,48 +2,50 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Tests for the Table SWT Renderer
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.table.ui.swt.test
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.view.table.ui.swt;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emf.ecp.view.internal.table.swt.cell;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.spi.table.swt;version="1.19.0",
-  org.eclipse.emf.ecp.view.table.ui.swt.test;version="1.19.0";x-friends:="org.eclipse.emf.ecp.view.ui.editor.test"
-Require-Bundle: org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.19.0,1.20.0)",
-  org.junit;bundle-version="[4.0.0,5.0.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.swt;bundle-version="[3.1.0,4.0.0)",
-  org.eclipse.emf.ecp.edit;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.test;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.table.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.table.columnservice;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.equinox.registry;bundle-version="[3.5.400,4.0.0)",
-  org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.jface;bundle-version="[3.10.0,4.0.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
-  org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.common;bundle-version="[2.10.0,3.0.0)",
-  org.eclipse.core.databinding.property;bundle-version="[1.4.200,2.0.0)",
-  org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core.di;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.legacy;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.domainexpander.default;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.emf;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.e4.core.contexts;bundle-version="[1.4.0,2.0.0)",
-  org.eclipse.emf.edit;bundle-version="[2.11.1,3.0.0)",
-  org.eclipse.emf.ecp.edit.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.table.test.common;bundle-version="[1.19.0,1.20.0)",
-  org.objenesis;bundle-version="[1.0.0,2.0.0)",
-  org.hamcrest.library;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emf.ecore.edit;bundle-version="[2.9.0,3.0.0)"
+Fragment-Host: org.eclipse.emf.ecp.view.table.ui.swt;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emf.ecp.view.internal.table.swt.cell;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.spi.table.swt;version="1.20.0",
+ org.eclipse.emf.ecp.view.table.ui.swt.test;version="1.20.0";x-friends:="org.eclipse.emf.ecp.view.ui.editor.test"
+Require-Bundle: org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.20.0,1.21.0)",
+ org.junit;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.swt;bundle-version="[3.1.0,4.0.0)",
+ org.eclipse.emf.ecp.edit;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.test;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.table.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.table.columnservice;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.equinox.registry;bundle-version="[3.5.400,4.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.jface;bundle-version="[3.10.0,4.0.0)",
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
+ org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.common;bundle-version="[2.10.0,3.0.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.4.200,2.0.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.legacy;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.domainexpander.default;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.emf;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.e4.core.contexts;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emf.edit;bundle-version="[2.11.1,3.0.0)",
+ org.eclipse.emf.ecp.edit.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.table.test.common;bundle-version="[1.20.0,1.21.0)",
+ org.objenesis;bundle-version="[1.0.0,2.0.0)",
+ org.hamcrest.library;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emf.ecore.edit;bundle-version="[2.9.0,3.0.0)",
+ org.eclipse.emfforms.core.services.segments.multi;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.20.0,1.21.0)"
 Automatic-Module-Name: org.eclipse.emf.ecp.view.table.ui.swt.test
diff --git a/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/pom.xml b/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/pom.xml
index 7d5672d..51f195d 100644
--- a/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.view.table.ui.swt.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/spi/table/swt/SWTTableDatabindingLabel_PTest.java b/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/spi/table/swt/SWTTableDatabindingLabel_PTest.java
index 22e3099..1a464f0 100644
--- a/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/spi/table/swt/SWTTableDatabindingLabel_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/spi/table/swt/SWTTableDatabindingLabel_PTest.java
@@ -136,8 +136,12 @@
 		vTableControl = VTableFactory.eINSTANCE.createTableControl();
 		vTableControl.setDomainModelReference(tableDomainModelReference);
 
-		final IValueProperty valueProperty = new EMFValueProperty(EcorePackage.eINSTANCE.getEClass_ESuperTypes());
+		final IValueProperty delegate = new EMFValueProperty(EcorePackage.eINSTANCE.getEClass_ESuperTypes());
+		final EMFValuePropertyDecorator valueProperty = new EMFValuePropertyDecorator(delegate,
+			EcorePackage.eINSTANCE.getEClass_ESuperTypes());
 		final IObservableValue observableValue = valueProperty.observe(domainModel);
+		when(databindingService.getValueProperty(vTableControl.getDomainModelReference(), (EObject) domainModel))
+			.thenReturn(valueProperty);
 		when(databindingService.getObservableValue(vTableControl.getDomainModelReference(), domainModel)).thenReturn(
 			observableValue);
 
diff --git a/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/spi/table/swt/SWTTable_PTest.java b/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/spi/table/swt/SWTTable_PTest.java
index 412ec52..6e6a2f7 100644
--- a/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/spi/table/swt/SWTTable_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/spi/table/swt/SWTTable_PTest.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2017 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -8,11 +8,15 @@
  *
  * Contributors:
  * Johannes Faltermeier
- * Christian W. Damus - bug 527740
+ * Christian W. Damus - bugs 527740, 544116
  *
  *******************************************************************************/
 package org.eclipse.emf.ecp.view.spi.table.swt;
 
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.equalTo;
+import static org.hamcrest.Matchers.greaterThanOrEqualTo;
+import static org.hamcrest.Matchers.lessThan;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertSame;
@@ -28,21 +32,27 @@
 import java.io.PrintStream;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Hashtable;
 import java.util.LinkedHashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
 import javax.inject.Inject;
 
+import org.eclipse.core.databinding.observable.map.IObservableMap;
 import org.eclipse.e4.core.contexts.IEclipseContext;
 import org.eclipse.emf.common.command.BasicCommandStack;
 import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.common.util.URI;
 import org.eclipse.emf.ecore.EAttribute;
 import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EPackage;
 import org.eclipse.emf.ecore.EReference;
@@ -65,8 +75,10 @@
 import org.eclipse.emf.ecp.view.spi.context.ViewModelServiceProvider;
 import org.eclipse.emf.ecp.view.spi.model.ModelChangeListener;
 import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.spi.model.VDiagnostic;
 import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
 import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.VFeatureDomainModelReferenceSegment;
 import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
 import org.eclipse.emf.ecp.view.spi.model.VView;
 import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
@@ -79,6 +91,8 @@
 import org.eclipse.emf.ecp.view.spi.table.model.VTableFactory;
 import org.eclipse.emf.ecp.view.spi.table.swt.action.AddRowAction;
 import org.eclipse.emf.ecp.view.spi.table.swt.action.DuplicateRowAction;
+import org.eclipse.emf.ecp.view.spi.table.swt.action.MoveRowDownAction;
+import org.eclipse.emf.ecp.view.spi.table.swt.action.MoveRowUpAction;
 import org.eclipse.emf.ecp.view.spi.table.swt.action.RemoveRowAction;
 import org.eclipse.emf.ecp.view.spi.util.swt.ImageRegistryService;
 import org.eclipse.emf.ecp.view.table.test.common.TableControlHandle;
@@ -108,9 +122,13 @@
 import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService;
 import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
 import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
+import org.eclipse.emfforms.view.spi.multisegment.model.VMultiDomainModelReferenceSegment;
+import org.eclipse.emfforms.view.spi.multisegment.model.VMultisegmentFactory;
 import org.eclipse.jface.viewers.CellEditor;
+import org.eclipse.jface.viewers.CellLabelProvider;
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.ScrolledComposite;
 import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Composite;
@@ -186,6 +204,9 @@
 			fail("Unexpected log to System.err: " + log);
 		}
 		adapterFactory.dispose();
+		if (shell != null && !shell.isDisposed()) {
+			shell.dispose();
+		}
 	}
 
 	@Test
@@ -471,21 +492,21 @@
 	public void testTableSorting() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption,
 		EMFFormsNoRendererException {
 		// domain
-		((EClass) domainElement).getESuperTypes().clear();
-		final EClass class1 = createEClass("a", "b");
-		final EClass class2 = createEClass("b", "c");
-		final EClass class3 = createEClass("c", "a");
-		((EClass) domainElement).getESuperTypes().add(class1);
-		((EClass) domainElement).getESuperTypes().add(class2);
-		((EClass) domainElement).getESuperTypes().add(class3);
+		((EClass) domainElement).getEStructuralFeatures().clear();
+		final EAttribute attribute1 = createEAttribute("a2", EcorePackage.Literals.ESTRING, 0, 2);
+		final EAttribute attribute2 = createEAttribute("a10", EcorePackage.Literals.ESTRING, 0, 11);
+		final EAttribute attribute3 = createEAttribute("a10b", EcorePackage.Literals.ESTRING, 0, 1);
+		((EClass) domainElement).getEStructuralFeatures().add(attribute1);
+		((EClass) domainElement).getEStructuralFeatures().add(attribute2);
+		((EClass) domainElement).getEStructuralFeatures().add(attribute3);
 
 		// table control
 		final VTableControl tableControl = TableTestUtil.createTableControl();
 		final VTableDomainModelReference tableDMR = (VTableDomainModelReference) tableControl.getDomainModelReference();
-		tableDMR.setDomainModelEFeature(EcorePackage.eINSTANCE.getEClass_ESuperTypes());
+		tableDMR.setDomainModelEFeature(EcorePackage.eINSTANCE.getEClass_EAttributes());
 		tableDMR.getColumnDomainModelReferences().add(createDMR(EcorePackage.eINSTANCE.getENamedElement_Name()));
 		tableDMR.getColumnDomainModelReferences().add(
-			createDMR(EcorePackage.eINSTANCE.getEClassifier_InstanceClassName()));
+			createDMR(EcorePackage.eINSTANCE.getETypedElement_UpperBound()));
 
 		// render
 		final AbstractSWTRenderer<VElement> tableRenderer = rendererFactory.getRendererInstance(tableControl,
@@ -496,58 +517,64 @@
 			fail("No control was rendered");
 		}
 		final Table table = SWTTestUtil.findControl(control, 0, Table.class);
-		assertTableItemOrder(table, class1, class2, class3);
+		assertTableItemOrder(table, attribute1, attribute2, attribute3);
 
 		// column 0 is validation column
 
 		// select column 1
-		// up
+		// ascending
 		SWTTestUtil.selectWidget(table.getColumns()[1]);
 		SWTTestUtil.waitForUIThread();
-		assertTableItemOrder(table, class1, class2, class3);
-		// down
+		assertTableItemOrder(table, attribute1, attribute2, attribute3);
+		assertEquals(SWT.DOWN, table.getSortDirection()); // SWT.DOWN := ascending sorting
+		// descending
 		SWTTestUtil.selectWidget(table.getColumns()[1]);
 		SWTTestUtil.waitForUIThread();
-		assertTableItemOrder(table, class3, class2, class1);
+		assertTableItemOrder(table, attribute3, attribute2, attribute1);
+		assertEquals(SWT.UP, table.getSortDirection()); // SWT.UP := descending sorting
 		// none
 		SWTTestUtil.selectWidget(table.getColumns()[1]);
 		SWTTestUtil.waitForUIThread();
-		assertTableItemOrder(table, class1, class2, class3);
+		assertTableItemOrder(table, attribute1, attribute2, attribute3);
+		assertEquals(SWT.NONE, table.getSortDirection());
 
 		// select column 2
-		// up
+		// ascending
 		SWTTestUtil.selectWidget(table.getColumns()[2]);
 		SWTTestUtil.waitForUIThread();
-		assertTableItemOrder(table, class3, class1, class2);
-		// down
+		assertTableItemOrder(table, attribute3, attribute1, attribute2);
+		assertEquals(SWT.DOWN, table.getSortDirection()); // SWT.DOWN := ascending sorting
+		// descending
 		SWTTestUtil.selectWidget(table.getColumns()[2]);
 		SWTTestUtil.waitForUIThread();
-		assertTableItemOrder(table, class2, class1, class3);
+		assertTableItemOrder(table, attribute2, attribute1, attribute3);
+		assertEquals(SWT.UP, table.getSortDirection()); // SWT.UP := descending sorting
 		// none
 		SWTTestUtil.selectWidget(table.getColumns()[2]);
 		SWTTestUtil.waitForUIThread();
-		assertTableItemOrder(table, class1, class2, class3);
+		assertTableItemOrder(table, attribute1, attribute2, attribute3);
+		assertEquals(SWT.NONE, table.getSortDirection());
 	}
 
 	@Test
 	public void testTableSortingWithCellEditor() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption,
 		EMFFormsNoRendererException {
 		// domain
-		((EClass) domainElement).getESuperTypes().clear();
-		final EClass class1 = createEClass("a", "b");
-		final EClass class2 = createEClass("b", "c");
-		final EClass class3 = createEClass("c", "a");
-		((EClass) domainElement).getESuperTypes().add(class1);
-		((EClass) domainElement).getESuperTypes().add(class2);
-		((EClass) domainElement).getESuperTypes().add(class3);
+		((EClass) domainElement).getEStructuralFeatures().clear();
+		final EAttribute attribute1 = createEAttribute("a", EcorePackage.Literals.ESTRING, 0, 2);
+		final EAttribute attribute2 = createEAttribute("b", EcorePackage.Literals.ESTRING, 0, 11);
+		final EAttribute attribute3 = createEAttribute("c", EcorePackage.Literals.ESTRING, 0, 1);
+		((EClass) domainElement).getEStructuralFeatures().add(attribute1);
+		((EClass) domainElement).getEStructuralFeatures().add(attribute2);
+		((EClass) domainElement).getEStructuralFeatures().add(attribute3);
 
 		// table control
 		final VTableControl tableControl = TableTestUtil.createTableControl();
 		final VTableDomainModelReference tableDMR = (VTableDomainModelReference) tableControl.getDomainModelReference();
-		tableDMR.setDomainModelEFeature(EcorePackage.eINSTANCE.getEClass_ESuperTypes());
+		tableDMR.setDomainModelEFeature(EcorePackage.eINSTANCE.getEClass_EAttributes());
 		tableDMR.getColumnDomainModelReferences().add(createDMR(EcorePackage.eINSTANCE.getENamedElement_Name()));
 		tableDMR.getColumnDomainModelReferences().add(
-			createDMR(EcorePackage.eINSTANCE.getEClassifier_InstanceClassName()));
+			createDMR(EcorePackage.eINSTANCE.getETypedElement_UpperBound()));
 
 		// render
 		final TableControlSWTRenderer tableRenderer = createRendererInstanceWithCustomCellEditor(tableControl);
@@ -557,37 +584,101 @@
 			fail("No control was rendered");
 		}
 		final Table table = SWTTestUtil.findControl(control, 0, Table.class);
-		assertTableItemOrder(table, class1, class2, class3);
+		assertTableItemOrder(table, attribute1, attribute2, attribute3);
 
 		// column 0 is validation column
 
-		// select column 1
-		// up
+		// select column 1; for this the sort orders are inverted due to the custom cell editor
+		// ascending configured -> results in descending sorting
 		SWTTestUtil.selectWidget(table.getColumns()[1]);
 		SWTTestUtil.waitForUIThread();
-		assertTableItemOrder(table, class3, class2, class1);
-		// down
+		assertTableItemOrder(table, attribute3, attribute2, attribute1);
+		assertEquals(SWT.DOWN, table.getSortDirection()); // SWT.DOWN := ascending sorting
+		// descending configured -> results in ascending sorting
 		SWTTestUtil.selectWidget(table.getColumns()[1]);
 		SWTTestUtil.waitForUIThread();
-		assertTableItemOrder(table, class1, class2, class3);
+		assertTableItemOrder(table, attribute1, attribute2, attribute3);
+		assertEquals(SWT.UP, table.getSortDirection()); // SWT.UP := descending sorting
 		// none
 		SWTTestUtil.selectWidget(table.getColumns()[1]);
 		SWTTestUtil.waitForUIThread();
-		assertTableItemOrder(table, class1, class2, class3);
+		assertTableItemOrder(table, attribute1, attribute2, attribute3);
+		assertEquals(SWT.NONE, table.getSortDirection());
 
-		// select column 2
-		// up
+		// select column 2; no custom cell editor registered => should sort normally
+		// ascending
 		SWTTestUtil.selectWidget(table.getColumns()[2]);
 		SWTTestUtil.waitForUIThread();
-		assertTableItemOrder(table, class3, class1, class2);
-		// down
+		assertTableItemOrder(table, attribute3, attribute1, attribute2);
+		assertEquals(SWT.DOWN, table.getSortDirection()); // SWT.DOWN := ascending sorting
+		// descending
 		SWTTestUtil.selectWidget(table.getColumns()[2]);
 		SWTTestUtil.waitForUIThread();
-		assertTableItemOrder(table, class2, class1, class3);
+		assertTableItemOrder(table, attribute2, attribute1, attribute3);
+		assertEquals(SWT.UP, table.getSortDirection()); // SWT.UP := descending sorting
 		// none
 		SWTTestUtil.selectWidget(table.getColumns()[2]);
 		SWTTestUtil.waitForUIThread();
-		assertTableItemOrder(table, class1, class2, class3);
+		assertTableItemOrder(table, attribute1, attribute2, attribute3);
+		assertEquals(SWT.NONE, table.getSortDirection());
+	}
+
+	@Test
+	public void tableSorting_autoSortOnEdit()
+		throws EMFFormsNoRendererException, NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+		// domain
+		((EClass) domainElement).getEStructuralFeatures().clear();
+		final EAttribute attribute1 = createEAttribute("a", EcorePackage.Literals.ESTRING, 0, 2);
+		final EAttribute attribute2 = createEAttribute("b", EcorePackage.Literals.ESTRING, 0, 11);
+		final EAttribute attribute3 = createEAttribute("c", EcorePackage.Literals.ESTRING, 0, 1);
+		((EClass) domainElement).getEStructuralFeatures().add(attribute1);
+		((EClass) domainElement).getEStructuralFeatures().add(attribute2);
+		((EClass) domainElement).getEStructuralFeatures().add(attribute3);
+
+		// table control
+		final VTableControl tableControl = TableTestUtil.createTableControl();
+		final VTableDomainModelReference tableDMR = (VTableDomainModelReference) tableControl.getDomainModelReference();
+		tableDMR.setDomainModelEFeature(EcorePackage.eINSTANCE.getEClass_EAttributes());
+		tableDMR.getColumnDomainModelReferences().add(createDMR(EcorePackage.eINSTANCE.getENamedElement_Name()));
+		tableDMR.getColumnDomainModelReferences().add(
+			createDMR(EcorePackage.eINSTANCE.getETypedElement_UpperBound()));
+
+		// render
+		shell.open();
+		// With this shell size, the table will be 77 pixels high and show 2 rows
+		shell.setSize(200, 150);
+		final Control control = SWTViewTestHelper.render(tableControl, domainElement, shell);
+		if (control == null) {
+			fail("No control was rendered");
+		}
+		shell.layout();
+		final Table table = SWTTestUtil.findControl(control, 0, Table.class);
+
+		// column 0 is validation column
+		// select column 1 (name) and ascending sorting
+		SWTTestUtil.selectWidget(table.getColumns()[1]);
+		SWTTestUtil.waitForUIThread();
+		assertTableItemOrder(table, attribute1, attribute2, attribute3);
+		assertEquals(SWT.DOWN, table.getSortDirection()); // SWT.DOWN := ascending sorting
+
+		// Change the attribute the sorting is currently applied on and assert that the table was automatically
+		// re-sorted
+		attribute1.setName("z");
+		SWTTestUtil.waitForUIThread();
+		assertTableItemOrder(table, attribute2, attribute3, attribute1);
+
+		final TableItem sortItem = table.getItem(2);
+		// Calculate the lower item bound relative to the table. We need to add the header height because the y
+		// coordinates of the table items start at the lower end of the header but the header height is included in the
+		// table height.
+		final int itemLowerEnd = sortItem.getBounds().y + sortItem.getBounds().height + table.getHeaderHeight();
+		// Assert that the edited table item was revealed after it had been moved to the end of the table.
+		assertThat(
+			"The edited table item is not fully visible after the auto sort because the table didn't scroll down.",
+			itemLowerEnd, lessThan(table.getBounds().height));
+		assertThat(
+			"The edited table item is not fully visible after the auto sort because the table is scrolled too far down.",
+			sortItem.getBounds().y, greaterThanOrEqualTo(0));
 	}
 
 	@Test
@@ -614,6 +705,50 @@
 	}
 
 	@Test
+	public void testTable_unchangeableFeature_doNotRenderButtons()
+		throws NoRendererFoundException, NoPropertyDescriptorFoundExeption,
+		EMFFormsNoRendererException {
+		// setup model, we need a feature that is unchangeable
+		final VTableControl tableControl = VTableFactory.eINSTANCE.createTableControl();
+		final VTableDomainModelReference tableDmr = VTableFactory.eINSTANCE.createTableDomainModelReference();
+		final VFeaturePathDomainModelReference dmr = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
+		final VMultiDomainModelReferenceSegment segment = VMultisegmentFactory.eINSTANCE
+			.createMultiDomainModelReferenceSegment();
+		segment.setDomainModelFeature("eReferences");
+		dmr.getSegments().add(segment);
+		tableDmr.setDomainModelReference(dmr);
+		final VFeaturePathDomainModelReference columnDmr = VViewFactory.eINSTANCE
+			.createFeaturePathDomainModelReference();
+		final VFeatureDomainModelReferenceSegment columnSegment = VViewFactory.eINSTANCE
+			.createFeatureDomainModelReferenceSegment();
+		columnDmr.getSegments().add(columnSegment);
+		segment.getChildDomainModelReferences().add(columnDmr);
+		tableControl.setDomainModelReference(tableDmr);
+		tableControl.setDuplicateDisabled(false);
+		tableControl.setMoveUpDownDisabled(false);
+		tableControl.setAddRemoveDisabled(false);
+
+		shell.open();
+		final RendererResult result = SWTViewTestHelper.renderControl(tableControl, domainElement, shell);
+		assertTrue(result.getControl().isPresent() && result.getControl().get() instanceof Composite);
+
+		final TableControlSWTRenderer swtRenderer = TableControlSWTRenderer.class.cast(result.getRenderer());
+
+		final Optional<Control> addRowButton = swtRenderer.getControlForAction(AddRowAction.ACTION_ID);
+		final Optional<Control> removeRowButton = swtRenderer.getControlForAction(RemoveRowAction.ACTION_ID);
+		final Optional<Control> duplicateRowButton = swtRenderer.getControlForAction(DuplicateRowAction.ACTION_ID);
+		final Optional<Control> moveRowUpButton = swtRenderer.getControlForAction(MoveRowUpAction.ACTION_ID);
+		final Optional<Control> moveRowDownButton = swtRenderer.getControlForAction(MoveRowDownAction.ACTION_ID);
+
+		// If the feature is unchangeable, the buttons that allow to change the feature must not be rendered
+		assertFalse(addRowButton.isPresent());
+		assertFalse(removeRowButton.isPresent());
+		assertFalse(duplicateRowButton.isPresent());
+		assertFalse(moveRowUpButton.isPresent());
+		assertFalse(moveRowDownButton.isPresent());
+	}
+
+	@Test
 	public void testTable_AddRow_WithTableService() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption,
 		EMFFormsNoRendererException {
 		// setup model
@@ -890,6 +1025,99 @@
 		assertEquals("The tool tip text should be empty.", "", validationIcon.getToolTipText());
 	}
 
+	/**
+	 * Test that on validation status changes the table renderer does not update the entire
+	 * table but only the rows that have validation changes.
+	 *
+	 * @see <a href="http://eclip.se/544116">bug 544116</a>
+	 */
+	@Test
+	public void testValidationUpdates() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption,
+		EMFFormsNoRendererException {
+
+		// domain
+		((EClass) domainElement).getEStructuralFeatures().clear();
+		final EAttribute attribute1 = createEAttribute("a", EcorePackage.Literals.ESTRING, 0, 2);
+		final EAttribute attribute2 = createEAttribute("b", EcorePackage.Literals.ESTRING, 0, 11);
+		final EAttribute attribute3 = createEAttribute("c", EcorePackage.Literals.ESTRING, 0, 1);
+		final EAttribute attribute4 = createEAttribute("d", EcorePackage.Literals.ESTRING, 0, 1);
+		((EClass) domainElement).getEStructuralFeatures().add(attribute1);
+		((EClass) domainElement).getEStructuralFeatures().add(attribute2);
+		((EClass) domainElement).getEStructuralFeatures().add(attribute3);
+		((EClass) domainElement).getEStructuralFeatures().add(attribute4);
+
+		// table control
+		final VTableControl tableControl = TableTestUtil.createTableControl();
+		final VTableDomainModelReference tableDMR = (VTableDomainModelReference) tableControl.getDomainModelReference();
+		tableDMR.setDomainModelEFeature(EcorePackage.eINSTANCE.getEClass_EAttributes());
+		tableDMR.getColumnDomainModelReferences().add(createDMR(EcorePackage.eINSTANCE.getENamedElement_Name()));
+		tableDMR.getColumnDomainModelReferences().add(
+			createDMR(EcorePackage.eINSTANCE.getETypedElement_UpperBound()));
+
+		// render
+		final ViewModelContext context = new ViewModelContextImpl(tableControl, domainElement);
+		final List<String> requestedCells = new ArrayList<>();
+		final TableControlSWTRenderer tableRenderer = new TableControlSWTRenderer(tableControl, context,
+			context.getService(ReportService.class),
+			context.getService(EMFFormsDatabindingEMF.class),
+			context.getService(EMFFormsLabelProvider.class),
+			context.getService(VTViewTemplateProvider.class),
+			context.getService(ImageRegistryService.class),
+			context.getService(EMFFormsEditSupport.class)) {
+
+			@Override
+			protected CellLabelProvider createCellLabelProvider(EStructuralFeature feature, CellEditor cellEditor,
+				@SuppressWarnings("rawtypes") IObservableMap attributeMap, VTableControl vTableControl,
+				VDomainModelReference dmr,
+				Control table) {
+
+				if (feature == EcorePackage.Literals.ENAMED_ELEMENT__NAME) {
+					final StringCellEditor editor = new StringCellEditor() {
+						@Override
+						public String getFormatedString(Object value) {
+							requestedCells.add((String) value);
+							return super.getFormatedString(value);
+						}
+					};
+					cellEditor = editor;
+				}
+				return super.createCellLabelProvider(feature, cellEditor, attributeMap, vTableControl, dmr, table);
+			}
+		};
+		tableRenderer.init();
+		tableRenderer.getGridDescription(new SWTGridDescription());
+		final Control control = tableRenderer.render(new SWTGridCell(0, 0, tableRenderer), shell);
+		if (control == null) {
+			fail("No control was rendered");
+		}
+		tableRenderer.finalizeRendering(shell);
+
+		// Initialize the validation status
+		VDiagnostic vdiag = VViewFactory.eINSTANCE.createDiagnostic();
+		Diagnostic diag = new BasicDiagnostic(Diagnostic.ERROR, "source", 0, "error",
+			new Object[] { attribute2, EcorePackage.Literals.ETYPED_ELEMENT__ETYPE });
+		vdiag.getDiagnostics().add(diag);
+		tableControl.setDiagnostic(vdiag);
+
+		SWTTestUtil.waitForUIThread();
+
+		// Reset our tracking of accessed cells
+		requestedCells.clear();
+
+		// Update the validation results
+		vdiag = VViewFactory.eINSTANCE.createDiagnostic();
+		diag = new BasicDiagnostic(Diagnostic.ERROR, "source", 0, "error",
+			// A different object than the initial validation status
+			new Object[] { attribute3, EcorePackage.Literals.ETYPED_ELEMENT__ETYPE });
+		vdiag.getDiagnostics().add(diag);
+		tableControl.setDiagnostic(vdiag);
+
+		SWTTestUtil.waitForUIThread();
+
+		// Notably, we updated these two rows in order and *neither* "a" nor "d"
+		assertThat(requestedCells, equalTo(Arrays.asList("b", "c")));
+	}
+
 	@Test
 	public void testTable_validationColumnImage()
 		throws NoRendererFoundException, NoPropertyDescriptorFoundExeption, EMFFormsNoRendererException {
@@ -1000,6 +1228,15 @@
 		return clazz;
 	}
 
+	private static EAttribute createEAttribute(String name, EClassifier classifier, int lowerBound, int upperBound) {
+		final EAttribute attribute = EcoreFactory.eINSTANCE.createEAttribute();
+		attribute.setName(name);
+		attribute.setEType(classifier);
+		attribute.setLowerBound(lowerBound);
+		attribute.setUpperBound(upperBound);
+		return attribute;
+	}
+
 	private static VFeaturePathDomainModelReference createDMR(EAttribute attribute, EReference... refs) {
 		final VFeaturePathDomainModelReference dmr = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
 		dmr.setDomainModelEFeature(attribute);
diff --git a/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlDetailPanelRenderer_PTest.java b/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlDetailPanelRenderer_PTest.java
index 9d897b2..8acb1ae 100644
--- a/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlDetailPanelRenderer_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlDetailPanelRenderer_PTest.java
@@ -11,30 +11,48 @@
  ******************************************************************************/
 package org.eclipse.emf.ecp.view.spi.table.swt;
 
+import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 import static org.mockito.Matchers.any;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
+import java.text.MessageFormat;
+
 import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EReference;
 import org.eclipse.emf.ecore.EcoreFactory;
+import org.eclipse.emf.ecore.EcorePackage;
 import org.eclipse.emf.ecore.util.EcoreUtil;
 import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
 import org.eclipse.emf.ecp.view.spi.model.VElement;
 import org.eclipse.emf.ecp.view.spi.model.VView;
 import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
+import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
+import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
+import org.eclipse.emf.ecp.view.spi.table.model.DetailEditing;
 import org.eclipse.emf.ecp.view.spi.table.model.VTableControl;
 import org.eclipse.emf.ecp.view.spi.util.swt.ImageRegistryService;
+import org.eclipse.emf.ecp.view.table.test.common.TableControlHandle;
+import org.eclipse.emf.ecp.view.table.test.common.TableTestUtil;
 import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
 import org.eclipse.emf.ecp.view.test.common.swt.spi.DatabindingClassRunner;
 import org.eclipse.emf.ecp.view.test.common.swt.spi.SWTViewTestHelper;
+import org.eclipse.emf.ecp.view.test.common.swt.spi.SWTViewTestHelper.RendererResult;
 import org.eclipse.emfforms.spi.common.report.ReportService;
 import org.eclipse.emfforms.spi.core.services.databinding.emf.EMFFormsDatabindingEMF;
 import org.eclipse.emfforms.spi.core.services.editsupport.EMFFormsEditSupport;
 import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsNoRendererException;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.ScrolledComposite;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Shell;
 import org.junit.After;
 import org.junit.Before;
@@ -51,10 +69,15 @@
 public class TableControlDetailPanelRenderer_PTest {
 
 	private Shell shell;
+	private EObject domainElement;
 
 	@Before
 	public void setUp() {
 		shell = SWTViewTestHelper.createShell();
+
+		final EClass eClass = EcoreFactory.eINSTANCE.createEClass();
+		eClass.getESuperTypes().add(EcorePackage.eINSTANCE.getEClass());
+		domainElement = eClass;
 	}
 
 	@After
@@ -246,6 +269,42 @@
 		assertTrue(detailView.isReadonly());
 	}
 
+	/**
+	 * Tests that a horizontal and vertical scrollbar appears if the detail is to small.
+	 */
+	@Test
+	public void testScroll() throws NoRendererFoundException,
+		NoPropertyDescriptorFoundExeption, EMFFormsNoRendererException {
+		shell.open();
+		// the height is needed as the scrolledcomposite is not visible otherwise
+		shell.setSize(100, 350);
+		// setup model
+		final TableControlHandle handle = TableTestUtil.createInitializedTableWithoutTableColumns();
+		handle.getTableControl().setDetailEditing(DetailEditing.WITH_PANEL);
+		//
+		final RendererResult renderControl = SWTViewTestHelper.renderControl(handle.getTableControl(), domainElement,
+			shell);
+		shell.layout();
+		final TableViewer tableViewer = TableRendererTestUtil.getTableViewerFromRenderer(renderControl.getRenderer());
+		final Control render = renderControl.getControl().get();
+		assertTrue(render instanceof Composite);
+		final Composite border = getChild(getChild(render, Composite.class, 0), Composite.class, 1);
+		assertEquals("The table and detail should be surrounded by a common border", SWT.BORDER,
+			border.getStyle() & SWT.BORDER);
+		tableViewer.setSelection(new StructuredSelection(tableViewer.getElementAt(0)));
+		final ScrolledComposite scrolledComposite = getChild(border, ScrolledComposite.class, 1);
+		assertFalse(scrolledComposite.getAlwaysShowScrollBars());
+		assertTrue(scrolledComposite.getHorizontalBar().isVisible());
+		assertTrue(scrolledComposite.getVerticalBar().isVisible());
+
+		// modify shell to force no scroll
+		shell.setSize(1000, 1000);
+		assertFalse(scrolledComposite.getHorizontalBar().isVisible());
+		assertFalse(scrolledComposite.getVerticalBar().isVisible());
+
+		shell.close();
+	}
+
 	private ViewModelContext mockViewModelContext(final VView detailView, final EObject domainObject) {
 		final ViewModelContext context = mock(ViewModelContext.class);
 		final ViewModelContext childContext = mock(ViewModelContext.class);
@@ -256,4 +315,14 @@
 			.thenReturn(childContext);
 		return context;
 	}
+
+	private <T> T getChild(Control parent, Class<T> type, int index) {
+		assertTrue(MessageFormat.format("The Control {0} is not a composite => No children can be retrieved", parent),
+			parent instanceof Composite);
+		final Composite composite = (Composite) parent;
+		final Control child = composite.getChildren()[index];
+		assertTrue(MessageFormat.format("Child {0} is not of required type {1}", child, type.getName()),
+			type.isInstance(child));
+		return type.cast(child);
+	}
 }
diff --git a/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlSWTRendererPerformance_PTest.java b/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlSWTRendererPerformance_PTest.java
new file mode 100644
index 0000000..14c9ac1
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlSWTRendererPerformance_PTest.java
@@ -0,0 +1,171 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.spi.table.swt;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
+
+import java.util.Arrays;
+import java.util.Random;
+import java.util.function.Consumer;
+
+import org.eclipse.emf.common.command.BasicCommandStack;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcoreFactory;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecp.test.common.PerformanceClock;
+import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
+import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
+import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
+import org.eclipse.emf.ecp.view.spi.table.model.VTableControl;
+import org.eclipse.emf.ecp.view.spi.table.model.VTableDomainModelReference;
+import org.eclipse.emf.ecp.view.table.test.common.TableTestUtil;
+import org.eclipse.emf.ecp.view.test.common.swt.spi.DatabindingClassRunner;
+import org.eclipse.emf.ecp.view.test.common.swt.spi.SWTTestUtil;
+import org.eclipse.emf.ecp.view.test.common.swt.spi.SWTViewTestHelper;
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsNoRendererException;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Table;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/**
+ * Performance tests for the {@link TableControlSWTRenderer}.
+ *
+ * @author Lucas Koehler
+ *
+ */
+@RunWith(DatabindingClassRunner.class)
+public class TableControlSWTRendererPerformance_PTest {
+
+	private static final int SMALL_SCALE = 50;
+	private static final int LARGE_SCALE = 2000;
+	// sorting takes O(n*log n)
+	private static final int ITERATIONS = 8;
+	private static final double WORST_CASE_MULTIPLIER = 20.0;
+
+	private Shell shell;
+	private ComposedAdapterFactory adapterFactory;
+	private Resource smallResource;
+	private Resource largeResource;
+
+	@Before
+	public void init() {
+		shell = SWTViewTestHelper.createShell();
+
+		// Add domain element to resource with editing domain
+		final ResourceSetImpl rs = new ResourceSetImpl();
+		adapterFactory = new ComposedAdapterFactory(new AdapterFactory[] {
+			new ReflectiveItemProviderAdapterFactory(),
+			new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE) });
+		final AdapterFactoryEditingDomain editingDomain = new AdapterFactoryEditingDomain(
+			adapterFactory, new BasicCommandStack(), rs);
+		rs.eAdapters().add(new AdapterFactoryEditingDomain.EditingDomainProvider(editingDomain));
+		smallResource = rs.createResource(URI.createURI("VIRTUAL_SMALL"));
+		largeResource = rs.createResource(URI.createURI("VIRTUAL_BIG"));
+	}
+
+	@After
+	public void after() {
+		adapterFactory.dispose();
+		if (shell != null && !shell.isDisposed()) {
+			shell.dispose();
+		}
+	}
+
+	@Test
+	public void tableSorting_autoSortOnEdit()
+		throws EMFFormsNoRendererException, NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+
+		// table control
+		final VTableControl tableControl = TableTestUtil.createTableControl();
+		final VTableDomainModelReference tableDMR = (VTableDomainModelReference) tableControl.getDomainModelReference();
+		tableDMR.setDomainModelEFeature(EcorePackage.eINSTANCE.getEClass_EAttributes());
+		tableDMR.getColumnDomainModelReferences().add(createDMR(EcorePackage.eINSTANCE.getENamedElement_Name()));
+
+		// render
+		shell.open();
+
+		test(domain -> {
+			Control control = null;
+			try {
+				control = SWTViewTestHelper.render(tableControl, domain, shell);
+			} catch (NoRendererFoundException | NoPropertyDescriptorFoundExeption | EMFFormsNoRendererException ex) {
+				fail("An exception occurred while rendering the table: " + ex.getMessage());
+			}
+			if (control == null) {
+				fail("No control was rendered");
+			}
+			final Table table = SWTTestUtil.findControl(control, 0, Table.class);
+
+			// column 0 is validation column
+			// select column 1 (name) and ascending sorting
+			SWTTestUtil.selectWidget(table.getColumns()[1]);
+			SWTTestUtil.waitForUIThread();
+			assertEquals(SWT.DOWN, table.getSortDirection()); // SWT.DOWN := ascending sorting
+
+			final EAttribute start = (EAttribute) table.getItem(0).getData();
+			start.setName("zzz");
+
+			final EAttribute middle = (EAttribute) table.getItem(table.getItemCount() / 2).getData();
+			middle.setName("aaa");
+		});
+	}
+
+	private void test(Consumer<EClass> experiment) {
+		final EClass smallInput = generateInput(SMALL_SCALE);
+		smallResource.getContents().clear();
+		smallResource.getContents().add(smallInput);
+		final EClass largeInput = generateInput(LARGE_SCALE);
+		largeResource.getContents().clear();
+		largeResource.getContents().add(largeInput);
+		PerformanceClock.test(ITERATIONS, WORST_CASE_MULTIPLIER, () -> smallInput, () -> largeInput, experiment);
+	}
+
+	private static EClass generateInput(int childCount) {
+		final EClass eClass = EcoreFactory.eINSTANCE.createEClass();
+		final Random random = new Random(System.nanoTime());
+		final int nameLength = 10;
+		for (int i = 0; i < childCount; i++) {
+			final char[] result = new char[nameLength];
+			for (int j = 0; j < nameLength; j++) {
+				result[j] = (char) (random.nextInt('z' - 'A') + 'A');
+			}
+			final EAttribute attribute = EcoreFactory.eINSTANCE.createEAttribute();
+			attribute.setEType(EcorePackage.Literals.ESTRING);
+			attribute.setName(new String(result));
+			eClass.getEStructuralFeatures().add(attribute);
+		}
+		return eClass;
+	}
+
+	private static VFeaturePathDomainModelReference createDMR(EAttribute attribute, EReference... refs) {
+		final VFeaturePathDomainModelReference dmr = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
+		dmr.setDomainModelEFeature(attribute);
+		dmr.getDomainModelEReferencePath().addAll(Arrays.asList(refs));
+		return dmr;
+	}
+}
diff --git a/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlSWTRenderer_ITest.java b/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlSWTRenderer_ITest.java
index 5c4d13e..5159b49 100644
--- a/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlSWTRenderer_ITest.java
+++ b/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlSWTRenderer_ITest.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2018 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -8,6 +8,7 @@
  *
  * Contributors:
  * remi - initial API and implementation
+ * Christian W. Damus - add test for null inputs to applyValidation(...)
  ******************************************************************************/
 package org.eclipse.emf.ecp.view.spi.table.swt;
 
@@ -16,13 +17,24 @@
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.notNullValue;
 import static org.hamcrest.Matchers.nullValue;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.doCallRealMethod;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import java.lang.reflect.Field;
 import java.util.HashSet;
 import java.util.Set;
+import java.util.function.BiConsumer;
+import java.util.function.Function;
 
+import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.emf.common.util.ECollections;
 import org.eclipse.emf.databinding.EMFObservables;
 import org.eclipse.emf.databinding.EMFProperties;
 import org.eclipse.emf.databinding.EObjectObservableValue;
@@ -38,10 +50,13 @@
 import org.eclipse.emf.ecp.view.model.common.AbstractRenderer;
 import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
 import org.eclipse.emf.ecp.view.spi.model.LabelAlignment;
+import org.eclipse.emf.ecp.view.spi.model.VDiagnostic;
 import org.eclipse.emf.ecp.view.spi.model.VElement;
 import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
 import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
 import org.eclipse.emf.ecp.view.spi.table.model.VTableControl;
+import org.eclipse.emf.ecp.view.spi.table.swt.TableControlSWTRenderer.ECPTableEditingSupport;
+import org.eclipse.emf.ecp.view.spi.table.swt.TableControlSWTRenderer.ECPTableEditingSupport.EditingState;
 import org.eclipse.emf.ecp.view.spi.util.swt.ImageRegistryService;
 import org.eclipse.emf.ecp.view.template.model.VTStyleProperty;
 import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
@@ -57,6 +72,7 @@
 import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
 import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
 import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
+import org.eclipse.jface.viewers.TableViewer;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -235,6 +251,132 @@
 		assertMainCell(gridDescription.getGrid().get(1));
 	}
 
+	@Test
+	public void isUpdateNeeded_BothNull_ReturnFalse() {
+		/* setup */
+		final TableViewer tblViewer = mock(TableViewer.class);
+		final TableControlSWTRenderer renderer = mock(TableControlSWTRenderer.class);
+		final IObservableValue<?> target = mock(IObservableValue.class);
+		when(target.getValue()).thenReturn(null);
+		final IObservableValue<?> model = mock(IObservableValue.class);
+		when(model.getValue()).thenReturn(null);
+		final ECPTableEditingSupport editingSupport = renderer.new ECPTableEditingSupport(tblViewer, null, null, null);
+		final EditingState state = editingSupport.new EditingState(null, target, model);
+		/* act */
+		final boolean updateNeeded = state.isUpdateNeeded();
+		/* assert */
+		assertFalse(updateNeeded);
+	}
+
+	@Test
+	public void isUpdateNeeded_OnlyModelNull_ReturnTrue() {
+		/* setup */
+		final TableViewer tblViewer = mock(TableViewer.class);
+		final TableControlSWTRenderer renderer = mock(TableControlSWTRenderer.class);
+		@SuppressWarnings("unchecked")
+		final IObservableValue<Object> target = mock(IObservableValue.class);
+		when(target.getValue()).thenReturn(new Object());
+		final IObservableValue<?> model = mock(IObservableValue.class);
+		when(model.getValue()).thenReturn(null);
+		final ECPTableEditingSupport editingSupport = renderer.new ECPTableEditingSupport(tblViewer, null, null, null);
+		final EditingState state = editingSupport.new EditingState(null, target, model);
+		/* act */
+		final boolean updateNeeded = state.isUpdateNeeded();
+		/* assert */
+		assertTrue(updateNeeded);
+	}
+
+	@Test
+	public void isUpdateNeeded_TargetModelNull_ReturnTrue() {
+		/* setup */
+		final TableViewer tblViewer = mock(TableViewer.class);
+		final TableControlSWTRenderer renderer = mock(TableControlSWTRenderer.class);
+		@SuppressWarnings("unchecked")
+		final IObservableValue<Object> target = mock(IObservableValue.class);
+		when(target.getValue()).thenReturn(null);
+		@SuppressWarnings("unchecked")
+		final IObservableValue<Object> model = mock(IObservableValue.class);
+		when(model.getValue()).thenReturn(new Object());
+		final ECPTableEditingSupport editingSupport = renderer.new ECPTableEditingSupport(tblViewer, null, null, null);
+		final EditingState state = editingSupport.new EditingState(null, target, model);
+		/* act */
+		final boolean updateNeeded = state.isUpdateNeeded();
+		/* assert */
+		assertTrue(updateNeeded);
+	}
+
+	@Test
+	public void isUpdateNeeded_Same_ReturnFalse() {
+		/* setup */
+		final TableViewer tblViewer = mock(TableViewer.class);
+		final TableControlSWTRenderer renderer = mock(TableControlSWTRenderer.class);
+		@SuppressWarnings("unchecked")
+		final IObservableValue<String> target = mock(IObservableValue.class);
+		when(target.getValue()).thenReturn("VALUE");
+		@SuppressWarnings("unchecked")
+		final IObservableValue<String> model = mock(IObservableValue.class);
+		when(model.getValue()).thenReturn("VALUE");
+		final ECPTableEditingSupport editingSupport = renderer.new ECPTableEditingSupport(tblViewer, null, null, null);
+		final EditingState state = editingSupport.new EditingState(null, target, model);
+		/* act */
+		final boolean updateNeeded = state.isUpdateNeeded();
+		/* assert */
+		assertFalse(updateNeeded);
+	}
+
+	/**
+	 * Simple test to verify that the {@link TableControlSWTRenderer#applyValidation(VDiagnostic, VDiagnostic)}
+	 * method does not NPE on {@code null} inputs.
+	 */
+	@Test
+	public void applyValidation_VDiagnostic_VDiagnostic() {
+		final TableControlSWTRenderer fixture = spy(
+			new TableControlSWTRenderer(vElement, viewContext, reportService, emfFormsDatabinding,
+				emfFormsLabelProvider, vtViewTemplateProvider, imageRegistryService, emfFormsEditSupport));
+		doCallRealMethod().when(fixture).applyValidation(any(), any());
+
+		final Function<Boolean, VDiagnostic> diagnosticFactory = isNull -> {
+			VDiagnostic result = null;
+
+			if (!isNull) {
+				result = mock(VDiagnostic.class);
+				when(result.getDiagnostics()).thenReturn(ECollections.emptyEList());
+			}
+
+			return result;
+		};
+
+		final BiConsumer<Boolean, Boolean> testScenario = (oldIsNull, newIsNull) -> {
+			final VDiagnostic oldDiagnostic = diagnosticFactory.apply(oldIsNull);
+			final VDiagnostic newDiagnostic = diagnosticFactory.apply(newIsNull);
+
+			try {
+				fixture.applyValidation(oldDiagnostic, newDiagnostic);
+				if (oldDiagnostic != null) {
+					verify(oldDiagnostic).getDiagnostics();
+				}
+				if (newDiagnostic != null) {
+					verify(newDiagnostic).getDiagnostics();
+				}
+			} catch (final NullPointerException e) {
+				e.printStackTrace();
+				fail("Should not have got NPE");
+			}
+		};
+
+		// Case of old is not null, new is not null
+		testScenario.accept(false, false);
+
+		// Case of old is null, new is not null
+		testScenario.accept(true, false);
+
+		// Case of old is not null, new is null
+		testScenario.accept(false, true);
+
+		// Case of old is null, new is null
+		testScenario.accept(true, true);
+	}
+
 	private void assertLabelCell(SWTGridCell labelCell) {
 		assertThat(labelCell.getPreferredSize(), nullValue());
 		assertThat(labelCell.isHorizontalGrab(), is(false));
diff --git a/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/spi/table/swt/TableRendererTestUtil.java b/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/spi/table/swt/TableRendererTestUtil.java
new file mode 100644
index 0000000..d0309e3
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/spi/table/swt/TableRendererTestUtil.java
@@ -0,0 +1,52 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.spi.table.swt;
+
+import static org.junit.Assert.fail;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.jface.viewers.TableViewer;
+
+/**
+ * Util for Table Tests.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public final class TableRendererTestUtil {
+
+	private TableRendererTestUtil() {
+	}
+
+	public static TableViewer getTableViewerFromRenderer(AbstractSWTRenderer<VElement> renderer) {
+		try {
+			final Method method = TableControlSWTRenderer.class.getDeclaredMethod("getTableViewer");
+			method.setAccessible(true);
+			return (TableViewer) method.invoke(renderer);
+		} catch (final NoSuchMethodException ex) {
+			fail(ex.getMessage());
+		} catch (final SecurityException ex) {
+			fail(ex.getMessage());
+		} catch (final IllegalAccessException ex) {
+			fail(ex.getMessage());
+		} catch (final IllegalArgumentException ex) {
+			fail(ex.getMessage());
+		} catch (final InvocationTargetException ex) {
+			fail(ex.getMessage());
+		}
+		return null;
+	}
+}
diff --git a/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/table/ui/swt/test/AllTests.java b/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/table/ui/swt/test/AllTests.java
index 694eea4..96e2d17 100644
--- a/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/table/ui/swt/test/AllTests.java
+++ b/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/table/ui/swt/test/AllTests.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -9,6 +9,7 @@
  * Contributors:
  * Jonas - initial API and implementation
  * Lucas Koehler - added SWTTable_Test
+ * Christian W. Damus - add TableControlSWTRenderer_ITest
  ******************************************************************************/
 package org.eclipse.emf.ecp.view.table.ui.swt.test;
 
@@ -17,13 +18,18 @@
 import org.eclipse.emf.ecp.view.spi.table.swt.SWTTableDatabindingLabel_PTest;
 import org.eclipse.emf.ecp.view.spi.table.swt.SWTTable_PTest;
 import org.eclipse.emf.ecp.view.spi.table.swt.TableControlDetailPanelRenderer_PTest;
+import org.eclipse.emf.ecp.view.spi.table.swt.TableControlSWTRendererPerformance_PTest;
+import org.eclipse.emf.ecp.view.spi.table.swt.TableControlSWTRenderer_ITest;
 import org.junit.runner.RunWith;
 import org.junit.runners.Suite;
 import org.junit.runners.Suite.SuiteClasses;
 
 @RunWith(Suite.class)
 @SuiteClasses({ SWTTable_PTest.class, SWTTableDatabindingLabel_PTest.class, RunnableManagerTest.class,
-	TableControlDetailPanelRenderer_PTest.class, MultiReferenceTooltipModifier_PTest.class, MultiReferenceCellEditor_PTest.class })
+	TableControlDetailPanelRenderer_PTest.class, MultiReferenceTooltipModifier_PTest.class,
+	MultiReferenceCellEditor_PTest.class, TableControlSWTRendererPerformance_PTest.class,
+	TableControlSWTRenderer_ITest.class,
+})
 public class AllTests {
 
 }
diff --git a/tests/org.eclipse.emf.ecp.view.table.validation.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.table.validation.test/META-INF/MANIFEST.MF
index 16e0f0f..37de0fa 100644
--- a/tests/org.eclipse.emf.ecp.view.table.validation.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.table.validation.test/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Table Validation Test
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.table.validation.test
-Bundle-Version: 1.19.0.qualifier
-Fragment-Host: org.eclipse.emf.ecp.view.table.validation;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emf.ecp.view.table.internal.validation;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.table.validation.test;version="1.19.0";x-internal:=true
+Bundle-Version: 1.20.0.qualifier
+Fragment-Host: org.eclipse.emf.ecp.view.table.validation;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emf.ecp.view.table.internal.validation;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.table.validation.test;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.12.0,5.0.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
-  org.objenesis;bundle-version="[1.0.0,2.0.0)",
-  org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emf.ecp.test.common;bundle-version="[1.19.0,1.20.0)"
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
+ org.objenesis;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.table.validation.test
diff --git a/tests/org.eclipse.emf.ecp.view.table.validation.test/pom.xml b/tests/org.eclipse.emf.ecp.view.table.validation.test/pom.xml
index 212b997..0efd19f 100644
--- a/tests/org.eclipse.emf.ecp.view.table.validation.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.table.validation.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.view.table.validation.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.ecp.view.template.model.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.template.model.test/META-INF/MANIFEST.MF
index 5e63ef0..bba118a 100644
--- a/tests/org.eclipse.emf.ecp.view.template.model.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.template.model.test/META-INF/MANIFEST.MF
@@ -2,28 +2,28 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Forms Template Model Tests
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.template.model.test
-Bundle-Version: 1.19.0.qualifier
-Fragment-Host: org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emf.ecp.view.template.model.test;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.selector.annotation.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.selector.bool.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.selector.hierarchy.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.style.alignment.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.style.background.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.style.fontProperties.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.style.labelwidth.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.style.mandatory.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.style.reference.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.style.tab.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.style.tableStyleProperty.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.style.tableValidation.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.style.textControlEnablement.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.style.unsettable.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.style.validation.model.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.style.wrap.model.impl;version="1.19.0";x-internal:=true
+Bundle-Version: 1.20.0.qualifier
+Fragment-Host: org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emf.ecp.view.template.model.test;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.selector.annotation.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.selector.bool.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.selector.hierarchy.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.alignment.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.background.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.fontProperties.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.labelwidth.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.mandatory.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.reference.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.tab.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.tableStyleProperty.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.tableValidation.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.textControlEnablement.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.unsettable.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.validation.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.wrap.model.impl;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.0.0,5.0.0)",
-  org.eclipse.emf.ecp.view.template.annotation.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.view.annotation.model;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.view.template.annotation.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.view.annotation.model;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.template.model.test
-Import-Package: org.eclipse.emf.emfforms.spi.view.controlgrid.model;version="[1.19.0,1.20.0)"
+Import-Package: org.eclipse.emf.emfforms.spi.view.controlgrid.model;version="[1.20.0,1.21.0)"
diff --git a/tests/org.eclipse.emf.ecp.view.template.model.test/pom.xml b/tests/org.eclipse.emf.ecp.view.template.model.test/pom.xml
index 15d1e45..ba36c7e 100644
--- a/tests/org.eclipse.emf.ecp.view.template.model.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.template.model.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.view.template.model.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-plugin</packaging>
 
 </project>
diff --git a/tests/org.eclipse.emf.ecp.view.template.service.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.template.service.test/META-INF/MANIFEST.MF
index bda6ac6..e947ec4 100644
--- a/tests/org.eclipse.emf.ecp.view.template.service.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.template.service.test/META-INF/MANIFEST.MF
@@ -2,18 +2,18 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Template Test
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.template.service.test
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.view.template.service;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emf.ecp.spi.view.template.service;version="1.19.0",
-  org.eclipse.emf.ecp.view.template.service;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.template.service.test;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.view.label.model;bundle-version="[1.19.0,1.20.0)",
-  org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
-  org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.19.0,1.20.0)",
-  org.objenesis;bundle-version="[1.0.0,2.0.0)"
+Fragment-Host: org.eclipse.emf.ecp.view.template.service;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emf.ecp.spi.view.template.service;version="1.20.0",
+ org.eclipse.emf.ecp.view.template.service;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.service.test;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emf.ecp.view.label.model;bundle-version="[1.20.0,1.21.0)",
+ org.junit;bundle-version="[4.11.0,5.0.0)",
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
+ org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.20.0,1.21.0)",
+ org.objenesis;bundle-version="[1.0.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.template.service.test
 Import-Package: org.eclipse.emf.edit.domain;version="0.0.0",
-  org.eclipse.emf.edit.provider;version="0.0.0"
+ org.eclipse.emf.edit.provider;version="0.0.0"
diff --git a/tests/org.eclipse.emf.ecp.view.template.service.test/pom.xml b/tests/org.eclipse.emf.ecp.view.template.service.test/pom.xml
index 6420922..c4b8c33 100644
--- a/tests/org.eclipse.emf.ecp.view.template.service.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.template.service.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<artifactId>org.eclipse.emf.ecp.view.template.service.test</artifactId>
 	<packaging>eclipse-test-plugin</packaging>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	
 		<build>
diff --git a/tests/org.eclipse.emf.ecp.view.test.common.swt/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.test.common.swt/META-INF/MANIFEST.MF
index 66f8569..49eb40b 100644
--- a/tests/org.eclipse.emf.ecp.view.test.common.swt/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.test.common.swt/META-INF/MANIFEST.MF
@@ -2,21 +2,21 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Helper Class for the SWT View Model Tests
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.test.common.swt
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.test.common.swt;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.test.common.swt.spi;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.test.common.swt;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.test.common.swt.spi;version="1.20.0"
 Require-Bundle: org.eclipse.swt;bundle-version="[3.1.0,4.0.0)",
-  org.eclipse.jface.databinding;bundle-version="[1.4.0,2.0.0)",
-  org.junit;bundle-version="[4.0.0,5.0.0)",
-  org.eclipse.core.databinding.observable;bundle-version="[1.4.0,2.0.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.edit;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.test;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core;bundle-version="[1.19.0,1.20.0)";visibility:=reexport
+ org.eclipse.jface.databinding;bundle-version="[1.4.0,2.0.0)",
+ org.junit;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.core.databinding.observable;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.edit;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.test;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.20.0,1.21.0)";visibility:=reexport
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.test.common.swt
 Import-Package: org.osgi.framework;version="[1.3.0,2.0.0)"
diff --git a/tests/org.eclipse.emf.ecp.view.test.common.swt/pom.xml b/tests/org.eclipse.emf.ecp.view.test.common.swt/pom.xml
index da144f8..25a9d23 100644
--- a/tests/org.eclipse.emf.ecp.view.test.common.swt/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.test.common.swt/pom.xml
@@ -7,12 +7,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 
   <artifactId>org.eclipse.emf.ecp.view.test.common.swt</artifactId>
   <packaging>eclipse-plugin</packaging>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
 
 </project>
diff --git a/tests/org.eclipse.emf.ecp.view.test.common.swt/src/org/eclipse/emf/ecp/view/test/common/swt/spi/SWTTestUtil.java b/tests/org.eclipse.emf.ecp.view.test.common.swt/src/org/eclipse/emf/ecp/view/test/common/swt/spi/SWTTestUtil.java
index fc642b0..62ed237 100644
--- a/tests/org.eclipse.emf.ecp.view.test.common.swt/src/org/eclipse/emf/ecp/view/test/common/swt/spi/SWTTestUtil.java
+++ b/tests/org.eclipse.emf.ecp.view.test.common.swt/src/org/eclipse/emf/ecp/view/test/common/swt/spi/SWTTestUtil.java
@@ -15,6 +15,7 @@
 
 import java.util.NoSuchElementException;
 
+import org.eclipse.emfforms.spi.swt.core.SWTDataElementIdHelper;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.StackLayout;
 import org.eclipse.swt.widgets.Button;
@@ -23,7 +24,11 @@
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.swt.widgets.Event;
 import org.eclipse.swt.widgets.Layout;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.TableItem;
 import org.eclipse.swt.widgets.Text;
+import org.eclipse.swt.widgets.Tree;
+import org.eclipse.swt.widgets.TreeItem;
 import org.eclipse.swt.widgets.Widget;
 
 /**
@@ -133,6 +138,35 @@
 	}
 
 	/**
+	 * Retrieves an element in the specified control by its unique Id, as defined in {@link SWTDataElementIdHelper}.
+	 *
+	 * @param control the parent control where the search control should be found.
+	 * @param id the unique ID of the element to find
+	 * @param clazz the class of control to find
+	 * @param <T> the type of Control to find
+	 * @return a optional referencing the control or an empty one if none was found.
+	 */
+	public static <T extends Control> T findControlById(Control control, final String id, final Class<T> clazz) {
+		// only get the first index, assuming id is unique
+		final Control result = find(control, 0, new Counter(), new ControlTest() {
+			@Override
+			public boolean testCondition(Control control) {
+				if (control.getClass() != clazz) {
+					return false;
+				}
+
+				final Object elementID = control.getData(SWTDataElementIdHelper.ELEMENT_ID_KEY);
+				if (elementID != null && id.equals(elementID)) {
+					return true;
+				}
+
+				return false;
+			}
+		});
+		return clazz.cast(result);
+	}
+
+	/**
 	 * Waits for the ui thread to complete its work. Fails a testcase after 5 seconds.
 	 */
 	public static void waitForUIThread() {
@@ -201,6 +235,54 @@
 	}
 
 	/**
+	 * Selects the index in the given tree and notifies the tree's listeners (e.g. a corresponding tree viewer) about
+	 * the selection.
+	 *
+	 * @param tree The tree to select an element in
+	 * @param index The index of the element to select
+	 * @return the selected {@link TreeItem}
+	 */
+	public static TreeItem selectTreeItem(Tree tree, int index) {
+		final TreeItem result = tree.getItem(index);
+		selectTreeItem(result);
+		return result;
+	}
+
+	/**
+	 * Selects the given {@link TreeItem} in its parent {@link Tree} and notifies the tree's listeners.
+	 *
+	 * @param treeItem The {@link TreeItem} to select
+	 */
+	public static void selectTreeItem(TreeItem treeItem) {
+		final Tree tree = treeItem.getParent();
+		tree.setSelection(treeItem);
+		final Event event = new Event();
+		event.type = SWT.Selection;
+		event.widget = tree;
+		event.item = treeItem;
+		tree.notifyListeners(SWT.Selection, event);
+	}
+
+	/**
+	 * Selects the index in the given table and notifies the table's listeners (e.g. a corresponding table viewer) about
+	 * the selection.
+	 *
+	 * @param table The table to select an element in
+	 * @param index The index of the element to select
+	 * @return the selected {@link TableItem}
+	 */
+	public static TableItem selectTableItem(Table table, int index) {
+		table.setSelection(index);
+		final Event event = new Event();
+		event.type = SWT.Selection;
+		event.widget = table;
+		final TableItem result = table.getItem(index);
+		event.item = result;
+		table.notifyListeners(SWT.Selection, event);
+		return result;
+	}
+
+	/**
 	 * Interface for a tester used by the {@link SWTTestUtil#find(Control, int, Counter, ControlTest)} method.
 	 *
 	 * @author jfaltermeier
diff --git a/tests/org.eclipse.emf.ecp.view.test.common/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.test.common/META-INF/MANIFEST.MF
index 6d5840f..6be4efd 100644
--- a/tests/org.eclipse.emf.ecp.view.test.common/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.test.common/META-INF/MANIFEST.MF
@@ -2,9 +2,9 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Common Test Plugin
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.test.common
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.test.common.spi;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.test.common.spi;version="1.20.0"
 Require-Bundle: org.eclipse.emf.ecore;bundle-version="2.9.0"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.test.common
diff --git a/tests/org.eclipse.emf.ecp.view.test.common/pom.xml b/tests/org.eclipse.emf.ecp.view.test.common/pom.xml
index 50f0ba7..cb45557 100644
--- a/tests/org.eclipse.emf.ecp.view.test.common/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.test.common/pom.xml
@@ -6,11 +6,11 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 
 	<artifactId>org.eclipse.emf.ecp.view.test.common</artifactId>
 	<packaging>eclipse-plugin</packaging>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/tests/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.test/META-INF/MANIFEST.MF
index 4125738..de75647 100644
--- a/tests/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.test/META-INF/MANIFEST.MF
@@ -2,24 +2,24 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Tests for the TreeMasterDetail Renderer
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.test
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.view.treemasterdetail.ui.swt;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emf.ecp.view.spi.treemasterdetail.ui.swt;version="1.19.0",
-  org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.test;version="1.19.0";x-internal:=true
+Fragment-Host: org.eclipse.emf.ecp.view.treemasterdetail.ui.swt;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emf.ecp.view.spi.treemasterdetail.ui.swt;version="1.20.0",
+ org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.test;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.4.0,2.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.swt;bundle-version="[3.1.0,4.0.0)",
-  org.eclipse.emf.ecp.view.treemasterdetail.model;bundle-version="[1.19.0,1.20.0)",
-  org.junit;bundle-version="[4.0.0,5.0.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.domainexpander.default;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.common.test;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.test.common;bundle-version="[1.19.0,1.20.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)"
+ org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.swt;bundle-version="[3.1.0,4.0.0)",
+ org.eclipse.emf.ecp.view.treemasterdetail.model;bundle-version="[1.20.0,1.21.0)",
+ org.junit;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.domainexpander.default;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.common.test;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.20.0,1.21.0)",
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.test
 Bundle-ActivationPolicy: lazy
diff --git a/tests/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.test/pom.xml b/tests/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.test/pom.xml
index 89948da..d2e5801 100644
--- a/tests/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.test/pom.xml
@@ -5,13 +5,13 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
   
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.test</artifactId>
-  <version>1.19.0-SNAPSHOT</version>
+  <version>1.20.0-SNAPSHOT</version>
   <packaging>eclipse-test-plugin</packaging>
   
 	<build>
diff --git a/tests/org.eclipse.emf.ecp.view.treemasterdetail.validation.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.treemasterdetail.validation.test/META-INF/MANIFEST.MF
index 6754c3f..752a97f 100644
--- a/tests/org.eclipse.emf.ecp.view.treemasterdetail.validation.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.treemasterdetail.validation.test/META-INF/MANIFEST.MF
@@ -2,17 +2,17 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Forms TreeMasterDetail Validation Test
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.treemasterdetail.validation.test;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.view.treemasterdetail.ui.swt;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.view.treemasterdetail.ui.swt;bundle-version="[1.20.0,1.21.0)"
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.treemasterdetail.validation.test;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.treemasterdetail.validation.test.TestTMD;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.treemasterdetail.validation.test.TestTMD.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.treemasterdetail.validation.test.TestTMD.util;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.view.treemasterdetail.validation.test;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.treemasterdetail.validation.test.TestTMD;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.treemasterdetail.validation.test.TestTMD.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.treemasterdetail.validation.test.TestTMD.util;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.eclipse.emfforms.core.services.legacy;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.domainexpander.default;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.test.common;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emfforms.core.services.legacy;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.domainexpander.default;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.treemasterdetail.validation.test
diff --git a/tests/org.eclipse.emf.ecp.view.treemasterdetail.validation.test/pom.xml b/tests/org.eclipse.emf.ecp.view.treemasterdetail.validation.test/pom.xml
index 459cadd..53cb181 100644
--- a/tests/org.eclipse.emf.ecp.view.treemasterdetail.validation.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.treemasterdetail.validation.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.view.treemasterdetail.validation.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.ecp.view.ui.editor.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.ui.editor.test/META-INF/MANIFEST.MF
index de952d5..bfa0459 100644
--- a/tests/org.eclipse.emf.ecp.view.ui.editor.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.ui.editor.test/META-INF/MANIFEST.MF
@@ -2,40 +2,40 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Editor SWTBot Tests
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.ui.editor.test;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.view.ui.editor.test.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.ui.editor.test;version="1.19.0";uses:="org.eclipse.emf.emfstore.bowling,org.eclipse.swtbot.swt.finder,org.osgi.framework",
-  org.eclipse.emf.ecp.view.ui.editor.test.controls;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.view.ui.editor.test;version="1.20.0";uses:="org.eclipse.emf.emfstore.bowling,org.eclipse.swtbot.swt.finder,org.osgi.framework",
+ org.eclipse.emf.ecp.view.ui.editor.test.controls;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.swtbot.eclipse.finder;bundle-version="[2.1.1,3.0.0)",
-  org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.19.0,1.20.0)",
-  org.junit;bundle-version="4.11.0",
-  org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.swt;bundle-version="3.102.0",
-  org.eclipse.swtbot.junit4_x;bundle-version="2.1.1",
-  org.eclipse.jface.databinding;bundle-version="1.6.200",
-  org.apache.log4j;bundle-version="1.2.15",
-  org.eclipse.emf.ecp.view.test.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.databinding;bundle-version="1.4.1",
-  org.eclipse.emf.ecp.ui.view.test;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.ui;bundle-version="3.105.0",
-  org.eclipse.emf.ecp.emfstore.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.edit;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.dynamictree.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.dynamictree.model.test;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.table.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emf.ecp.view.table.ui.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.view.model.localization;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.legacy;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.table.test.common;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.swtbot.eclipse.finder;bundle-version="[2.1.1,3.0.0)",
+ org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.20.0,1.21.0)",
+ org.junit;bundle-version="4.11.0",
+ org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.swt;bundle-version="3.102.0",
+ org.eclipse.swtbot.junit4_x;bundle-version="2.1.1",
+ org.eclipse.jface.databinding;bundle-version="1.6.200",
+ org.apache.log4j;bundle-version="1.2.15",
+ org.eclipse.emf.ecp.view.test.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.databinding;bundle-version="1.4.1",
+ org.eclipse.emf.ecp.ui.view.test;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.ui;bundle-version="3.105.0",
+ org.eclipse.emf.ecp.emfstore.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.edit;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.dynamictree.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.dynamictree.model.test;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.table.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.ecp.view.table.ui.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.view.model.localization;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.legacy;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.table.test.common;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.ui.editor.test
 Bundle-ActivationPolicy: lazy
diff --git a/tests/org.eclipse.emf.ecp.view.ui.editor.test/pom.xml b/tests/org.eclipse.emf.ecp.view.ui.editor.test/pom.xml
index b88ad33..b982da2 100644
--- a/tests/org.eclipse.emf.ecp.view.ui.editor.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.ui.editor.test/pom.xml
@@ -6,13 +6,13 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.view.ui.editor.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.ecp.view.unset.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.unset.test/META-INF/MANIFEST.MF
index 9572ae9..a339729 100644
--- a/tests/org.eclipse.emf.ecp.view.unset.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.unset.test/META-INF/MANIFEST.MF
@@ -2,23 +2,23 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: View Model Unset Service Test
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.unset.test
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.unset.test;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.unset.test;version="1.20.0"
 Require-Bundle: org.junit;bundle-version="[4.0.0,5.0.0)",
-  org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emf.common;bundle-version="[2.7.0,3.0.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.unset;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.rule.test;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.rule;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.rule.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.table.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.test.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.legacy;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emf.common;bundle-version="[2.7.0,3.0.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.unset;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.rule.test;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.rule;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.rule.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.table.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.legacy;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.unset.test
diff --git a/tests/org.eclipse.emf.ecp.view.unset.test/pom.xml b/tests/org.eclipse.emf.ecp.view.unset.test/pom.xml
index d52efd1..7e33234 100644
--- a/tests/org.eclipse.emf.ecp.view.unset.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.unset.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.view.unset.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 	<build>
 		<sourceDirectory>src</sourceDirectory>
diff --git a/tests/org.eclipse.emf.ecp.view.validation.bean.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.validation.bean.test/META-INF/MANIFEST.MF
index b93526b..611d137 100644
--- a/tests/org.eclipse.emf.ecp.view.validation.bean.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.validation.bean.test/META-INF/MANIFEST.MF
@@ -2,18 +2,18 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.validation.bean.test;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .,
-  lib/commons-beanutils-1.9.2.jar,
-  lib/commons-lang3-3.3.2.jar,
-  lib/org.apache.bval.bundle-0.5.jar
+ lib/commons-beanutils-1.9.2.jar,
+ lib/commons-lang3-3.3.2.jar,
+ lib/org.apache.bval.bundle-0.5.jar
 Bundle-Vendor: %providerName
-Fragment-Host: org.eclipse.emf.ecp.view.validation.bean.default;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.view.validation.bean.default;bundle-version="[1.20.0,1.21.0)"
 Bundle-Localization: plugin
-Export-Package: car;version="1.19.0";x-internal:=true,
-  car.impl;version="1.19.0";x-internal:=true,
-  car.util;version="1.19.0";x-internal:=true,
-  org.eclipse.emf.ecp.view.validation.bean.test;version="1.19.0";x-internal:=true
+Export-Package: car;version="1.20.0";x-internal:=true,
+ car.impl;version="1.20.0";x-internal:=true,
+ car.util;version="1.20.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.validation.bean.test;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.0.0,5.0.0)"
 Automatic-Module-Name: org.eclipse.emf.ecp.view.validation.bean.test
 Bundle-ActivationPolicy: lazy
diff --git a/tests/org.eclipse.emf.ecp.view.validation.bean.test/pom.xml b/tests/org.eclipse.emf.ecp.view.validation.bean.test/pom.xml
index 49d49d4..a59cc72 100644
--- a/tests/org.eclipse.emf.ecp.view.validation.bean.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.validation.bean.test/pom.xml
@@ -6,11 +6,11 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.view.validation.bean.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-plugin</packaging>
 </project>
diff --git a/tests/org.eclipse.emf.ecp.view.validation.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.validation.test/META-INF/MANIFEST.MF
index 31e9b8c..abed53e 100644
--- a/tests/org.eclipse.emf.ecp.view.validation.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.validation.test/META-INF/MANIFEST.MF
@@ -2,32 +2,32 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.validation.test;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
-Fragment-Host: org.eclipse.emf.ecp.view.validation;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.view.validation;bundle-version="[1.20.0,1.21.0)"
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.view.validation.test;version="1.19.0",
-  org.eclipse.emf.ecp.view.validation.test.model;version="1.19.0",
-  org.eclipse.emf.ecp.view.validation.test.model.impl;version="1.19.0",
-  org.eclipse.emf.ecp.view.validation.test.model.util;version="1.19.0"
+Export-Package: org.eclipse.emf.ecp.view.validation.test;version="1.20.0",
+ org.eclipse.emf.ecp.view.validation.test.model;version="1.20.0",
+ org.eclipse.emf.ecp.view.validation.test.model.impl;version="1.20.0",
+ org.eclipse.emf.ecp.view.validation.test.model.util;version="1.20.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.table.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.test.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.test.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.legacy;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.domainexpander.default;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.mappingprovider.default;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.mappingprovider.table;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.domainexpander.table;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.common.prevalidation;bundle-version="[1.19.0,1.20.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)"
+ org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.junit;bundle-version="[4.11.0,5.0.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.table.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.test.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.legacy;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.domainexpander.default;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.mappingprovider.default;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.mappingprovider.table;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.domainexpander.table;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.common.prevalidation;bundle-version="[1.20.0,1.21.0)",
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)"
 Automatic-Module-Name: org.eclipse.emf.ecp.view.validation.test
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/tests/org.eclipse.emf.ecp.view.validation.test/model/test.ecore b/tests/org.eclipse.emf.ecp.view.validation.test/model/test.ecore
index a15221f..8d6e8a3 100644
--- a/tests/org.eclipse.emf.ecp.view.validation.test/model/test.ecore
+++ b/tests/org.eclipse.emf.ecp.view.validation.test/model/test.ecore
@@ -95,7 +95,7 @@
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="uniqueAttribute" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="secondAttribute" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="TableWithMultiplicity">
+  <eClassifiers xsi:type="ecore:EClass" name="TableWithMultiplicity" eSuperTypes="#//TableObject">
     <eStructuralFeatures xsi:type="ecore:EReference" name="content" lowerBound="1"
         upperBound="-1" eType="#//TableContent" containment="true"/>
   </eClassifiers>
@@ -108,11 +108,11 @@
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="weight" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="TableWithoutMultiplicity">
+  <eClassifiers xsi:type="ecore:EClass" name="TableWithoutMultiplicity" eSuperTypes="#//TableObject">
     <eStructuralFeatures xsi:type="ecore:EReference" name="content" upperBound="-1"
         eType="#//TableContent" containment="true"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="TableWithUnique">
+  <eClassifiers xsi:type="ecore:EClass" name="TableWithUnique" eSuperTypes="#//TableObject">
     <eStructuralFeatures xsi:type="ecore:EReference" name="content" upperBound="-1"
         eType="#//TableContent" containment="true"/>
   </eClassifiers>
@@ -125,7 +125,7 @@
         containment="true"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="stuff" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="TableWithoutMultiplicityConcrete">
+  <eClassifiers xsi:type="ecore:EClass" name="TableWithoutMultiplicityConcrete" eSuperTypes="#//TableObject">
     <eStructuralFeatures xsi:type="ecore:EReference" name="content" upperBound="-1"
         eType="#//TableContentWithInnerChild" containment="true"/>
   </eClassifiers>
@@ -195,4 +195,7 @@
     <eLiterals name="Green" value="1"/>
     <eLiterals name="Blue" value="2"/>
   </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="TableObject" abstract="true">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="label" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+  </eClassifiers>
 </ecore:EPackage>
diff --git a/tests/org.eclipse.emf.ecp.view.validation.test/model/test.genmodel b/tests/org.eclipse.emf.ecp.view.validation.test/model/test.genmodel
index fe7730f..2821544 100644
--- a/tests/org.eclipse.emf.ecp.view.validation.test/model/test.genmodel
+++ b/tests/org.eclipse.emf.ecp.view.validation.test/model/test.genmodel
@@ -131,5 +131,8 @@
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute test.ecore#//Person/custom"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute test.ecore#//Person/age"/>
     </genClasses>
+    <genClasses image="false" ecoreClass="test.ecore#//TableObject">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute test.ecore#//TableObject/label"/>
+    </genClasses>
   </genPackages>
 </genmodel:GenModel>
diff --git a/tests/org.eclipse.emf.ecp.view.validation.test/pom.xml b/tests/org.eclipse.emf.ecp.view.validation.test/pom.xml
index 0e8b94f..4ebb584 100644
--- a/tests/org.eclipse.emf.ecp.view.validation.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.validation.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.view.validation.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/ConcurrentLinkedSetQueue_Test.java b/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/ConcurrentLinkedSetQueue_Test.java
new file mode 100644
index 0000000..dde1c54
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/ConcurrentLinkedSetQueue_Test.java
@@ -0,0 +1,234 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * nicole.behlen - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.validation.test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.NoSuchElementException;
+
+import org.eclipse.emf.ecp.view.internal.validation.ConcurrentLinkedSetQueue;
+import org.junit.Test;
+
+/**
+ * JUnit to test the uniqueness functionality of {@link ConcurrentLinkedSetQueue}.
+ *
+ * @author nicole.behlen
+ */
+public class ConcurrentLinkedSetQueue_Test {
+
+	@Test(expected = NullPointerException.class)
+	public void offer_Null() {
+		/* setup */
+		final ConcurrentLinkedSetQueue<Integer> queue = new ConcurrentLinkedSetQueue<>();
+		/* act */
+		queue.offer(null);
+		/* assert */
+		// null pointer exception
+	}
+
+	@Test
+	public void offer_NoRepeat() {
+		/* setup */
+		final ConcurrentLinkedSetQueue<Integer> queue = new ConcurrentLinkedSetQueue<>();
+		/* act */
+		queue.offer(1);
+		queue.offer(2);
+		queue.offer(3);
+		/* assert */
+		assertEquals(3, queue.size());
+	}
+
+	@Test
+	public void offer_Repeat() {
+		/* setup */
+		final ConcurrentLinkedSetQueue<Integer> queue = new ConcurrentLinkedSetQueue<>();
+		/* act */
+		queue.offer(1);
+		queue.offer(2);
+		queue.offer(2);
+		/* assert */
+		assertEquals(2, queue.size());
+	}
+
+	@Test
+	public void offerPollAndOfferAgain() {
+		/* setup */
+		final ConcurrentLinkedSetQueue<Integer> queue = new ConcurrentLinkedSetQueue<>();
+		/* act */
+		queue.offer(1);
+		queue.offer(2);
+		queue.offer(2);
+		final Integer firstPoll = queue.poll();
+		queue.offer(1);
+		final Integer secondPoll = queue.poll();
+		final Integer thirdPoll = queue.poll();
+		final Integer fourthPoll = queue.poll();
+		/* assert */
+		assertEquals((Integer) 1, firstPoll);
+		assertEquals((Integer) 2, secondPoll);
+		assertEquals((Integer) 1, thirdPoll);
+		assertNull(fourthPoll);
+
+		assertEquals(0, queue.size());
+	}
+
+	@Test
+	public void addAll_RepeatedValues() {
+		/* setup */
+		final ConcurrentLinkedSetQueue<Integer> queue = new ConcurrentLinkedSetQueue<>();
+		/* act */
+		queue.addAll(Arrays.asList(1, 2, 3));
+		queue.addAll(Arrays.asList(2, 3, 4));
+		/* assert */
+		assertEquals(4, queue.size());
+	}
+
+	@Test(expected = IllegalArgumentException.class)
+	public void addAll_itself() {
+		/* setup */
+		final ConcurrentLinkedSetQueue<Integer> queue = new ConcurrentLinkedSetQueue<>();
+		/* act */
+		queue.addAll(queue);
+		/* assert */
+		// illegal argument exception
+	}
+
+	@Test
+	public void removeObject_emptyNull() {
+		/* setup */
+		final ConcurrentLinkedSetQueue<Integer> queue = new ConcurrentLinkedSetQueue<>();
+		/* act */
+		final boolean result = queue.remove(null);
+		/* assert */
+		assertFalse(result);
+	}
+
+	@Test
+	public void removeObject_andAddAgain() {
+		/* setup */
+		final ConcurrentLinkedSetQueue<Integer> queue = new ConcurrentLinkedSetQueue<>();
+		queue.addAll(Arrays.asList(1, 2));
+		/* act */
+		final boolean result = queue.remove(1);
+		// to ensure that the value is added again
+		queue.add(1);
+		final Integer firstPoll = queue.poll(); // 2
+		final Integer secondPoll = queue.poll(); // 1
+		final Integer thirdPoll = queue.poll(); // null
+
+		/* assert */
+		assertTrue(result);
+		assertEquals((Integer) 2, firstPoll);
+		assertEquals((Integer) 1, secondPoll);
+		assertNull(thirdPoll);
+	}
+
+	@Test
+	public void remove_andAddAgain() {
+		/* setup */
+		final ConcurrentLinkedSetQueue<Integer> queue = new ConcurrentLinkedSetQueue<>();
+		queue.addAll(Arrays.asList(1, 2));
+		/* act */
+		final Integer remove = queue.remove();
+		// to ensure that the value is added again
+		queue.add(1);
+		final Integer firstPoll = queue.poll(); // 2
+		final Integer secondPoll = queue.poll(); // 1
+		final Integer thirdPoll = queue.poll(); // null
+
+		/* assert */
+		assertEquals((Integer) 1, remove);
+		assertEquals((Integer) 2, firstPoll);
+		assertEquals((Integer) 1, secondPoll);
+		assertNull(thirdPoll);
+	}
+
+	@Test
+	public void clear() {
+		/* setup */
+		final ConcurrentLinkedSetQueue<Integer> queue = new ConcurrentLinkedSetQueue<>();
+		queue.addAll(Arrays.asList(1, 2));
+		/* act */
+		queue.clear();
+		// to ensure that the value is added again
+		queue.add(1);
+		final Integer firstPoll = queue.poll(); // 1
+		final Integer secondPoll = queue.poll(); // null
+		/* assert */
+		assertEquals((Integer) 1, firstPoll);
+		assertNull(secondPoll);
+	}
+
+	@Test
+	public void removeAll() {
+		/* setup */
+		final ConcurrentLinkedSetQueue<Integer> queue = new ConcurrentLinkedSetQueue<>();
+		queue.addAll(Arrays.asList(1, 2));
+		/* act */
+		queue.removeAll(Arrays.asList(1));
+		// to ensure that the value is added again
+		queue.add(1);
+		final Integer firstPoll = queue.poll(); // 2
+		final Integer secondPoll = queue.poll(); // 1
+		final Integer thirdPoll = queue.poll(); // null
+		/* assert */
+		assertEquals((Integer) 2, firstPoll);
+		assertEquals((Integer) 1, secondPoll);
+		assertNull(thirdPoll);
+	}
+
+	@Test
+	public void retainAll() {
+		/* setup */
+		final ConcurrentLinkedSetQueue<Integer> queue = new ConcurrentLinkedSetQueue<>();
+		queue.addAll(Arrays.asList(1, 2));
+		/* act */
+		queue.retainAll(Arrays.asList(2));
+		// to ensure that the value is not added again
+		queue.add(2);
+		// to ensure that the value is added again
+		queue.add(1);
+		final Integer firstPoll = queue.poll(); // 2
+		final Integer secondPoll = queue.poll(); // 1
+		final Integer thirdPoll = queue.poll(); // null
+		/* assert */
+		assertEquals((Integer) 2, firstPoll);
+		assertEquals((Integer) 1, secondPoll);
+		assertNull(thirdPoll);
+	}
+
+	@Test(expected = IllegalStateException.class)
+	public void iterator_remove_withoutNext() {
+		/* setup */
+		final ConcurrentLinkedSetQueue<Integer> queue = new ConcurrentLinkedSetQueue<>();
+		queue.addAll(Arrays.asList(1, 2, 3));
+		/* act */
+		final Iterator<Integer> iter = queue.iterator();
+		iter.remove();
+		/* assert */
+		// illegal state exception
+	}
+
+	@Test(expected = NoSuchElementException.class)
+	public void iterator_next_empty() {
+		/* setup */
+		final ConcurrentLinkedSetQueue<Integer> queue = new ConcurrentLinkedSetQueue<>();
+		/* act */
+		queue.iterator().next();
+	}
+
+}
diff --git a/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/TableValidation_PTest.java b/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/TableValidation_PTest.java
index a483d7e..77aa9d8 100644
--- a/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/TableValidation_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/TableValidation_PTest.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -8,17 +8,32 @@
  *
  * Contributors:
  * Eugen - initial API and implementation
+ * Christian W. Damus - bug 543190
  ******************************************************************************/
 package org.eclipse.emf.ecp.view.validation.test;
 
+import static org.hamcrest.CoreMatchers.hasItem;
+import static org.hamcrest.CoreMatchers.hasItems;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.Assert.assertEquals;
 
+import java.util.Collections;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
 import org.eclipse.emf.common.util.Diagnostic;
 import org.eclipse.emf.ecore.EAttribute;
 import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
 import org.eclipse.emf.ecp.test.common.DefaultRealm;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
 import org.eclipse.emf.ecp.view.spi.context.ViewModelContextFactory;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
 import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
 import org.eclipse.emf.ecp.view.spi.model.VView;
 import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
@@ -26,11 +41,13 @@
 import org.eclipse.emf.ecp.view.spi.table.model.VTableControl;
 import org.eclipse.emf.ecp.view.spi.table.model.VTableDomainModelReference;
 import org.eclipse.emf.ecp.view.spi.table.model.VTableFactory;
+import org.eclipse.emf.ecp.view.spi.validation.ValidationService;
 import org.eclipse.emf.ecp.view.validation.test.model.Library;
 import org.eclipse.emf.ecp.view.validation.test.model.TableContentWithInnerChild;
 import org.eclipse.emf.ecp.view.validation.test.model.TableContentWithInnerChild2;
 import org.eclipse.emf.ecp.view.validation.test.model.TableContentWithValidation;
 import org.eclipse.emf.ecp.view.validation.test.model.TableContentWithoutValidation;
+import org.eclipse.emf.ecp.view.validation.test.model.TableObject;
 import org.eclipse.emf.ecp.view.validation.test.model.TableWithMultiplicity;
 import org.eclipse.emf.ecp.view.validation.test.model.TableWithUnique;
 import org.eclipse.emf.ecp.view.validation.test.model.TableWithoutMultiplicity;
@@ -38,6 +55,9 @@
 import org.eclipse.emf.ecp.view.validation.test.model.TestFactory;
 import org.eclipse.emf.ecp.view.validation.test.model.TestPackage;
 import org.eclipse.emf.ecp.view.validation.test.model.Writer;
+import org.eclipse.emf.ecp.view.validation.test.model.util.TestSwitch;
+import org.hamcrest.FeatureMatcher;
+import org.hamcrest.Matcher;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -668,4 +688,146 @@
 		// assertEquals(0, control.getDiagnostic().getDiagnostics().size());
 		// assertEquals(Diagnostic.OK, control.getDiagnostic().getHighestSeverity());
 	}
+
+	/**
+	 * Test that creation of a child context (as for master-detail selection)
+	 * validates only the objects presented in the child context and the chain of
+	 * parent-context views.
+	 *
+	 * @see <a href="http://eclip.se/543190">bug 543190</a>
+	 */
+	@SuppressWarnings("unchecked")
+	@Test
+	public void testChildContextValidation() {
+		final VView view = VViewFactory.eINSTANCE.createView();
+		view.setRootEClass(TestPackage.Literals.TABLE_WITHOUT_MULTIPLICITY);
+		final VControl labelControl = VViewFactory.eINSTANCE.createControl();
+		labelControl.setDomainModelReference(TestPackage.Literals.TABLE_OBJECT__LABEL);
+		view.getChildren().add(labelControl);
+		final VTableControl tableControl = VTableFactory.eINSTANCE.createTableControl();
+		view.getChildren().add(tableControl);
+		final VTableDomainModelReference domainModelReference = VTableFactory.eINSTANCE
+			.createTableDomainModelReference();
+		tableControl.setDomainModelReference(domainModelReference);
+		final VFeaturePathDomainModelReference tableDMR = VViewFactory.eINSTANCE
+			.createFeaturePathDomainModelReference();
+		tableDMR.setDomainModelEFeature(TestPackage.Literals.TABLE_WITHOUT_MULTIPLICITY__CONTENT);
+		domainModelReference.setDomainModelReference(tableDMR);
+
+		//
+		// Add a column for each object in the levels of nesting
+		//
+
+		// The first level of nesting
+		VFeaturePathDomainModelReference column = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
+		domainModelReference.getColumnDomainModelReferences().add(column);
+		column.setDomainModelEFeature(TestPackage.Literals.TABLE_CONTENT_WITH_INNER_CHILD__STUFF);
+
+		// The next level
+		column = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
+		domainModelReference.getColumnDomainModelReferences().add(column);
+		column.getDomainModelEReferencePath().add(TestPackage.Literals.TABLE_CONTENT_WITH_INNER_CHILD__INNER_CHILD);
+		column.setDomainModelEFeature(TestPackage.Literals.TABLE_CONTENT_WITH_INNER_CHILD__STUFF);
+
+		// The deepest object
+		column = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
+		domainModelReference.getColumnDomainModelReferences().add(column);
+		column.getDomainModelEReferencePath().add(TestPackage.Literals.TABLE_CONTENT_WITH_INNER_CHILD__INNER_CHILD);
+		column.getDomainModelEReferencePath().add(TestPackage.Literals.TABLE_CONTENT_WITH_INNER_CHILD__INNER_CHILD);
+		column.setDomainModelEFeature(TestPackage.Literals.TABLE_CONTENT_WITH_INNER_CHILD__STUFF);
+
+		final TableWithoutMultiplicity tableWithoutMultiplicity = TestFactory.eINSTANCE
+			.createTableWithoutMultiplicity();
+		tableWithoutMultiplicity.setLabel("table");
+		final TableContentWithInnerChild child = TestFactory.eINSTANCE.createTableContentWithInnerChild();
+		child.setStuff("nested 1");
+		tableWithoutMultiplicity.getContent().add(child);
+		final TableContentWithInnerChild innerChild = TestFactory.eINSTANCE.createTableContentWithInnerChild();
+		innerChild.setStuff("nested 2");
+		child.setInnerChild(innerChild);
+		final TableContentWithInnerChild innerInnerChild = TestFactory.eINSTANCE
+			.createTableContentWithInnerChild();
+		innerInnerChild.setStuff("deepest");
+		innerChild.setInnerChild(innerInnerChild);
+
+		final Object user = new Object();
+		final ViewModelContext rootCtx = ViewModelContextFactory.INSTANCE.createViewModelContext(view,
+			tableWithoutMultiplicity);
+		rootCtx.addContextUser(user);
+
+		// Add a validation provider that complains about everything in our test data
+		final Set<Diagnostic> validations = new LinkedHashSet<>();
+		final ValidationService validationService = rootCtx.getService(ValidationService.class);
+		validationService.addValidationProvider(new TestSwitch<List<Diagnostic>>() {
+			@Override
+			public List<Diagnostic> caseTableObject(TableObject object) {
+				return Collections
+					.singletonList(error(object, TestPackage.Literals.TABLE_OBJECT__LABEL, object.getLabel()));
+			}
+
+			@Override
+			public List<Diagnostic> caseTableContentWithInnerChild(TableContentWithInnerChild object) {
+				return Collections
+					.singletonList(
+						error(object, TestPackage.Literals.TABLE_CONTENT_WITH_INNER_CHILD__STUFF, object.getStuff()));
+			}
+
+			@Override
+			public List<Diagnostic> doSwitch(EObject eObject) {
+				List<Diagnostic> result = super.doSwitch(eObject);
+				if (result == null) {
+					result = Collections.emptyList();
+				} else {
+					validations.addAll(result);
+				}
+				return result;
+			}
+		}::doSwitch);
+
+		assertThat("Should have one problem for each level of the data nesting",
+			validations.size(), is(4));
+		assertThat("Wrong subject of diagnostic", validations,
+			hasItems(isAbout(tableWithoutMultiplicity), isAbout(child), isAbout(innerChild), isAbout(innerInnerChild)));
+
+		final VView childView = VViewFactory.eINSTANCE.createView();
+		childView.setRootEClass(TestPackage.Literals.TABLE_CONTENT_WITHOUT_VALIDATION);
+		final VControl nameControl = VViewFactory.eINSTANCE.createControl();
+		nameControl.setDomainModelReference(TestPackage.Literals.TABLE_CONTENT_WITH_INNER_CHILD__STUFF);
+		childView.getChildren().add(nameControl);
+
+		// Reset the validation tracking
+		validations.clear();
+
+		final ViewModelContext childContext = rootCtx.getChildContext(innerInnerChild, view, childView);
+		childContext.addContextUser(user);
+
+		// What did we re-validate?
+		assertThat("Wrong number of objects validated for child context", validations.size(), is(2));
+		assertThat("Child context element not validated", validations, hasItem(isAbout(innerInnerChild)));
+		assertThat("Parent context element not validated", validations, hasItem(isAbout(tableWithoutMultiplicity)));
+
+		childContext.removeContextUser(user);
+		rootCtx.removeContextUser(user);
+	}
+
+	static Matcher<Diagnostic> isAbout(Matcher<? super EObject> subjectMatcher) {
+		return new FeatureMatcher<Diagnostic, EObject>(subjectMatcher, "data[0] as EObject", "subject") {
+			@Override
+			protected EObject featureValueOf(Diagnostic actual) {
+				final List<?> data = actual.getData();
+				return data.isEmpty() || !(data.get(0) instanceof EObject)
+					? null
+					: (EObject) data.get(0);
+			}
+		};
+	}
+
+	static Matcher<Diagnostic> isAbout(EObject subject) {
+		return isAbout(is(subject));
+	}
+
+	static Diagnostic error(EObject subject, EStructuralFeature feature, String message) {
+		return new BasicDiagnostic(Diagnostic.ERROR, "test", 0, message, new Object[] { subject, feature });
+	}
+
 }
diff --git a/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/TableObject.java b/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/TableObject.java
new file mode 100644
index 0000000..58b6d16
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/TableObject.java
@@ -0,0 +1,62 @@
+/**
+ * Copyright (c) 2019 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - initial API and implementation
+ */
+package org.eclipse.emf.ecp.view.validation.test.model;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Table Object</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.ecp.view.validation.test.model.TableObject#getLabel <em>Label</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.emf.ecp.view.validation.test.model.TestPackage#getTableObject()
+ * @model abstract="true"
+ * @generated
+ */
+public interface TableObject extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Label</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Label</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Label</em>' attribute.
+	 * @see #setLabel(String)
+	 * @see org.eclipse.emf.ecp.view.validation.test.model.TestPackage#getTableObject_Label()
+	 * @model
+	 * @generated
+	 */
+	String getLabel();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.emf.ecp.view.validation.test.model.TableObject#getLabel
+	 * <em>Label</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param value the new value of the '<em>Label</em>' attribute.
+	 * @see #getLabel()
+	 * @generated
+	 */
+	void setLabel(String value);
+
+} // TableObject
diff --git a/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/TableWithMultiplicity.java b/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/TableWithMultiplicity.java
index 0957002..b9990bb 100644
--- a/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/TableWithMultiplicity.java
+++ b/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/TableWithMultiplicity.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -8,11 +8,11 @@
  *
  * Contributors:
  * Eugen Neufeld - initial API and implementation
+ * Christian W. Damus - bug 543190
  *******************************************************************************/
 package org.eclipse.emf.ecp.view.validation.test.model;
 
 import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
 
 /**
  * <!-- begin-user-doc -->
@@ -30,7 +30,7 @@
  * @model
  * @generated
  */
-public interface TableWithMultiplicity extends EObject {
+public interface TableWithMultiplicity extends TableObject {
 	/**
 	 * Returns the value of the '<em><b>Content</b></em>' containment reference list.
 	 * The list contents are of type {@link org.eclipse.emf.ecp.view.validation.test.model.TableContent}.
diff --git a/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/TableWithUnique.java b/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/TableWithUnique.java
index 6cb22b7..863e7bc 100644
--- a/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/TableWithUnique.java
+++ b/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/TableWithUnique.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -8,11 +8,11 @@
  *
  * Contributors:
  * Eugen Neufeld - initial API and implementation
+ * Christian W. Damus - bug 543190
  *******************************************************************************/
 package org.eclipse.emf.ecp.view.validation.test.model;
 
 import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
 
 /**
  * <!-- begin-user-doc -->
@@ -30,7 +30,7 @@
  * @model
  * @generated
  */
-public interface TableWithUnique extends EObject {
+public interface TableWithUnique extends TableObject {
 	/**
 	 * Returns the value of the '<em><b>Content</b></em>' containment reference list.
 	 * The list contents are of type {@link org.eclipse.emf.ecp.view.validation.test.model.TableContent}.
diff --git a/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/TableWithoutMultiplicity.java b/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/TableWithoutMultiplicity.java
index e1f1810..203bcfa 100644
--- a/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/TableWithoutMultiplicity.java
+++ b/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/TableWithoutMultiplicity.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -8,11 +8,11 @@
  *
  * Contributors:
  * Eugen Neufeld - initial API and implementation
+ * Christian W. Damus - bug 543190
  *******************************************************************************/
 package org.eclipse.emf.ecp.view.validation.test.model;
 
 import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
 
 /**
  * <!-- begin-user-doc -->
@@ -30,7 +30,7 @@
  * @model
  * @generated
  */
-public interface TableWithoutMultiplicity extends EObject {
+public interface TableWithoutMultiplicity extends TableObject {
 	/**
 	 * Returns the value of the '<em><b>Content</b></em>' containment reference list.
 	 * The list contents are of type {@link org.eclipse.emf.ecp.view.validation.test.model.TableContent}.
diff --git a/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/TableWithoutMultiplicityConcrete.java b/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/TableWithoutMultiplicityConcrete.java
index 62a781a..b622ab5 100644
--- a/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/TableWithoutMultiplicityConcrete.java
+++ b/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/TableWithoutMultiplicityConcrete.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -8,12 +8,12 @@
  *
  * Contributors:
  * Eugen Neufeld - initial API and implementation
+ * Christian W. Damus - bug 543190
  *******************************************************************************/
 
 package org.eclipse.emf.ecp.view.validation.test.model;
 
 import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
 
 /**
  * <!-- begin-user-doc -->
@@ -32,7 +32,7 @@
  * @model
  * @generated
  */
-public interface TableWithoutMultiplicityConcrete extends EObject {
+public interface TableWithoutMultiplicityConcrete extends TableObject {
 	/**
 	 * Returns the value of the '<em><b>Content</b></em>' containment reference list.
 	 * The list contents are of type {@link org.eclipse.emf.ecp.view.validation.test.model.TableContentWithInnerChild}.
diff --git a/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/TestPackage.java b/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/TestPackage.java
index b33a242..e602a1b 100644
--- a/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/TestPackage.java
+++ b/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/TestPackage.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -8,6 +8,7 @@
  *
  * Contributors:
  * Eugen Neufeld - initial API and implementation
+ * Christian W. Damus - bug 543190
  *******************************************************************************/
 package org.eclipse.emf.ecp.view.validation.test.model;
 
@@ -540,6 +541,38 @@
 	int CONTENT_FEATURE_COUNT = 2;
 
 	/**
+	 * The meta object id for the '{@link org.eclipse.emf.ecp.view.validation.test.model.impl.TableObjectImpl <em>Table
+	 * Object</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.emf.ecp.view.validation.test.model.impl.TableObjectImpl
+	 * @see org.eclipse.emf.ecp.view.validation.test.model.impl.TestPackageImpl#getTableObject()
+	 * @generated
+	 */
+	int TABLE_OBJECT = 22;
+
+	/**
+	 * The feature id for the '<em><b>Label</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int TABLE_OBJECT__LABEL = 0;
+
+	/**
+	 * The number of structural features of the '<em>Table Object</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int TABLE_OBJECT_FEATURE_COUNT = 1;
+
+	/**
 	 * The meta object id for the '{@link org.eclipse.emf.ecp.view.validation.test.model.impl.TableWithMultiplicityImpl
 	 * <em>Table With Multiplicity</em>}' class.
 	 * <!-- begin-user-doc -->
@@ -552,6 +585,16 @@
 	int TABLE_WITH_MULTIPLICITY = 9;
 
 	/**
+	 * The feature id for the '<em><b>Label</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int TABLE_WITH_MULTIPLICITY__LABEL = TABLE_OBJECT__LABEL;
+
+	/**
 	 * The feature id for the '<em><b>Content</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -559,7 +602,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int TABLE_WITH_MULTIPLICITY__CONTENT = 0;
+	int TABLE_WITH_MULTIPLICITY__CONTENT = TABLE_OBJECT_FEATURE_COUNT + 0;
 
 	/**
 	 * The number of structural features of the '<em>Table With Multiplicity</em>' class.
@@ -569,7 +612,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int TABLE_WITH_MULTIPLICITY_FEATURE_COUNT = 1;
+	int TABLE_WITH_MULTIPLICITY_FEATURE_COUNT = TABLE_OBJECT_FEATURE_COUNT + 1;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.emf.ecp.view.validation.test.model.impl.TableContentImpl <em>Table
@@ -693,6 +736,16 @@
 	int TABLE_WITHOUT_MULTIPLICITY = 13;
 
 	/**
+	 * The feature id for the '<em><b>Label</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int TABLE_WITHOUT_MULTIPLICITY__LABEL = TABLE_OBJECT__LABEL;
+
+	/**
 	 * The feature id for the '<em><b>Content</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -700,7 +753,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int TABLE_WITHOUT_MULTIPLICITY__CONTENT = 0;
+	int TABLE_WITHOUT_MULTIPLICITY__CONTENT = TABLE_OBJECT_FEATURE_COUNT + 0;
 
 	/**
 	 * The number of structural features of the '<em>Table Without Multiplicity</em>' class.
@@ -710,7 +763,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int TABLE_WITHOUT_MULTIPLICITY_FEATURE_COUNT = 1;
+	int TABLE_WITHOUT_MULTIPLICITY_FEATURE_COUNT = TABLE_OBJECT_FEATURE_COUNT + 1;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.emf.ecp.view.validation.test.model.impl.TableWithUniqueImpl
@@ -725,6 +778,16 @@
 	int TABLE_WITH_UNIQUE = 14;
 
 	/**
+	 * The feature id for the '<em><b>Label</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int TABLE_WITH_UNIQUE__LABEL = TABLE_OBJECT__LABEL;
+
+	/**
 	 * The feature id for the '<em><b>Content</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -732,7 +795,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int TABLE_WITH_UNIQUE__CONTENT = 0;
+	int TABLE_WITH_UNIQUE__CONTENT = TABLE_OBJECT_FEATURE_COUNT + 0;
 
 	/**
 	 * The number of structural features of the '<em>Table With Unique</em>' class.
@@ -742,7 +805,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int TABLE_WITH_UNIQUE_FEATURE_COUNT = 1;
+	int TABLE_WITH_UNIQUE_FEATURE_COUNT = TABLE_OBJECT_FEATURE_COUNT + 1;
 
 	/**
 	 * The meta object id for the
@@ -834,6 +897,16 @@
 	int TABLE_WITHOUT_MULTIPLICITY_CONCRETE = 17;
 
 	/**
+	 * The feature id for the '<em><b>Label</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int TABLE_WITHOUT_MULTIPLICITY_CONCRETE__LABEL = TABLE_OBJECT__LABEL;
+
+	/**
 	 * The feature id for the '<em><b>Content</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -841,7 +914,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int TABLE_WITHOUT_MULTIPLICITY_CONCRETE__CONTENT = 0;
+	int TABLE_WITHOUT_MULTIPLICITY_CONCRETE__CONTENT = TABLE_OBJECT_FEATURE_COUNT + 0;
 
 	/**
 	 * The number of structural features of the '<em>Table Without Multiplicity Concrete</em>' class.
@@ -851,7 +924,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int TABLE_WITHOUT_MULTIPLICITY_CONCRETE_FEATURE_COUNT = 1;
+	int TABLE_WITHOUT_MULTIPLICITY_CONCRETE_FEATURE_COUNT = TABLE_OBJECT_FEATURE_COUNT + 1;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.emf.ecp.view.validation.test.model.impl.ReferencerImpl
@@ -1051,7 +1124,7 @@
 	 * @see org.eclipse.emf.ecp.view.validation.test.model.impl.TestPackageImpl#getStringWithMaxLength8()
 	 * @generated
 	 */
-	int STRING_WITH_MAX_LENGTH8 = 24;
+	int STRING_WITH_MAX_LENGTH8 = 25;
 
 	/**
 	 * The meta object id for the '<em>Only Capitals</em>' data type.
@@ -1062,7 +1135,7 @@
 	 * @see org.eclipse.emf.ecp.view.validation.test.model.impl.TestPackageImpl#getOnlyCapitals()
 	 * @generated
 	 */
-	int ONLY_CAPITALS = 25;
+	int ONLY_CAPITALS = 26;
 
 	/**
 	 * The meta object id for the '<em>Custom Data Type</em>' data type.
@@ -1073,7 +1146,7 @@
 	 * @see org.eclipse.emf.ecp.view.validation.test.model.impl.TestPackageImpl#getCustomDataType()
 	 * @generated
 	 */
-	int CUSTOM_DATA_TYPE = 26;
+	int CUSTOM_DATA_TYPE = 27;
 
 	/**
 	 * The meta object id for the '<em>Phone Number</em>' data type.
@@ -1084,7 +1157,7 @@
 	 * @see org.eclipse.emf.ecp.view.validation.test.model.impl.TestPackageImpl#getPhoneNumber()
 	 * @generated
 	 */
-	int PHONE_NUMBER = 27;
+	int PHONE_NUMBER = 28;
 
 	/**
 	 * The meta object id for the '<em>Min Length Of3</em>' data type.
@@ -1095,7 +1168,7 @@
 	 * @see org.eclipse.emf.ecp.view.validation.test.model.impl.TestPackageImpl#getMinLengthOf3()
 	 * @generated
 	 */
-	int MIN_LENGTH_OF3 = 28;
+	int MIN_LENGTH_OF3 = 29;
 
 	/**
 	 * The meta object id for the '<em>Strict Min Length Of3</em>' data type.
@@ -1106,7 +1179,7 @@
 	 * @see org.eclipse.emf.ecp.view.validation.test.model.impl.TestPackageImpl#getStrictMinLengthOf3()
 	 * @generated
 	 */
-	int STRICT_MIN_LENGTH_OF3 = 29;
+	int STRICT_MIN_LENGTH_OF3 = 30;
 
 	/**
 	 * The meta object id for the '<em>Age</em>' data type.
@@ -1117,7 +1190,7 @@
 	 * @see org.eclipse.emf.ecp.view.validation.test.model.impl.TestPackageImpl#getAge()
 	 * @generated
 	 */
-	int AGE = 30;
+	int AGE = 31;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.emf.ecp.view.validation.test.model.Gender <em>Gender</em>}' enum.
@@ -1128,7 +1201,7 @@
 	 * @see org.eclipse.emf.ecp.view.validation.test.model.impl.TestPackageImpl#getGender()
 	 * @generated
 	 */
-	int GENDER = 22;
+	int GENDER = 23;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.emf.ecp.view.validation.test.model.Color <em>Color</em>}' enum.
@@ -1139,7 +1212,7 @@
 	 * @see org.eclipse.emf.ecp.view.validation.test.model.impl.TestPackageImpl#getColor()
 	 * @generated
 	 */
-	int COLOR = 23;
+	int COLOR = 24;
 
 	/**
 	 * Returns the meta object for class '{@link org.eclipse.emf.ecp.view.validation.test.model.Library
@@ -2040,6 +2113,31 @@
 	EAttribute getPerson_Age();
 
 	/**
+	 * Returns the meta object for class '{@link org.eclipse.emf.ecp.view.validation.test.model.TableObject <em>Table
+	 * Object</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Table Object</em>'.
+	 * @see org.eclipse.emf.ecp.view.validation.test.model.TableObject
+	 * @generated
+	 */
+	EClass getTableObject();
+
+	/**
+	 * Returns the meta object for the attribute
+	 * '{@link org.eclipse.emf.ecp.view.validation.test.model.TableObject#getLabel <em>Label</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the attribute '<em>Label</em>'.
+	 * @see org.eclipse.emf.ecp.view.validation.test.model.TableObject#getLabel()
+	 * @see #getTableObject()
+	 * @generated
+	 */
+	EAttribute getTableObject_Label();
+
+	/**
 	 * Returns the meta object for data type '{@link java.lang.String <em>String With Max Length8</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -2883,6 +2981,27 @@
 		EAttribute PERSON__AGE = eINSTANCE.getPerson_Age();
 
 		/**
+		 * The meta object literal for the '{@link org.eclipse.emf.ecp.view.validation.test.model.impl.TableObjectImpl
+		 * <em>Table Object</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @see org.eclipse.emf.ecp.view.validation.test.model.impl.TableObjectImpl
+		 * @see org.eclipse.emf.ecp.view.validation.test.model.impl.TestPackageImpl#getTableObject()
+		 * @generated
+		 */
+		EClass TABLE_OBJECT = eINSTANCE.getTableObject();
+
+		/**
+		 * The meta object literal for the '<em><b>Label</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EAttribute TABLE_OBJECT__LABEL = eINSTANCE.getTableObject_Label();
+
+		/**
 		 * The meta object literal for the '<em>String With Max Length8</em>' data type.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
diff --git a/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/impl/TableObjectImpl.java b/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/impl/TableObjectImpl.java
new file mode 100644
index 0000000..d9cf969
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/impl/TableObjectImpl.java
@@ -0,0 +1,185 @@
+/**
+ * Copyright (c) 2019 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - initial API and implementation
+ */
+package org.eclipse.emf.ecp.view.validation.test.model.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecp.view.validation.test.model.TableObject;
+import org.eclipse.emf.ecp.view.validation.test.model.TestPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Table Object</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.ecp.view.validation.test.model.impl.TableObjectImpl#getLabel <em>Label</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class TableObjectImpl extends EObjectImpl implements TableObject {
+	/**
+	 * The default value of the '{@link #getLabel() <em>Label</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getLabel()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String LABEL_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getLabel() <em>Label</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getLabel()
+	 * @generated
+	 * @ordered
+	 */
+	protected String label = LABEL_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected TableObjectImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return TestPackage.Literals.TABLE_OBJECT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public String getLabel() {
+		return label;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setLabel(String newLabel) {
+		final String oldLabel = label;
+		label = newLabel;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, TestPackage.TABLE_OBJECT__LABEL, oldLabel, label));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case TestPackage.TABLE_OBJECT__LABEL:
+			return getLabel();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case TestPackage.TABLE_OBJECT__LABEL:
+			setLabel((String) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case TestPackage.TABLE_OBJECT__LABEL:
+			setLabel(LABEL_EDEFAULT);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case TestPackage.TABLE_OBJECT__LABEL:
+			return LABEL_EDEFAULT == null ? label != null : !LABEL_EDEFAULT.equals(label);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) {
+			return super.toString();
+		}
+
+		final StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (label: ");
+		result.append(label);
+		result.append(')');
+		return result.toString();
+	}
+
+} // TableObjectImpl
diff --git a/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/impl/TableWithMultiplicityImpl.java b/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/impl/TableWithMultiplicityImpl.java
index 2efffe7..8f5da22 100644
--- a/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/impl/TableWithMultiplicityImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/impl/TableWithMultiplicityImpl.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -8,6 +8,7 @@
  *
  * Contributors:
  * Eugen Neufeld - initial API and implementation
+ * Christian W. Damus - bug 543190
  *******************************************************************************/
 package org.eclipse.emf.ecp.view.validation.test.model.impl;
 
@@ -17,7 +18,6 @@
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
 import org.eclipse.emf.ecore.util.EObjectContainmentEList;
 import org.eclipse.emf.ecore.util.InternalEList;
 import org.eclipse.emf.ecp.view.validation.test.model.TableContent;
@@ -32,13 +32,13 @@
  * The following features are implemented:
  * </p>
  * <ul>
- * <li>{@link org.eclipse.emf.ecp.view.validation.test.model.impl.TableWithMultiplicityImpl#getContent <em>Content</em>}
- * </li>
+ * <li>{@link org.eclipse.emf.ecp.view.validation.test.model.impl.TableWithMultiplicityImpl#getContent
+ * <em>Content</em>}</li>
  * </ul>
  *
  * @generated
  */
-public class TableWithMultiplicityImpl extends EObjectImpl implements TableWithMultiplicity {
+public class TableWithMultiplicityImpl extends TableObjectImpl implements TableWithMultiplicity {
 	/**
 	 * The cached value of the '{@link #getContent() <em>Content</em>}' containment reference list.
 	 * <!-- begin-user-doc -->
@@ -80,7 +80,7 @@
 	@Override
 	public EList<TableContent> getContent() {
 		if (content == null) {
-			content = new EObjectContainmentEList<TableContent>(TableContent.class, this,
+			content = new EObjectContainmentEList<>(TableContent.class, this,
 				TestPackage.TABLE_WITH_MULTIPLICITY__CONTENT);
 		}
 		return content;
diff --git a/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/impl/TableWithUniqueImpl.java b/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/impl/TableWithUniqueImpl.java
index 8660345..c303ad4 100644
--- a/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/impl/TableWithUniqueImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/impl/TableWithUniqueImpl.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -8,6 +8,7 @@
  *
  * Contributors:
  * Eugen Neufeld - initial API and implementation
+ * Christian W. Damus - bug 543190
  *******************************************************************************/
 package org.eclipse.emf.ecp.view.validation.test.model.impl;
 
@@ -17,7 +18,6 @@
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
 import org.eclipse.emf.ecore.util.EObjectContainmentEList;
 import org.eclipse.emf.ecore.util.InternalEList;
 import org.eclipse.emf.ecp.view.validation.test.model.TableContent;
@@ -37,7 +37,7 @@
  *
  * @generated
  */
-public class TableWithUniqueImpl extends EObjectImpl implements TableWithUnique {
+public class TableWithUniqueImpl extends TableObjectImpl implements TableWithUnique {
 	/**
 	 * The cached value of the '{@link #getContent() <em>Content</em>}' containment reference list.
 	 * <!-- begin-user-doc -->
@@ -79,7 +79,7 @@
 	@Override
 	public EList<TableContent> getContent() {
 		if (content == null) {
-			content = new EObjectContainmentEList<TableContent>(TableContent.class, this,
+			content = new EObjectContainmentEList<>(TableContent.class, this,
 				TestPackage.TABLE_WITH_UNIQUE__CONTENT);
 		}
 		return content;
diff --git a/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/impl/TableWithoutMultiplicityConcreteImpl.java b/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/impl/TableWithoutMultiplicityConcreteImpl.java
index d0cbf59..0351f83 100644
--- a/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/impl/TableWithoutMultiplicityConcreteImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/impl/TableWithoutMultiplicityConcreteImpl.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -8,6 +8,7 @@
  *
  * Contributors:
  * Eugen Neufeld - initial API and implementation
+ * Christian W. Damus - bug 543190
  *******************************************************************************/
 
 package org.eclipse.emf.ecp.view.validation.test.model.impl;
@@ -18,7 +19,6 @@
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
 import org.eclipse.emf.ecore.util.EObjectContainmentEList;
 import org.eclipse.emf.ecore.util.InternalEList;
 import org.eclipse.emf.ecp.view.validation.test.model.TableContentWithInnerChild;
@@ -39,7 +39,7 @@
  *
  * @generated
  */
-public class TableWithoutMultiplicityConcreteImpl extends EObjectImpl implements TableWithoutMultiplicityConcrete {
+public class TableWithoutMultiplicityConcreteImpl extends TableObjectImpl implements TableWithoutMultiplicityConcrete {
 	/**
 	 * The cached value of the '{@link #getContent() <em>Content</em>}' containment reference list.
 	 * <!-- begin-user-doc -->
@@ -81,7 +81,7 @@
 	@Override
 	public EList<TableContentWithInnerChild> getContent() {
 		if (content == null) {
-			content = new EObjectContainmentEList<TableContentWithInnerChild>(TableContentWithInnerChild.class, this,
+			content = new EObjectContainmentEList<>(TableContentWithInnerChild.class, this,
 				TestPackage.TABLE_WITHOUT_MULTIPLICITY_CONCRETE__CONTENT);
 		}
 		return content;
diff --git a/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/impl/TableWithoutMultiplicityImpl.java b/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/impl/TableWithoutMultiplicityImpl.java
index 7016140..e54e327 100644
--- a/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/impl/TableWithoutMultiplicityImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/impl/TableWithoutMultiplicityImpl.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -8,6 +8,7 @@
  *
  * Contributors:
  * Eugen Neufeld - initial API and implementation
+ * Christian W. Damus - bug 543190
  *******************************************************************************/
 package org.eclipse.emf.ecp.view.validation.test.model.impl;
 
@@ -17,7 +18,6 @@
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
 import org.eclipse.emf.ecore.util.EObjectContainmentEList;
 import org.eclipse.emf.ecore.util.InternalEList;
 import org.eclipse.emf.ecp.view.validation.test.model.TableContent;
@@ -38,7 +38,7 @@
  *
  * @generated
  */
-public class TableWithoutMultiplicityImpl extends EObjectImpl implements TableWithoutMultiplicity {
+public class TableWithoutMultiplicityImpl extends TableObjectImpl implements TableWithoutMultiplicity {
 	/**
 	 * The cached value of the '{@link #getContent() <em>Content</em>}' containment reference list.
 	 * <!-- begin-user-doc -->
@@ -80,7 +80,7 @@
 	@Override
 	public EList<TableContent> getContent() {
 		if (content == null) {
-			content = new EObjectContainmentEList<TableContent>(TableContent.class, this,
+			content = new EObjectContainmentEList<>(TableContent.class, this,
 				TestPackage.TABLE_WITHOUT_MULTIPLICITY__CONTENT);
 		}
 		return content;
diff --git a/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/impl/TestPackageImpl.java b/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/impl/TestPackageImpl.java
index a757c4e..4062ef8 100644
--- a/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/impl/TestPackageImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/impl/TestPackageImpl.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -8,6 +8,7 @@
  *
  * Contributors:
  * Eugen Neufeld - initial API and implementation
+ * Christian W. Damus - bug 543190
  *******************************************************************************/
 package org.eclipse.emf.ecp.view.validation.test.model.impl;
 
@@ -41,6 +42,7 @@
 import org.eclipse.emf.ecp.view.validation.test.model.TableContentWithInnerChild2;
 import org.eclipse.emf.ecp.view.validation.test.model.TableContentWithValidation;
 import org.eclipse.emf.ecp.view.validation.test.model.TableContentWithoutValidation;
+import org.eclipse.emf.ecp.view.validation.test.model.TableObject;
 import org.eclipse.emf.ecp.view.validation.test.model.TableWithMultiplicity;
 import org.eclipse.emf.ecp.view.validation.test.model.TableWithUnique;
 import org.eclipse.emf.ecp.view.validation.test.model.TableWithoutMultiplicity;
@@ -240,6 +242,14 @@
 	 *
 	 * @generated
 	 */
+	private EClass tableObjectEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
 	private EEnum genderEEnum = null;
 
 	/**
@@ -352,8 +362,10 @@
 		}
 
 		// Obtain or create and register package
-		final TestPackageImpl theTestPackage = (TestPackageImpl) (EPackage.Registry.INSTANCE
-			.get(eNS_URI) instanceof TestPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new TestPackageImpl());
+		final Object registeredTestPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+		final TestPackageImpl theTestPackage = registeredTestPackage instanceof TestPackageImpl
+			? (TestPackageImpl) registeredTestPackage
+			: new TestPackageImpl();
 
 		isInited = true;
 
@@ -1157,6 +1169,28 @@
 	 * @generated
 	 */
 	@Override
+	public EClass getTableObject() {
+		return tableObjectEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EAttribute getTableObject_Label() {
+		return (EAttribute) tableObjectEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
 	public EDataType getStringWithMaxLength8() {
 		return stringWithMaxLength8EDataType;
 	}
@@ -1375,6 +1409,9 @@
 		createEAttribute(personEClass, PERSON__CUSTOM);
 		createEAttribute(personEClass, PERSON__AGE);
 
+		tableObjectEClass = createEClass(TABLE_OBJECT);
+		createEAttribute(tableObjectEClass, TABLE_OBJECT__LABEL);
+
 		// Create enums
 		genderEEnum = createEEnum(GENDER);
 		colorEEnum = createEEnum(COLOR);
@@ -1421,18 +1458,22 @@
 		// Set bounds for type parameters
 
 		// Add supertypes to classes
+		tableWithMultiplicityEClass.getESuperTypes().add(getTableObject());
 		tableContentWithoutValidationEClass.getESuperTypes().add(getTableContent());
 		tableContentWithValidationEClass.getESuperTypes().add(getTableContent());
+		tableWithoutMultiplicityEClass.getESuperTypes().add(getTableObject());
+		tableWithUniqueEClass.getESuperTypes().add(getTableObject());
 		tableContentWithInnerChild2EClass.getESuperTypes().add(getTableContent());
 		tableContentWithInnerChildEClass.getESuperTypes().add(getTableContent());
+		tableWithoutMultiplicityConcreteEClass.getESuperTypes().add(getTableObject());
 
 		// Initialize classes and features; add operations and parameters
 		initEClass(libraryEClass, Library.class, "Library", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEAttribute(getLibrary_Name(), ecorePackage.getEString(), "name", null, 0, 1, Library.class, !IS_TRANSIENT,
 			!IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getLibrary_Writers(), getWriter(), getWriter_Library(), "writers", null, 1, -1,
-			Library.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
-			!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getLibrary_Writers(), getWriter(), getWriter_Library(), "writers", null, 1, -1, Library.class,
+			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
+			!IS_DERIVED, IS_ORDERED);
 		initEReference(getLibrary_Books(), getBook(), null, "books", null, 0, -1, Library.class, !IS_TRANSIENT,
 			!IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
 			IS_ORDERED);
@@ -1466,13 +1507,13 @@
 			!IS_DERIVED, IS_ORDERED);
 		initEAttribute(getWriter_Pseudonym(), ecorePackage.getEBoolean(), "Pseudonym", "false", 0, 1, Writer.class,
 			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getWriter_Library(), getLibrary(), getLibrary_Writers(), "library", null, 0, 1,
-			Writer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES,
-			!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getWriter_Initials(), getMinLengthOf3(), "initials", null, 0, 1, Writer.class,
-			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getWriter_Title(), getStrictMinLengthOf3(), "title", null, 0, 1, Writer.class,
-			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getWriter_Library(), getLibrary(), getLibrary_Writers(), "library", null, 0, 1, Writer.class,
+			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
+			!IS_DERIVED, IS_ORDERED);
+		initEAttribute(getWriter_Initials(), getMinLengthOf3(), "initials", null, 0, 1, Writer.class, !IS_TRANSIENT,
+			!IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getWriter_Title(), getStrictMinLengthOf3(), "title", null, 0, 1, Writer.class, !IS_TRANSIENT,
+			!IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
 		op = addEOperation(writerEClass, ecorePackage.getEBoolean(), "validate", 0, 1, IS_UNIQUE, IS_ORDERED);
 		addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostic", 0, 1, IS_UNIQUE, IS_ORDERED);
@@ -1593,14 +1634,14 @@
 
 		initEClass(tableContentWithInnerChild2EClass, TableContentWithInnerChild2.class, "TableContentWithInnerChild2",
 			!IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEReference(getTableContentWithInnerChild2_InnerChild(), getTableContent(), null, "innerChild", null, 0,
-			1, TableContentWithInnerChild2.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
+		initEReference(getTableContentWithInnerChild2_InnerChild(), getTableContent(), null, "innerChild", null, 0, 1,
+			TableContentWithInnerChild2.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
 			!IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
 		initEClass(tableContentWithInnerChildEClass, TableContentWithInnerChild.class, "TableContentWithInnerChild",
 			!IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEReference(getTableContentWithInnerChild_InnerChild(), getTableContent(), null, "innerChild", null, 0,
-			1, TableContentWithInnerChild.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
+		initEReference(getTableContentWithInnerChild_InnerChild(), getTableContent(), null, "innerChild", null, 0, 1,
+			TableContentWithInnerChild.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
 			!IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEAttribute(getTableContentWithInnerChild_Stuff(), ecorePackage.getEString(), "stuff", null, 0, 1,
 			TableContentWithInnerChild.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
@@ -1608,8 +1649,8 @@
 
 		initEClass(tableWithoutMultiplicityConcreteEClass, TableWithoutMultiplicityConcrete.class,
 			"TableWithoutMultiplicityConcrete", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEReference(getTableWithoutMultiplicityConcrete_Content(), getTableContentWithInnerChild(), null,
-			"content", null, 0, -1, TableWithoutMultiplicityConcrete.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+		initEReference(getTableWithoutMultiplicityConcrete_Content(), getTableContentWithInnerChild(), null, "content",
+			null, 0, -1, TableWithoutMultiplicityConcrete.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
 			IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
 		initEClass(referencerEClass, Referencer.class, "Referencer", !IS_ABSTRACT, !IS_INTERFACE,
@@ -1621,9 +1662,9 @@
 		initEClass(crossReferenceContainerEClass, CrossReferenceContainer.class, "CrossReferenceContainer",
 			!IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEReference(getCrossReferenceContainer_Contents(), getCrossReferenceContent(),
-			getCrossReferenceContent_Parent(), "contents", null, 0, -1, CrossReferenceContainer.class,
-			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
-			!IS_DERIVED, IS_ORDERED);
+			getCrossReferenceContent_Parent(), "contents", null, 0, -1, CrossReferenceContainer.class, !IS_TRANSIENT,
+			!IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+			IS_ORDERED);
 		initEReference(getCrossReferenceContainer_SingleContent(), getCrossReferenceContent(),
 			getCrossReferenceContent_SingleParent(), "singleContent", null, 0, 1, CrossReferenceContainer.class,
 			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
@@ -1632,9 +1673,9 @@
 		initEClass(crossReferenceContentEClass, CrossReferenceContent.class, "CrossReferenceContent", !IS_ABSTRACT,
 			!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEReference(getCrossReferenceContent_Parent(), getCrossReferenceContainer(),
-			getCrossReferenceContainer_Contents(), "parent", null, 0, 1, CrossReferenceContent.class,
-			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
-			!IS_DERIVED, IS_ORDERED);
+			getCrossReferenceContainer_Contents(), "parent", null, 0, 1, CrossReferenceContent.class, !IS_TRANSIENT,
+			!IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+			IS_ORDERED);
 		initEReference(getCrossReferenceContent_SingleParent(), getCrossReferenceContainer(),
 			getCrossReferenceContainer_SingleContent(), "singleParent", null, 0, 1, CrossReferenceContent.class,
 			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
@@ -1643,15 +1684,20 @@
 		initEClass(personEClass, Person.class, "Person", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEAttribute(getPerson_FirstName(), getStringWithMaxLength8(), "firstName", null, 0, 1, Person.class,
 			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getPerson_Gender(), getGender(), "gender", null, 0, 1, Person.class, !IS_TRANSIENT,
+		initEAttribute(getPerson_Gender(), getGender(), "gender", null, 0, 1, Person.class, !IS_TRANSIENT, !IS_VOLATILE,
+			IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getPerson_LastName(), getOnlyCapitals(), "lastName", null, 0, 1, Person.class, !IS_TRANSIENT,
 			!IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getPerson_LastName(), getOnlyCapitals(), "lastName", null, 0, 1, Person.class,
-			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEAttribute(getPerson_Custom(), getCustomDataType(), "custom", null, 0, 1, Person.class, !IS_TRANSIENT,
 			!IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEAttribute(getPerson_Age(), getAge(), "age", null, 0, 1, Person.class, !IS_TRANSIENT, !IS_VOLATILE,
 			IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
+		initEClass(tableObjectEClass, TableObject.class, "TableObject", IS_ABSTRACT, !IS_INTERFACE,
+			IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getTableObject_Label(), ecorePackage.getEString(), "label", null, 0, 1, TableObject.class,
+			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
 		// Initialize enums and add enum literals
 		initEEnum(genderEEnum, Gender.class, "Gender");
 		addEEnumLiteral(genderEEnum, Gender.MALE);
diff --git a/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/util/TestAdapterFactory.java b/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/util/TestAdapterFactory.java
index 17066dc..19c774c 100644
--- a/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/util/TestAdapterFactory.java
+++ b/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/util/TestAdapterFactory.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -8,6 +8,7 @@
  *
  * Contributors:
  * Eugen Neufeld - initial API and implementation
+ * Christian W. Damus - bug 543190
  *******************************************************************************/
 package org.eclipse.emf.ecp.view.validation.test.model.util;
 
@@ -32,6 +33,7 @@
 import org.eclipse.emf.ecp.view.validation.test.model.TableContentWithInnerChild2;
 import org.eclipse.emf.ecp.view.validation.test.model.TableContentWithValidation;
 import org.eclipse.emf.ecp.view.validation.test.model.TableContentWithoutValidation;
+import org.eclipse.emf.ecp.view.validation.test.model.TableObject;
 import org.eclipse.emf.ecp.view.validation.test.model.TableWithMultiplicity;
 import org.eclipse.emf.ecp.view.validation.test.model.TableWithUnique;
 import org.eclipse.emf.ecp.view.validation.test.model.TableWithoutMultiplicity;
@@ -211,6 +213,11 @@
 		}
 
 		@Override
+		public Adapter caseTableObject(TableObject object) {
+			return createTableObjectAdapter();
+		}
+
+		@Override
 		public Adapter defaultCase(EObject object) {
 			return createEObjectAdapter();
 		}
@@ -590,6 +597,22 @@
 	}
 
 	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecp.view.validation.test.model.TableObject
+	 * <em>Table Object</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.emf.ecp.view.validation.test.model.TableObject
+	 * @generated
+	 */
+	public Adapter createTableObjectAdapter() {
+		return null;
+	}
+
+	/**
 	 * Creates a new adapter for the default case.
 	 * <!-- begin-user-doc -->
 	 * This default implementation returns null.
diff --git a/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/util/TestSwitch.java b/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/util/TestSwitch.java
index a14d89d..a9373c5 100644
--- a/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/util/TestSwitch.java
+++ b/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/util/TestSwitch.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -8,6 +8,7 @@
  *
  * Contributors:
  * Eugen Neufeld - initial API and implementation
+ * Christian W. Damus - bug 543190
  *******************************************************************************/
 package org.eclipse.emf.ecp.view.validation.test.model.util;
 
@@ -31,6 +32,7 @@
 import org.eclipse.emf.ecp.view.validation.test.model.TableContentWithInnerChild2;
 import org.eclipse.emf.ecp.view.validation.test.model.TableContentWithValidation;
 import org.eclipse.emf.ecp.view.validation.test.model.TableContentWithoutValidation;
+import org.eclipse.emf.ecp.view.validation.test.model.TableObject;
 import org.eclipse.emf.ecp.view.validation.test.model.TableWithMultiplicity;
 import org.eclipse.emf.ecp.view.validation.test.model.TableWithUnique;
 import org.eclipse.emf.ecp.view.validation.test.model.TableWithoutMultiplicity;
@@ -177,6 +179,9 @@
 			final TableWithMultiplicity tableWithMultiplicity = (TableWithMultiplicity) theEObject;
 			T result = caseTableWithMultiplicity(tableWithMultiplicity);
 			if (result == null) {
+				result = caseTableObject(tableWithMultiplicity);
+			}
+			if (result == null) {
 				result = defaultCase(theEObject);
 			}
 			return result;
@@ -215,6 +220,9 @@
 			final TableWithoutMultiplicity tableWithoutMultiplicity = (TableWithoutMultiplicity) theEObject;
 			T result = caseTableWithoutMultiplicity(tableWithoutMultiplicity);
 			if (result == null) {
+				result = caseTableObject(tableWithoutMultiplicity);
+			}
+			if (result == null) {
 				result = defaultCase(theEObject);
 			}
 			return result;
@@ -223,6 +231,9 @@
 			final TableWithUnique tableWithUnique = (TableWithUnique) theEObject;
 			T result = caseTableWithUnique(tableWithUnique);
 			if (result == null) {
+				result = caseTableObject(tableWithUnique);
+			}
+			if (result == null) {
 				result = defaultCase(theEObject);
 			}
 			return result;
@@ -253,6 +264,9 @@
 			final TableWithoutMultiplicityConcrete tableWithoutMultiplicityConcrete = (TableWithoutMultiplicityConcrete) theEObject;
 			T result = caseTableWithoutMultiplicityConcrete(tableWithoutMultiplicityConcrete);
 			if (result == null) {
+				result = caseTableObject(tableWithoutMultiplicityConcrete);
+			}
+			if (result == null) {
 				result = defaultCase(theEObject);
 			}
 			return result;
@@ -289,6 +303,14 @@
 			}
 			return result;
 		}
+		case TestPackage.TABLE_OBJECT: {
+			final TableObject tableObject = (TableObject) theEObject;
+			T result = caseTableObject(tableObject);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
 		default:
 			return defaultCase(theEObject);
 		}
@@ -647,6 +669,22 @@
 	}
 
 	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Table Object</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>Table Object</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseTableObject(TableObject object) {
+		return null;
+	}
+
+	/**
 	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
 	 * <!-- begin-user-doc -->
 	 * This implementation returns null;
diff --git a/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/util/TestValidator.java b/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/util/TestValidator.java
index f5c50be..dd49244 100644
--- a/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/util/TestValidator.java
+++ b/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/model/util/TestValidator.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -8,6 +8,7 @@
  *
  * Contributors:
  * Eugen Neufeld - initial API and implementation
+ * Christian W. Damus - bug 543190
  *******************************************************************************/
 package org.eclipse.emf.ecp.view.validation.test.model.util;
 
@@ -47,6 +48,7 @@
 import org.eclipse.emf.ecp.view.validation.test.model.TableContentWithInnerChild2;
 import org.eclipse.emf.ecp.view.validation.test.model.TableContentWithValidation;
 import org.eclipse.emf.ecp.view.validation.test.model.TableContentWithoutValidation;
+import org.eclipse.emf.ecp.view.validation.test.model.TableObject;
 import org.eclipse.emf.ecp.view.validation.test.model.TableWithMultiplicity;
 import org.eclipse.emf.ecp.view.validation.test.model.TableWithUnique;
 import org.eclipse.emf.ecp.view.validation.test.model.TableWithoutMultiplicity;
@@ -218,6 +220,8 @@
 			return validateCrossReferenceContent((CrossReferenceContent) value, diagnostics, context);
 		case TestPackage.PERSON:
 			return validatePerson((Person) value, diagnostics, context);
+		case TestPackage.TABLE_OBJECT:
+			return validateTableObject((TableObject) value, diagnostics, context);
 		case TestPackage.GENDER:
 			return validateGender((Gender) value, diagnostics, context);
 		case TestPackage.COLOR:
@@ -490,7 +494,7 @@
 		// -> verify the diagnostic details, including severity, code, and message
 		// Ensure that you remove @generated or mark it @generated NOT
 		final EList<Content> contents = container.getContents();
-		final Map<String, Set<Content>> uniqueAttToContentMap = new LinkedHashMap<String, Set<Content>>();
+		final Map<String, Set<Content>> uniqueAttToContentMap = new LinkedHashMap<>();
 
 		for (final Content content : contents) {
 			final String uniquiAtt = content.getUniqueAttribute();
@@ -499,7 +503,7 @@
 			}
 			uniqueAttToContentMap.get(uniquiAtt).add(content);
 		}
-		final List<Content> duplicates = new ArrayList<Content>();
+		final List<Content> duplicates = new ArrayList<>();
 		for (final String language : uniqueAttToContentMap.keySet()) {
 			if (uniqueAttToContentMap.get(language).size() > 1) {
 				duplicates.addAll(uniqueAttToContentMap.get(language));
@@ -700,6 +704,17 @@
 	 *
 	 * @generated
 	 */
+	public boolean validateTableObject(TableObject tableObject, DiagnosticChain diagnostics,
+		Map<Object, Object> context) {
+		return validate_EveryDefaultConstraint(tableObject, diagnostics, context);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
 	public boolean validateGender(Gender gender, DiagnosticChain diagnostics, Map<Object, Object> context) {
 		return true;
 	}
@@ -953,7 +968,7 @@
 	private boolean validateUniqueness(TableWithUnique tableWithUnique, DiagnosticChain diagnostics,
 		Map<Object, Object> context) {
 		final EList<TableContent> contents = tableWithUnique.getContent();
-		final Map<String, Set<TableContent>> uniqueAttToContentMap = new LinkedHashMap<String, Set<TableContent>>();
+		final Map<String, Set<TableContent>> uniqueAttToContentMap = new LinkedHashMap<>();
 
 		EStructuralFeature nameFeature = null;
 
@@ -972,7 +987,7 @@
 			}
 			uniqueAttToContentMap.get(uniquiAtt).add(content);
 		}
-		final List<TableContent> duplicates = new ArrayList<TableContent>();
+		final List<TableContent> duplicates = new ArrayList<>();
 		for (final String language : uniqueAttToContentMap.keySet()) {
 			if (uniqueAttToContentMap.get(language).size() > 1) {
 				duplicates.addAll(uniqueAttToContentMap.get(language));
diff --git a/tests/org.eclipse.emf.ecp.view.vertical.ui.swt.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.vertical.ui.swt.test/META-INF/MANIFEST.MF
index c7aafe7..9448259 100644
--- a/tests/org.eclipse.emf.ecp.view.vertical.ui.swt.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.vertical.ui.swt.test/META-INF/MANIFEST.MF
@@ -2,23 +2,23 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Tests for the VerticalSWT Renderer
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.vertical.ui.swt.test
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.view.vertical.ui.swt;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emf.ecp.view.vertical.ui.swt.test;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.19.0,1.20.0)",
-  org.junit;bundle-version="[4.0.0,5.0.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.swt;bundle-version="[3.1.0,4.0.0)",
-  org.eclipse.emf.ecp.edit;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.test;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.jface;bundle-version="3.8.102",
-  org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.legacy;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.domainexpander.default;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.structuralchange;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.structuralchange.default;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emf.ecp.view.vertical.ui.swt;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emf.ecp.view.vertical.ui.swt.test;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.20.0,1.21.0)",
+ org.junit;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.swt;bundle-version="[3.1.0,4.0.0)",
+ org.eclipse.emf.ecp.edit;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.test;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.jface;bundle-version="3.8.102",
+ org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.legacy;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.domainexpander.default;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.structuralchange;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.structuralchange.default;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.vertical.ui.swt.test
diff --git a/tests/org.eclipse.emf.ecp.view.vertical.ui.swt.test/pom.xml b/tests/org.eclipse.emf.ecp.view.vertical.ui.swt.test/pom.xml
index c814968..60ce858 100644
--- a/tests/org.eclipse.emf.ecp.view.vertical.ui.swt.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.vertical.ui.swt.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.view.vertical.ui.swt.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.ecp.view.viewproxy.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.viewproxy.test/META-INF/MANIFEST.MF
index a28325c..bee3cbf 100644
--- a/tests/org.eclipse.emf.ecp.view.viewproxy.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.viewproxy.test/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ViewProxy Tests
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.viewproxy.tests;singleton:=true
-Bundle-Version: 1.19.0.qualifier
-Fragment-Host: org.eclipse.emf.ecp.view.viewproxy.model;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emf.ecp.view.internal.viewproxy.resolver;version="1.19.0",
-  org.eclipse.emf.ecp.view.viewproxy.tests;version="1.19.0";x-internal:=true
+Bundle-Version: 1.20.0.qualifier
+Fragment-Host: org.eclipse.emf.ecp.view.viewproxy.model;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emf.ecp.view.internal.viewproxy.resolver;version="1.20.0",
+ org.eclipse.emf.ecp.view.viewproxy.tests;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.2.0,2.0.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.viewproxy.tests
diff --git a/tests/org.eclipse.emf.ecp.view.viewproxy.test/pom.xml b/tests/org.eclipse.emf.ecp.view.viewproxy.test/pom.xml
index 1f83954..f53c430 100644
--- a/tests/org.eclipse.emf.ecp.view.viewproxy.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.viewproxy.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.view.viewproxy.tests</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.ecp.workspace.ui.rap.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.workspace.ui.rap.test/META-INF/MANIFEST.MF
index 1e69438..2687425 100644
--- a/tests/org.eclipse.emf.ecp.workspace.ui.rap.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.workspace.ui.rap.test/META-INF/MANIFEST.MF
@@ -2,20 +2,20 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Test
 Bundle-SymbolicName: org.eclipse.emf.ecp.workspace.ui.rap.test
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.workspace.ui.rap.test;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.workspace.ui.rap.test;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.eclipse.emf.ecp.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.core.rap;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.core.rap.sessionprovider.test;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.equinox.ds;bundle-version="[1.4.300,2.0.0)",
-  org.eclipse.emf.ecp.workspace.core;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.core.rap;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.core.rap.sessionprovider.test;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.equinox.ds;bundle-version="[1.4.300,2.0.0)",
+ org.eclipse.emf.ecp.workspace.core;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.workspace.ui.rap.test
 Import-Package: org.eclipse.core.runtime;version="0.0.0",
-  org.eclipse.emf.ecp.core;version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.core.rap;version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.core.rap.sessionprovider.test;version="[1.19.0,1.20.0)",
-  org.osgi.framework;version="0.0.0"
+ org.eclipse.emf.ecp.core;version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.core.rap;version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.core.rap.sessionprovider.test;version="[1.20.0,1.21.0)",
+ org.osgi.framework;version="0.0.0"
 Bundle-ActivationPolicy: lazy
diff --git a/tests/org.eclipse.emf.ecp.workspace.ui.rap.test/pom.xml b/tests/org.eclipse.emf.ecp.workspace.ui.rap.test/pom.xml
index ba34e5e..f9ce0e2 100644
--- a/tests/org.eclipse.emf.ecp.workspace.ui.rap.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.workspace.ui.rap.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emf.ecp.workspace.ui.rap.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emfforms.common.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.common.tests/META-INF/MANIFEST.MF
index 32c22ee..61bd295 100644
--- a/tests/org.eclipse.emfforms.common.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emfforms.common.tests/META-INF/MANIFEST.MF
@@ -2,16 +2,18 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms Locale Tests
 Bundle-SymbolicName: org.eclipse.emfforms.common.tests;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emfforms.common;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emfforms.common.tests;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.spi.common.locale;version="1.19.0"
-Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
+Fragment-Host: org.eclipse.emfforms.common;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emfforms.common.sort;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.common.tests;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.spi.common.locale;version="1.20.0";x-internal:=true
+Require-Bundle: org.hamcrest.library;bundle-version="[1.3.0,2.0.0)",
  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
  org.eclipse.emf.ecore.xmi;bundle-version="[2.13.0,3.0.0)",
- org.eclipse.emfforms.editor;bundle-version="[1.17.0,2.0.0)",
+ org.eclipse.emfforms.editor;bundle-version="[1.20.0,1.21.0)",
  org.eclipse.emf.edit;bundle-version="[2.14.0,3.0.0)",
- org.eclipse.emf.ecp.view.model.common;bundle-version="[1.19.0,2.0.0)"
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.20.0,1.21.0)",
+ org.junit;bundle-version="[4.12.0,5.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.common.tests
diff --git a/tests/org.eclipse.emfforms.common.tests/pom.xml b/tests/org.eclipse.emfforms.common.tests/pom.xml
index 9841a74..21707f7 100644
--- a/tests/org.eclipse.emfforms.common.tests/pom.xml
+++ b/tests/org.eclipse.emfforms.common.tests/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emfforms.common.tests</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emfforms.common.tests/src/org/eclipse/emfforms/common/sort/NumberAwareStringComparator_PTest.java b/tests/org.eclipse.emfforms.common.tests/src/org/eclipse/emfforms/common/sort/NumberAwareStringComparator_PTest.java
new file mode 100644
index 0000000..e09c6d0
--- /dev/null
+++ b/tests/org.eclipse.emfforms.common.tests/src/org/eclipse/emfforms/common/sort/NumberAwareStringComparator_PTest.java
@@ -0,0 +1,81 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.common.sort;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.equalTo;
+import static org.hamcrest.Matchers.greaterThanOrEqualTo;
+import static org.hamcrest.Matchers.lessThanOrEqualTo;
+
+import org.eclipse.emfforms.spi.common.sort.NumberAwareStringComparator;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * Unit tests for {@link NumberAwareStringComparator}. Run as plugin test because otherwise the hamcrest matchers do not
+ * work due to a security exception.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class NumberAwareStringComparator_PTest {
+
+	private static NumberAwareStringComparator comparator;
+
+	@BeforeClass
+	public static void setUp() {
+		comparator = NumberAwareStringComparator.getInstance();
+	}
+
+	@Test
+	public void houseNumbers() {
+		// With normal string compare a letter is bigger than a digit => 100A would be bigger than 1000A
+		// With number aware compare 100A should be smaller
+		assertThat(comparator.compare("100A", "1000A"), lessThanOrEqualTo(-1)); //$NON-NLS-1$//$NON-NLS-2$
+
+		assertThat(comparator.compare("2A", "10A"), lessThanOrEqualTo(-1)); //$NON-NLS-1$ //$NON-NLS-2$
+
+		assertThat(comparator.compare("2B", "10A"), lessThanOrEqualTo(-1)); //$NON-NLS-1$ //$NON-NLS-2$
+
+		assertThat(comparator.compare("2B", "2A"), greaterThanOrEqualTo(1)); //$NON-NLS-1$ //$NON-NLS-2$
+
+		assertThat(comparator.compare("25C", "25C"), equalTo(0)); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+	@Test
+	public void mixedSameSegments() {
+		assertThat(comparator.compare("n1a1", "n1aa"), lessThanOrEqualTo(-1)); //$NON-NLS-1$ //$NON-NLS-2$
+
+		assertThat(comparator.compare("n1aa", "n1a1"), greaterThanOrEqualTo(1)); //$NON-NLS-1$ //$NON-NLS-2$
+
+		assertThat(comparator.compare("n1aa", "n1aa"), equalTo(0)); //$NON-NLS-1$ //$NON-NLS-2$
+
+		assertThat(comparator.compare("n1a1", "n1a1"), equalTo(0)); //$NON-NLS-1$ //$NON-NLS-2$
+
+		assertThat(comparator.compare("n1a1", "n1a"), greaterThanOrEqualTo(1)); //$NON-NLS-1$ //$NON-NLS-2$
+
+		assertThat(comparator.compare("n1a1", "n1aa1"), lessThanOrEqualTo(-1)); //$NON-NLS-1$ //$NON-NLS-2$
+
+		assertThat(comparator.compare("n1b1", "n1a2"), greaterThanOrEqualTo(1)); //$NON-NLS-1$ //$NON-NLS-2$
+
+		assertThat(comparator.compare("n1a1", "n1a1a"), lessThanOrEqualTo(-1)); //$NON-NLS-1$ //$NON-NLS-2$
+
+		assertThat(comparator.compare("n1a2", "n1a1a"), greaterThanOrEqualTo(-1)); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+	/** The sorting should ignore case because otherwise z > a > Z which would be really unintuitive for users. */
+	@Test
+	public void ignoreCase() {
+		assertThat(comparator.compare("a", "z"), lessThanOrEqualTo(-1)); //$NON-NLS-1$ //$NON-NLS-2$
+		assertThat(comparator.compare("a", "Z"), lessThanOrEqualTo(-1)); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+}
diff --git a/tests/org.eclipse.emfforms.common.validation.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.common.validation.tests/META-INF/MANIFEST.MF
index 0d44af8..457b436 100644
--- a/tests/org.eclipse.emfforms.common.validation.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emfforms.common.validation.tests/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms Common Validation Tests
 Bundle-SymbolicName: org.eclipse.emfforms.common.validation.tests
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emfforms.common.validation;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emfforms.common.internal.validation;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.common.validation.tests;version="1.19.0"
+Fragment-Host: org.eclipse.emfforms.common.validation;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emfforms.common.internal.validation;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.common.validation.tests;version="1.20.0"
 Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
-  org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.9.0,2.0.0)",
-  org.objenesis;bundle-version="[1.0.0,2.0.0)"
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
+ org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.9.0,2.0.0)",
+ org.objenesis;bundle-version="[1.0.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.common.validation.tests
diff --git a/tests/org.eclipse.emfforms.common.validation.tests/pom.xml b/tests/org.eclipse.emfforms.common.validation.tests/pom.xml
index f024d58..6efccef 100644
--- a/tests/org.eclipse.emfforms.common.validation.tests/pom.xml
+++ b/tests/org.eclipse.emfforms.common.validation.tests/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emfforms.common.validation.tests</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emfforms.common.validation.tests/src/org/eclipse/emfforms/common/internal/validation/ValidationServiceImpl_Test.java b/tests/org.eclipse.emfforms.common.validation.tests/src/org/eclipse/emfforms/common/internal/validation/ValidationServiceImpl_Test.java
index d797854..a112ed8 100644
--- a/tests/org.eclipse.emfforms.common.validation.tests/src/org/eclipse/emfforms/common/internal/validation/ValidationServiceImpl_Test.java
+++ b/tests/org.eclipse.emfforms.common.validation.tests/src/org/eclipse/emfforms/common/internal/validation/ValidationServiceImpl_Test.java
@@ -38,6 +38,7 @@
 import org.eclipse.emf.ecore.EValidator.SubstitutionLabelProvider;
 import org.eclipse.emf.ecore.EcoreFactory;
 import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.impl.DynamicEObjectImpl;
 import org.eclipse.emf.ecore.util.EObjectValidator;
 import org.eclipse.emf.ecore.util.EcoreUtil;
 import org.eclipse.emf.emfstore.bowling.BowlingFactory;
@@ -182,6 +183,30 @@
 	}
 
 	@Test
+	public void diagnosticValidateUsesDefaultValidatorForDynamicDomainModel() {
+
+		final EPackage ePackage = EcoreFactory.eINSTANCE.createEPackage();
+		final EClass extendedPlayerClass = EcoreFactory.eINSTANCE.createEClass();
+		extendedPlayerClass.setName("ExtendedPlayer");
+		extendedPlayerClass.getESuperTypes().add(BowlingPackage.eINSTANCE.getPlayer());
+		ePackage.setName("extendedPlayerPackage");
+		ePackage.setNsPrefix("extendedPlayerPackage");
+		ePackage.setNsURI("extendedPlayerPackage");
+		ePackage.getEClassifiers().add(extendedPlayerClass);
+
+		final EObject extendedPlayer = new DynamicEObjectImpl(extendedPlayerClass);
+		extendedPlayer.eSet(BowlingPackage.eINSTANCE.getPlayer_Height(), 20d);
+
+		final EValidator validatorForEObject = fixture.getEValidatorForEObject(extendedPlayer);
+		final BasicDiagnostic diagnostic = new BasicDiagnostic();
+		validatorForEObject.validate(extendedPlayerClass, extendedPlayer, diagnostic, null);
+		assertSame(Diagnostic.ERROR, diagnostic.getSeverity());
+		assertSame(1, diagnostic.getChildren().size());
+		assertSame(EObjectValidator.DIAGNOSTIC_SOURCE, diagnostic.getChildren().get(0).getSource());
+		assertSame(BowlingPackage.eINSTANCE.getPlayer_EMails(), diagnostic.getChildren().get(0).getData().get(1));
+	}
+
+	@Test
 	public void diagnosticValidateUsesDefaultValidator() {
 
 		final EPackage ePackage = EcoreFactory.eINSTANCE.createEPackage();
diff --git a/tests/org.eclipse.emfforms.core.bazaar.tests/.classpath b/tests/org.eclipse.emfforms.core.bazaar.tests/.classpath
index e8ea977..4f83b23 100644
--- a/tests/org.eclipse.emfforms.core.bazaar.tests/.classpath
+++ b/tests/org.eclipse.emfforms.core.bazaar.tests/.classpath
@@ -2,6 +2,6 @@
 <classpath>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/tests/org.eclipse.emfforms.core.bazaar.tests/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.emfforms.core.bazaar.tests/.settings/org.eclipse.jdt.core.prefs
index ead8391..643ebf1 100644
--- a/tests/org.eclipse.emfforms.core.bazaar.tests/.settings/org.eclipse.jdt.core.prefs
+++ b/tests/org.eclipse.emfforms.core.bazaar.tests/.settings/org.eclipse.jdt.core.prefs
@@ -26,9 +26,9 @@
 org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.compliance=1.8
 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -132,7 +132,7 @@
 org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
 org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
 org.eclipse.jdt.core.compiler.release=disabled
-org.eclipse.jdt.core.compiler.source=1.7
+org.eclipse.jdt.core.compiler.source=1.8
 org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
 org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
 org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
diff --git a/tests/org.eclipse.emfforms.core.bazaar.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.core.bazaar.tests/META-INF/MANIFEST.MF
index 0053ed6..9dc2334 100644
--- a/tests/org.eclipse.emfforms.core.bazaar.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emfforms.core.bazaar.tests/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Bazaar Tests
 Bundle-SymbolicName: org.eclipse.emfforms.core.bazaar.tests
-Bundle-Version: 1.19.0.qualifier
-Fragment-Host: org.eclipse.emfforms.core.bazaar;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emfforms.bazaar.internal;version="1.19.0";x-internal:=true
+Bundle-Version: 1.20.0.qualifier
+Fragment-Host: org.eclipse.emfforms.core.bazaar;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emfforms.bazaar.internal;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.12.0,5.0.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
-  org.objenesis;bundle-version="[1.0.0,2.0.0)"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
+ org.objenesis;bundle-version="[1.0.0,2.0.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.core.bazaar.tests
 Import-Package: org.eclipse.core.runtime;version="[3.5.0,4.0.0)",
-  org.eclipse.e4.core.contexts;version="[1.6.0,2.0.0)",
-  org.eclipse.emfforms.bazaar;version="[1.19.0,1.20.0)",
-  org.osgi.framework;version="[1.3.0,2.0.0)"
+ org.eclipse.e4.core.contexts;version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.bazaar;version="[1.20.0,1.21.0)",
+ org.osgi.framework;version="[1.3.0,2.0.0)"
diff --git a/tests/org.eclipse.emfforms.core.bazaar.tests/pom.xml b/tests/org.eclipse.emfforms.core.bazaar.tests/pom.xml
index 6ac6d93..c173136 100644
--- a/tests/org.eclipse.emfforms.core.bazaar.tests/pom.xml
+++ b/tests/org.eclipse.emfforms.core.bazaar.tests/pom.xml
@@ -6,7 +6,7 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<artifactId>org.eclipse.emfforms.core.bazaar.tests</artifactId>
diff --git a/tests/org.eclipse.emfforms.core.bazaar.tests/src/org/eclipse/emfforms/bazaar/internal/Bazaar_PTest.java b/tests/org.eclipse.emfforms.core.bazaar.tests/src/org/eclipse/emfforms/bazaar/internal/Bazaar_PTest.java
index 5730f39..ea39c9d 100644
--- a/tests/org.eclipse.emfforms.core.bazaar.tests/src/org/eclipse/emfforms/bazaar/internal/Bazaar_PTest.java
+++ b/tests/org.eclipse.emfforms.core.bazaar.tests/src/org/eclipse/emfforms/bazaar/internal/Bazaar_PTest.java
@@ -82,7 +82,7 @@
 		final IEclipseContext context = EclipseContextFactory.create();
 		// Add another value, otherwise, empty context is too fast
 		context.set(TESTSTRING, mock(Object.class));
-		assertTrue(doComparison(true, context));
+		doComparison(true, context);
 	}
 
 	@Test
@@ -90,15 +90,14 @@
 		final IEclipseContext context = EclipseContextFactory.create();
 		// Add another value, otherwise, empty context is too fast
 		context.set(VendorWithPrecondition.KEY, VendorWithPrecondition.VALUE);
-		assertTrue(doComparison(false, context));
+		doComparison(false, context);
 	}
 
 	/**
-	 *
-	 * @return if expectedTheWithPreConditionsBetter, true if that is the case. Otherwise true, if with precondition not
-	 *         more the 50% slower
+	 * If expectedTheWithPreConditionsBetter, asserts to true if that is the case.
+	 * Otherwise asserts to true, if with precondition is not more than 60% slower.
 	 */
-	public boolean doComparison(boolean expectedTheWithPreConditionsBetter, IEclipseContext context) {
+	private void doComparison(boolean expectedTheWithPreConditionsBetter, IEclipseContext context) {
 		final int iterations = 50000;
 		final Vendor<MyProduct> vendor = new VendorWithPrecondition();
 		bazaar.addVendor(vendor);
@@ -118,9 +117,15 @@
 		final long withoutPreConditions = System.currentTimeMillis() - currentTimeMillis;
 
 		if (expectedTheWithPreConditionsBetter) {
-			return withPreConditions < withoutPreConditions;
+			assertTrue(
+				String.format("The preCondition evaluation (%1$s ms) is slower then withoutPreCondition (%2$s ms)!", //$NON-NLS-1$
+					withPreConditions, withoutPreConditions),
+				withPreConditions < withoutPreConditions);
+		} else {
+			final double withoutPreConditionsSlack = 1.6 * withoutPreConditions;
+			assertTrue(String.format(
+				"The preCondition evaluation (%1$s ms) is slower then withoutPreCondition with 60%% slack (%2$s ms)!", //$NON-NLS-1$
+				withPreConditions, withoutPreConditionsSlack), withPreConditions < withoutPreConditionsSlack);
 		}
-		return 1.5 * withoutPreConditions > withPreConditions;
-
 	}
 }
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/META-INF/MANIFEST.MF
index f724a08..d20024b 100644
--- a/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/META-INF/MANIFEST.MF
@@ -2,17 +2,17 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Databinding Services Featurepath Tests
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.databinding.featurepath.tests;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emfforms.core.services.databinding.featurepath;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emfforms.core.services.databinding.featurepath.tests;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.internal.core.services.databinding.featurepath;version="1.19.0";x-internal:=true
+Fragment-Host: org.eclipse.emfforms.core.services.databinding.featurepath;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emfforms.core.services.databinding.featurepath.tests;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.core.services.databinding.featurepath;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
-  org.objenesis;bundle-version="[1.0.0,2.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.9.0,3.0.0)",
-  org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.19.0,1.20.0)"
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
+ org.objenesis;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.9.0,3.0.0)",
+ org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.20.0,1.21.0)"
 Import-Package: org.osgi.framework;version="[1.1.0,2.0.0)"
 Automatic-Module-Name: org.eclipse.emfforms.core.services.databinding.featurepath.tests
 Bundle-ActivationPolicy: lazy
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/pom.xml b/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/pom.xml
index 9bff1ae..17c1158 100644
--- a/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/pom.xml
+++ b/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/pom.xml
@@ -6,7 +6,7 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<artifactId>org.eclipse.emfforms.core.services.databinding.featurepath.tests</artifactId>
@@ -42,6 +42,6 @@
 		</plugins>
 	</build>
 	<groupId>org.eclipse.emf.ecp</groupId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	
 </project>
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.index.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.core.services.databinding.index.tests/META-INF/MANIFEST.MF
index 50dea34..b90fe62 100644
--- a/tests/org.eclipse.emfforms.core.services.databinding.index.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emfforms.core.services.databinding.index.tests/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Index DMR Converter Tests
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.databinding.index.tests
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emfforms.core.services.databinding.index;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emfforms.core.services.databinding.index.tests;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.internal.core.services.databinding.index;version="1.19.0";x-internal:=true
+Fragment-Host: org.eclipse.emfforms.core.services.databinding.index;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emfforms.core.services.databinding.index.tests;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.core.services.databinding.index;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
-  org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.19.0,1.20.0)",
-  org.objenesis;bundle-version="[1.0.0,2.0.0)"
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
+ org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.20.0,1.21.0)",
+ org.objenesis;bundle-version="[1.0.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.core.services.databinding.index.tests
 Import-Package: org.osgi.framework;version="[1.3.0,2.0.0]"
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.index.tests/pom.xml b/tests/org.eclipse.emfforms.core.services.databinding.index.tests/pom.xml
index 79c0bcb..b7324d1 100644
--- a/tests/org.eclipse.emfforms.core.services.databinding.index.tests/pom.xml
+++ b/tests/org.eclipse.emfforms.core.services.databinding.index.tests/pom.xml
@@ -6,7 +6,7 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<artifactId>org.eclipse.emfforms.core.services.databinding.index.tests</artifactId>
@@ -27,5 +27,5 @@
 		</plugins>
 	</build>
 	<groupId>org.eclipse.emfforms</groupId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/META-INF/MANIFEST.MF
index 21c67df..0804058 100644
--- a/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Databinding Services Integration Test
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.databinding.integrationtest
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.core.services.databinding.integrationtest;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emfforms.core.services.databinding.integrationtest;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.databinding;bundle-version="[1.2.0,2.0.0)"
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.2.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.core.services.databinding.integrationtest
 Import-Package: org.osgi.framework;version="[1.1.0,2.0.0)"
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/pom.xml b/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/pom.xml
index 81f99aa..eaf69f1 100644
--- a/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/pom.xml
+++ b/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/pom.xml
@@ -6,7 +6,7 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<artifactId>org.eclipse.emfforms.core.services.databinding.integrationtest</artifactId>
@@ -52,5 +52,5 @@
 		</plugins>
 	</build>
 	<groupId>org.eclipse.emf.ecp</groupId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.keyattribute.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.core.services.databinding.keyattribute.tests/META-INF/MANIFEST.MF
index 4fa6de7..b30bdcf 100644
--- a/tests/org.eclipse.emfforms.core.services.databinding.keyattribute.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emfforms.core.services.databinding.keyattribute.tests/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: KeyAttribute DMR Converter Tests
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.databinding.keyattribute.tests
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emfforms.core.services.databinding.keyattribute;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emfforms.core.services.databinding.keyattribute.tests;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.internal.core.services.databinding.keyattribute;version="1.19.0";x-internal:=true
+Fragment-Host: org.eclipse.emfforms.core.services.databinding.keyattribute;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emfforms.core.services.databinding.keyattribute.tests;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.core.services.databinding.keyattribute;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
  org.eclipse.emf.ecore;bundle-version="[2.11.0,3.0.0)",
- org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.19.0,1.20.0)",
- org.eclipse.emf.ecp.test.common;bundle-version="[1.19.0,1.20.0)",
+ org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.20.0,1.21.0)",
  org.objenesis;bundle-version="[1.0.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.core.services.databinding.keyattribute.tests
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.keyattribute.tests/pom.xml b/tests/org.eclipse.emfforms.core.services.databinding.keyattribute.tests/pom.xml
index a716dad..bf8f70b 100644
--- a/tests/org.eclipse.emfforms.core.services.databinding.keyattribute.tests/pom.xml
+++ b/tests/org.eclipse.emfforms.core.services.databinding.keyattribute.tests/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emfforms.core.services.databinding.keyattribute.tests</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 	
 	<build>
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/META-INF/MANIFEST.MF
index 75dafcb..8c9a993 100644
--- a/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Mapping DMR Converter Tests
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.databinding.mapping.tests
-Bundle-Version: 1.19.0.qualifier
-Fragment-Host: org.eclipse.emfforms.core.services.databinding.mapping;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emfforms.core.services.databinding.mapping.tests;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.internal.core.services.databinding.mapping;version="1.19.0";x-internal:=true
+Bundle-Version: 1.20.0.qualifier
+Fragment-Host: org.eclipse.emfforms.core.services.databinding.mapping;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emfforms.core.services.databinding.mapping.tests;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.core.services.databinding.mapping;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
-  org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.test.common;bundle-version="[1.19.0,1.20.0)",
-  org.objenesis;bundle-version="[1.0.0,2.0.0)"
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
+ org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.20.0,1.21.0)",
+ org.objenesis;bundle-version="[1.0.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.core.services.databinding.mapping.tests
 Import-Package: org.osgi.framework;version="[1.3.0,2.0.0)"
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/pom.xml b/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/pom.xml
index a089413..aaaef6f 100644
--- a/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/pom.xml
+++ b/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/pom.xml
@@ -6,7 +6,7 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<artifactId>org.eclipse.emfforms.core.services.databinding.mapping.tests</artifactId>
@@ -27,5 +27,5 @@
 		</plugins>
 	</build>
 	<groupId>org.eclipse.emfforms</groupId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.testmodel/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/META-INF/MANIFEST.MF
index 1534636..19d03a6 100644
--- a/tests/org.eclipse.emfforms.core.services.databinding.testmodel/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.databinding.testmodel;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emfforms.core.services.databinding.testmodel.test.model;version="1.19.0",
- org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl;version="1.19.0";x-internal:=true,
- org.eclipse.emfforms.core.services.databinding.testmodel.test.model.util;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emfforms.core.services.databinding.testmodel.test.model;version="1.20.0",
+ org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.core.services.databinding.testmodel.test.model.util;version="1.20.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.9.0,4.0.0)",
  org.eclipse.emf.ecore;bundle-version="[2.9.0,3.0.0)";visibility:=reexport
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.testmodel/pom.xml b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/pom.xml
index b39ae87..0f5d9ba 100644
--- a/tests/org.eclipse.emfforms.core.services.databinding.testmodel/pom.xml
+++ b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<artifactId>org.eclipse.emfforms.core.services.databinding.testmodel</artifactId>
 	<packaging>eclipse-plugin</packaging>
 
 	<groupId>org.eclipse.emf.ecp</groupId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 </project>
diff --git a/tests/org.eclipse.emfforms.core.services.datatemplate.test/AllTests for core.services.datatemplate.launch b/tests/org.eclipse.emfforms.core.services.datatemplate.test/AllTests for core.services.datatemplate.launch
new file mode 100644
index 0000000..300a7d1
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.datatemplate.test/AllTests for core.services.datatemplate.launch
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.emfforms.core.services.datatemplate.test/src/org/eclipse/emfforms/core/services/datatemplate/test/AllTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emfforms.core.services.datatemplate.test.AllTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emfforms.core.services.datatemplate.test"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.emfforms.core.services.datatemplate.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.core.services.datatemplate.test/META-INF/MANIFEST.MF
index 8f6e2f2..f44b4b3 100644
--- a/tests/org.eclipse.emfforms.core.services.datatemplate.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emfforms.core.services.datatemplate.test/META-INF/MANIFEST.MF
@@ -2,28 +2,28 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms DataTemplate Service Tests
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.datatemplate.test;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emfforms.core.services.datatemplate;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emfforms.core.services.datatemplate;bundle-version="[1.20.0,1.21.0)"
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emfforms.core.services.datatemplate.test;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.core.services.datatemplate.test.model.audit;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.core.services.datatemplate.test.model.audit.impl;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.core.services.datatemplate.test.model.audit.util;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.internal.core.services.datatemplate;version="1.19.0";x-internal:=true
+Export-Package: org.eclipse.emfforms.core.services.datatemplate.test;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.core.services.datatemplate.test.model.audit;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.core.services.datatemplate.test.model.audit.impl;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.core.services.datatemplate.test.model.audit.util;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.core.services.datatemplate;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.12.0,5.0.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
-  org.objenesis;bundle-version="[1.0.0,2.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
-  org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
-  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
-  org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecore.edit;bundle-version="[2.9.0,3.0.0)",
-  org.eclipse.emf.edit.ui;bundle-version="[2.10.0,3.0.0)"
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
+ org.objenesis;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecore.edit;bundle-version="[2.9.0,3.0.0)",
+ org.eclipse.emf.edit.ui;bundle-version="[2.10.0,3.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emfforms.core.services.datatemplate.test
 Import-Package: org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0"
+ org.eclipse.swt.widgets;version="0.0.0"
diff --git a/tests/org.eclipse.emfforms.core.services.datatemplate.test/pom.xml b/tests/org.eclipse.emfforms.core.services.datatemplate.test/pom.xml
index 8e2f499..8e7bb03 100644
--- a/tests/org.eclipse.emfforms.core.services.datatemplate.test/pom.xml
+++ b/tests/org.eclipse.emfforms.core.services.datatemplate.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emfforms.core.services.datatemplate.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 	<build>
 		<sourceDirectory>src</sourceDirectory>
diff --git a/tests/org.eclipse.emfforms.core.services.datatemplate.test/src/org/eclipse/emfforms/internal/core/services/datatemplate/SelectSubclassAndTemplateWizard_PTest.java b/tests/org.eclipse.emfforms.core.services.datatemplate.test/src/org/eclipse/emfforms/internal/core/services/datatemplate/SelectSubclassAndTemplateWizard_PTest.java
index 4aa4575..da1705b 100644
--- a/tests/org.eclipse.emfforms.core.services.datatemplate.test/src/org/eclipse/emfforms/internal/core/services/datatemplate/SelectSubclassAndTemplateWizard_PTest.java
+++ b/tests/org.eclipse.emfforms.core.services.datatemplate.test/src/org/eclipse/emfforms/internal/core/services/datatemplate/SelectSubclassAndTemplateWizard_PTest.java
@@ -34,14 +34,11 @@
 import org.eclipse.jface.window.Window;
 import org.eclipse.jface.wizard.Wizard;
 import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.SWT;
 import org.eclipse.swt.SWTException;
 import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
 import org.eclipse.swt.widgets.Tree;
 import org.eclipse.swt.widgets.TreeItem;
 import org.junit.After;
@@ -161,7 +158,7 @@
 		assertEquals(2, subClassTable.getItemCount());
 
 		// Select the registered user class
-		final TreeItem item = selectTreeItem(subClassTable, 1);
+		final TreeItem item = SWTTestUtil.selectTreeItem(subClassTable, 1);
 		SWTTestUtil.waitForUIThread();
 		assertEquals("RegisteredUser", item.getText()); //$NON-NLS-1$
 
@@ -182,7 +179,7 @@
 
 		// the two templates for the registered user
 		assertEquals(2, templateTable.getItemCount());
-		selectTableItem(templateTable, 0);
+		SWTTestUtil.selectTableItem(templateTable, 0);
 		SWTTestUtil.waitForUIThread();
 
 		// Finish
@@ -250,7 +247,7 @@
 		final Table templateTable = (Table) templateSelectionPageComposite.getChildren()[2];
 
 		assertEquals(2, templateTable.getItemCount());
-		selectTableItem(templateTable, 0);
+		SWTTestUtil.selectTableItem(templateTable, 0);
 		SWTTestUtil.waitForUIThread();
 
 		// Finish
@@ -312,7 +309,7 @@
 		assertEquals(2, subClassTree.getItemCount());
 
 		// Select the guest user class
-		final TreeItem item = selectTreeItem(subClassTree, 1);
+		final TreeItem item = SWTTestUtil.selectTreeItem(subClassTree, 1);
 		SWTTestUtil.waitForUIThread();
 		assertEquals("GuestUser", item.getText()); //$NON-NLS-1$
 
@@ -385,7 +382,7 @@
 		assertEquals(2, subClassTable.getItemCount());
 
 		// Select the admin user class
-		selectTreeItem(subClassTable, 0);
+		SWTTestUtil.selectTreeItem(subClassTable, 0);
 
 		SWTTestUtil.waitForUIThread();
 
@@ -404,7 +401,7 @@
 		SWTTestUtil.clickButton(backButton);
 
 		// Select guest user class and click next again
-		selectTreeItem(subClassTable, 1);
+		SWTTestUtil.selectTreeItem(subClassTable, 1);
 		SWTTestUtil.waitForUIThread();
 		assertTrue(nextButton.isEnabled());
 		SWTTestUtil.clickButton(nextButton);
@@ -415,7 +412,7 @@
 		assertTrue(templateTable.getItem(0).getText().contains("GuestUserTemplate1")); //$NON-NLS-1$
 		assertTrue(templateTable.getItem(1).getText().contains("GuestUserTemplate2")); //$NON-NLS-1$
 
-		selectTableItem(templateTable, 1);
+		SWTTestUtil.selectTableItem(templateTable, 1);
 		SWTTestUtil.clickButton(finishButton);
 		SWTTestUtil.waitForUIThread();
 
@@ -478,7 +475,7 @@
 
 		// Select a template
 		assertEquals(2, templateTable.getItemCount());
-		selectTableItem(templateTable, 0);
+		SWTTestUtil.selectTableItem(templateTable, 0);
 		SWTTestUtil.waitForUIThread();
 
 		// Cancel after a template was selected
@@ -530,35 +527,6 @@
 	}
 
 	/**
-	 * Selects the index in the given table and notifies the table's listeners about the selection
-	 *
-	 * @param table
-	 * @param index
-	 * @return the selected table item
-	 */
-	private TreeItem selectTreeItem(Tree tree, int index) {
-		tree.setSelection(tree.getItem(index));
-		final Event event = new Event();
-		event.type = SWT.Selection;
-		event.widget = tree;
-		final TreeItem result = tree.getItem(index);
-		event.item = result;
-		tree.notifyListeners(SWT.Selection, event);
-		return result;
-	}
-
-	private TableItem selectTableItem(Table table, int index) {
-		table.setSelection(index);
-		final Event event = new Event();
-		event.type = SWT.Selection;
-		event.widget = table;
-		final TableItem result = table.getItem(index);
-		event.item = result;
-		table.notifyListeners(SWT.Selection, event);
-		return result;
-	}
-
-	/**
 	 * Open the wizard in a wizard dialog and wait for the UI to finish opening it.
 	 *
 	 * @param wizard The wizard to open
diff --git a/tests/org.eclipse.emfforms.core.services.datatemplate.test/src/org/eclipse/emfforms/internal/core/services/datatemplate/TemplateCreateNewModelElementStrategyProvider_Test.java b/tests/org.eclipse.emfforms.core.services.datatemplate.test/src/org/eclipse/emfforms/internal/core/services/datatemplate/TemplateCreateNewModelElementStrategyProvider_Test.java
index 71424d3..bcdccb5 100644
--- a/tests/org.eclipse.emfforms.core.services.datatemplate.test/src/org/eclipse/emfforms/internal/core/services/datatemplate/TemplateCreateNewModelElementStrategyProvider_Test.java
+++ b/tests/org.eclipse.emfforms.core.services.datatemplate.test/src/org/eclipse/emfforms/internal/core/services/datatemplate/TemplateCreateNewModelElementStrategyProvider_Test.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2018 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -8,17 +8,24 @@
  *
  * Contributors:
  * Lucas Koehler - initial API and implementation
+ * Christian W. Damus - bug 543461
  ******************************************************************************/
 package org.eclipse.emfforms.internal.core.services.datatemplate;
 
+import static org.hamcrest.CoreMatchers.instanceOf;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anySetOf;
 import static org.mockito.Matchers.same;
+import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.inOrder;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -29,8 +36,14 @@
 import java.util.Set;
 
 import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EEnum;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcoreFactory;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecp.common.spi.Labelizer;
 import org.eclipse.emf.ecp.ui.view.swt.reference.CreateNewModelElementStrategy;
 import org.eclipse.emf.ecp.ui.view.swt.reference.EClassSelectionStrategy;
 import org.eclipse.emfforms.bazaar.Bid;
@@ -42,6 +55,8 @@
 import org.eclipse.emfforms.core.services.datatemplate.test.model.audit.AuditPackage;
 import org.eclipse.emfforms.datatemplate.DataTemplateFactory;
 import org.eclipse.emfforms.datatemplate.Template;
+import org.hamcrest.CustomTypeSafeMatcher;
+import org.hamcrest.Matcher;
 import org.junit.Before;
 import org.junit.Test;
 import org.mockito.InOrder;
@@ -127,17 +142,60 @@
 	}
 
 	/**
-	 * Simply test that a non-null strategy is created. The strategy's behavior is tested in separate test cases.
+	 * Test creation of the strategy and its implementation of consistency of classes
+	 * presented to the user with available templates.
+	 *
+	 * @see <a href="http://eclip.se/543461">bug 543461</a>
 	 */
 	@Test
-	public void testCreateNewModelELementStrategy() {
+	public void testCreateNewModelElementStrategy() {
+		final TemplateProvider provider = mock(TemplateProvider.class);
+		when(provider.canProvideTemplates(any(EObject.class), any(EReference.class))).thenReturn(true);
+
+		final LinkedHashSet<Template> templates = new LinkedHashSet<Template>();
+		final EDataType datatype = EcoreFactory.eINSTANCE.createEDataType();
+		datatype.setName("Date"); //$NON-NLS-1$
+		final Template dtTemplate = DataTemplateFactory.eINSTANCE.createTemplate();
+		dtTemplate.setInstance(datatype);
+		dtTemplate.setName("Example DataType"); //$NON-NLS-1$
+		templates.add(dtTemplate);
+		final EEnum enum_ = EcoreFactory.eINSTANCE.createEEnum();
+		enum_.setName("YesNo"); //$NON-NLS-1$
+		final Template enTemplate = DataTemplateFactory.eINSTANCE.createTemplate();
+		enTemplate.setInstance(enum_);
+		enTemplate.setName("Example Enum"); //$NON-NLS-1$
+		templates.add(enTemplate);
+		when(provider.provideTemplates(any(EObject.class), any(EReference.class))).thenReturn(templates);
+		strategyProvider.registerTemplateProvider(provider);
+
 		final ComponentContext componentContext = mock(ComponentContext.class);
 		when(componentContext.getProperties()).thenReturn(new Hashtable<String, Object>());
 
 		strategyProvider.activate(componentContext);
 
 		final CreateNewModelElementStrategy strategy = strategyProvider.createCreateNewModelElementStrategy();
-		assertNotNull(strategy);
+		assertThat(strategy, instanceOf(TemplateCreateNewModelElementStrategyProvider.Strategy.class));
+
+		// Spy on the implementation to verify internals
+		final TemplateCreateNewModelElementStrategyProvider.Strategy spy = spy(
+			(TemplateCreateNewModelElementStrategyProvider.Strategy) strategy);
+
+		// Mustn't actually try to show a wizard dialog
+		doReturn(Optional.of(dtTemplate)).when(spy)
+			.showSelectModelInstancesDialog(anySetOf(EClass.class), anySetOf(Template.class));
+
+		final Optional<EObject> created = spy.createNewModelElement(AuditPackage.eINSTANCE,
+			EcorePackage.Literals.EPACKAGE__ECLASSIFIERS);
+		assertThat("Nothing created", created.isPresent(), is(true)); //$NON-NLS-1$
+		assertThat("Wrong thing created", created.get(), eEqualTo(datatype)); //$NON-NLS-1$
+
+		// Verify invocation of the wizard, that it didn't offer classes for which there
+		// weren't any templates
+		final Set<EClass> subClasses = new LinkedHashSet<>();
+		subClasses.add(EcorePackage.Literals.EDATA_TYPE);
+		subClasses.add(EcorePackage.Literals.EENUM);
+		// not EcorePackage.Literals.ECLASS
+		Mockito.verify(spy).showSelectModelInstancesDialog(subClasses, templates);
 	}
 
 	@Test
@@ -233,4 +291,14 @@
 			return strategy;
 		}
 	}
+
+	Matcher<EObject> eEqualTo(EObject other) {
+		return new CustomTypeSafeMatcher<EObject>("structurally equal to " + Labelizer.get(other).getLabel(other)) { //$NON-NLS-1$
+			@Override
+			protected boolean matchesSafely(EObject item) {
+				return EcoreUtil.equals(item, other);
+			}
+		};
+	}
+
 }
diff --git a/tests/org.eclipse.emfforms.core.services.domainexpander.default.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.core.services.domainexpander.default.tests/META-INF/MANIFEST.MF
index dfeea5d..c0321f4 100644
--- a/tests/org.eclipse.emfforms.core.services.domainexpander.default.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emfforms.core.services.domainexpander.default.tests/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Default Domain Expander Tests
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.domainexpander.default.tests
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emfforms.core.services.domainexpander.default;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emfforms.core.services.domainexpander.defaultheuristic.tests;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.internal.core.services.domainexpander.defaultheuristic;version="1.19.0";x-internal:=true
+Fragment-Host: org.eclipse.emfforms.core.services.domainexpander.default;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emfforms.core.services.domainexpander.defaultheuristic.tests;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.core.services.domainexpander.defaultheuristic;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
-  org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.19.0,1.20.0)",
-  org.objenesis;bundle-version="[1.0.0,2.0.0)"
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
+ org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.20.0,1.21.0)",
+ org.objenesis;bundle-version="[1.0.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.core.services.domainexpander.default.tests
 Import-Package: org.osgi.framework;version="1.3.0"
diff --git a/tests/org.eclipse.emfforms.core.services.domainexpander.default.tests/pom.xml b/tests/org.eclipse.emfforms.core.services.domainexpander.default.tests/pom.xml
index e7775a8..a0bf7a7 100644
--- a/tests/org.eclipse.emfforms.core.services.domainexpander.default.tests/pom.xml
+++ b/tests/org.eclipse.emfforms.core.services.domainexpander.default.tests/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emfforms.core.services.domainexpander.default.tests</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 	
 	<build>
diff --git a/tests/org.eclipse.emfforms.core.services.domainexpander.index.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.core.services.domainexpander.index.tests/META-INF/MANIFEST.MF
index 60dd5ba..943cbfe 100644
--- a/tests/org.eclipse.emfforms.core.services.domainexpander.index.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emfforms.core.services.domainexpander.index.tests/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Index DMR Expander Tests
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.domainexpander.index.tests
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emfforms.core.services.domainexpander.index;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emfforms.core.services.domainexpander.index.tests;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.internal.core.services.domainexpander.index;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.test.common;bundle-version="[1.19.0,1.20.0)",
-  org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)"
+Fragment-Host: org.eclipse.emfforms.core.services.domainexpander.index;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emfforms.core.services.domainexpander.index.tests;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.core.services.domainexpander.index;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.20.0,1.21.0)",
+ org.junit;bundle-version="[4.11.0,5.0.0)",
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.core.services.domainexpander.index.tests
 Import-Package: org.osgi.framework;version="1.3.0"
diff --git a/tests/org.eclipse.emfforms.core.services.domainexpander.index.tests/pom.xml b/tests/org.eclipse.emfforms.core.services.domainexpander.index.tests/pom.xml
index af82af2..231ad10 100644
--- a/tests/org.eclipse.emfforms.core.services.domainexpander.index.tests/pom.xml
+++ b/tests/org.eclipse.emfforms.core.services.domainexpander.index.tests/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emfforms.core.services.domainexpander.index.tests</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 	
 	<build>
diff --git a/tests/org.eclipse.emfforms.core.services.domainexpander.keyattribute.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.core.services.domainexpander.keyattribute.tests/META-INF/MANIFEST.MF
index 62464d0..7216ab2 100644
--- a/tests/org.eclipse.emfforms.core.services.domainexpander.keyattribute.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emfforms.core.services.domainexpander.keyattribute.tests/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: KeyAttribute DMR Expander Tests
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.domainexpander.keyattribute.tests
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emfforms.core.services.domainexpander.keyattribute;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emfforms.core.services.domainexpander.keyattribute.tests;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.internal.core.services.domainexpander.keyattribute;version="1.19.0";x-internal:=true
+Fragment-Host: org.eclipse.emfforms.core.services.domainexpander.keyattribute;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emfforms.core.services.domainexpander.keyattribute.tests;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.core.services.domainexpander.keyattribute;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
-  org.eclipse.emf.ecp.test.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.19.0,1.20.0)"
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.core.services.domainexpander.keyattribute.tests
diff --git a/tests/org.eclipse.emfforms.core.services.domainexpander.keyattribute.tests/pom.xml b/tests/org.eclipse.emfforms.core.services.domainexpander.keyattribute.tests/pom.xml
index 29470a3..15006f1 100644
--- a/tests/org.eclipse.emfforms.core.services.domainexpander.keyattribute.tests/pom.xml
+++ b/tests/org.eclipse.emfforms.core.services.domainexpander.keyattribute.tests/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emfforms.core.services.domainexpander.keyattribute.tests</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 	
 	<build>
diff --git a/tests/org.eclipse.emfforms.core.services.domainexpander.mapping.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.core.services.domainexpander.mapping.tests/META-INF/MANIFEST.MF
index d3cad8a..1e4cb50 100644
--- a/tests/org.eclipse.emfforms.core.services.domainexpander.mapping.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emfforms.core.services.domainexpander.mapping.tests/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Mapping DMR Expander Tests
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.domainexpander.mapping.tests
-Bundle-Version: 1.19.0.qualifier
-Fragment-Host: org.eclipse.emfforms.core.services.domainexpander.mapping;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emfforms.core.services.domainexpander.mapping.tests;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.internal.core.services.domainexpander.mapping;version="1.19.0";x-internal:=true
+Bundle-Version: 1.20.0.qualifier
+Fragment-Host: org.eclipse.emfforms.core.services.domainexpander.mapping;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emfforms.core.services.domainexpander.mapping.tests;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.core.services.domainexpander.mapping;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
-  org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.19.0,1.20.0)"
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
+ org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.core.services.domainexpander.mapping.tests
 Import-Package: org.osgi.framework;version="1.3.0"
diff --git a/tests/org.eclipse.emfforms.core.services.domainexpander.mapping.tests/pom.xml b/tests/org.eclipse.emfforms.core.services.domainexpander.mapping.tests/pom.xml
index bc2215b..e20f6e0 100644
--- a/tests/org.eclipse.emfforms.core.services.domainexpander.mapping.tests/pom.xml
+++ b/tests/org.eclipse.emfforms.core.services.domainexpander.mapping.tests/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emfforms.core.services.domainexpander.mapping.tests</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 	
 	<build>
diff --git a/tests/org.eclipse.emfforms.core.services.emf.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.core.services.emf.tests/META-INF/MANIFEST.MF
index 50fcee1..3a92cfc 100644
--- a/tests/org.eclipse.emfforms.core.services.emf.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emfforms.core.services.emf.tests/META-INF/MANIFEST.MF
@@ -2,17 +2,17 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms Core Service EMF Tests
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.emf.tests
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emfforms.core.services.emf;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emfforms.core.services.emf.tests;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.internal.core.services.databinding;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.internal.core.services.label;version="1.19.0";x-internal:=true
+Fragment-Host: org.eclipse.emfforms.core.services.emf;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emfforms.core.services.emf.tests;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.core.services.databinding;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.core.services.label;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
-  org.eclipse.emf.ecp.test.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
-  org.objenesis;bundle-version="[1.0.0,2.0.0)"
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
+ org.objenesis;bundle-version="[1.0.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.core.services.emf.tests
diff --git a/tests/org.eclipse.emfforms.core.services.emf.tests/pom.xml b/tests/org.eclipse.emfforms.core.services.emf.tests/pom.xml
index e9c1d70..97bc8c7 100644
--- a/tests/org.eclipse.emfforms.core.services.emf.tests/pom.xml
+++ b/tests/org.eclipse.emfforms.core.services.emf.tests/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emfforms.core.services.emf.tests</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 	
 	<build>
diff --git a/tests/org.eclipse.emfforms.core.services.legacy.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.core.services.legacy.tests/META-INF/MANIFEST.MF
index 1e73d72..ac4763f 100644
--- a/tests/org.eclipse.emfforms.core.services.legacy.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emfforms.core.services.legacy.tests/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms Core Services Legacy Tests
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.legacy.tests;singleton:=true
-Bundle-Version: 1.19.0.qualifier
-Fragment-Host: org.eclipse.emfforms.core.services.legacy;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emfforms.core.services.legacy.tests;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.internal.core.services.legacy;version="1.19.0";x-internal:=true
+Bundle-Version: 1.20.0.qualifier
+Fragment-Host: org.eclipse.emfforms.core.services.legacy;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emfforms.core.services.legacy.tests;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.core.services.legacy;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)"
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.core.services.legacy.tests
-Import-Package: org.eclipse.emfforms.common;version="[1.19.0,1.20.0)",
-  org.osgi.framework;version="[1.3.0,2.0.0)"
+Import-Package: org.eclipse.emfforms.common;version="[1.20.0,1.21.0)",
+ org.osgi.framework;version="[1.3.0,2.0.0)"
diff --git a/tests/org.eclipse.emfforms.core.services.legacy.tests/pom.xml b/tests/org.eclipse.emfforms.core.services.legacy.tests/pom.xml
index 51c055b..e67bda0 100644
--- a/tests/org.eclipse.emfforms.core.services.legacy.tests/pom.xml
+++ b/tests/org.eclipse.emfforms.core.services.legacy.tests/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emfforms.core.services.legacy.tests</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emfforms.core.services.mappingprovider.table.panel.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.core.services.mappingprovider.table.panel.test/META-INF/MANIFEST.MF
index 9ebce93..dce1877 100644
--- a/tests/org.eclipse.emfforms.core.services.mappingprovider.table.panel.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emfforms.core.services.mappingprovider.table.panel.test/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Table Mapping Provider Tests
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.mappingprovider.table.panel.test
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emfforms.core.services.mappingprovider.table.panel;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emfforms.core.services.mappingprovider.table.test;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.internal.core.services.mappingprovider.table.panel;version="1.19.0";x-internal:=true
+Fragment-Host: org.eclipse.emfforms.core.services.mappingprovider.table.panel;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emfforms.core.services.mappingprovider.table.test;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.core.services.mappingprovider.table.panel;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.12.0,5.0.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
-  org.objenesis;bundle-version="[1.0.0,2.0.0)"
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
+ org.objenesis;bundle-version="[1.0.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.core.services.mappingprovider.table.panel.test
diff --git a/tests/org.eclipse.emfforms.core.services.mappingprovider.table.panel.test/pom.xml b/tests/org.eclipse.emfforms.core.services.mappingprovider.table.panel.test/pom.xml
index 38cca1a..90e665c 100644
--- a/tests/org.eclipse.emfforms.core.services.mappingprovider.table.panel.test/pom.xml
+++ b/tests/org.eclipse.emfforms.core.services.mappingprovider.table.panel.test/pom.xml
@@ -6,11 +6,11 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emfforms.core.services.mappingprovider.table.panel.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 </project>
diff --git a/tests/org.eclipse.emfforms.core.services.mappingprovider.table.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.core.services.mappingprovider.table.test/META-INF/MANIFEST.MF
index 650e63f..4deb4d4 100644
--- a/tests/org.eclipse.emfforms.core.services.mappingprovider.table.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emfforms.core.services.mappingprovider.table.test/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Table Mapping Provider Tests
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.mappingprovider.table.test
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emfforms.core.services.mappingprovider.table;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emfforms.core.services.mappingprovider.table.test;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.internal.core.services.mappingprovider.table;version="1.19.0";x-internal:=true
+Fragment-Host: org.eclipse.emfforms.core.services.mappingprovider.table;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emfforms.core.services.mappingprovider.table.test;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.core.services.mappingprovider.table;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.12.0,5.0.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
-  org.objenesis;bundle-version="[1.0.0,2.0.0)"
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
+ org.objenesis;bundle-version="[1.0.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.core.services.mappingprovider.table.test
diff --git a/tests/org.eclipse.emfforms.core.services.mappingprovider.table.test/pom.xml b/tests/org.eclipse.emfforms.core.services.mappingprovider.table.test/pom.xml
index 0d852c9..bf9d631 100644
--- a/tests/org.eclipse.emfforms.core.services.mappingprovider.table.test/pom.xml
+++ b/tests/org.eclipse.emfforms.core.services.mappingprovider.table.test/pom.xml
@@ -6,11 +6,11 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emfforms.core.services.mappingprovider.table.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 </project>
diff --git a/tests/org.eclipse.emfforms.core.services.segments.featurepath.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.core.services.segments.featurepath.test/META-INF/MANIFEST.MF
index ed80796..3b9b5f0 100644
--- a/tests/org.eclipse.emfforms.core.services.segments.featurepath.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emfforms.core.services.segments.featurepath.test/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Forms Core Services for Featurepath Segments Tests
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.segments.featurepath.test
-Bundle-Version: 1.19.0.qualifier
-Fragment-Host: org.eclipse.emfforms.core.services.segments.featurepath;bundle-version="[1.19.0,1.20.0)"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
+Fragment-Host: org.eclipse.emfforms.core.services.segments.featurepath;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emfforms.core.services.segments.featurepath.test;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.core.services.segments.featurepath;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.12.0,5.0.0)",
- org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.19.0,1.20.0)",
+ org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.20.0,1.21.0)",
  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
  org.objenesis;bundle-version="[1.0.0,2.0.0)"
-Import-Package: org.osgi.framework;version="0.0.0"
-Export-Package: org.eclipse.emfforms.core.services.segments.featurepath.test;version="1.19.0";x-internal:=true,
- org.eclipse.emfforms.internal.core.services.segments.featurepath;version="1.19.0";x-internal:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.core.services.segments.featurepath.test
+Import-Package: org.osgi.framework;version="0.0.0"
diff --git a/tests/org.eclipse.emfforms.core.services.segments.featurepath.test/pom.xml b/tests/org.eclipse.emfforms.core.services.segments.featurepath.test/pom.xml
index b884e9c..4850941 100644
--- a/tests/org.eclipse.emfforms.core.services.segments.featurepath.test/pom.xml
+++ b/tests/org.eclipse.emfforms.core.services.segments.featurepath.test/pom.xml
@@ -6,13 +6,13 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<artifactId>org.eclipse.emfforms.core.services.segments.featurepath.test</artifactId>
 	<packaging>eclipse-test-plugin</packaging>
 	<groupId>org.eclipse.emf.ecp</groupId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 
 	<build>
 		<sourceDirectory>src</sourceDirectory>
diff --git a/tests/org.eclipse.emfforms.core.services.segments.index.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.core.services.segments.index.test/META-INF/MANIFEST.MF
index 70445d6..3fe3465 100644
--- a/tests/org.eclipse.emfforms.core.services.segments.index.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emfforms.core.services.segments.index.test/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Forms Core Services for Index Segments Tests
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.segments.index.test
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emfforms.core.services.segments.index;bundle-version="[1.19.0,1.20.0)"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Fragment-Host: org.eclipse.emfforms.core.services.segments.index;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emfforms.core.services.segments.index.test;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.core.services.segments.index;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.12.0,5.0.0)",
- org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.19.0,1.20.0)",
- org.eclipse.emf.ecp.test.common;bundle-version="[1.19.0,1.20.0)",
+ org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.20.0,1.21.0)",
  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
  org.objenesis;bundle-version="[1.0.0,2.0.0)"
-Export-Package: org.eclipse.emfforms.core.services.segments.index.test;version="1.19.0";x-internal:=true,
- org.eclipse.emfforms.internal.core.services.segments.index;version="1.19.0";x-internal:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.core.services.segments.index.test
diff --git a/tests/org.eclipse.emfforms.core.services.segments.index.test/pom.xml b/tests/org.eclipse.emfforms.core.services.segments.index.test/pom.xml
index 24d9ee9..a67c443 100644
--- a/tests/org.eclipse.emfforms.core.services.segments.index.test/pom.xml
+++ b/tests/org.eclipse.emfforms.core.services.segments.index.test/pom.xml
@@ -6,13 +6,13 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<artifactId>org.eclipse.emfforms.core.services.segments.index.test</artifactId>
 	<packaging>eclipse-test-plugin</packaging>
 	<groupId>org.eclipse.emf.ecp</groupId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 
 	<build>
 		<sourceDirectory>src</sourceDirectory>
diff --git a/tests/org.eclipse.emfforms.core.services.segments.mapping.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.core.services.segments.mapping.test/META-INF/MANIFEST.MF
index b16707d..df0b046 100644
--- a/tests/org.eclipse.emfforms.core.services.segments.mapping.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emfforms.core.services.segments.mapping.test/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Forms Mapping Segment Services Tests
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.segments.mapping.test
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emfforms.core.services.segments.mapping;bundle-version="[1.19.0,1.20.0)"
-Automatic-Module-Name: org.eclipse.emfforms.core.services.segments.mapping.test
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Fragment-Host: org.eclipse.emfforms.core.services.segments.mapping;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emfforms.core.services.segments.mapping.test;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.core.services.segments.mapping;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.12.0,5.0.0)",
- org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.19.0,1.20.0)",
+ org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.20.0,1.21.0)",
  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
  org.objenesis;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.emf.ecp.test.common;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emfforms.core.services.segments.mapping.test;version="1.19.0";x-internal:=true,
- org.eclipse.emfforms.internal.core.services.segments.mapping;version="1.19.0";x-internal:=true
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.20.0,1.21.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Automatic-Module-Name: org.eclipse.emfforms.core.services.segments.mapping.test
diff --git a/tests/org.eclipse.emfforms.core.services.segments.mapping.test/pom.xml b/tests/org.eclipse.emfforms.core.services.segments.mapping.test/pom.xml
index 908df49..8024182 100644
--- a/tests/org.eclipse.emfforms.core.services.segments.mapping.test/pom.xml
+++ b/tests/org.eclipse.emfforms.core.services.segments.mapping.test/pom.xml
@@ -6,13 +6,13 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<artifactId>org.eclipse.emfforms.core.services.segments.mapping.test</artifactId>
 	<packaging>eclipse-test-plugin</packaging>
 	<groupId>org.eclipse.emf.ecp</groupId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 
 	<build>
 		<sourceDirectory>src</sourceDirectory>
diff --git a/tests/org.eclipse.emfforms.core.services.segments.multi.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.core.services.segments.multi.test/META-INF/MANIFEST.MF
index a069a40..1217f23 100644
--- a/tests/org.eclipse.emfforms.core.services.segments.multi.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emfforms.core.services.segments.multi.test/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms Multi Segment Services Tests
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.segments.multi.test
-Bundle-Version: 1.19.0.qualifier
-Fragment-Host: org.eclipse.emfforms.core.services.segments.multi;bundle-version="[1.19.0,1.20.0)"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-Version: 1.20.0.qualifier
+Fragment-Host: org.eclipse.emfforms.core.services.segments.multi;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emfforms.core.services.segments.multi.test;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.core.services.segments.multi;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.12.0,5.0.0)",
  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
  org.objenesis;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.emf.ecp.test.common;bundle-version="[1.19.0,1.20.0)",
- org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emfforms.core.services.segments.multi.test;version="1.19.0";x-internal:=true,
- org.eclipse.emfforms.internal.core.services.segments.multi;version="1.19.0";x-internal:=true
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.20.0,1.21.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.core.services.segments.multi.test
diff --git a/tests/org.eclipse.emfforms.core.services.segments.multi.test/pom.xml b/tests/org.eclipse.emfforms.core.services.segments.multi.test/pom.xml
index 5500766..6a2ef78 100644
--- a/tests/org.eclipse.emfforms.core.services.segments.multi.test/pom.xml
+++ b/tests/org.eclipse.emfforms.core.services.segments.multi.test/pom.xml
@@ -6,13 +6,13 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<artifactId>org.eclipse.emfforms.core.services.segments.multi.test</artifactId>
 	<packaging>eclipse-test-plugin</packaging>
 	<groupId>org.eclipse.emf.ecp</groupId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 
 	<build>
 		<sourceDirectory>src</sourceDirectory>
diff --git a/tests/org.eclipse.emfforms.core.services.segments.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.core.services.segments.test/META-INF/MANIFEST.MF
index 01f6611..e769e95 100644
--- a/tests/org.eclipse.emfforms.core.services.segments.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emfforms.core.services.segments.test/META-INF/MANIFEST.MF
@@ -1,15 +1,15 @@
 Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.emfforms.core.services.segments.test
-Bundle-Version: 1.19.0.qualifier
-Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emfforms.core.services.segments;bundle-version="[1.19.0,1.20.0)"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-Name: EMFForms Services for DMR Segments Tests
+Bundle-SymbolicName: org.eclipse.emfforms.core.services.segments.test
+Bundle-Version: 1.20.0.qualifier
+Bundle-Vendor: Eclipse Modeling Project
+Fragment-Host: org.eclipse.emfforms.core.services.segments;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emfforms.core.services.segments.test;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.core.services.segments;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.12.0,5.0.0)",
  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
  org.objenesis;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emfforms.core.services.segments.test;version="1.19.0";x-internal:=true,
- org.eclipse.emfforms.internal.core.services.segments;version="1.19.0";x-internal:=true
+ org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.20.0,1.21.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.core.services.segments.test
diff --git a/tests/org.eclipse.emfforms.core.services.segments.test/pom.xml b/tests/org.eclipse.emfforms.core.services.segments.test/pom.xml
index 5b21180..0c2860f 100644
--- a/tests/org.eclipse.emfforms.core.services.segments.test/pom.xml
+++ b/tests/org.eclipse.emfforms.core.services.segments.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emfforms.core.services.segments.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 	
 	<build>
diff --git a/tests/org.eclipse.emfforms.core.services.structuralchange.keyattribute.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.core.services.structuralchange.keyattribute.tests/META-INF/MANIFEST.MF
index e8f1953..a4e4dd9 100644
--- a/tests/org.eclipse.emfforms.core.services.structuralchange.keyattribute.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emfforms.core.services.structuralchange.keyattribute.tests/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Key Attribute Structural Change Tester Tests
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.structuralchange.keyattribute.tests
-Bundle-Version: 1.19.0.qualifier
-Fragment-Host: org.eclipse.emfforms.core.services.structuralchange.keyattribute;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emfforms.core.services.structuralchange.keyattribute.tests;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.internal.core.services.structuralchange.keyattribute;version="1.19.0";x-internal:=true
+Bundle-Version: 1.20.0.qualifier
+Fragment-Host: org.eclipse.emfforms.core.services.structuralchange.keyattribute;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emfforms.core.services.structuralchange.keyattribute.tests;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.core.services.structuralchange.keyattribute;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
-  org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.common;bundle-version="[2.11.0,3.0.0)"
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
+ org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.common;bundle-version="[2.11.0,3.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.core.services.structuralchange.keyattribute.tests
diff --git a/tests/org.eclipse.emfforms.core.services.structuralchange.keyattribute.tests/pom.xml b/tests/org.eclipse.emfforms.core.services.structuralchange.keyattribute.tests/pom.xml
index 46d0037..f104ad5 100644
--- a/tests/org.eclipse.emfforms.core.services.structuralchange.keyattribute.tests/pom.xml
+++ b/tests/org.eclipse.emfforms.core.services.structuralchange.keyattribute.tests/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emfforms.core.services.structuralchange.keyattribute.tests</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 	
 	<build>
diff --git a/tests/org.eclipse.emfforms.core.services.structuralchange.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.core.services.structuralchange.test/META-INF/MANIFEST.MF
index a8d1312..fc740b8 100644
--- a/tests/org.eclipse.emfforms.core.services.structuralchange.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emfforms.core.services.structuralchange.test/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Test
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.structuralchange.test
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emfforms.core.services.structuralchange;bundle-version="[1.19.0,1.20.0)"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Fragment-Host: org.eclipse.emfforms.core.services.structuralchange;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emfforms.core.services.structuralchange.test;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.core.services.structuralchange;version="1.20.0";x-internal:=true
 Require-Bundle: org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
  org.objenesis;bundle-version="[1.0.0,2.0.0)",
  org.junit;bundle-version="[4.12.0,5.0.0)",
- org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.19.0,2.0.0)"
-Import-Package: org.osgi.framework;version="0.0.0"
-Export-Package: org.eclipse.emfforms.core.services.structuralchange.test;version="1.19.0";x-internal:=true,
- org.eclipse.emfforms.internal.core.services.structuralchange;version="1.19.0";x-internal:=true
+ org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.20.0,1.21.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.core.services.structuralchange.test
+Import-Package: org.osgi.framework;version="0.0.0"
diff --git a/tests/org.eclipse.emfforms.core.services.structuralchange.test/pom.xml b/tests/org.eclipse.emfforms.core.services.structuralchange.test/pom.xml
index f28806a..c985845 100644
--- a/tests/org.eclipse.emfforms.core.services.structuralchange.test/pom.xml
+++ b/tests/org.eclipse.emfforms.core.services.structuralchange.test/pom.xml
@@ -1,4 +1,3 @@
-
 <?xml version="1.0" encoding="UTF-8"?>
 <project
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
@@ -7,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emfforms.core.services.structuralchange.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 	
 	<build>
diff --git a/tests/org.eclipse.emfforms.core.services.tests/AllIntegrationTests core.services.launch b/tests/org.eclipse.emfforms.core.services.tests/AllIntegrationTests core.services.launch
index 0cbd6bc..8a8b616 100644
--- a/tests/org.eclipse.emfforms.core.services.tests/AllIntegrationTests core.services.launch
+++ b/tests/org.eclipse.emfforms.core.services.tests/AllIntegrationTests core.services.launch
@@ -24,6 +24,7 @@
 <booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
 <stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
 <stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
 <stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emfforms.internal.core.services.tests.AllIntegrationTests"/>
 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
@@ -32,8 +33,8 @@
 <stringAttribute key="pde.version" value="3.3"/>
 <stringAttribute key="product" value="org.eclipse.emf.cdo.explorer.ui.product"/>
 <booleanAttribute key="run_in_ui_thread" value="true"/>
-<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,org.apache.felix.scr@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding*1.5.0.v20150422-0725@default:default,org.eclipse.core.databinding*1.6.100.v20170515-1119@default:default,org.eclipse.core.databinding.observable*1.5.0.v20150422-0725@default:default,org.eclipse.core.databinding.observable*1.6.100.v20170515-1119@default:default,org.eclipse.core.databinding.property*1.5.0.v20150422-0725@default:default,org.eclipse.core.databinding.property*1.6.100.v20170515-1119@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:true,org.eclipse.emf.common@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.util@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.hamcrest.core@default:default,org.junit@default:default,org.mockito.mockito-core-hamcrest-modified@default:default,org.objenesis@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emfforms.common@default:default,org.eclipse.emfforms.core.services.structuralchange.default@default:default,org.eclipse.emfforms.core.services.structuralchange@default:default,org.eclipse.emfforms.core.services.tests@default:false,org.eclipse.emfforms.core.services@default:default"/>
+<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,org.apache.felix.scr@1:true,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:true,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emfforms.common@default:default,org.eclipse.emfforms.core.services.emf@default:default,org.eclipse.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emfforms.core.services.locale.default@default:default,org.eclipse.emfforms.core.services.structuralchange.default@default:default,org.eclipse.emfforms.core.services.structuralchange@default:default,org.eclipse.emfforms.localization@default:default,org.eclipse.emfforms.view.model.localization@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.util@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.hamcrest.core@default:default,org.junit@default:default,org.mockito.mockito-core-hamcrest-modified@default:default,org.objenesis@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emfforms.core.services.tests@default:false,org.eclipse.emfforms.core.services@default:default"/>
 <booleanAttribute key="show_selected_only" value="false"/>
 <booleanAttribute key="tracing" value="false"/>
 <booleanAttribute key="useCustomFeatures" value="false"/>
diff --git a/tests/org.eclipse.emfforms.core.services.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.core.services.tests/META-INF/MANIFEST.MF
index abdee0c..3f75916 100644
--- a/tests/org.eclipse.emfforms.core.services.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emfforms.core.services.tests/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms Core Services Tests
 Bundle-SymbolicName: org.eclipse.emfforms.core.services.tests
-Bundle-Version: 1.19.0.qualifier
-Fragment-Host: org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emfforms.internal.core.services.scoped;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.internal.core.services.tests;version="1.19.0";x-internal:=true
+Bundle-Version: 1.20.0.qualifier
+Fragment-Host: org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emfforms.internal.core.services.scoped;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.core.services.tests;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
-  org.eclipse.equinox.ds;bundle-version="[1.4.300,2.0.0)",
-  org.objenesis;bundle-version="1.0.0"
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
+ org.eclipse.equinox.ds;bundle-version="[1.4.300,2.0.0)",
+ org.objenesis;bundle-version="1.0.0"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.core.services.tests
 Import-Package: org.osgi.framework;version="[1.3.0,2.0.0)"
diff --git a/tests/org.eclipse.emfforms.core.services.tests/pom.xml b/tests/org.eclipse.emfforms.core.services.tests/pom.xml
index 6faddf9..fc627a2 100644
--- a/tests/org.eclipse.emfforms.core.services.tests/pom.xml
+++ b/tests/org.eclipse.emfforms.core.services.tests/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emfforms.core.services.tests</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emfforms.core.services.tests/src/org/eclipse/emfforms/internal/core/services/scoped/SettingToControlMapper_ITest.java b/tests/org.eclipse.emfforms.core.services.tests/src/org/eclipse/emfforms/internal/core/services/scoped/SettingToControlMapper_ITest.java
index d9e6013..6304ed5 100644
--- a/tests/org.eclipse.emfforms.core.services.tests/src/org/eclipse/emfforms/internal/core/services/scoped/SettingToControlMapper_ITest.java
+++ b/tests/org.eclipse.emfforms.core.services.tests/src/org/eclipse/emfforms/internal/core/services/scoped/SettingToControlMapper_ITest.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2017 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -8,18 +8,25 @@
  *
  * Contributors:
  * Edgar Mueller - initial API and implementation
+ * Christian W. Damus - bug 543190
  ******************************************************************************/
 package org.eclipse.emfforms.internal.core.services.scoped;
 
+import static org.hamcrest.CoreMatchers.hasItems;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.isA;
 import static org.mockito.Matchers.same;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
 import java.text.MessageFormat;
 import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
 import java.util.Collections;
 import java.util.LinkedHashSet;
 import java.util.List;
@@ -28,6 +35,7 @@
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
+import org.eclipse.emf.ecore.EAttribute;
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EcoreFactory;
@@ -40,6 +48,7 @@
 import org.eclipse.emf.ecp.view.spi.model.VView;
 import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
 import org.eclipse.emfforms.internal.core.services.controlmapper.SettingToControlMapperImpl;
+import org.eclipse.emfforms.spi.core.services.controlmapper.SubControlMapper;
 import org.eclipse.emfforms.spi.core.services.mappingprovider.EMFFormsMappingProviderManager;
 import org.junit.Before;
 import org.junit.Test;
@@ -67,7 +76,7 @@
 		context = new FakeViewContext(domainObject, view);
 
 		mappingManager = mock(EMFFormsMappingProviderManager.class);
-		when(mappingManager.getAllSettingsFor(any(VDomainModelReference.class), any(EObject.class)))
+		when(mappingManager.getAllSettingsFor(any(VDomainModelReference.class), isA(EClass.class)))
 			.then(new Answer<Set<UniqueSetting>>() {
 
 				@Override
@@ -315,4 +324,57 @@
 		assertEquals(1, controlsForParentSetting.size());
 		assertTrue(controlsForParentSetting.contains(control));
 	}
+
+	/**
+	 * Test case for {@link SubControlMapper#getEObjectsWithSettings(VElement)} implementation.
+	 */
+	@Test
+	@SuppressWarnings("nls")
+	public void getEObjectsWithSettings_VElement() {
+		// Create a child view for the EClass showing the name of its ID attribute
+		// and the name of that ID attribute's type. These are two objects, one
+		// contained and one not, that are presented by the child context
+		final VView childView = VViewFactory.eINSTANCE.createView();
+		final VControl attributeControl = VViewFactory.eINSTANCE.createControl();
+		attributeControl.setDomainModelReference(EcorePackage.Literals.ENAMED_ELEMENT__NAME);
+		childView.getChildren().add(attributeControl);
+		final VControl isIdControl = VViewFactory.eINSTANCE.createControl();
+		isIdControl.setDomainModelReference(EcorePackage.Literals.EATTRIBUTE__ID);
+		childView.getChildren().add(isIdControl); // This one doesn't add anything interesting
+		final VControl typeNameControl = VViewFactory.eINSTANCE.createControl();
+		typeNameControl.setDomainModelReference(EcorePackage.Literals.ENAMED_ELEMENT__NAME,
+			Arrays.asList(EcorePackage.Literals.EATTRIBUTE__EATTRIBUTE_TYPE));
+		childView.getChildren().add(typeNameControl);
+
+		final EAttribute idAttribute = EcoreFactory.eINSTANCE.createEAttribute();
+		idAttribute.setName("id");
+		idAttribute.setID(true);
+		idAttribute.setEType(EcorePackage.Literals.ESTRING);
+		((EClass) domainObject).getEStructuralFeatures().add(idAttribute);
+
+		// Update mocking for the new DMRs
+		when(mappingManager.getAllSettingsFor(attributeControl.getDomainModelReference(),
+			idAttribute))
+				.thenReturn(set(UniqueSetting.createSetting(idAttribute, EcorePackage.Literals.ENAMED_ELEMENT__NAME)));
+		when(mappingManager.getAllSettingsFor(isIdControl.getDomainModelReference(),
+			idAttribute))
+				.thenReturn(
+					set(UniqueSetting.createSetting(idAttribute, EcorePackage.Literals.EATTRIBUTE__EATTRIBUTE_TYPE)));
+		when(mappingManager.getAllSettingsFor(typeNameControl.getDomainModelReference(),
+			idAttribute))
+				.thenReturn(set(UniqueSetting.createSetting(EcorePackage.Literals.ESTRING,
+					EcorePackage.Literals.ENAMED_ELEMENT__NAME)));
+
+		final FakeViewContext childContext = new FakeViewContext(idAttribute, childView);
+		context.addChildContext(control, childContext);
+		final Collection<EObject> objects = mapper.getEObjectsWithSettings(childView);
+		assertThat("Wrong number of objects in child context", objects.size(), is(2));
+		assertThat(objects, hasItems(idAttribute, EcorePackage.Literals.ESTRING));
+	}
+
+	@SafeVarargs
+	static <T> Set<T> set(T... elements) {
+		return new LinkedHashSet<>(Arrays.asList(elements));
+	}
+
 }
diff --git a/tests/org.eclipse.emfforms.datatemplate.tooling.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.datatemplate.tooling.tests/META-INF/MANIFEST.MF
index 34f8278..5fc9a07 100644
--- a/tests/org.eclipse.emfforms.datatemplate.tooling.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emfforms.datatemplate.tooling.tests/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: DataTemplate Tests
 Bundle-SymbolicName: org.eclipse.emfforms.datatemplate.tooling.tests
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emfforms.datatemplate.tooling;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emfforms.internal.datatemplate.tooling.editor;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.internal.datatemplate.tooling.wizard;version="1.19.0";x-internal:=true
+Fragment-Host: org.eclipse.emfforms.datatemplate.tooling;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emfforms.internal.datatemplate.tooling.editor;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.datatemplate.tooling.wizard;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.12.0,5.0.0)",
-  org.eclipse.emf.ecp.makeithappen.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.19.0,1.20.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)"
+ org.eclipse.emf.ecp.makeithappen.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.20.0,1.21.0)",
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Import-Package: org.objenesis;version="1.0.0"
 Automatic-Module-Name: org.eclipse.emfforms.datatemplate.tooling.tests
+Import-Package: org.objenesis;version="1.0.0"
diff --git a/tests/org.eclipse.emfforms.datatemplate.tooling.tests/pom.xml b/tests/org.eclipse.emfforms.datatemplate.tooling.tests/pom.xml
index f06449b..a8a2905 100644
--- a/tests/org.eclipse.emfforms.datatemplate.tooling.tests/pom.xml
+++ b/tests/org.eclipse.emfforms.datatemplate.tooling.tests/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emfforms.datatemplate.tooling.tests</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emfforms.editor.ecore.test/EcoreEditorFullRender_PTest.launch b/tests/org.eclipse.emfforms.editor.ecore.test/EcoreEditorFullRender_PTest.launch
new file mode 100644
index 0000000..5213a85
--- /dev/null
+++ b/tests/org.eclipse.emfforms.editor.ecore.test/EcoreEditorFullRender_PTest.launch
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
+<booleanAttribute key="append.args" value="true"/>
+<booleanAttribute key="askclear" value="false"/>
+<booleanAttribute key="automaticAdd" value="false"/>
+<booleanAttribute key="automaticValidate" value="true"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<booleanAttribute key="clearws" value="true"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
+<booleanAttribute key="default" value="false"/>
+<booleanAttribute key="includeOptional" value="false"/>
+<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.emfforms.editor.ecore.test/src/org/eclipse/emfforms/spi/editor/EcoreEditorFullRender_PTest.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emfforms.spi.editor.EcoreEditorFullRender_PTest"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emfforms.editor.ecore.test"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.platform.ide"/>
+<booleanAttribute key="run_in_ui_thread" value="true"/>
+<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,org.apache.batik.constants@default:default,org.apache.batik.css*1.10.0.v20180703-1553@default:default,org.apache.batik.i18n@default:default,org.apache.batik.util*1.10.0.v20180703-1553@default:default,org.apache.commons.codec@default:default,org.apache.commons.io@default:default,org.apache.commons.jxpath@default:default,org.apache.commons.logging*1.2.0.v20180409-1502@default:default,org.apache.felix.scr@1:true,org.apache.log4j@default:default,org.apache.lucene.analyzers-common@default:default,org.apache.lucene.analyzers-smartcn@default:default,org.apache.lucene.core@default:default,org.apache.xmlgraphics@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.compare@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding*1.7.100.v20181030-1443@default:default,org.eclipse.core.databinding.observable*1.6.300.v20180827-2028@default:default,org.eclipse.core.databinding.property*1.6.300.v20180827-2028@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filebuffers@default:default,org.eclipse.core.filesystem.linux.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.net.linux.x86_64@default:false,org.eclipse.core.net@default:default,org.eclipse.core.resources@default:default,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.annotations@default:default,org.eclipse.e4.core.di.extensions.supplier@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.emf.xpath@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.swt.gtk@default:false,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.bidi@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.security.linux.x86_64@default:false,org.eclipse.equinox.security@default:default,org.eclipse.equinox.supplement@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help.base@default:default,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface.text@default:default,org.eclipse.jface@default:default,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.ltk.ui.refactoring@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.gtk.linux.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.swtbot.junit4_x@default:default,org.eclipse.swtbot.swt.finder@default:default,org.eclipse.team.core@default:default,org.eclipse.team.ui@default:default,org.eclipse.text@default:default,org.eclipse.ui.editors@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.ide.application@default:default,org.eclipse.ui.ide@default:default,org.eclipse.ui.intro@default:default,org.eclipse.ui.navigator.resources@default:default,org.eclipse.ui.navigator@default:default,org.eclipse.ui.trace@default:default,org.eclipse.ui.views.properties.tabbed@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench.texteditor@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.eclipse.urischeme@default:default,org.hamcrest.core*1.3.0.v20180420-1519@default:default,org.hamcrest.library@default:default,org.junit@default:default,org.mockito.mockito-core-hamcrest-modified@default:default,org.objenesis@default:default,org.tukaani.xz@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil*1.0.1.v200903091627@default:default,org.w3c.dom.svg@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.makeithappen.model@default:default,org.eclipse.emf.ecp.test.common@default:default,org.eclipse.emf.ecp.test.model@default:default,org.eclipse.emf.ecp.ui.view.swt.di@default:default,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.validation@default:default,org.eclipse.emf.ecp.view.categorization.model.edit@default:default,org.eclipse.emf.ecp.view.categorization.model@default:default,org.eclipse.emf.ecp.view.categorization.swt@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.control.multireference@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.group.ui.swt@default:default,org.eclipse.emf.ecp.view.horizontal.model@default:default,org.eclipse.emf.ecp.view.horizontal.ui.swt@default:default,org.eclipse.emf.ecp.view.indexdmr.model@default:default,org.eclipse.emf.ecp.view.label.model@default:default,org.eclipse.emf.ecp.view.mappingdmr.model@default:default,org.eclipse.emf.ecp.view.migrator@default:default,org.eclipse.emf.ecp.view.model.common.di@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.rule.model@default:default,org.eclipse.emf.ecp.view.swt.layout@default:default,org.eclipse.emf.ecp.view.table.columnservice@default:default,org.eclipse.emf.ecp.view.table.model.nl_de@default:false,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.table.test.common@default:default,org.eclipse.emf.ecp.view.table.ui.swt@default:default,org.eclipse.emf.ecp.view.table.validation@default:default,org.eclipse.emf.ecp.view.template.annotation.model@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.template.service@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.test.common@default:default,org.eclipse.emf.ecp.view.treemasterdetail.model@default:default,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt@default:default,org.eclipse.emf.ecp.view.treemasterdetail.validation@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.ecp.view.vertical.ui.swt@default:default,org.eclipse.emfforms.common.prevalidation@default:default,org.eclipse.emfforms.common.validation@default:default,org.eclipse.emfforms.common@default:default,org.eclipse.emfforms.core.bazaar@default:default,org.eclipse.emfforms.core.services.databinding.featurepath@default:default,org.eclipse.emfforms.core.services.databinding.index@default:default,org.eclipse.emfforms.core.services.databinding.mapping@default:default,org.eclipse.emfforms.core.services.databinding.testmodel@default:default,org.eclipse.emfforms.core.services.domainexpander.default@default:default,org.eclipse.emfforms.core.services.domainexpander.index@default:default,org.eclipse.emfforms.core.services.domainexpander.mapping@default:default,org.eclipse.emfforms.core.services.domainexpander.table@default:default,org.eclipse.emfforms.core.services.editsupport@default:default,org.eclipse.emfforms.core.services.emf@default:default,org.eclipse.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emfforms.core.services.legacy@default:default,org.eclipse.emfforms.core.services.locale.default@default:default,org.eclipse.emfforms.core.services.mappingprovider.default@default:default,org.eclipse.emfforms.core.services.mappingprovider.table.panel@default:default,org.eclipse.emfforms.core.services.mappingprovider.table@default:default,org.eclipse.emfforms.core.services.segments.featurepath@default:default,org.eclipse.emfforms.core.services.segments.index@default:default,org.eclipse.emfforms.core.services.segments.mapping@default:default,org.eclipse.emfforms.core.services.segments.multi@default:default,org.eclipse.emfforms.core.services.segments@default:default,org.eclipse.emfforms.core.services.structuralchange.default@default:default,org.eclipse.emfforms.core.services.structuralchange.index@default:default,org.eclipse.emfforms.core.services.structuralchange.mapping@default:default,org.eclipse.emfforms.core.services.structuralchange.table@default:default,org.eclipse.emfforms.core.services.structuralchange@default:default,org.eclipse.emfforms.core.services@default:default,org.eclipse.emfforms.editor.ecore.test@default:false,org.eclipse.emfforms.editor.ecore@default:default,org.eclipse.emfforms.editor@default:default,org.eclipse.emfforms.localization@default:default,org.eclipse.emfforms.setup.base@default:default,org.eclipse.emfforms.swt.common.test@default:default,org.eclipse.emfforms.swt.control.multiattribute@default:default,org.eclipse.emfforms.swt.core.di.extension@default:default,org.eclipse.emfforms.swt.core.di.tests@default:default,org.eclipse.emfforms.swt.core.di@default:default,org.eclipse.emfforms.swt.core.plugin@default:default,org.eclipse.emfforms.swt.core@default:default,org.eclipse.emfforms.swt.table@default:default,org.eclipse.emfforms.swt.treemasterdetail.decorator.validation.default@default:default,org.eclipse.emfforms.swt.treemasterdetail@default:default,org.eclipse.emfforms.view.annotation.model@default:default,org.eclipse.emfforms.view.controlgrid.model@default:default,org.eclipse.emfforms.view.indexsegment.model@default:default,org.eclipse.emfforms.view.mappingsegment.model@default:default,org.eclipse.emfforms.view.model.localization@default:default,org.eclipse.emfforms.view.multisegment.model@default:default,org.eclipse.platform@default:default"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="false"/>
+<booleanAttribute key="useProduct" value="true"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.emfforms.editor.ecore.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.editor.ecore.test/META-INF/MANIFEST.MF
index 8fc3540..5bf54c1 100644
--- a/tests/org.eclipse.emfforms.editor.ecore.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emfforms.editor.ecore.test/META-INF/MANIFEST.MF
@@ -2,57 +2,61 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms Ecore Editor Test
 Bundle-SymbolicName: org.eclipse.emfforms.editor.ecore.test;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emfforms.editor;bundle-version="[1.19.0,1.20.0)"
+Fragment-Host: org.eclipse.emfforms.editor;bundle-version="[1.20.0,1.21.0)"
 Export-Package: org.eclipse.emfforms.spi.editor;version="0.0.0"
 Require-Bundle: org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
-  org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.eclipse.emfforms.editor.ecore;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.runtime;bundle-version="[3.1.0,4.0.0)",
-  org.eclipse.emf.ecp.edit.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.jface.databinding;bundle-version="[1.6.0,2.0.0)",
-  org.eclipse.emf.ecore.xmi;bundle-version="[2.10.0,3.0.0)",
-  org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
-  org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.ui.ide;bundle-version="[3.10.0,4.0.0)",
-  org.eclipse.jface;bundle-version="[3.10.0,4.0.0)",
-  org.eclipse.ui.workbench;bundle-version="[3.106.0,4.0.0)",
-  org.eclipse.emf.edit.ui;bundle-version="[2.10.0,3.0.0)",
-  org.eclipse.emf.edit;bundle-version="[2.10.0,3.0.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emfforms.swt.treemasterdetail;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.databinding.edit;bundle-version="[1.2.0,2.0.0)",
-  org.eclipse.emfforms.localization;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.control.multireference;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.resources;bundle-version="[3.9.0,4.0.0)",
-  org.eclipse.emf.ecp.view.group.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.treemasterdetail.decorator.validation.default;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit.ui;bundle-version="[2.10.0,3.0.0)",
-  org.eclipse.emf.ecore.edit;bundle-version="[2.9.0,3.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.10.0,3.0.0)",
-  org.eclipse.core.resources;bundle-version="[3.9.0,4.0.0)",
-  org.eclipse.emf.ecp.view.validation;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.common.ui;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt.di;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core.di.extension;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core.plugin;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.setup.base;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model.provider.generator;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.validation;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.table.validation;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.common.validation;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.mappingprovider.table.panel;bundle-version="[1.19.0,1.20.0)"
+ org.junit;bundle-version="[4.11.0,5.0.0)",
+ org.eclipse.emfforms.editor.ecore;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.runtime;bundle-version="[3.1.0,4.0.0)",
+ org.eclipse.emf.ecp.edit.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.jface.databinding;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.10.0,3.0.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.ui.ide;bundle-version="[3.10.0,4.0.0)",
+ org.eclipse.jface;bundle-version="[3.10.0,4.0.0)",
+ org.eclipse.ui.workbench;bundle-version="[3.106.0,4.0.0)",
+ org.eclipse.emf.edit.ui;bundle-version="[2.10.0,3.0.0)",
+ org.eclipse.emf.edit;bundle-version="[2.10.0,3.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emfforms.swt.treemasterdetail;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.databinding.edit;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.control.multireference;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.resources;bundle-version="[3.9.0,4.0.0)",
+ org.eclipse.emf.ecp.view.group.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.treemasterdetail.decorator.validation.default;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit.ui;bundle-version="[2.10.0,3.0.0)",
+ org.eclipse.emf.ecore.edit;bundle-version="[2.9.0,3.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.10.0,3.0.0)",
+ org.eclipse.core.resources;bundle-version="[3.9.0,4.0.0)",
+ org.eclipse.emf.ecp.view.validation;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.common.ui;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt.di;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core.di.extension;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core.plugin;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.setup.base;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.provider.generator;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.validation;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.table.validation;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.common.validation;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.mappingprovider.table.panel;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.swtbot.junit4_x;bundle-version="[2.7.0,3.0.0)",
+ org.eclipse.swtbot.swt.finder;bundle-version="[2.7.0,3.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.editor.ecore.test
 Import-Package: javax.inject;version="1.0.0",
-  org.eclipse.emfforms.bazaar;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.internal.editor.ecore.controls;version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spi.swt.core.di;version="[1.19.0,1.20.0)";resolution:=optional,
-  org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
+ org.eclipse.emfforms.bazaar;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.internal.editor.ecore.controls;version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spi.swt.core.di;version="[1.20.0,1.21.0)";resolution:=optional,
+ org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
diff --git a/tests/org.eclipse.emfforms.editor.ecore.test/data/shortcut_delete.ecore b/tests/org.eclipse.emfforms.editor.ecore.test/data/shortcut_delete.ecore
new file mode 100644
index 0000000..b85ac94
--- /dev/null
+++ b/tests/org.eclipse.emfforms.editor.ecore.test/data/shortcut_delete.ecore
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="package" nsURI="http://www.eclipse.org/ecp/2018/test" nsPrefix="test">
+  <eClassifiers xsi:type="ecore:EClass" name="TestClass"/>
+</ecore:EPackage>
diff --git a/tests/org.eclipse.emfforms.editor.ecore.test/pom.xml b/tests/org.eclipse.emfforms.editor.ecore.test/pom.xml
index 496f2ee..8ae5e08 100644
--- a/tests/org.eclipse.emfforms.editor.ecore.test/pom.xml
+++ b/tests/org.eclipse.emfforms.editor.ecore.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emfforms.editor.ecore.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emfforms.editor.ecore.test/src/org/eclipse/emfforms/spi/editor/EcoreEditorFullRender_PTest.java b/tests/org.eclipse.emfforms.editor.ecore.test/src/org/eclipse/emfforms/spi/editor/EcoreEditorFullRender_PTest.java
new file mode 100644
index 0000000..dfb09c0
--- /dev/null
+++ b/tests/org.eclipse.emfforms.editor.ecore.test/src/org/eclipse/emfforms/spi/editor/EcoreEditorFullRender_PTest.java
@@ -0,0 +1,168 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.editor;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import org.eclipse.emf.common.ui.URIEditorInput;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecp.view.test.common.swt.spi.SWTTestUtil;
+import org.eclipse.emfforms.internal.editor.ecore.EcoreEditor;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Tree;
+import org.eclipse.swt.widgets.TreeItem;
+import org.eclipse.swtbot.swt.finder.SWTBot;
+import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
+import org.eclipse.swtbot.swt.finder.keyboard.Keystrokes;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IEditorReference;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+import org.junit.After;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/**
+ * Tests for the {@link EcoreEditor}.
+ * This plugin is a fragment of the <b>org.eclipse.emfforms.editor</b> bundle, containing the {@link GenericEditor}
+ * class, although we are testing content from the <b>org.eclipse.emfforms.editor.ecore</b> bundle. The reason for
+ * this is that we need to call protected methods from the {@link GenericEditor}, which would not be possible otherwise.
+ * <p>
+ * In contrast to {@link EcoreEditor_PTest}, these tests fully render the editor without mocking parts of it or the IDE
+ * environment.
+ *
+ * @author Lucas Koehler
+ *
+ */
+@SuppressWarnings("restriction")
+@RunWith(SWTBotJunit4ClassRunner.class)
+public class EcoreEditorFullRender_PTest {
+
+	@After
+	public void closeAllEditors() {
+		assertTrue(getActivePage().closeAllEditors(false));
+		SWTTestUtil.waitForUIThread();
+	}
+
+	@Test
+	public void shortcuts_tree_delete() {
+		final EcoreEditor editor = open("shortcut_delete.ecore", EcoreEditor.class); //$NON-NLS-1$
+		SWTTestUtil.waitForUIThread();
+		final Composite parent = editor.getRootView();
+		final Tree tree = SWTTestUtil.findControl(parent, 0, Tree.class);
+		final TreeItem packageItem = tree.getItem(0).getItem(0);
+		final TreeItem toDeleteItem = packageItem.getItem(0);
+		final SWTBot bot = new SWTBot(parent);
+
+		SWTTestUtil.selectTreeItem(toDeleteItem);
+		SWTTestUtil.waitForUIThread();
+		bot.tree().pressShortcut(Keystrokes.DELETE);
+		SWTTestUtil.waitForUIThread();
+		tree.update();
+		SWTTestUtil.waitForUIThread();
+
+		assertEquals("EPackage tree node children after delete", 0, packageItem.getItemCount()); //$NON-NLS-1$
+		final Resource ecoreResource = editor.getResourceSet().getResources().get(0);
+		final EPackage ePackage = (EPackage) ecoreResource.getContents().get(0);
+		assertEquals("EPackage children after delete", 0, ePackage.getEClassifiers().size()); //$NON-NLS-1$
+	}
+
+	/** Expectation: When the focus is on the detail view, no tree node must be deleted if the DEL key is pressed. */
+	@Test
+	public void shortcuts_detail_noDelete() {
+		final EcoreEditor editor = open("shortcut_delete.ecore", EcoreEditor.class); //$NON-NLS-1$
+		SWTTestUtil.waitForUIThread();
+		final Composite parent = editor.getRootView();
+		final Tree tree = SWTTestUtil.findControl(parent, 0, Tree.class);
+		final TreeItem packageItem = tree.getItem(0).getItem(0);
+		final TreeItem toNotDeleteItem = packageItem.getItem(0);
+		final SWTBot bot = new SWTBot(parent);
+
+		tree.setFocus();
+		SWTTestUtil.selectTreeItem(toNotDeleteItem);
+		SWTTestUtil.waitForUIThread();
+		// Make sure the detail is re-rendered
+		SWTTestUtil.pressAndReleaseKey(tree, SWT.LF);
+		parent.update();
+		SWTTestUtil.waitForUIThread();
+
+		bot.checkBox().pressShortcut(Keystrokes.DELETE);
+		tree.update();
+		SWTTestUtil.waitForUIThread();
+
+		assertEquals("EPackage tree node children after pressing DEL in the detail", 1, packageItem.getItemCount()); //$NON-NLS-1$
+		final Resource ecoreResource = editor.getResourceSet().getResources().get(0);
+		final EPackage ePackage = (EPackage) ecoreResource.getContents().get(0);
+		assertEquals("EPackage children after pressing DEL in the detail", 1, ePackage.getEClassifiers().size()); //$NON-NLS-1$
+	}
+
+	// Test Infrastructure to open editors
+
+	<P extends IEditorPart> P open(String resourcePath, Class<P> expectedType) {
+		final URI resourceURI = testResourceURI(resourcePath);
+		final URIEditorInput input = new URIEditorInput(resourceURI);
+
+		return open(input, expectedType);
+	}
+
+	<P extends IEditorPart> P open(IEditorInput input, Class<P> expectedType) {
+		IEditorPart result = null;
+
+		try {
+			result = getActivePage().openEditor(input, "EcoreEditor"); //$NON-NLS-1$
+		} catch (final PartInitException e) {
+			// It's okay if we are expecting it
+			result = getEditor(input);
+		}
+
+		return expectedType.cast(result);
+	}
+
+	static URI testResourceURI(String resourcePath) {
+		return URI.createURI(
+			String.format("platform:/fragment/org.eclipse.emfforms.editor.ecore.test/data/%s", resourcePath), //$NON-NLS-1$
+			true);
+	}
+
+	static IWorkbenchPage getActivePage() {
+		return PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
+	}
+
+	static IEditorPart getEditor(IEditorInput input) {
+		final IEditorReference[] editorReferences = getActivePage().getEditorReferences();
+		for (final IEditorReference editorReference : editorReferences) {
+			if (input.equals(safeGetEditorInput(editorReference))) {
+				final IEditorPart editor = editorReference.getEditor(false);
+				if (editor != null) {
+					return editor;
+				}
+			}
+		}
+		return null;
+	}
+
+	static IEditorInput safeGetEditorInput(IEditorReference reference) {
+		try {
+			return reference.getEditorInput();
+		} catch (final PartInitException e) {
+			fail("Could not get editor input from editor reference: " + e.getMessage()); //$NON-NLS-1$
+			return null; // Unreachable
+		}
+	}
+}
diff --git a/tests/org.eclipse.emfforms.editor.ecore.test/src/org/eclipse/emfforms/spi/editor/EcoreEditorPerformance_PTest.java b/tests/org.eclipse.emfforms.editor.ecore.test/src/org/eclipse/emfforms/spi/editor/EcoreEditorPerformance_PTest.java
index 577ac8c..5cb9c1d 100644
--- a/tests/org.eclipse.emfforms.editor.ecore.test/src/org/eclipse/emfforms/spi/editor/EcoreEditorPerformance_PTest.java
+++ b/tests/org.eclipse.emfforms.editor.ecore.test/src/org/eclipse/emfforms/spi/editor/EcoreEditorPerformance_PTest.java
@@ -21,10 +21,10 @@
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 import java.util.Random;
+import java.util.function.Consumer;
 
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IProject;
@@ -55,6 +55,7 @@
 import org.eclipse.emf.ecore.resource.ResourceSet;
 import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
 import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecp.test.common.PerformanceClock;
 import org.eclipse.emf.ecp.view.spi.common.callback.ViewModelPropertiesUpdateCallback;
 import org.eclipse.emf.ecp.view.spi.model.VViewModelProperties;
 import org.eclipse.emf.ecp.view.spi.validation.ValidationProvider;
@@ -146,17 +147,13 @@
 	@TestResource(value = { "template.ecore", "template.ecore" }, //
 		generator = { EcoreGen.class, EcoreGen.class })
 	public void addElement() {
-		test(new Experiment() {
+		test(filePath -> {
+			final GenericEditor editor = open(filePath);
 
-			@Override
-			public void test(String filePath) {
-				final GenericEditor editor = open(filePath);
+			final EClassifier newEClassifier = addEClassifier(editor);
+			reveal(editor, newEClassifier);
 
-				final EClassifier newEClassifier = addEClassifier(editor);
-				reveal(editor, newEClassifier);
-
-				close(editor);
-			}
+			close(editor);
 		});
 	}
 
@@ -166,17 +163,13 @@
 	public void validation() {
 		Validation.active = true;
 
-		test(new Experiment() {
+		test(filePath -> {
+			final GenericEditor editor = open(filePath);
 
-			@Override
-			public void test(String filePath) {
-				final GenericEditor editor = open(filePath);
+			final EClassifier lastEClassifier = getLastEClassifier(editor);
+			reveal(editor, lastEClassifier);
 
-				final EClassifier lastEClassifier = getLastEClassifier(editor);
-				reveal(editor, lastEClassifier);
-
-				close(editor);
-			}
+			close(editor);
 		});
 	}
 
@@ -285,68 +278,9 @@
 	 *
 	 * @param experiment the experiment to run at each scale of model
 	 */
-	final void test(Experiment experiment) {
-		class RunnableExperiment implements Runnable {
-			private final String filePath;
-			private final Experiment experiment;
-
-			RunnableExperiment(String filePath, Experiment experiment) {
-				super();
-
-				this.filePath = filePath;
-				this.experiment = experiment;
-			}
-
-			@Override
-			public void run() {
-				experiment.test(filePath);
-			}
-		}
-
-		final Measure smallScale = time(ITERATIONS, new RunnableExperiment(SMALL_FILE_NAME, experiment));
-		System.out.println("Small scale: " + smallScale);
-		final Measure largeScale = time(ITERATIONS, new RunnableExperiment(LARGE_FILE_NAME, experiment));
-		System.out.println("Large scale: " + largeScale);
-
-		if (largeScale.average > WORST_CASE_MULTIPLIER * smallScale.average) {
-			fail(String.format("Performance does not scale: %s ≫ %s", largeScale, smallScale));
-		}
-	}
-
-	/**
-	 * Run an {@code experiment} several times to compute the average elapsed time
-	 * with standard deviation.
-	 */
-	Measure time(int iterations, Runnable experiment) {
-		final int count = Math.max(7, iterations); // We toss high and low so need at least five
-		final int n = count - 2;
-
-		final double[] samples = new double[count];
-
-		for (int i = 0; i < count; i++) {
-			final long start = System.nanoTime();
-			experiment.run();
-			final long end = System.nanoTime();
-			samples[i] = (end - start) / 1000000d;
-		}
-
-		Arrays.sort(samples);
-
-		final int last = count - 1;
-		double sum = 0.0;
-		for (int i = 1; i < last; i++) {
-			sum = sum + samples[i];
-		}
-
-		final double average = sum / n;
-		double sumdev = 0.0;
-		for (int i = 1; i < last; i++) {
-			final double dev = samples[i] - average;
-			sumdev = sumdev + dev * dev;
-		}
-		final double stddev = Math.sqrt(sumdev / (n - 1));
-
-		return new Measure(average, stddev);
+	final void test(Consumer<String> experiment) {
+		PerformanceClock.test(ITERATIONS, WORST_CASE_MULTIPLIER, () -> SMALL_FILE_NAME, () -> LARGE_FILE_NAME,
+			experiment);
 	}
 
 	GenericEditor open(String fileName) {
@@ -602,34 +536,6 @@
 	}
 
 	/**
-	 * Protocol for a measured (timed) experiment.
-	 *
-	 * @author Christian W. Damus
-	 */
-	interface Experiment {
-		void test(String filePath);
-	}
-
-	static final class Measure {
-		// BEGIN COMPLEX CODE
-		final double average;
-		final double stddev;
-		// END COMPLEX CODE
-
-		Measure(double average, double stddev) {
-			super();
-
-			this.average = average;
-			this.stddev = stddev;
-		}
-
-		@Override
-		public String toString() {
-			return String.format("%.1f ms (σ = %.2f ms)", average, stddev);
-		}
-	}
-
-	/**
 	 * Subclass of the <em>Ecore Editor</em> that injects view-model properties to select our
 	 * custom {@link EPackage} view.
 	 */
diff --git a/tests/org.eclipse.emfforms.ide.builder.test/.checkstyle b/tests/org.eclipse.emfforms.ide.builder.test/.checkstyle
new file mode 100644
index 0000000..24d357f
--- /dev/null
+++ b/tests/org.eclipse.emfforms.ide.builder.test/.checkstyle
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
+  <local-check-config name="ESMCheckstyleTest" location="/org.eclipse.emf.ecp.releng/checkstyle/esmCheckstyleTest.xml" type="project" description="">
+    <additional-data name="protect-config-file" value="false"/>
+  </local-check-config>
+  <fileset name="Java Files" enabled="true" check-config-name="ESMCheckstyleTest" local="true">
+    <file-match-pattern match-pattern=".java" include-pattern="true"/>
+  </fileset>
+</fileset-config>
diff --git a/tests/org.eclipse.emfforms.ide.builder.test/.classpath b/tests/org.eclipse.emfforms.ide.builder.test/.classpath
new file mode 100644
index 0000000..eca7bdb
--- /dev/null
+++ b/tests/org.eclipse.emfforms.ide.builder.test/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.emfforms.ide.builder.test/.project b/tests/org.eclipse.emfforms.ide.builder.test/.project
new file mode 100644
index 0000000..48883ef
--- /dev/null
+++ b/tests/org.eclipse.emfforms.ide.builder.test/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.emfforms.ide.builder.test</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<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>
+		<buildCommand>
+			<name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/org.eclipse.emfforms.ide.builder.test/.settings/org.eclipse.core.resources.prefs b/tests/org.eclipse.emfforms.ide.builder.test/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..f548abb
--- /dev/null
+++ b/tests/org.eclipse.emfforms.ide.builder.test/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,6 @@
+eclipse.preferences.version=1
+
+encoding//model/etypes.ecore=UTF-8
+
+
+encoding/<project>=UTF-8
diff --git a/tests/org.eclipse.emfforms.ide.builder.test/.settings/org.eclipse.core.runtime.prefs b/tests/org.eclipse.emfforms.ide.builder.test/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/tests/org.eclipse.emfforms.ide.builder.test/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/tests/org.eclipse.emfforms.ide.builder.test/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.emfforms.ide.builder.test/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..7269f8c
--- /dev/null
+++ b/tests/org.eclipse.emfforms.ide.builder.test/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,420 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=true
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=120
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/tests/org.eclipse.emfforms.ide.builder.test/.settings/org.eclipse.jdt.launching.prefs b/tests/org.eclipse.emfforms.ide.builder.test/.settings/org.eclipse.jdt.launching.prefs
new file mode 100644
index 0000000..3bb2352
--- /dev/null
+++ b/tests/org.eclipse.emfforms.ide.builder.test/.settings/org.eclipse.jdt.launching.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore
diff --git a/tests/org.eclipse.emfforms.ide.builder.test/.settings/org.eclipse.jdt.ui.prefs b/tests/org.eclipse.emfforms.ide.builder.test/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..8bc4bb4
--- /dev/null
+++ b/tests/org.eclipse.emfforms.ide.builder.test/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,127 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=true
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=false
+cleanup.remove_unnecessary_nls_tags=false
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=true
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_esmCleanUp
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_esmFormatter
+formatter_settings_version=12
+org.eclipse.jdt.ui.exception.name=ex
+org.eclipse.jdt.ui.gettersetter.use.is=true
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.keywordthis=false
+org.eclipse.jdt.ui.overrideannotation=true
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return the ${bare_field_name}\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\r\n * @param ${param} the ${bare_field_name} to set\r\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\r\n * Copyright (c) 2011-${year} EclipseSource Muenchen GmbH and others.\r\n * \r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors\:\r\n * ${user} - initial API and implementation\r\n ******************************************************************************/</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author ${user}\r\n *\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment"/><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\r\n * {@inheritDoc}\r\n * ${see_to_overridden}\r\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\r\n * ${tags}\r\n * ${see_to_target}\r\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">\t\t\t// TODO Auto-generated catch block\r\n\t\t\t// Do NOT catch all Exceptions ("catch (Exception e)")\r\n\t\t\t// Log AND handle Exceptions if possible \r\n            //\r\n            // You can just uncomment one of the lines below to log an exception\:\r\n\t\t\t// logException will show the logged excpetion to the user\r\n\t\t\t// ModelUtil.logException(${exception_var});\r\n\t\t\t// ModelUtil.logException("YOUR MESSAGE HERE", ${exception_var});\r\n\t\t\t// logWarning will only add the message to the error log\r\n\t\t\t// ModelUtil.logWarning("YOUR MESSAGE HERE", ${exception_var});\r\n\t\t\t// ModelUtil.logWarning("YOUR MESSAGE HERE");\r\n\t\t\t//\t\t\t\r\n\t\t\t// If handling is not possible declare and rethrow Exception</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\r\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\r\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_type_arguments=false
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=false
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=false
+sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_this_for_non_static_field_access=true
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=true
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+sp_cleanup.use_type_arguments=false
diff --git a/tests/org.eclipse.emfforms.ide.builder.test/.settings/org.eclipse.ltk.core.refactoring.prefs b/tests/org.eclipse.emfforms.ide.builder.test/.settings/org.eclipse.ltk.core.refactoring.prefs
new file mode 100644
index 0000000..864e30f
--- /dev/null
+++ b/tests/org.eclipse.emfforms.ide.builder.test/.settings/org.eclipse.ltk.core.refactoring.prefs
@@ -0,0 +1,3 @@
+#Thu Feb 04 09:44:24 CET 2010
+eclipse.preferences.version=1
+org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false
diff --git a/tests/org.eclipse.emfforms.ide.builder.test/.settings/org.eclipse.pde.api.tools.prefs b/tests/org.eclipse.emfforms.ide.builder.test/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..e4e3c00
--- /dev/null
+++ b/tests/org.eclipse.emfforms.ide.builder.test/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,97 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
+ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
+API_USE_SCAN_FIELD_SEVERITY=Error
+API_USE_SCAN_METHOD_SEVERITY=Error
+API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
+CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
+CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
+CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
+CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
+ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
+ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
+ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
+FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
+FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
+FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
+FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
+ILLEGAL_EXTEND=Warning
+ILLEGAL_IMPLEMENT=Warning
+ILLEGAL_INSTANTIATE=Warning
+ILLEGAL_OVERRIDE=Warning
+ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
+INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_JAVADOC_TAG=Warning
+INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
+LEAK_EXTEND=Warning
+LEAK_FIELD_DECL=Warning
+LEAK_IMPLEMENT=Warning
+LEAK_METHOD_PARAM=Warning
+LEAK_METHOD_RETURN_TYPE=Warning
+METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
+METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+MISSING_EE_DESCRIPTIONS=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
+UNUSED_PROBLEM_FILTERS=Ignore
+automatically_removed_unused_problem_filters=Disabled
+eclipse.preferences.version=1
+incompatible_api_component_version=Error
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/tests/org.eclipse.emfforms.ide.builder.test/.settings/org.eclipse.pde.prefs b/tests/org.eclipse.emfforms.ide.builder.test/.settings/org.eclipse.pde.prefs
new file mode 100644
index 0000000..0bbee3c
--- /dev/null
+++ b/tests/org.eclipse.emfforms.ide.builder.test/.settings/org.eclipse.pde.prefs
@@ -0,0 +1,32 @@
+compilers.f.unresolved-features=1
+compilers.f.unresolved-plugins=1
+compilers.incompatible-environment=1
+compilers.p.build=1
+compilers.p.build.bin.includes=1
+compilers.p.build.encodings=2
+compilers.p.build.java.compiler=2
+compilers.p.build.java.compliance=1
+compilers.p.build.missing.output=2
+compilers.p.build.output.library=1
+compilers.p.build.source.library=1
+compilers.p.build.src.includes=1
+compilers.p.deprecated=1
+compilers.p.discouraged-class=1
+compilers.p.internal=1
+compilers.p.missing-packages=1
+compilers.p.missing-version-export-package=1
+compilers.p.missing-version-import-package=1
+compilers.p.missing-version-require-bundle=1
+compilers.p.no-required-att=0
+compilers.p.not-externalized-att=2
+compilers.p.unknown-attribute=1
+compilers.p.unknown-class=1
+compilers.p.unknown-element=1
+compilers.p.unknown-identifier=1
+compilers.p.unknown-resource=1
+compilers.p.unresolved-ex-points=0
+compilers.p.unresolved-import=0
+compilers.s.create-docs=false
+compilers.s.doc-folder=doc
+compilers.s.open-tags=1
+eclipse.preferences.version=1
diff --git a/tests/org.eclipse.emfforms.ide.builder.test/AllPluginTests for emfforms.ide.builder.launch b/tests/org.eclipse.emfforms.ide.builder.test/AllPluginTests for emfforms.ide.builder.launch
new file mode 100644
index 0000000..fb48c35
--- /dev/null
+++ b/tests/org.eclipse.emfforms.ide.builder.test/AllPluginTests for emfforms.ide.builder.launch
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
+<booleanAttribute key="append.args" value="true"/>
+<booleanAttribute key="askclear" value="false"/>
+<booleanAttribute key="automaticAdd" value="false"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<booleanAttribute key="clearws" value="true"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/AllPluginTests for emfforms.ide.builder"/>
+<booleanAttribute key="default" value="true"/>
+<booleanAttribute key="includeOptional" value="false"/>
+<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.emfforms.ide.builder.test/src/org/eclipse/emfforms/ide/builder/test/AllPluginTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emfforms.ide.builder.test.AllPluginTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emfforms.ide.builder.test"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.platform.ide"/>
+<booleanAttribute key="run_in_ui_thread" value="true"/>
+<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,com.jcraft.jsch@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet@default:default,org.apache.ant@default:default,org.apache.commons.codec@default:default,org.apache.commons.io@default:default,org.apache.commons.jxpath@default:default,org.apache.commons.logging*1.1.1.v201101211721@default:default,org.apache.felix.scr@1:true,org.apache.log4j@default:default,org.apache.lucene.analyzers-common@default:default,org.apache.lucene.analyzers-smartcn@default:default,org.apache.lucene.core@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.compare@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.beans@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filebuffers@default:default,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.net@default:default,org.eclipse.core.resources@default:default,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.annotations@default:default,org.eclipse.e4.core.di.extensions.supplier@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.emf.xpath@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.emf.validation@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.bidi@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.security@default:default,org.eclipse.equinox.supplement@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help.base@default:default,org.eclipse.help.ui@default:default,org.eclipse.help@default:default,org.eclipse.jetty.http@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jetty.security@default:default,org.eclipse.jetty.server@default:default,org.eclipse.jetty.servlet@default:default,org.eclipse.jetty.util@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface.text@default:default,org.eclipse.jface@default:default,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.ltk.ui.refactoring@default:default,org.eclipse.nebula.widgets.grid@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.eclipse.platform@default:default,org.eclipse.swt@default:default,org.eclipse.swtbot.junit4_x@default:default,org.eclipse.swtbot.swt.finder@default:default,org.eclipse.team.core@default:default,org.eclipse.team.ui@default:default,org.eclipse.text@default:default,org.eclipse.ui.cheatsheets@default:default,org.eclipse.ui.editors@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.ide.application@default:default,org.eclipse.ui.ide@default:default,org.eclipse.ui.intro@default:default,org.eclipse.ui.navigator.resources@default:default,org.eclipse.ui.navigator@default:default,org.eclipse.ui.trace@default:default,org.eclipse.ui.views.properties.tabbed@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench.texteditor@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core@default:default,org.hamcrest.library@default:default,org.junit@default:default,org.objenesis@default:default,org.slf4j.api@default:default,org.tukaani.xz@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emfforms.ide.builder.test@default:false,org.eclipse.emfforms.ide.builder@default:default"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="true"/>
+<booleanAttribute key="useProduct" value="false"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.emfforms.ide.builder.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.ide.builder.test/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..36f5cbb
--- /dev/null
+++ b/tests/org.eclipse.emfforms.ide.builder.test/META-INF/MANIFEST.MF
@@ -0,0 +1,21 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Test plugin for EMFForms IDE Builder
+Bundle-SymbolicName: org.eclipse.emfforms.ide.builder.test;singleton:=true
+Bundle-Version: 1.20.0.qualifier
+Bundle-Vendor: Eclipse Modeling Project
+Require-Bundle: org.junit;bundle-version="[4.12.0,5.0.0)",
+ org.eclipse.core.resources;bundle-version="[3.12.0,4.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.13.0,4.0.0)",
+ org.eclipse.emfforms.ide.builder;bundle-version="[1.20.0,2.0.0)",
+ org.eclipse.emf.common.ui;bundle-version="[2.12.0,3.0.0)",
+ org.eclipse.emf.common;bundle-version="[2.13.0,3.0.0)",
+ org.eclipse.emfforms.core.bazaar;bundle-version="[1.20.0,2.0.0)",
+ org.eclipse.emf.edit.ui;bundle-version="[2.13.0,3.0.0)",
+ org.hamcrest.core;bundle-version="[1.3.0,2.0.0)",
+ org.hamcrest.library;bundle-version="[1.3.0,2.0.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Automatic-Module-Name: org.eclipse.emfforms.ide.builder.test
+Bundle-ActivationPolicy: lazy
+Export-Package: org.eclipse.emfforms.ide.builder;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.ide.builder.test;version="1.20.0";x-internal:=true
diff --git a/tests/org.eclipse.emfforms.ide.builder.test/about.html b/tests/org.eclipse.emfforms.ide.builder.test/about.html
new file mode 100644
index 0000000..d35d5ae
--- /dev/null
+++ b/tests/org.eclipse.emfforms.ide.builder.test/about.html
@@ -0,0 +1,28 @@
+<!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 (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/tests/org.eclipse.emfforms.ide.builder.test/build.properties b/tests/org.eclipse.emfforms.ide.builder.test/build.properties
new file mode 100644
index 0000000..890a9a1
--- /dev/null
+++ b/tests/org.eclipse.emfforms.ide.builder.test/build.properties
@@ -0,0 +1,6 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               resources/,\
+               about.html
diff --git a/tests/org.eclipse.emfforms.ide.builder.test/pom.xml b/tests/org.eclipse.emfforms.ide.builder.test/pom.xml
new file mode 100644
index 0000000..46fb5aa
--- /dev/null
+++ b/tests/org.eclipse.emfforms.ide.builder.test/pom.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.eclipse.emf.ecp</groupId>
+		<artifactId>ecp-tests-parent</artifactId>
+		<version>1.20.0-SNAPSHOT</version>
+		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
+	</parent>
+	<groupId>org.eclipse.emf.ecp</groupId>
+	<artifactId>org.eclipse.emfforms.ide.builder.test</artifactId>
+	<version>1.20.0-SNAPSHOT</version>
+	<packaging>eclipse-test-plugin</packaging>
+
+	<build>
+		<sourceDirectory>src</sourceDirectory>
+		<plugins>
+			<!-- We need to configure tycho to start a workbench in which the tests are run -->
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-surefire-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<configuration>
+					<useUIHarness>true</useUIHarness>
+					<useUIThread>true</useUIThread>
+				</configuration>
+			</plugin>
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>target-platform-configuration</artifactId>
+				<configuration>
+					<dependency-resolution>
+						<extraRequirements>
+							<requirement>
+								<type>eclipse-feature</type>
+								<id>org.eclipse.emf.ecp.emfforms.sdk.feature</id>
+								<versionRange>0.0.0</versionRange>
+							</requirement>
+						</extraRequirements>
+					</dependency-resolution>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+</project>
diff --git a/tests/org.eclipse.emfforms.ide.builder.test/resources/DataTemplateErrors/errors.datatemplate b/tests/org.eclipse.emfforms.ide.builder.test/resources/DataTemplateErrors/errors.datatemplate
new file mode 100644
index 0000000..cebe989
--- /dev/null
+++ b/tests/org.eclipse.emfforms.ide.builder.test/resources/DataTemplateErrors/errors.datatemplate
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emfforms.datatemplate.model:TemplateCollection
+    xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+    xmlns:org.eclipse.emfforms.datatemplate.model="http://org/eclipse/emfforms/datatemplate/model">
+  <templates
+      name="Named Object">
+    <instance
+        xsi:type="ecore:EClass"
+        name="NamedObject">
+      <eStructuralFeatures
+          xsi:type="ecore:EAttribute"
+          name="name"
+          lowerBound="1"/>
+    </instance>
+  </templates>
+</org.eclipse.emfforms.datatemplate.model:TemplateCollection>
diff --git a/tests/org.eclipse.emfforms.ide.builder.test/resources/NotAViewModel/noXMI.view b/tests/org.eclipse.emfforms.ide.builder.test/resources/NotAViewModel/noXMI.view
new file mode 100644
index 0000000..e24cd15
--- /dev/null
+++ b/tests/org.eclipse.emfforms.ide.builder.test/resources/NotAViewModel/noXMI.view
@@ -0,0 +1 @@
+// this is not a view model file
\ No newline at end of file
diff --git a/tests/org.eclipse.emfforms.ide.builder.test/resources/NotAViewModel/wrongXMI.view b/tests/org.eclipse.emfforms.ide.builder.test/resources/NotAViewModel/wrongXMI.view
new file mode 100644
index 0000000..045db56
--- /dev/null
+++ b/tests/org.eclipse.emfforms.ide.builder.test/resources/NotAViewModel/wrongXMI.view
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="ASCII"?
+<org.eclipse.emf.ecp.view.model:View xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:org.eclipse.emf.ecp.view.model="http://org/eclipse/emf/ecp/view/model/1180" xmlns:org.eclipse.emf.ecp.view.stack.model="http://org/eclipse/emf/ecp/view/stack/model" xmi:id="_mfOkgEWAEeWfKJaajyNdyA">
+  <rootEClass href="http://org/eclipse/emf/ecp/view/group/model#//Group"/>
+  <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_mfPLkEWAEeWfKJaajyNdyA" name="Control name">
+    <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_mfPLkUWAEeWfKJaajyNdyA">
+      <domainModelEFeature xsi:type="ecore:EAttribute" href="http://org/eclipse/emf/ecp/view/model/1180#//Element/name"/>
+    </domainModelReference>
+  </children>
+</org.eclipse.emf.ecp.view.model:View>
\ No newline at end of file
diff --git a/tests/org.eclipse.emfforms.ide.builder.test/resources/ValidModel/control.view b/tests/org.eclipse.emfforms.ide.builder.test/resources/ValidModel/control.view
new file mode 100644
index 0000000..196df35
--- /dev/null
+++ b/tests/org.eclipse.emfforms.ide.builder.test/resources/ValidModel/control.view
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.ecp.view.model:View xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:org.eclipse.emf.ecp.view.model="http://org/eclipse/emf/ecp/view/model/1180" xmi:id="_WB0E8EWCEeWfKJaajyNdyA">
+  <rootEClass href="http://org/eclipse/emf/ecp/view/model/1180#//Control"/>
+  <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_WB0E8UWCEeWfKJaajyNdyA" name="Control name">
+    <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_WB0E8kWCEeWfKJaajyNdyA">
+      <domainModelEFeature xsi:type="ecore:EAttribute" href="http://org/eclipse/emf/ecp/view/model/1180#//Element/name"/>
+    </domainModelReference>
+  </children>
+</org.eclipse.emf.ecp.view.model:View>
diff --git a/tests/org.eclipse.emfforms.ide.builder.test/resources/ValidModel/group.view b/tests/org.eclipse.emfforms.ide.builder.test/resources/ValidModel/group.view
new file mode 100644
index 0000000..fe5ca59
--- /dev/null
+++ b/tests/org.eclipse.emfforms.ide.builder.test/resources/ValidModel/group.view
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.ecp.view.model:View xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:org.eclipse.emf.ecp.view.model="http://org/eclipse/emf/ecp/view/model/1180" xmi:id="_mfOkgEWAEeWfKJaajyNdyA">
+  <rootEClass href="http://org/eclipse/emf/ecp/view/group/model#//Group"/>
+  <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_mfPLkEWAEeWfKJaajyNdyA" name="Control name">
+    <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_mfPLkUWAEeWfKJaajyNdyA">
+      <domainModelEFeature xsi:type="ecore:EAttribute" href="http://org/eclipse/emf/ecp/view/model/1180#//Element/name"/>
+    </domainModelReference>
+  </children>
+</org.eclipse.emf.ecp.view.model:View>
diff --git a/tests/org.eclipse.emfforms.ide.builder.test/resources/ValidationErrors/ValidationError.view b/tests/org.eclipse.emfforms.ide.builder.test/resources/ValidationErrors/ValidationError.view
new file mode 100644
index 0000000..0aacdab
--- /dev/null
+++ b/tests/org.eclipse.emfforms.ide.builder.test/resources/ValidationErrors/ValidationError.view
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.ecp.view.model:View xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:org.eclipse.emf.ecp.view.model="http://org/eclipse/emf/ecp/view/model/1180" xmlns:org.eclipse.emfforms.view.annotation.model="http://org/eclipse/emf/emfforms/view/annotation/model" xmi:id="_mfOkgEWAEeWfKJaajyNdyA">
+  <rootEClass href="http://org/eclipse/emf/ecp/view/group/model#//Group"/>
+  <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_mfPLkEWAEeWfKJaajyNdyA" name="DMR NotAFeature">
+    <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_mfPLkUWAEeWfKJaajyNdyA">
+      <domainModelEFeature xsi:type="ecore:EAttribute" href="http://org/eclipse/emf/ecp/view/model/1180#//Element/notAFeature"/>
+    </domainModelReference>
+  </children>
+  <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_mfPLkEWAEeWfKJaajyNdyA" name="Control name">
+    <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_mfPLkUWAEeWfKJaajyNdyA">
+      <domainModelEFeature xsi:type="ecore:EAttribute" href="wrongREF"/>
+    </domainModelReference>
+  </children>
+  <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_mfPLkEWAEeWfKJaajyNdyA" name="No DMR"/>
+  <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_SQXGkBs2EemWJdWNOROymw" name="AnnotationFail">
+    <attachments xsi:type="org.eclipse.emfforms.view.annotation.model:Annotation" xmi:id="_ZE-1ABs2EemWJdWNOROymw"/>
+    <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_Yk0HMBs2EemWJdWNOROymw">
+      <domainModelEFeature xsi:type="ecore:EAttribute" href="http://org/eclipse/emf/ecp/view/model/1180#//Element/name"/>
+    </domainModelReference>
+  </children>
+</org.eclipse.emf.ecp.view.model:View>
diff --git a/tests/org.eclipse.emfforms.ide.builder.test/resources/ValidationErrors/goodModel.view b/tests/org.eclipse.emfforms.ide.builder.test/resources/ValidationErrors/goodModel.view
new file mode 100644
index 0000000..196df35
--- /dev/null
+++ b/tests/org.eclipse.emfforms.ide.builder.test/resources/ValidationErrors/goodModel.view
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.ecp.view.model:View xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:org.eclipse.emf.ecp.view.model="http://org/eclipse/emf/ecp/view/model/1180" xmi:id="_WB0E8EWCEeWfKJaajyNdyA">
+  <rootEClass href="http://org/eclipse/emf/ecp/view/model/1180#//Control"/>
+  <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_WB0E8UWCEeWfKJaajyNdyA" name="Control name">
+    <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_WB0E8kWCEeWfKJaajyNdyA">
+      <domainModelEFeature xsi:type="ecore:EAttribute" href="http://org/eclipse/emf/ecp/view/model/1180#//Element/name"/>
+    </domainModelReference>
+  </children>
+</org.eclipse.emf.ecp.view.model:View>
diff --git a/tests/org.eclipse.emfforms.ide.builder.test/src/org/eclipse/emfforms/ide/builder/AbstractBuilderTest.java b/tests/org.eclipse.emfforms.ide.builder.test/src/org/eclipse/emfforms/ide/builder/AbstractBuilderTest.java
new file mode 100644
index 0000000..042701b
--- /dev/null
+++ b/tests/org.eclipse.emfforms.ide.builder.test/src/org/eclipse/emfforms/ide/builder/AbstractBuilderTest.java
@@ -0,0 +1,107 @@
+/*******************************************************************************
+ * Copyright (c) 2019 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource - initial API and implementation
+ * Christian W. Damus - bug 544499
+ ******************************************************************************/
+package org.eclipse.emfforms.ide.builder;
+
+import static org.junit.Assert.fail;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IWorkspaceDescription;
+import org.eclipse.core.resources.IWorkspaceRoot;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.OperationCanceledException;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.jobs.Job;
+import org.junit.Before;
+
+/**
+ * Abstract framework for builder tests.
+ */
+public abstract class AbstractBuilderTest {
+
+	@Before
+	public void deleteProjects() throws CoreException {
+		final IProgressMonitor monitor = new NullProgressMonitor();
+		final IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
+		for (final IProject project : root.getProjects()) {
+			project.delete(true, monitor);
+		}
+	}
+
+	protected static void setAutoBuild(boolean autoBuild) throws CoreException {
+		final IWorkspaceDescription description = ResourcesPlugin.getWorkspace().getDescription();
+		description.setAutoBuilding(autoBuild);
+		ResourcesPlugin.getWorkspace().setDescription(description);
+	}
+
+	protected IMarker[] findMarkersOnResource(IResource resource) {
+		IMarker[] problems = null;
+		final int depth = IResource.DEPTH_INFINITE;
+		try {
+			problems = resource.findMarkers(IMarker.PROBLEM, true, depth);
+		} catch (final CoreException e) {
+			// something went wrong
+		}
+		return problems;
+	}
+
+	protected static IProject createProject(String name, IProgressMonitor monitor) throws CoreException {
+		final IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
+		final IProject project = root.getProject(name);
+		project.create(monitor);
+		project.open(monitor);
+		return project;
+	}
+
+	protected static IFile importFileIntoProject(IProject project, File file, IProgressMonitor monitor)
+		throws CoreException, IOException {
+		final IFile targetResource = project.getFile(new Path(file.getName()));
+		final InputStream contentStream = new FileInputStream(file);
+		targetResource.create(contentStream, false, monitor);
+		contentStream.close();
+		return targetResource;
+
+	}
+
+	protected static IProject createAndPopulateProject(String projectName, IProgressMonitor monitor)
+		throws CoreException, IOException {
+		final IProject project = createProject(projectName, monitor);
+		// copy content of the resources equivalent folder
+		final String folderName = String.format("/resources/%s/", projectName);//$NON-NLS-1$
+		final String resourceFolderPath = new File(".").getAbsolutePath() + folderName;//$NON-NLS-1$
+		final File resourceFolder = new File(resourceFolderPath);
+		for (final File file : resourceFolder.listFiles()) {
+			importFileIntoProject(project, file, monitor);
+		}
+		return project;
+	}
+
+	protected static void waitForAuroBuild() {
+		try {
+			Job.getJobManager().join(ResourcesPlugin.FAMILY_AUTO_BUILD, null);
+		} catch (InterruptedException | OperationCanceledException e) {
+			e.printStackTrace();
+			fail("Test interrupted waiting for workspace build: " + e.getMessage()); //$NON-NLS-1$
+		}
+	}
+}
diff --git a/tests/org.eclipse.emfforms.ide.builder.test/src/org/eclipse/emfforms/ide/builder/ValidationBuilder_PTest.java b/tests/org.eclipse.emfforms.ide.builder.test/src/org/eclipse/emfforms/ide/builder/ValidationBuilder_PTest.java
new file mode 100644
index 0000000..8b6b1f0
--- /dev/null
+++ b/tests/org.eclipse.emfforms.ide.builder.test/src/org/eclipse/emfforms/ide/builder/ValidationBuilder_PTest.java
@@ -0,0 +1,334 @@
+/*******************************************************************************
+ * Copyright (c) 2019 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource - initial API and implementation
+ * Christian W. Damus - bug 544499
+ ******************************************************************************/
+package org.eclipse.emfforms.ide.builder;
+
+import static org.hamcrest.CoreMatchers.startsWith;
+import static org.hamcrest.Matchers.greaterThanOrEqualTo;
+import static org.hamcrest.Matchers.notNullValue;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Hashtable;
+import java.util.List;
+
+import javax.inject.Named;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.content.IContentType;
+import org.eclipse.emf.common.ui.MarkerHelper;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emfforms.bazaar.Bid;
+import org.eclipse.emfforms.bazaar.Create;
+import org.eclipse.emfforms.ide.internal.builder.ProjectNature;
+import org.eclipse.emfforms.ide.internal.builder.ValidationBuilder;
+import org.eclipse.emfforms.ide.internal.builder.ValidationNature;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Test;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceRegistration;
+
+/**
+ * Test for the {@link ValidationBuilder} class.
+ */
+public class ValidationBuilder_PTest extends AbstractBuilderTest {
+
+	private final List<ServiceRegistration<?>> registrations = new ArrayList<>();
+
+	@Test
+	public void validProject() throws CoreException, IOException {
+		// initial state
+		final String projectName = "ValidModel"; //$NON-NLS-1$
+		final IProgressMonitor monitor = new NullProgressMonitor();
+		final IProject project = createAndPopulateProject(projectName, monitor);
+		IMarker[] markers = findMarkersOnResource(project);
+		// No build yet => no markers
+		Assert.assertArrayEquals(Collections.<IMarker> emptyList().toArray(), markers);
+
+		// trigger builder by adding nature to the project and auto-build is on
+		setAutoBuild(true);
+		ProjectNature.toggleNature(project, ValidationNature.NATURE_ID);
+		waitForAuroBuild();
+
+		// final state
+		markers = findMarkersOnResource(project);
+		// valid Files => No marker
+		Assert.assertArrayEquals(Collections.<IMarker> emptyList().toArray(), markers);
+	}
+
+	@Test
+	public void notAModelValidationProject() throws CoreException, IOException {
+		final String projectName = "NotAViewModel"; //$NON-NLS-1$
+		final IProgressMonitor monitor = new NullProgressMonitor();
+		final IProject project = createAndPopulateProject(projectName, monitor);
+		IMarker[] markers = findMarkersOnResource(project);
+		// No build yet => no markers
+		Assert.assertArrayEquals(Collections.<IMarker> emptyList().toArray(), markers);
+
+		// trigger builder by adding nature to the project and auto-build is on
+		setAutoBuild(true);
+		ProjectNature.toggleNature(project, ValidationNature.NATURE_ID);
+		waitForAuroBuild();
+
+		// final state
+		markers = findMarkersOnResource(project);
+		// no view files (wrong XMI, not XML file, etc.) => Mark them with an error.
+		Assert.assertEquals(2, markers.length);
+	}
+
+	/**
+	 * Test that problem markers are correctly created for resources that have validation errors.
+	 */
+	@Test
+	public void validationErrors() throws CoreException, IOException {
+		final String projectName = "ValidationErrors";//$NON-NLS-1$
+		final IProgressMonitor monitor = new NullProgressMonitor();
+		final IProject project = createAndPopulateProject(projectName, monitor);
+		IMarker[] markers = findMarkersOnResource(project);
+		// No build yet => no markers
+		Assert.assertArrayEquals(Collections.<IMarker> emptyList().toArray(), markers);
+
+		// trigger builder by adding nature to the project and auto-build is on
+		setAutoBuild(true);
+		ProjectNature.toggleNature(project, ValidationNature.NATURE_ID);
+		waitForAuroBuild();
+
+		// final state
+		markers = findMarkersOnResource(project);
+
+		// 4 errors:
+		// 2 unresolved DMR and one missing DMR as ECP pure validation errros
+		// an annotation with a missing key as a simple EMF error
+		for (final IMarker marker : markers) {
+			System.err.println(marker);
+		}
+		Assert.assertEquals(4, markers.length);
+	}
+
+	/**
+	 * Test that problem markers are correctly <em>not</em> created for resources
+	 * even that have validation errors, when auto-build is not enabled.
+	 */
+	@Test
+	public void noAutoBuild() throws CoreException, IOException {
+		final String projectName = "ValidationErrors"; //$NON-NLS-1$
+		final IProgressMonitor monitor = new NullProgressMonitor();
+		final IProject project = createAndPopulateProject(projectName, monitor);
+		IMarker[] markers = findMarkersOnResource(project);
+		// No build yet => no markers
+		Assert.assertArrayEquals(Collections.<IMarker> emptyList().toArray(), markers);
+
+		// trigger builder by adding nature to the project and auto-build is off,
+		// which means that it won't do validation
+		setAutoBuild(false);
+		ProjectNature.toggleNature(project, ValidationNature.NATURE_ID);
+		waitForAuroBuild();
+
+		// final state
+		markers = findMarkersOnResource(project);
+		// valid Files => No marker
+		Assert.assertArrayEquals(Collections.<IMarker> emptyList().toArray(), markers);
+	}
+
+	@Test
+	public void delegateProviders() throws CoreException, IOException {
+		registerDataTemplateDelegate();
+
+		final String projectName = "DataTemplateErrors";//$NON-NLS-1$
+		final IProgressMonitor monitor = new NullProgressMonitor();
+		final IProject project = createAndPopulateProject(projectName, monitor);
+		IMarker[] markers = findMarkersOnResource(project);
+		// No build yet => no markers
+		Assert.assertArrayEquals(Collections.<IMarker> emptyList().toArray(), markers);
+
+		// trigger builder by adding nature to the project and auto-build is on
+		setAutoBuild(true);
+		ProjectNature.toggleNature(project, ValidationNature.NATURE_ID);
+		waitForAuroBuild();
+
+		// final state
+		markers = findMarkersOnResource(project);
+
+		// 4 errors:
+		// 2 unresolved DMR and one missing DMR as ECP pure validation errros
+		// an annotation with a missing key as a simple EMF error
+		for (final IMarker marker : markers) {
+			System.err.println(marker);
+		}
+		Assert.assertThat(markers.length, greaterThanOrEqualTo(1));
+	}
+
+	@Test
+	public void markerHelperProviders() throws CoreException, IOException {
+		registerMarkerHelper();
+
+		final String projectName = "ValidationErrors";//$NON-NLS-1$
+		final IProgressMonitor monitor = new NullProgressMonitor();
+		final IProject project = createAndPopulateProject(projectName, monitor);
+		IMarker[] markers = findMarkersOnResource(project);
+		// No build yet => no markers
+		Assert.assertArrayEquals(Collections.<IMarker> emptyList().toArray(), markers);
+
+		// trigger builder by adding nature to the project and auto-build is on
+		setAutoBuild(true);
+		ProjectNature.toggleNature(project, ValidationNature.NATURE_ID);
+		waitForAuroBuild();
+
+		// final state
+		markers = findMarkersOnResource(project);
+
+		// 4 errors:
+		// 2 unresolved DMR and one missing DMR as ECP pure validation errros
+		// an annotation with a missing key as a simple EMF error
+		for (final IMarker marker : markers) {
+			System.err.println(marker);
+
+			// These look like they were created by our marker helper
+			Assert.assertThat(marker.getAttribute(IMarker.MESSAGE, ""), startsWith("*TEST* "));
+		}
+		Assert.assertThat(markers.length, greaterThanOrEqualTo(1));
+	}
+
+	@Test
+	public void injections() throws CoreException, IOException {
+		class Canary implements ValidationDelegateProvider {
+			// BEGIN COMPLEX CODE - This is just for testing
+			String fileName;
+			IContentType contentType;
+			String contentTypeID;
+			// END COMPLEX CODE
+
+			@Bid
+			public Double bid(IFile file, IContentType contentType,
+				@Named(BuilderConstants.CONTENT_TYPE) String contentTypeID) {
+				fileName = file.getName();
+				this.contentType = contentType;
+				this.contentTypeID = contentTypeID;
+				return null;
+			}
+
+			void dump() {
+				System.err.printf("File name: %s%n", fileName);
+				System.err.printf("Content-type ID: %s%n", contentTypeID);
+				System.err.printf("Content-type: %s%n", contentType);
+			}
+		}
+
+		final Canary canary = new Canary();
+		register(ValidationDelegateProvider.class, canary);
+
+		final String projectName = "DataTemplateErrors";//$NON-NLS-1$
+		final IProgressMonitor monitor = new NullProgressMonitor();
+		final IProject project = createAndPopulateProject(projectName, monitor);
+
+		// trigger builder by adding nature to the project and auto-build is on
+		setAutoBuild(true);
+		ProjectNature.toggleNature(project, ValidationNature.NATURE_ID);
+		waitForAuroBuild();
+
+		canary.dump();
+		Assert.assertThat("No file", canary.fileName, notNullValue());
+		Assert.assertThat("No content-type ID", canary.contentTypeID, notNullValue());
+		Assert.assertThat("No content-type", canary.contentType, notNullValue());
+	}
+
+	//
+	// Test framework
+	//
+
+	@After
+	public void deregisterServices() {
+		for (final ServiceRegistration<?> next : registrations) {
+			next.unregister();
+		}
+	}
+
+	BundleContext getBundleContext() {
+		return FrameworkUtil.getBundle(getClass()).getBundleContext();
+	}
+
+	<S> ServiceRegistration<S> register(Class<S> serviceType, S service) {
+		final ServiceRegistration<S> result = getBundleContext().registerService(
+			serviceType, service, new Hashtable<>());
+		registrations.add(result);
+		return result;
+	}
+
+	ServiceRegistration<ValidationDelegateProvider> registerDataTemplateDelegate() {
+		final ValidationDelegateProvider provider = new ValidationDelegateProvider() {
+			private final Double bid = Double.MAX_VALUE;
+
+			@Bid
+			public Double bid(IFile file) {
+				return "datatemplate".equals(file.getFullPath().getFileExtension())
+					? bid
+					: null;
+			}
+
+			@Create
+			public ValidationDelegate createDelegate() {
+				return new ValidationServiceDelegate();
+			}
+		};
+
+		return register(ValidationDelegateProvider.class, provider);
+	}
+
+	ServiceRegistration<MarkerHelperProvider> registerMarkerHelper() {
+		final IFile[] fileHolder = { null };
+		final MarkerHelper markerHelper = new DefaultMarkerHelper() {
+			@Override
+			protected void adjustMarker(IMarker marker, Diagnostic diagnostic, Diagnostic parentDiagnostic)
+				throws CoreException {
+
+				super.adjustMarker(marker, diagnostic, parentDiagnostic);
+
+				String message = marker.getAttribute(IMarker.MESSAGE, "");
+				message = "*TEST* " + message;
+				marker.setAttribute(IMarker.MESSAGE, message);
+			}
+
+			@Override
+			protected IFile getFile(Diagnostic diagnostic) {
+				return fileHolder[0];
+			}
+		};
+
+		final MarkerHelperProvider provider = new MarkerHelperProvider() {
+			private final Double bid = Double.MAX_VALUE;
+
+			@Bid
+			public Double bid(IFile file) {
+				return "view".equals(file.getFullPath().getFileExtension())
+					? bid
+					: null;
+			}
+
+			@Create
+			public MarkerHelper createDelegate(IFile file) {
+				fileHolder[0] = file;
+				return markerHelper;
+			}
+		};
+
+		return register(MarkerHelperProvider.class, provider);
+	}
+
+}
diff --git a/tests/org.eclipse.emfforms.ide.builder.test/src/org/eclipse/emfforms/ide/builder/ViewModelBuilder_PTest.java b/tests/org.eclipse.emfforms.ide.builder.test/src/org/eclipse/emfforms/ide/builder/ViewModelBuilder_PTest.java
new file mode 100644
index 0000000..369f7ca
--- /dev/null
+++ b/tests/org.eclipse.emfforms.ide.builder.test/src/org/eclipse/emfforms/ide/builder/ViewModelBuilder_PTest.java
@@ -0,0 +1,144 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource - initial API and implementation
+ * Christian W. Damus - bug 544499
+ ******************************************************************************/
+package org.eclipse.emfforms.ide.builder;
+
+import java.io.IOException;
+import java.util.Collections;
+
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.emfforms.ide.internal.builder.ProjectNature;
+import org.eclipse.emfforms.ide.internal.builder.ValidationNature;
+import org.eclipse.emfforms.ide.internal.builder.ViewModelBuilder;
+import org.eclipse.emfforms.ide.internal.builder.ViewModelNature;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test for Class {@link ViewModelBuilder}
+ */
+public class ViewModelBuilder_PTest extends AbstractBuilderTest {
+
+	@Test
+	public void validProject() throws CoreException, IOException {
+		// initial state
+		final String projectName = "ValidModel"; //$NON-NLS-1$
+		final IProgressMonitor monitor = new NullProgressMonitor();
+		final IProject project = createAndPopulateProject(projectName, monitor);
+		IMarker[] markers = findMarkersOnResource(project);
+		// No build yet => no markers
+		Assert.assertArrayEquals(Collections.<IMarker> emptyList().toArray(), markers);
+
+		// trigger builder by adding nature to the project and auto-build is on
+		setAutoBuild(true);
+		ProjectNature.toggleNature(project, ViewModelNature.NATURE_ID);
+		waitForAuroBuild();
+
+		// final state
+		markers = findMarkersOnResource(project);
+		// valid Files => No marker
+		Assert.assertArrayEquals(Collections.<IMarker> emptyList().toArray(), markers);
+	}
+
+	@Test
+	public void notAViewModelProject() throws CoreException, IOException {
+		final String projectName = "NotAViewModel"; //$NON-NLS-1$
+		final IProgressMonitor monitor = new NullProgressMonitor();
+		final IProject project = createAndPopulateProject(projectName, monitor);
+		IMarker[] markers = findMarkersOnResource(project);
+		// No build yet => no markers
+		Assert.assertArrayEquals(Collections.<IMarker> emptyList().toArray(), markers);
+
+		// trigger builder by adding nature to the project and auto-build is on
+		setAutoBuild(true);
+		ProjectNature.toggleNature(project, ViewModelNature.NATURE_ID);
+		waitForAuroBuild();
+
+		// final state
+		markers = findMarkersOnResource(project);
+		// no view files (wrong XMI, not XML file, etc.) => Mark them with an error.
+		Assert.assertEquals(2, markers.length);
+	}
+
+	@Test
+	public void validationErrors() throws CoreException, IOException {
+		final String projectName = "ValidationErrors";//$NON-NLS-1$
+		final IProgressMonitor monitor = new NullProgressMonitor();
+		final IProject project = createAndPopulateProject(projectName, monitor);
+		IMarker[] markers = findMarkersOnResource(project);
+		// No build yet => no markers
+		Assert.assertArrayEquals(Collections.<IMarker> emptyList().toArray(), markers);
+
+		// trigger builder by adding nature to the project and auto-build is on
+		setAutoBuild(true);
+		ProjectNature.toggleNature(project, ViewModelNature.NATURE_ID);
+		waitForAuroBuild();
+
+		// final state
+		markers = findMarkersOnResource(project);
+
+		// 4 errors:
+		// 2 unresolved DMR and one missing DMR as ECP pure validation errros
+		// an annotation with a missing key as a simple EMF error
+		for (final IMarker marker : markers) {
+			System.err.println(marker);
+		}
+		Assert.assertEquals(4, markers.length);
+	}
+
+	@Test
+	public void noAutoBuild() throws CoreException, IOException {
+		final String projectName = "ValidationErrors"; //$NON-NLS-1$
+		final IProgressMonitor monitor = new NullProgressMonitor();
+		final IProject project = createAndPopulateProject(projectName, monitor);
+		IMarker[] markers = findMarkersOnResource(project);
+		// No build yet => no markers
+		Assert.assertArrayEquals(Collections.<IMarker> emptyList().toArray(), markers);
+
+		// trigger builder by adding nature to the project and auto-build is on
+		setAutoBuild(false);
+		ProjectNature.toggleNature(project, ViewModelNature.NATURE_ID);
+		waitForAuroBuild();
+
+		// final state
+		markers = findMarkersOnResource(project);
+		// valid Files => No marker
+		Assert.assertArrayEquals(Collections.<IMarker> emptyList().toArray(), markers);
+	}
+
+	@Test
+	public void noRedundancyWithValidationNature() throws CoreException, IOException {
+		final String projectName = "ValidationErrors";//$NON-NLS-1$
+		final IProgressMonitor monitor = new NullProgressMonitor();
+		final IProject project = createAndPopulateProject(projectName, monitor);
+		IMarker[] markers = findMarkersOnResource(project);
+		// No build yet => no markers
+		Assert.assertArrayEquals(Collections.<IMarker> emptyList().toArray(), markers);
+
+		// trigger builder by adding both natures to the project and auto-build is on
+		setAutoBuild(true);
+		ProjectNature.toggleNature(project, ValidationNature.NATURE_ID);
+		ProjectNature.toggleNature(project, ViewModelNature.NATURE_ID);
+		waitForAuroBuild();
+
+		// final state
+		markers = findMarkersOnResource(project);
+
+		// Only 4 errors, not 8 which would happen if both builders did their work
+		Assert.assertEquals(4, markers.length);
+	}
+
+}
diff --git a/tests/org.eclipse.emfforms.ide.builder.test/src/org/eclipse/emfforms/ide/builder/test/AllPluginTests.java b/tests/org.eclipse.emfforms.ide.builder.test/src/org/eclipse/emfforms/ide/builder/test/AllPluginTests.java
new file mode 100644
index 0000000..59f909b
--- /dev/null
+++ b/tests/org.eclipse.emfforms.ide.builder.test/src/org/eclipse/emfforms/ide/builder/test/AllPluginTests.java
@@ -0,0 +1,31 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource - initial API and implementation
+ * Christian W. Damus - bug 544499
+ ******************************************************************************/
+package org.eclipse.emfforms.ide.builder.test;
+
+import org.eclipse.emfforms.ide.builder.ValidationBuilder_PTest;
+import org.eclipse.emfforms.ide.builder.ViewModelBuilder_PTest;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+/**
+ * All plugin tests for org.eclipse.emfforms.ide.builder.
+ */
+@RunWith(Suite.class)
+@SuiteClasses({
+	ViewModelBuilder_PTest.class,
+	ValidationBuilder_PTest.class,
+})
+public class AllPluginTests {
+
+}
diff --git a/tests/org.eclipse.emfforms.localization.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.localization.tests/META-INF/MANIFEST.MF
index 4b80736..3872405 100644
--- a/tests/org.eclipse.emfforms.localization.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emfforms.localization.tests/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Forms Localization Tests
 Bundle-SymbolicName: org.eclipse.emfforms.localization.tests
-Bundle-Version: 1.19.0.qualifier
-Fragment-Host: org.eclipse.emfforms.localization;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emfforms.internal.localization.tests;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.spi.localization;version="1.19.0"
+Bundle-Version: 1.20.0.qualifier
+Fragment-Host: org.eclipse.emfforms.localization;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emfforms.internal.localization.tests;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.spi.localization;version="1.20.0"
 Require-Bundle: org.junit;bundle-version="4.11.0",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="1.9.5",
-  org.eclipse.equinox.ds;bundle-version="[1.4.0,2.0.0)"
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="1.9.5",
+ org.eclipse.equinox.ds;bundle-version="[1.4.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.localization.tests
diff --git a/tests/org.eclipse.emfforms.localization.tests/pom.xml b/tests/org.eclipse.emfforms.localization.tests/pom.xml
index e319b70..1d76ecb 100644
--- a/tests/org.eclipse.emfforms.localization.tests/pom.xml
+++ b/tests/org.eclipse.emfforms.localization.tests/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emfforms.localization.tests</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emfforms.rulerepository.tooling.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.rulerepository.tooling.test/META-INF/MANIFEST.MF
index 11968d1..d63dd82 100644
--- a/tests/org.eclipse.emfforms.rulerepository.tooling.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emfforms.rulerepository.tooling.test/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Rule Repository Tooling Test
 Bundle-SymbolicName: org.eclipse.emfforms.rulerepository.tooling.test
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emfforms.rulerepository.tooling;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emfforms.internal.rulerepository.tooling.merge;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.internal.rulerepository.tooling.wizard;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.rulerepository.tooling.test;version="1.19.0";x-internal:=true
+Fragment-Host: org.eclipse.emfforms.rulerepository.tooling;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emfforms.internal.rulerepository.tooling.merge;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.rulerepository.tooling.wizard;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.rulerepository.tooling.test;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.12.0,5.0.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
-  org.objenesis;bundle-version="[1.0.0,2.0.0)"
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
+ org.objenesis;bundle-version="[1.0.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.rulerepository.tooling.test
diff --git a/tests/org.eclipse.emfforms.rulerepository.tooling.test/pom.xml b/tests/org.eclipse.emfforms.rulerepository.tooling.test/pom.xml
index 78a04dc..4a0c035 100644
--- a/tests/org.eclipse.emfforms.rulerepository.tooling.test/pom.xml
+++ b/tests/org.eclipse.emfforms.rulerepository.tooling.test/pom.xml
@@ -6,13 +6,13 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 
 	<artifactId>org.eclipse.emfforms.rulerepository.tooling.test</artifactId>
 	<packaging>eclipse-test-plugin</packaging>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<groupId>org.eclipse.emf.ecp</groupId>
 
 	<build>
diff --git a/tests/org.eclipse.emfforms.swt.common.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.swt.common.test/META-INF/MANIFEST.MF
index 91d3463..6aeb8b2 100644
--- a/tests/org.eclipse.emfforms.swt.common.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emfforms.swt.common.test/META-INF/MANIFEST.MF
@@ -2,19 +2,19 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms SWT Common Test Helper
 Bundle-SymbolicName: org.eclipse.emfforms.swt.common.test
-Bundle-Version: 1.19.0.qualifier
-Export-Package: org.eclipse.emfforms.swt.common.test;version="1.19.0"
+Bundle-Version: 1.20.0.qualifier
+Export-Package: org.eclipse.emfforms.swt.common.test;version="1.20.0"
 Require-Bundle: org.junit;bundle-version="[4.0.0,5.0.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit;bundle-version="[2.11.0,3.0.0)",
-  org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model.common;bundle-version="[1.19.0,1.20.0)"
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit;bundle-version="[2.11.0,3.0.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Import-Package: org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0"
+ org.eclipse.swt.widgets;version="0.0.0"
 Automatic-Module-Name: org.eclipse.emfforms.swt.common.test
diff --git a/tests/org.eclipse.emfforms.swt.common.test/pom.xml b/tests/org.eclipse.emfforms.swt.common.test/pom.xml
index 751dc11..88edacd 100644
--- a/tests/org.eclipse.emfforms.swt.common.test/pom.xml
+++ b/tests/org.eclipse.emfforms.swt.common.test/pom.xml
@@ -6,13 +6,13 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 
 	<artifactId>org.eclipse.emfforms.swt.common.test</artifactId>
 	<packaging>eclipse-test-plugin</packaging>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 
 	<build>
 		<sourceDirectory>src</sourceDirectory>
diff --git a/tests/org.eclipse.emfforms.swt.common.test/src/org/eclipse/emfforms/swt/common/test/AbstractControl_PTest.java b/tests/org.eclipse.emfforms.swt.common.test/src/org/eclipse/emfforms/swt/common/test/AbstractControl_PTest.java
index 58927a7..6419962 100644
--- a/tests/org.eclipse.emfforms.swt.common.test/src/org/eclipse/emfforms/swt/common/test/AbstractControl_PTest.java
+++ b/tests/org.eclipse.emfforms.swt.common.test/src/org/eclipse/emfforms/swt/common/test/AbstractControl_PTest.java
@@ -104,7 +104,7 @@
 		when(setting.getEObject()).thenReturn(eObject);
 		when(setting.getEStructuralFeature()).thenReturn(eStructuralFeature);
 
-		mockDatabindingIsUnsettable();
+		mockDatabindingIsSettableAndChangeable();
 
 		Mockito.when(getvControl().getDomainModelReference()).thenReturn(
 			domainModelReference);
@@ -112,9 +112,10 @@
 		Mockito.doReturn(UUID).when(getvControl()).getUuid();
 	}
 
-	protected void mockDatabindingIsUnsettable() throws DatabindingFailedException {
+	protected void mockDatabindingIsSettableAndChangeable() throws DatabindingFailedException {
 		final EStructuralFeature structuralFeature = mock(EStructuralFeature.class);
 		when(structuralFeature.isUnsettable()).thenReturn(false);
+		when(structuralFeature.isChangeable()).thenReturn(true);
 		final IValueProperty valueProperty = mock(IValueProperty.class);
 		when(valueProperty.getValueType()).thenReturn(structuralFeature);
 		when(getDatabindingService().getValueProperty(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
diff --git a/tests/org.eclipse.emfforms.swt.control.multiattribute.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.swt.control.multiattribute.tests/META-INF/MANIFEST.MF
index 164b13d..dd33fea 100644
--- a/tests/org.eclipse.emfforms.swt.control.multiattribute.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emfforms.swt.control.multiattribute.tests/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Tests for EMFForms SWT Renderer for Multi EAttributes
 Bundle-SymbolicName: org.eclipse.emfforms.swt.control.multiattribute.tests
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emfforms.swt.control.multiattribute;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emfforms.spi.view.control.multiattribute;version="1.19.0"
+Fragment-Host: org.eclipse.emfforms.swt.control.multiattribute;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emfforms.spi.view.control.multiattribute;version="1.20.0"
 Require-Bundle: org.junit;bundle-version="[4.0.0,5.0.0)",
-  org.eclipse.emf.ecp.test.common;bundle-version="[1.19.0,1.20.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
-  org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.9.0,2.0.0)",
-  org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.19.0,1.20.0)",
-  org.hamcrest.library;bundle-version="1.3.0"
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.20.0,1.21.0)",
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
+ org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.9.0,2.0.0)",
+ org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.20.0,1.21.0)",
+ org.hamcrest.library;bundle-version="1.3.0"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.swt.control.multiattribute.tests
diff --git a/tests/org.eclipse.emfforms.swt.control.multiattribute.tests/MultiAttributeSWTRenderer_ITest.launch b/tests/org.eclipse.emfforms.swt.control.multiattribute.tests/MultiAttributeSWTRenderer_ITest.launch
index 0741163..899497a 100644
--- a/tests/org.eclipse.emfforms.swt.control.multiattribute.tests/MultiAttributeSWTRenderer_ITest.launch
+++ b/tests/org.eclipse.emfforms.swt.control.multiattribute.tests/MultiAttributeSWTRenderer_ITest.launch
@@ -15,17 +15,18 @@
 <booleanAttribute key="includeOptional" value="false"/>
 <stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.emfforms.swt.control.multiattribute.tests/src/org/eclipse/emfforms/spi/view/control/multiattribute/MultiAttributeSWTRenderer_ITest.java"/>
+<listEntry value="/org.eclipse.emfforms.swt.control.multiattribute.tests"/>
 </listAttribute>
 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
+<listEntry value="4"/>
 </listAttribute>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value="=org.eclipse.emfforms.swt.control.multiattribute.tests"/>
 <booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
 <stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
 <stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
 <stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emfforms.spi.view.control.multiattribute.MultiAttributeSWTRenderer_ITest"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value=""/>
 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
 <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emfforms.swt.control.multiattribute.tests"/>
 <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
@@ -33,8 +34,8 @@
 <stringAttribute key="pde.version" value="3.3"/>
 <stringAttribute key="product" value="org.eclipse.platform.ide"/>
 <booleanAttribute key="run_in_ui_thread" value="true"/>
-<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,org.apache.batik.css*1.8.0.v20170214-1941@default:default,org.apache.batik.util*1.8.0.v20170214-1941@default:default,org.apache.commons.codec@default:default,org.apache.commons.jxpath@default:default,org.apache.commons.logging@default:default,org.apache.felix.scr@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding*1.6.100.v20170515-1119@default:default,org.eclipse.core.databinding.observable*1.6.100.v20170515-1119@default:default,org.eclipse.core.databinding.property*1.6.100.v20170515-1119@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.linux.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources@default:default,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.annotations@default:default,org.eclipse.e4.core.di.extensions.supplier@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.emf.xpath@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.swt.gtk@default:false,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.gtk.linux.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.team.core@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.trace@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core@default:default,org.hamcrest.library@default:default,org.junit@default:default,org.mockito.mockito-core-hamcrest-modified@default:default,org.objenesis@default:default,org.w3c.css.sac@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.test.common@default:default,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.categorization.model@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.group.ui.swt@default:default,org.eclipse.emf.ecp.view.horizontal.model@default:default,org.eclipse.emf.ecp.view.horizontal.ui.swt@default:default,org.eclipse.emf.ecp.view.indexdmr.model@default:default,org.eclipse.emf.ecp.view.label.model@default:default,org.eclipse.emf.ecp.view.mappingdmr.model@default:default,org.eclipse.emf.ecp.view.migrator@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.rule.model@default:default,org.eclipse.emf.ecp.view.swt.layout@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.table.ui.swt@default:default,org.eclipse.emf.ecp.view.table.validation@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.template.service@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.test.common@default:default,org.eclipse.emf.ecp.view.treemasterdetail.model@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.ecp.view.vertical.ui.swt@default:default,org.eclipse.emfforms.common.prevalidation@default:default,org.eclipse.emfforms.common.validation@default:default,org.eclipse.emfforms.common@default:default,org.eclipse.emfforms.core.bazaar@default:default,org.eclipse.emfforms.core.services.databinding.featurepath@default:default,org.eclipse.emfforms.core.services.databinding.index@default:default,org.eclipse.emfforms.core.services.databinding.mapping@default:default,org.eclipse.emfforms.core.services.domainexpander.default@default:default,org.eclipse.emfforms.core.services.domainexpander.index@default:default,org.eclipse.emfforms.core.services.domainexpander.mapping@default:default,org.eclipse.emfforms.core.services.domainexpander.table@default:default,org.eclipse.emfforms.core.services.editsupport@default:default,org.eclipse.emfforms.core.services.emf@default:default,org.eclipse.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emfforms.core.services.legacy@default:default,org.eclipse.emfforms.core.services.locale.default@default:default,org.eclipse.emfforms.core.services.mappingprovider.default@default:default,org.eclipse.emfforms.core.services.mappingprovider.table@default:default,org.eclipse.emfforms.core.services.structuralchange.default@default:default,org.eclipse.emfforms.core.services.structuralchange.index@default:default,org.eclipse.emfforms.core.services.structuralchange.mapping@default:default,org.eclipse.emfforms.core.services.structuralchange.table@default:default,org.eclipse.emfforms.core.services.structuralchange@default:default,org.eclipse.emfforms.core.services@default:default,org.eclipse.emfforms.localization@default:default,org.eclipse.emfforms.swt.control.multiattribute.tests@default:false,org.eclipse.emfforms.swt.control.multiattribute@default:default,org.eclipse.emfforms.swt.core.di.extension@default:default,org.eclipse.emfforms.swt.core.di@default:default,org.eclipse.emfforms.swt.core.plugin@default:default,org.eclipse.emfforms.swt.core@default:default,org.eclipse.emfforms.swt.table@default:default,org.eclipse.emfforms.swt.treemasterdetail@default:default,org.eclipse.emfforms.view.model.localization@default:default"/>
+<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,org.apache.batik.constants@default:default,org.apache.batik.css*1.10.0.v20180703-1553@default:default,org.apache.batik.i18n@default:default,org.apache.batik.util*1.10.0.v20180703-1553@default:default,org.apache.commons.codec@default:default,org.apache.commons.io@default:default,org.apache.commons.jxpath@default:default,org.apache.commons.logging*1.1.1.v201101211721@default:default,org.apache.commons.logging*1.2.0.v20180409-1502@default:default,org.apache.felix.scr@1:true,org.apache.xmlgraphics@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding*1.7.100.v20181030-1443@default:default,org.eclipse.core.databinding.observable*1.6.300.v20180827-2028@default:default,org.eclipse.core.databinding.property*1.6.300.v20180827-2028@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.macosx@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources@default:default,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.annotations@default:default,org.eclipse.e4.core.di.extensions.supplier@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.emf.xpath@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt.cocoa@default:false,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.bidi@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.security.macosx@default:false,org.eclipse.equinox.security@default:default,org.eclipse.equinox.supplement@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface.text@default:default,org.eclipse.jface@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.cocoa.macosx.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.team.core@default:default,org.eclipse.text@default:default,org.eclipse.ui.cocoa@default:false,org.eclipse.ui.forms@default:default,org.eclipse.ui.ide@default:default,org.eclipse.ui.trace@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core*1.3.0.v201303031735@default:default,org.hamcrest.core*1.3.0.v20180420-1519@default:default,org.hamcrest.library@default:default,org.junit@default:default,org.mockito.mockito-core-hamcrest-modified@default:default,org.objenesis@default:default,org.tukaani.xz@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil*1.0.1.v200903091627@default:default,org.w3c.dom.svg@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.test@default:false,org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core.test@default:false,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt.test@default:false,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.makeithappen.model@default:default,org.eclipse.emf.ecp.test.common@default:default,org.eclipse.emf.ecp.test.model@default:default,org.eclipse.emf.ecp.ui.view.swt.test@default:false,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.categorization.model@default:default,org.eclipse.emf.ecp.view.context.tests@default:false,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt.tests@default:false,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.group.ui.swt.test@default:false,org.eclipse.emf.ecp.view.group.ui.swt@default:default,org.eclipse.emf.ecp.view.horizontal.model@default:default,org.eclipse.emf.ecp.view.horizontal.ui.swt.test@default:false,org.eclipse.emf.ecp.view.horizontal.ui.swt@default:default,org.eclipse.emf.ecp.view.indexdmr.model@default:default,org.eclipse.emf.ecp.view.label.model@default:default,org.eclipse.emf.ecp.view.mappingdmr.model@default:default,org.eclipse.emf.ecp.view.migrator@default:default,org.eclipse.emf.ecp.view.model.common.test@default:false,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi.test@default:false,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model.test@default:false,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.rule.model@default:default,org.eclipse.emf.ecp.view.swt.layout@default:default,org.eclipse.emf.ecp.view.table.columnservice@default:default,org.eclipse.emf.ecp.view.table.model.test@default:false,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.table.test.common@default:default,org.eclipse.emf.ecp.view.table.ui.swt.test@default:false,org.eclipse.emf.ecp.view.table.ui.swt@default:default,org.eclipse.emf.ecp.view.table.validation.test@default:false,org.eclipse.emf.ecp.view.table.validation@default:default,org.eclipse.emf.ecp.view.template.annotation.model@default:default,org.eclipse.emf.ecp.view.template.model.test@default:false,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.template.service.test@default:false,org.eclipse.emf.ecp.view.template.service@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.test.common@default:default,org.eclipse.emf.ecp.view.treemasterdetail.model@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation.test@default:false,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.ecp.view.vertical.ui.swt.test@default:false,org.eclipse.emf.ecp.view.vertical.ui.swt@default:default,org.eclipse.emf.rap.edit.ui.minimal@default:default,org.eclipse.emfforms.common.prevalidation@default:default,org.eclipse.emfforms.common.tests@default:false,org.eclipse.emfforms.common.validation.tests@default:false,org.eclipse.emfforms.common.validation@default:default,org.eclipse.emfforms.common@default:default,org.eclipse.emfforms.core.bazaar.tests@default:false,org.eclipse.emfforms.core.bazaar@default:default,org.eclipse.emfforms.core.services.databinding.featurepath.tests@default:false,org.eclipse.emfforms.core.services.databinding.featurepath@default:default,org.eclipse.emfforms.core.services.databinding.index.tests@default:false,org.eclipse.emfforms.core.services.databinding.index@default:default,org.eclipse.emfforms.core.services.databinding.mapping.tests@default:false,org.eclipse.emfforms.core.services.databinding.mapping@default:default,org.eclipse.emfforms.core.services.databinding.testmodel@default:default,org.eclipse.emfforms.core.services.domainexpander.default.tests@default:false,org.eclipse.emfforms.core.services.domainexpander.default@default:default,org.eclipse.emfforms.core.services.domainexpander.index.tests@default:false,org.eclipse.emfforms.core.services.domainexpander.index@default:default,org.eclipse.emfforms.core.services.domainexpander.mapping.tests@default:false,org.eclipse.emfforms.core.services.domainexpander.mapping@default:default,org.eclipse.emfforms.core.services.domainexpander.table@default:default,org.eclipse.emfforms.core.services.editsupport@default:default,org.eclipse.emfforms.core.services.emf.tests@default:false,org.eclipse.emfforms.core.services.emf@default:default,org.eclipse.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emfforms.core.services.legacy.tests@default:false,org.eclipse.emfforms.core.services.legacy@default:default,org.eclipse.emfforms.core.services.locale.default@default:default,org.eclipse.emfforms.core.services.mappingprovider.default@default:default,org.eclipse.emfforms.core.services.mappingprovider.table.test@default:false,org.eclipse.emfforms.core.services.mappingprovider.table@default:default,org.eclipse.emfforms.core.services.segments.index@default:default,org.eclipse.emfforms.core.services.segments.mapping@default:default,org.eclipse.emfforms.core.services.segments@default:default,org.eclipse.emfforms.core.services.structuralchange.default@default:default,org.eclipse.emfforms.core.services.structuralchange.index@default:default,org.eclipse.emfforms.core.services.structuralchange.mapping@default:default,org.eclipse.emfforms.core.services.structuralchange.table@default:default,org.eclipse.emfforms.core.services.structuralchange@default:default,org.eclipse.emfforms.core.services.tests@default:false,org.eclipse.emfforms.core.services@default:default,org.eclipse.emfforms.editor@default:default,org.eclipse.emfforms.localization.tests@default:false,org.eclipse.emfforms.localization@default:default,org.eclipse.emfforms.swt.common.test@default:default,org.eclipse.emfforms.swt.control.multiattribute.tests@default:false,org.eclipse.emfforms.swt.control.multiattribute@default:default,org.eclipse.emfforms.swt.core.di.extension.tests@default:false,org.eclipse.emfforms.swt.core.di.extension@default:default,org.eclipse.emfforms.swt.core.di.tests@default:default,org.eclipse.emfforms.swt.core.di@default:default,org.eclipse.emfforms.swt.core.plugin@default:default,org.eclipse.emfforms.swt.core.tests@default:false,org.eclipse.emfforms.swt.core@default:default,org.eclipse.emfforms.swt.table@default:default,org.eclipse.emfforms.swt.treemasterdetail@default:default,org.eclipse.emfforms.view.annotation.model@default:default,org.eclipse.emfforms.view.controlgrid.model@default:default,org.eclipse.emfforms.view.indexsegment.model@default:default,org.eclipse.emfforms.view.mappingsegment.model@default:default,org.eclipse.emfforms.view.model.localization.tests@default:false,org.eclipse.emfforms.view.model.localization@default:default,org.eclipse.emfforms.view.multisegment.model@default:default"/>
 <booleanAttribute key="show_selected_only" value="false"/>
 <booleanAttribute key="tracing" value="false"/>
 <booleanAttribute key="useCustomFeatures" value="false"/>
diff --git a/tests/org.eclipse.emfforms.swt.control.multiattribute.tests/pom.xml b/tests/org.eclipse.emfforms.swt.control.multiattribute.tests/pom.xml
index f723e29..6d7f49f 100644
--- a/tests/org.eclipse.emfforms.swt.control.multiattribute.tests/pom.xml
+++ b/tests/org.eclipse.emfforms.swt.control.multiattribute.tests/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emfforms.swt.control.multiattribute.tests</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 	
 	<build>
diff --git a/tests/org.eclipse.emfforms.swt.control.multiattribute.tests/src/org/eclipse/emfforms/spi/view/control/multiattribute/CellEditorFactory_ITest.java b/tests/org.eclipse.emfforms.swt.control.multiattribute.tests/src/org/eclipse/emfforms/spi/view/control/multiattribute/CellEditorFactory_ITest.java
new file mode 100644
index 0000000..7030912
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.control.multiattribute.tests/src/org/eclipse/emfforms/spi/view/control/multiattribute/CellEditorFactory_ITest.java
@@ -0,0 +1,178 @@
+/*******************************************************************************
+ * Copyright (c) 2019 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.view.control.multiattribute;
+
+import static org.hamcrest.CoreMatchers.instanceOf;
+import static org.hamcrest.CoreMatchers.notNullValue;
+import static org.hamcrest.MatcherAssert.assertThat;
+
+import java.util.Arrays;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EEnumLiteral;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EcoreFactory;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecp.edit.internal.swt.table.DateCellEditor;
+import org.eclipse.emf.ecp.edit.internal.swt.table.NumberCellEditor;
+import org.eclipse.emf.ecp.edit.spi.swt.table.ECPEnumCellEditor;
+import org.eclipse.emf.ecp.edit.spi.swt.table.StringCellEditor;
+import org.eclipse.emf.ecp.test.common.DefaultRealm;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emfforms.internal.view.control.multiattribute.celleditor.CellEditorFactory;
+import org.eclipse.jface.viewers.CellEditor;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Table;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+/**
+ * Integration tests for the multi-attribute editor's {@link CellEditorFactory}.
+ */
+@RunWith(Parameterized.class)
+@SuppressWarnings("nls")
+public class CellEditorFactory_ITest {
+
+	private static EPackage ePackage;
+	private static EClass eClass;
+
+	private DefaultRealm realm;
+	private Shell shell;
+
+	private Table table;
+
+	private final EAttribute attribute;
+	private final EObject owner;
+	private final Class<? extends CellEditor> expectedEditorType;
+
+	@Mock
+	private ViewModelContext viewModelContext;
+
+	/**
+	 * Initializes me with my test parameters.
+	 *
+	 * @param attributeName the attribute name for which to create a cell editor
+	 * @param expectedEditorType the kind of cell editor expected to be created
+	 */
+	public CellEditorFactory_ITest(String attributeName, Class<? extends CellEditor> expectedEditorType) {
+		super();
+
+		attribute = (EAttribute) getEClass().getEStructuralFeature(attributeName);
+		owner = EcoreUtil.create(getEClass());
+		this.expectedEditorType = expectedEditorType;
+	}
+
+	@Test
+	public void createCellEditor() {
+		final CellEditor editor = CellEditorFactory.INSTANCE.createCellEditor(attribute, owner, table,
+			viewModelContext);
+
+		assertThat("No cell editor created", editor, notNullValue());
+		assertThat("Wrong cell editor created", editor, instanceOf(expectedEditorType));
+	}
+
+	//
+	// Test framework
+	//
+
+	@Parameters(name = "{0}")
+	public static Iterable<Object[]> parameters() {
+		return Arrays.asList(new Object[][] {
+			{ "stringAttr", StringCellEditor.class },
+			{ "intAttr", NumberCellEditor.class },
+			{ "dateAttr", DateCellEditor.class },
+			{ "enumAttr", ECPEnumCellEditor.class },
+		});
+	}
+
+	@Before
+	public void initMocks() {
+		MockitoAnnotations.initMocks(this);
+	}
+
+	@Before
+	public void initUI() {
+		realm = new DefaultRealm();
+		shell = new Shell();
+		table = new Table(shell, SWT.BORDER);
+	}
+
+	@After
+	public void destroyUI() {
+		shell.dispose();
+		realm.dispose();
+	}
+
+	private static EClass getEClass() {
+		if (eClass == null) {
+			ePackage = EcoreFactory.eINSTANCE.createEPackage();
+			ePackage.setName("test");
+			ePackage.setNsURI("http://test/test");
+			ePackage.setNsPrefix("test");
+
+			eClass = eClass("Foo");
+			final EEnum flavourEnum = eEnum("Flavour", "sweet", "salty", "sour", "bitter");
+
+			attr("stringAttr", EcorePackage.Literals.ESTRING);
+			attr("intAttr", EcorePackage.Literals.EINT);
+			attr("dateAttr", EcorePackage.Literals.EDATE);
+			attr("enumAttr", flavourEnum);
+		}
+
+		return eClass;
+	}
+
+	private static <T extends EClassifier> T eClassifier(EClass metaclass, String name) {
+		@SuppressWarnings("unchecked")
+		final T result = (T) EcoreFactory.eINSTANCE.create(metaclass);
+		result.setName(name);
+		ePackage.getEClassifiers().add(result);
+		return result;
+	}
+
+	private static EClass eClass(String name) {
+		return eClassifier(EcorePackage.Literals.ECLASS, name);
+	}
+
+	private static EEnum eEnum(String name, String... literal) {
+		final EEnum result = eClassifier(EcorePackage.Literals.EENUM, name);
+		for (final String next : literal) {
+			final EEnumLiteral eel = EcoreFactory.eINSTANCE.createEEnumLiteral();
+			eel.setName(next);
+			result.getELiterals().add(eel);
+		}
+		return result;
+	}
+
+	private static EAttribute attr(String name, EDataType type) {
+		final EAttribute result = EcoreFactory.eINSTANCE.createEAttribute();
+		result.setName(name);
+		result.setUpperBound(-1);
+		result.setEType(type);
+		eClass.getEStructuralFeatures().add(result);
+		return result;
+	}
+
+}
diff --git a/tests/org.eclipse.emfforms.swt.control.multiattribute.tests/src/org/eclipse/emfforms/spi/view/control/multiattribute/MultiAttributeSWTRenderer_ITest.java b/tests/org.eclipse.emfforms.swt.control.multiattribute.tests/src/org/eclipse/emfforms/spi/view/control/multiattribute/MultiAttributeSWTRenderer_ITest.java
index 9d9e793..6741d35 100644
--- a/tests/org.eclipse.emfforms.swt.control.multiattribute.tests/src/org/eclipse/emfforms/spi/view/control/multiattribute/MultiAttributeSWTRenderer_ITest.java
+++ b/tests/org.eclipse.emfforms.swt.control.multiattribute.tests/src/org/eclipse/emfforms/spi/view/control/multiattribute/MultiAttributeSWTRenderer_ITest.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2018 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -8,9 +8,11 @@
  *
  * Contributors:
  * Johannes Faltermeier - initial API and implementation
+ * Christian W. Damus - bug 543348
  ******************************************************************************/
 package org.eclipse.emfforms.spi.view.control.multiattribute;
 
+import static org.hamcrest.CoreMatchers.hasItem;
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.equalTo;
@@ -18,7 +20,11 @@
 import static org.hamcrest.Matchers.nullValue;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
+import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
 
 import java.io.Serializable;
 import java.util.HashSet;
@@ -27,11 +33,17 @@
 import org.eclipse.core.databinding.observable.Observables;
 import org.eclipse.core.databinding.observable.list.IObservableList;
 import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.core.databinding.property.value.IValueProperty;
 import org.eclipse.emf.common.command.BasicCommandStack;
 import org.eclipse.emf.common.notify.AdapterFactory;
 import org.eclipse.emf.common.util.URI;
 import org.eclipse.emf.databinding.EMFObservables;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.EcoreFactory;
 import org.eclipse.emf.ecore.resource.Resource;
 import org.eclipse.emf.ecore.resource.ResourceSet;
 import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
@@ -57,6 +69,7 @@
 import org.eclipse.emf.emfstore.bowling.BowlingFactory;
 import org.eclipse.emf.emfstore.bowling.BowlingPackage;
 import org.eclipse.emf.emfstore.bowling.Game;
+import org.eclipse.emf.emfstore.bowling.TournamentType;
 import org.eclipse.emfforms.spi.common.report.ReportService;
 import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
 import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
@@ -81,6 +94,10 @@
 
 public class MultiAttributeSWTRenderer_ITest {
 
+	private static final String UUID_REMOVE = "UUID#remove"; //$NON-NLS-1$
+	private static final String UUID_ADD = "UUID#add"; //$NON-NLS-1$
+	private static final String UUID_DOWN = "UUID#down"; //$NON-NLS-1$
+	private static final String UUID_UP = "UUID#up"; //$NON-NLS-1$
 	private DefaultRealm realm;
 	private Shell shell;
 
@@ -93,7 +110,7 @@
 	private ImageRegistryService imageRegistryService;
 
 	@Before
-	public void before() throws NoLabelFoundException {
+	public void before() throws NoLabelFoundException, DatabindingFailedException {
 		realm = new DefaultRealm();
 		shell = new Shell();
 		GridLayoutFactory.fillDefaults().applyTo(shell);
@@ -107,6 +124,15 @@
 
 		imageRegistryService = Mockito.mock(ImageRegistryService.class);
 
+		// mock databinding to return a value property with changeable structural feature.
+		// Necessary due to the implementation of Bug 536250
+		final EStructuralFeature changeableFeature = mock(EStructuralFeature.class);
+		when(changeableFeature.isChangeable()).thenReturn(true);
+		final IValueProperty<?, ?> valueProperty = mock(IValueProperty.class);
+		when(valueProperty.getValueType()).thenReturn(changeableFeature);
+		when(emfFormsDatabinding.getValueProperty(any(VDomainModelReference.class), any(EObject.class)))
+			.thenReturn(valueProperty);
+
 		final IObservableValue<Serializable> displayName = Observables.constantObservableValue(
 			"Display Name", //$NON-NLS-1$
 			String.class);
@@ -151,8 +177,8 @@
 		return renderer;
 	}
 
-	private void createEditingDomain(final Game game) {
-		final EObject rootObject = EcoreUtil.getRootContainer(game);
+	private void createEditingDomain(final EObject object) {
+		final EObject rootObject = EcoreUtil.getRootContainer(object);
 		final ResourceSet rs = new ResourceSetImpl();
 		final ComposedAdapterFactory adapterFactory = new ComposedAdapterFactory(new AdapterFactory[] {
 			new ReflectiveItemProviderAdapterFactory(),
@@ -364,12 +390,60 @@
 	public void buttonsUpDown_enableOnSelection()
 		throws DatabindingFailedException, NoRendererFoundException, NoPropertyDescriptorFoundExeption {
 		/* setup domain */
+		final IObservableList<?> observeList = createBasicDomain();
+		Mockito.doReturn(true).when(vElement).isEffectivelyEnabled();
+		final MultiAttributeSWTRenderer renderer = createRenderer();
+
+		/* setup rendering */
+		final SWTGridDescription gridDescription = renderer.getGridDescription(null);
+		final SWTGridCell lastGridCell = gridDescription.getGrid().get(gridDescription.getGrid().size() - 1);
+
+		/* render */
+		final Control control = renderer.render(lastGridCell, shell);
+		final Button upButton = SWTTestUtil.findControlById(control, UUID_UP, Button.class);
+		final Button downButton = SWTTestUtil.findControlById(control, UUID_DOWN, Button.class);
+
+		/* by default, up is disabled (no selection) */
+		checkControlEnablement(upButton, false);
+		checkControlEnablement(downButton, false);
+
+		/* select first element in list */
+		renderer.getTableViewer().setSelection(new StructuredSelection(observeList.get(0)), true);
+		SWTTestUtil.waitForUIThread();
+		checkControlEnablement(upButton, false);
+		checkControlEnablement(downButton, true);
+
+		/* select an element in the middle of the list */
+		renderer.getTableViewer().setSelection(new StructuredSelection(observeList.get(3)), true);
+		SWTTestUtil.waitForUIThread();
+		checkControlEnablement(upButton, true);
+		checkControlEnablement(downButton, true);
+
+		/* select last element in list */
+		renderer.getTableViewer().setSelection(new StructuredSelection(observeList.get(4)), true);
+		SWTTestUtil.waitForUIThread();
+		checkControlEnablement(upButton, true);
+		checkControlEnablement(downButton, false);
+
+		/* remove selection */
+		renderer.getTableViewer().setSelection(StructuredSelection.EMPTY);
+		SWTTestUtil.waitForUIThread();
+		checkControlEnablement(upButton, false);
+		checkControlEnablement(downButton, false);
+	}
+
+	private void checkControlEnablement(Control control, boolean expectedEnable) {
+		assertNotNull("control does not exists", control); //$NON-NLS-1$
+		assertThat(control.getEnabled(), is(expectedEnable));
+	}
+
+	private IObservableList<?> createBasicDomain() throws DatabindingFailedException {
 		final Game game = BowlingFactory.eINSTANCE.createGame();
 		game.getFrames().add(1);
 		game.getFrames().add(1);
 		game.getFrames().add(1);
 		game.getFrames().add(2);
-		game.getFrames().add(2);
+		game.getFrames().add(3);
 
 		createEditingDomain(game);
 
@@ -381,7 +455,50 @@
 			BowlingPackage.eINSTANCE.getGame_Frames());
 		Mockito.doReturn(observeList).when(emfFormsDatabinding)
 			.getObservableList(Matchers.any(VDomainModelReference.class), Matchers.any(EObject.class));
+		return observeList;
+	}
 
+	@Test
+	public void testButtonRemovedOnReadOnly()
+		throws NoRendererFoundException, NoPropertyDescriptorFoundExeption, DatabindingFailedException {
+		final IObservableList<?> observeList = createBasicDomain();
+		final MultiAttributeSWTRenderer renderer = createRenderer();
+		Mockito.doReturn(true).when(vElement).isEffectivelyReadonly();
+		when(vElement.isEffectivelyEnabled()).thenReturn(true);
+		/* setup rendering */
+		final SWTGridDescription gridDescription = renderer.getGridDescription(null);
+		final SWTGridCell lastGridCell = gridDescription.getGrid().get(gridDescription.getGrid().size() - 1);
+
+		/* render */
+		final Control control = renderer.render(lastGridCell, shell);
+		// check control visibility (getVisible rather than isVisible as the shell is not visible itself)
+		assertTrue("Control should be visible", control.getVisible()); //$NON-NLS-1$
+		assertTrue("Control may still be enabled when read-only", control.isEnabled());//$NON-NLS-1$
+		final Button upButton = SWTTestUtil.findControl(control, 0, Button.class);
+		assertFalse("Up button shall not be visible when read-only", upButton.getVisible());//$NON-NLS-1$
+
+		/* select an element in list */
+		renderer.getTableViewer().setSelection(new StructuredSelection(observeList.get(0)), true);
+		SWTTestUtil.waitForUIThread();
+
+		/* assert */
+		assertFalse("Up button shall not be visible when read-only", upButton.getVisible());//$NON-NLS-1$
+
+		/* act */
+		renderer.getTableViewer().setSelection(StructuredSelection.EMPTY);
+		SWTTestUtil.waitForUIThread();
+
+		/* assert */
+		assertFalse("Up button shall not be visible when read-only", upButton.getVisible());//$NON-NLS-1$
+
+	}
+
+	@Test
+	public void testButtonsDeactivateOnDisable()
+		throws NoRendererFoundException, NoPropertyDescriptorFoundExeption, DatabindingFailedException {
+		final IObservableList<?> observeList = createBasicDomain();
+		// set to disable
+		Mockito.doReturn(false).when(vElement).isEffectivelyEnabled();
 		final MultiAttributeSWTRenderer renderer = createRenderer();
 
 		/* setup rendering */
@@ -399,15 +516,15 @@
 		renderer.getTableViewer().setSelection(new StructuredSelection(observeList.get(0)), true);
 		SWTTestUtil.waitForUIThread();
 
-		/* assert */
-		assertTrue(upButton.getEnabled());
+		/* up should still be disabled */
+		assertFalse("button is enabled even if VElement is not enabled", upButton.getEnabled());//$NON-NLS-1$
 
 		/* act */
 		renderer.getTableViewer().setSelection(StructuredSelection.EMPTY);
 		SWTTestUtil.waitForUIThread();
 
 		/* assert */
-		assertFalse(upButton.getEnabled());
+		assertFalse("button is enabled even if VElement is not enabled", upButton.getEnabled());//$NON-NLS-1$
 	}
 
 	@Test
@@ -455,14 +572,70 @@
 		final Control control = renderer.render(lastGridCell, shell);
 
 		/* assert */
-		assertEquals("UUID#up", SWTTestUtil.findControl(control, 0, Button.class) //$NON-NLS-1$
+		assertEquals(UUID_UP, SWTTestUtil.findControl(control, 0, Button.class)
 			.getData(SWTDataElementIdHelper.ELEMENT_ID_KEY));
-		assertEquals("UUID#down", SWTTestUtil.findControl(control, 1, Button.class) //$NON-NLS-1$
+		assertEquals(UUID_DOWN, SWTTestUtil.findControl(control, 1, Button.class)
 			.getData(SWTDataElementIdHelper.ELEMENT_ID_KEY));
-		assertEquals("UUID#add", SWTTestUtil.findControl(control, 2, Button.class) //$NON-NLS-1$
+		assertEquals(UUID_ADD, SWTTestUtil.findControl(control, 2, Button.class)
 			.getData(SWTDataElementIdHelper.ELEMENT_ID_KEY));
-		assertEquals("UUID#remove", SWTTestUtil.findControl(control, 3, Button.class) //$NON-NLS-1$
+		assertEquals(UUID_REMOVE, SWTTestUtil.findControl(control, 3, Button.class)
 			.getData(SWTDataElementIdHelper.ELEMENT_ID_KEY));
 	}
 
+	/**
+	 * Verify that when adding an enum value, the default value of the <em>attribute</em> is
+	 * preferred over the default literal of the enumeration (which is always the first literal),
+	 * if the attribute specifies a default.
+	 */
+	@Test
+	@SuppressWarnings("nls")
+	public void addEnumValue()
+		throws DatabindingFailedException, NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+
+		final EPackage fakePackage = EcoreFactory.eINSTANCE.createEPackage();
+		final EClass fakeClass = EcoreFactory.eINSTANCE.createEClass();
+		fakePackage.getEClassifiers().add(fakeClass);
+		final EAttribute allowedTypes = EcoreFactory.eINSTANCE.createEAttribute();
+		allowedTypes.setName("allowedTypes");
+		allowedTypes.setUpperBound(TournamentType.values().length);
+		allowedTypes.setEType(BowlingPackage.Literals.TOURNAMENT_TYPE);
+		allowedTypes.setDefaultValue(TournamentType.AMATEUR); // Not the type's intrinsic default
+		fakeClass.getEStructuralFeatures().add(allowedTypes);
+
+		/* setup domain */
+		final EObject object = EcoreUtil.create(fakeClass);
+		createEditingDomain(object);
+
+		/* setup classes */
+		@SuppressWarnings("unchecked")
+		final IObservableList<TournamentType> list = EMFObservables.observeList(
+			realm,
+			object,
+			allowedTypes);
+		when(emfFormsDatabinding.getObservableList(Matchers.any(VDomainModelReference.class),
+			Matchers.any(EObject.class)))
+				.thenReturn(list);
+		when(viewContext.getDomainModel()).thenReturn(object);
+
+		/* setup rendering */
+		final MultiAttributeSWTRenderer renderer = createRenderer();
+		final SWTGridDescription gridDescription = renderer.getGridDescription(null);
+		final SWTGridCell lastGridCell = gridDescription.getGrid().get(gridDescription.getGrid().size() - 1);
+
+		/* render */
+		final Control control = renderer.render(lastGridCell, shell);
+		final Table table = SWTTestUtil.findControl(control, 0, Table.class);
+		final Button addButton = SWTTestUtil.findControl(control, 2, Button.class);
+
+		/* act */
+		table.setSelection(2);
+		SWTTestUtil.waitForUIThread();
+
+		SWTTestUtil.clickButton(addButton);
+		SWTTestUtil.waitForUIThread();
+
+		/* verify the added value */
+		assertThat("Wrong default value", list, hasItem(TournamentType.AMATEUR));
+	}
+
 }
diff --git a/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/META-INF/MANIFEST.MF
index 5427b27..a3fef5e 100644
--- a/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms SWT Text Control with Autocomplete Tests
 Bundle-SymbolicName: org.eclipse.emfforms.swt.control.text.autocomplete.tests
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emfforms.swt.control.text.autocomplete;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emfforms.internal.swt.control.text.autocomplete.renderer;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.swt.control.text.autocomplete.tests;version="1.19.0";x-internal:=true
+Fragment-Host: org.eclipse.emfforms.swt.control.text.autocomplete;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emfforms.internal.swt.control.text.autocomplete.renderer;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.swt.control.text.autocomplete.tests;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.0.0,5.0.0)",
-  org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.19.0,1.20.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
-  org.eclipse.emf.ecp.test.common;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.20.0,1.21.0)",
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.swt.control.text.autocomplete.tests
diff --git a/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/pom.xml b/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/pom.xml
index 9f30dda..7443065 100644
--- a/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/pom.xml
+++ b/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emfforms.swt.control.text.autocomplete.tests</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 	
 	<build>
diff --git a/tests/org.eclipse.emfforms.swt.controlgrid.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.swt.controlgrid.test/META-INF/MANIFEST.MF
index 5099825..31dfd8f 100644
--- a/tests/org.eclipse.emfforms.swt.controlgrid.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emfforms.swt.controlgrid.test/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Control Grid SWT Renderer Tests
 Bundle-SymbolicName: org.eclipse.emfforms.swt.controlgrid.test
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emfforms.swt.controlgrid;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emfforms.spi.swt.controlgrid.renderer;version="1.19.0"
+Fragment-Host: org.eclipse.emfforms.swt.controlgrid;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emfforms.spi.swt.controlgrid.renderer;version="1.20.0"
 Require-Bundle: org.junit;bundle-version="[4.0.0,5.0.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
-  org.eclipse.emf.ecp.test.common;bundle-version="[1.19.0,1.20.0)"
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.swt.controlgrid.test
diff --git a/tests/org.eclipse.emfforms.swt.controlgrid.test/pom.xml b/tests/org.eclipse.emfforms.swt.controlgrid.test/pom.xml
index 446ee41..455f7ae 100644
--- a/tests/org.eclipse.emfforms.swt.controlgrid.test/pom.xml
+++ b/tests/org.eclipse.emfforms.swt.controlgrid.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emfforms.swt.controlgrid.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 	
 	<build>
diff --git a/tests/org.eclipse.emfforms.swt.core.di.extension.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.swt.core.di.extension.tests/META-INF/MANIFEST.MF
index e0e211c..e00e65c 100644
--- a/tests/org.eclipse.emfforms.swt.core.di.extension.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emfforms.swt.core.di.extension.tests/META-INF/MANIFEST.MF
@@ -2,22 +2,22 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: SWT Core DI Extension Tests
 Bundle-SymbolicName: org.eclipse.emfforms.swt.core.di.extension.tests;singleton:=true
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emfforms.swt.core.di.extension;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emfforms.internal.swt.core.di.extension;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.internal.swt.core.di.extension.tests;version="1.19.0";x-internal:=true
-Require-Bundle: org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.swt.core.di.tests;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.test.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.e4.core.contexts;bundle-version="[1.3.100,2.0.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
-  org.junit;bundle-version="[4.11.0,5.0.0)"
+Fragment-Host: org.eclipse.emfforms.swt.core.di.extension;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emfforms.internal.swt.core.di.extension;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.internal.swt.core.di.extension.tests;version="1.20.0";x-internal:=true
+Require-Bundle: org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.swt.core.di.tests;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.e4.core.contexts;bundle-version="[1.3.100,2.0.0)",
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
+ org.junit;bundle-version="[4.11.0,5.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.swt.core.di.extension.tests
 Import-Package: org.osgi.framework;version="[1.3.0,2.0.0)"
diff --git a/tests/org.eclipse.emfforms.swt.core.di.extension.tests/pom.xml b/tests/org.eclipse.emfforms.swt.core.di.extension.tests/pom.xml
index b391430..b027ddb 100644
--- a/tests/org.eclipse.emfforms.swt.core.di.extension.tests/pom.xml
+++ b/tests/org.eclipse.emfforms.swt.core.di.extension.tests/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emfforms.swt.core.di.extension.tests</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emfforms.swt.core.di.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.swt.core.di.tests/META-INF/MANIFEST.MF
index d6ffb9e..5833087 100644
--- a/tests/org.eclipse.emfforms.swt.core.di.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emfforms.swt.core.di.tests/META-INF/MANIFEST.MF
@@ -2,30 +2,30 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms SWT Core DI Tests
 Bundle-SymbolicName: org.eclipse.emfforms.swt.core.di.tests
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.internal.swt.core.di.tests;version="1.19.0";x-friends:="org.eclipse.emfforms.swt.core.di.extension.tests",
-  org.eclipse.emfforms.spi.swt.core.di;version="1.19.0"
-Require-Bundle: org.eclipse.emfforms.swt.core.di;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
-  org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
-  org.eclipse.emf.ecp.test.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.core.databinding;bundle-version="[1.4.0,2.0.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit;bundle-version="[2.10.0,3.0.0)",
-  org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
-  org.eclipse.emfforms.swt.core;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.e4.core.contexts;bundle-version="[1.3.100,2.0.0)"
+Export-Package: org.eclipse.emfforms.internal.swt.core.di.tests;version="1.20.0";x-friends:="org.eclipse.emfforms.swt.core.di.extension.tests",
+ org.eclipse.emfforms.spi.swt.core.di;version="1.20.0"
+Require-Bundle: org.eclipse.emfforms.swt.core.di;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.20.0,1.21.0)",
+ org.junit;bundle-version="[4.11.0,5.0.0)",
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.core.databinding;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit;bundle-version="[2.10.0,3.0.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.e4.core.contexts;bundle-version="[1.3.100,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/testControlSWTRendererServiceDI.xml
 Bundle-ActivationPolicy: lazy
 Import-Package: javax.inject;version="1.0.0",
-  org.eclipse.emf.ecp.edit.spi.swt.util;version="[1.19.0,1.20.0)",
-  org.eclipse.swt;version="0.0.0",
-  org.eclipse.swt.widgets;version="0.0.0",
-  org.osgi.framework;version="1.8.0"
+ org.eclipse.emf.ecp.edit.spi.swt.util;version="[1.20.0,1.21.0)",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.osgi.framework;version="1.8.0"
 Automatic-Module-Name: org.eclipse.emfforms.swt.core.di.tests
diff --git a/tests/org.eclipse.emfforms.swt.core.di.tests/pom.xml b/tests/org.eclipse.emfforms.swt.core.di.tests/pom.xml
index 65f22fa..4bd565e 100644
--- a/tests/org.eclipse.emfforms.swt.core.di.tests/pom.xml
+++ b/tests/org.eclipse.emfforms.swt.core.di.tests/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emfforms.swt.core.di.tests</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emfforms.swt.core.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.swt.core.tests/META-INF/MANIFEST.MF
index 2c4761f..5126d12 100644
--- a/tests/org.eclipse.emfforms.swt.core.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emfforms.swt.core.tests/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms SWT Core Tests
 Bundle-SymbolicName: org.eclipse.emfforms.swt.core.tests
-Bundle-Version: 1.19.0.qualifier
-Fragment-Host: org.eclipse.emfforms.swt.core;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emfforms.internal.swt.core;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.spi.swt.core;version="1.19.0",
-  org.eclipse.emfforms.swt.core.tests;version="1.19.0";x-internal:=true
+Bundle-Version: 1.20.0.qualifier
+Fragment-Host: org.eclipse.emfforms.swt.core;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emfforms.internal.swt.core;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.spi.swt.core;version="1.20.0",
+ org.eclipse.emfforms.swt.core.tests;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
-  org.objenesis;bundle-version="[1.0.0,2.0.0)",
-  org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.structuralchange;bundle-version="[1.19.0,1.20.0)"
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
+ org.objenesis;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.structuralchange;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.swt.core.tests
 Import-Package: org.osgi.framework;version="[1.6.0,2.0.0)"
diff --git a/tests/org.eclipse.emfforms.swt.core.tests/pom.xml b/tests/org.eclipse.emfforms.swt.core.tests/pom.xml
index af035f0..d7f3971 100644
--- a/tests/org.eclipse.emfforms.swt.core.tests/pom.xml
+++ b/tests/org.eclipse.emfforms.swt.core.tests/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emfforms.swt.core.tests</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emfforms.swt.table.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.swt.table.test/META-INF/MANIFEST.MF
index 285e16a..e0d1569 100644
--- a/tests/org.eclipse.emfforms.swt.table.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emfforms.swt.table.test/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Table Tests
 Bundle-SymbolicName: org.eclipse.emfforms.swt.table.test
-Bundle-Version: 1.19.0.qualifier
-Fragment-Host: org.eclipse.emfforms.swt.table;bundle-version="[1.19.0,1.20.0)"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-Version: 1.20.0.qualifier
+Fragment-Host: org.eclipse.emfforms.swt.table;bundle-version="[1.20.0,1.21.0)"
+Export-Package: org.eclipse.emfforms.internal.swt.table.action;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.spi.swt.table.action;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.swt.table.test;version="1.20.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.12.0,5.0.0)",
  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
  org.objenesis;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.19.0,1.20.0)"
-Export-Package: org.eclipse.emfforms.internal.swt.table.action;version="1.19.0";x-internal:=true,
- org.eclipse.emfforms.spi.swt.table.action;version="1.19.0";x-internal:=true,
- org.eclipse.emfforms.swt.table.test;version="1.19.0";x-internal:=true
+ org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.20.0,1.21.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.swt.table.test
diff --git a/tests/org.eclipse.emfforms.swt.table.test/pom.xml b/tests/org.eclipse.emfforms.swt.table.test/pom.xml
index de55cd1..4cec682 100644
--- a/tests/org.eclipse.emfforms.swt.table.test/pom.xml
+++ b/tests/org.eclipse.emfforms.swt.table.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emfforms.swt.table.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emfforms.swt.table.test/src/org/eclipse/emfforms/internal/swt/table/action/KeyBindingManager_PTest.java b/tests/org.eclipse.emfforms.swt.table.test/src/org/eclipse/emfforms/internal/swt/table/action/KeyBindingManager_PTest.java
index c0c25c6..9f39484 100644
--- a/tests/org.eclipse.emfforms.swt.table.test/src/org/eclipse/emfforms/internal/swt/table/action/KeyBindingManager_PTest.java
+++ b/tests/org.eclipse.emfforms.swt.table.test/src/org/eclipse/emfforms/internal/swt/table/action/KeyBindingManager_PTest.java
@@ -69,6 +69,7 @@
 
 		shell = new Shell(Display.getDefault());
 		shell.setLayout(new FillLayout());
+		shell.open();
 
 		keyBindingManager = new KeyBindingManager();
 	}
diff --git a/tests/org.eclipse.emfforms.swt.treemasterdetail.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.swt.treemasterdetail.test/META-INF/MANIFEST.MF
index 87f2ab4..a8289a4 100644
--- a/tests/org.eclipse.emfforms.swt.treemasterdetail.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emfforms.swt.treemasterdetail.test/META-INF/MANIFEST.MF
@@ -2,23 +2,23 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: TreeMasterDetail Tests
 Bundle-SymbolicName: org.eclipse.emfforms.swt.treemasterdetail.test
-Bundle-Version: 1.19.0.qualifier
+Bundle-Version: 1.20.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emfforms.swt.treemasterdetail.test;version="1.19.0"
+Export-Package: org.eclipse.emfforms.swt.treemasterdetail.test;version="1.20.0"
 Require-Bundle: org.junit;bundle-version="[4.12.0,5.0.0)",
-  org.eclipse.emfforms.swt.treemasterdetail;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.9.0,2.0.0)",
-  org.eclipse.jface;bundle-version="[3.13.0,4.0.0)",
-  org.eclipse.emf.ecp.view.template.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.edit;bundle-version="[2.12.0,3.0.0)",
-  org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.swtbot.swt.finder;bundle-version="[2.6.0,3.0.0)",
-  org.eclipse.swtbot.junit4_x;bundle-version="[2.6.0,3.0.0)",
-  org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.test.common;bundle-version="[1.19.0,1.20.0)",
-  org.apache.log4j;bundle-version="[1.0.0,2.0.0)",
-  org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,1.20.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)"
+ org.eclipse.emfforms.swt.treemasterdetail;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.9.0,2.0.0)",
+ org.eclipse.jface;bundle-version="[3.13.0,4.0.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.edit;bundle-version="[2.12.0,3.0.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.swtbot.swt.finder;bundle-version="[2.6.0,3.0.0)",
+ org.eclipse.swtbot.junit4_x;bundle-version="[2.6.0,3.0.0)",
+ org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.20.0,1.21.0)",
+ org.apache.log4j;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.20.0,1.21.0)",
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.swt.treemasterdetail.test
 Import-Package: org.osgi.framework;version="0.0.0"
diff --git a/tests/org.eclipse.emfforms.swt.treemasterdetail.test/pom.xml b/tests/org.eclipse.emfforms.swt.treemasterdetail.test/pom.xml
index c31e7d3..d556ace 100644
--- a/tests/org.eclipse.emfforms.swt.treemasterdetail.test/pom.xml
+++ b/tests/org.eclipse.emfforms.swt.treemasterdetail.test/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emfforms.swt.treemasterdetail.test</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emfforms.swt.treemasterdetail.test/src/org/eclipse/emfforms/swt/treemasterdetail/test/TreeMasterDetail_PTest.java b/tests/org.eclipse.emfforms.swt.treemasterdetail.test/src/org/eclipse/emfforms/swt/treemasterdetail/test/TreeMasterDetail_PTest.java
index f8089a9..ba2cd24 100644
--- a/tests/org.eclipse.emfforms.swt.treemasterdetail.test/src/org/eclipse/emfforms/swt/treemasterdetail/test/TreeMasterDetail_PTest.java
+++ b/tests/org.eclipse.emfforms.swt.treemasterdetail.test/src/org/eclipse/emfforms/swt/treemasterdetail/test/TreeMasterDetail_PTest.java
@@ -57,6 +57,7 @@
 import org.eclipse.jface.bindings.keys.KeyStroke;
 import org.eclipse.jface.bindings.keys.ParseException;
 import org.eclipse.jface.layout.GridDataFactory;
+import org.eclipse.jface.layout.GridLayoutFactory;
 import org.eclipse.jface.viewers.ILabelDecorator;
 import org.eclipse.jface.viewers.ILabelProviderListener;
 import org.eclipse.swt.SWT;
@@ -71,6 +72,7 @@
 import org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable;
 import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
 import org.eclipse.swtbot.swt.finder.results.Result;
+import org.eclipse.swtbot.swt.finder.waits.DefaultCondition;
 import org.eclipse.swtbot.swt.finder.waits.ICondition;
 import org.junit.After;
 import org.junit.Before;
@@ -107,7 +109,7 @@
 			@Override
 			public Shell run() {
 				final Shell shell = new Shell(display);
-				GridDataFactory.fillDefaults().applyTo(shell);
+				GridLayoutFactory.fillDefaults().applyTo(shell);
 				return shell;
 			}
 		});
@@ -476,45 +478,70 @@
 				shell.open();
 			}
 		});
+
 		SWTTestUtil.waitForUIThread();
 		final String text = bot.text().getText();
 		assertEquals(ALICE, text);
 		assertEquals("Player Alice", bot.tree().selection().get(0, 0)); //$NON-NLS-1$
 
 		/* press down, selection expected to change */
-		Display.getDefault().syncExec(new Runnable() {
-			@Override
-			public void run() {
-				try {
-					bot.tree().pressShortcut(KeyStroke.getInstance(IKeyLookup.ARROW_DOWN_NAME));
-				} catch (final ParseException ex) {
-					throw new RuntimeException(ex);
-				}
-			}
-		});
+		try {
+			bot.tree().pressShortcut(KeyStroke.getInstance(IKeyLookup.ARROW_DOWN_NAME));
+		} catch (final ParseException ex) {
+			throw new RuntimeException(ex);
+		}
 
 		/* detail unchanged after down, but selection changed already */
 		SWTTestUtil.waitForUIThread();
 		assertEquals(text, bot.text().getText());
-		assertEquals("Player Bob", bot.tree().selection().get(0, 0)); //$NON-NLS-1$
+		bot.waitUntil(new DefaultCondition() {
+
+			@Override
+			public boolean test() throws Exception {
+				return "Player Bob".equals(bot.tree().selection().get(0, 0));
+			}
+
+			@Override
+			public String getFailureMessage() {
+				return "The selection did not update to Bob!";
+			}
+		}, 10000, 100);
 
 		/* press enter */
-		Display.getDefault().syncExec(new Runnable() {
-			@Override
-			public void run() {
-				try {
-					bot.tree().pressShortcut(KeyStroke.getInstance(IKeyLookup.ENTER_NAME));
-				} catch (final ParseException ex) {
-					throw new RuntimeException(ex);
-				}
-			}
-		});
+		try {
+			bot.tree().pressShortcut(KeyStroke.getInstance(IKeyLookup.ENTER_NAME));
+		} catch (final ParseException ex) {
+			throw new RuntimeException(ex);
+		}
 
 		/* enter should update immediately, no delay expected */
-		SWTTestUtil.waitForUIThread();
-		assertEquals(BOB, bot.text().getText());
+		bot.waitUntil(new DefaultCondition() {
+
+			@Override
+			public boolean test() throws Exception {
+				SWTTestUtil.waitForUIThread();
+				return BOB.equals(bot.text().getText());
+			}
+
+			@Override
+			public String getFailureMessage() {
+				return "The detail did not update to show Bob!";
+			}
+		}, 10000, 100);
 		/* focus change expected */
-		assertSame(bot.text().widget, bot.getFocusedWidget());
+		bot.waitUntil(new DefaultCondition() {
+
+			@Override
+			public boolean test() throws Exception {
+				SWTTestUtil.waitForUIThread();
+				return bot.text().widget == bot.getFocusedWidget();
+			}
+
+			@Override
+			public String getFailureMessage() {
+				return "The focus did not switch to Text Bob!";
+			}
+		}, 10000, 100);
 	}
 
 	@Test
diff --git a/tests/org.eclipse.emfforms.view.model.localization.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.view.model.localization.tests/META-INF/MANIFEST.MF
index df2a740..6b8f498 100644
--- a/tests/org.eclipse.emfforms.view.model.localization.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emfforms.view.model.localization.tests/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms View Model Localization Tests
 Bundle-SymbolicName: org.eclipse.emfforms.view.model.localization.tests
-Bundle-Version: 1.19.0.qualifier
-Fragment-Host: org.eclipse.emfforms.view.model.localization;bundle-version="[1.19.0,1.20.0)"
+Bundle-Version: 1.20.0.qualifier
+Fragment-Host: org.eclipse.emfforms.view.model.localization;bundle-version="[1.20.0,1.21.0)"
 Bundle-Localization: OSGI-INF/l10n/bundle
-Export-Package: org.eclipse.emfforms.internal.view.model.localization;version="1.19.0";x-internal:=true,
-  org.eclipse.emfforms.view.model.localization.tests;version="1.19.0"
+Export-Package: org.eclipse.emfforms.internal.view.model.localization;version="1.20.0";x-internal:=true,
+ org.eclipse.emfforms.view.model.localization.tests;version="1.20.0"
 Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
-  org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.equinox.ds;bundle-version="[1.4.0,2.0.0)"
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
+ org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.equinox.ds;bundle-version="[1.4.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.view.model.localization.tests
-Import-Package: org.eclipse.emfforms.spi.localization;version="[1.19.0,1.20.0)"
+Import-Package: org.eclipse.emfforms.spi.localization;version="[1.20.0,1.21.0)"
diff --git a/tests/org.eclipse.emfforms.view.model.localization.tests/pom.xml b/tests/org.eclipse.emfforms.view.model.localization.tests/pom.xml
index 48dee10..72b7d4b 100644
--- a/tests/org.eclipse.emfforms.view.model.localization.tests/pom.xml
+++ b/tests/org.eclipse.emfforms.view.model.localization.tests/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.19.0-SNAPSHOT</version>
+		<version>1.20.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.ecp</groupId>
 	<artifactId>org.eclipse.emfforms.view.model.localization.tests</artifactId>
-	<version>1.19.0-SNAPSHOT</version>
+	<version>1.20.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization.tests/META-INF/MANIFEST.MF b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization.tests/META-INF/MANIFEST.MF
index b95828f..2ec2337 100644
--- a/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization.tests/META-INF/MANIFEST.MF
+++ b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization.tests/META-INF/MANIFEST.MF
@@ -6,8 +6,8 @@
 Bundle-Vendor: Eclipse Modeling Project
 Fragment-Host: org.eclipse.emfforms.spreadsheet.core.renderer.categorization;bundle-version="[1.0.0,1.1.0)"
 Export-Package: org.eclipse.emfforms.internal.spreadsheet.core.renderer.categorization;version="1.0.0";x-internal:=true,
-  org.eclipse.emfforms.spreadsheet.core.renderer.categorization.tests;version="1.0.0";x-internal:=true
+ org.eclipse.emfforms.spreadsheet.core.renderer.categorization.tests;version="1.0.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)"
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.spreadsheet.core.renderer.categorization.tests
diff --git a/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table.tests/META-INF/MANIFEST.MF b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table.tests/META-INF/MANIFEST.MF
index bdbac3a..42793ae 100644
--- a/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table.tests/META-INF/MANIFEST.MF
+++ b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table.tests/META-INF/MANIFEST.MF
@@ -7,14 +7,14 @@
 Fragment-Host: org.eclipse.emfforms.spreadsheet.core.renderer.table;bundle-version="[1.0.0,1.1.0)"
 Export-Package: org.eclipse.emfforms.internal.spreadsheet.core.renderer.table;version="1.0.0"
 Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.eclipse.emf.ecp.makeithappen.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.test.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spreadsheet.core.error.model;bundle-version="[1.0.0,1.1.0)",
-  org.eclipse.emfforms.core.services.databinding.index;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.databinding.featurepath;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.template.service;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.domainexpander.default;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.domainexpander.table;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.core.services.domainexpander.index;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.emf.ecp.makeithappen.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spreadsheet.core.error.model;bundle-version="[1.0.0,1.1.0)",
+ org.eclipse.emfforms.core.services.databinding.index;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.databinding.featurepath;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.template.service;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.domainexpander.default;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.domainexpander.table;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.core.services.domainexpander.index;bundle-version="[1.20.0,1.21.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.spreadsheet.core.renderer.table.tests
diff --git a/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/META-INF/MANIFEST.MF b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/META-INF/MANIFEST.MF
index c379007..90498b7 100644
--- a/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/META-INF/MANIFEST.MF
+++ b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/META-INF/MANIFEST.MF
@@ -5,14 +5,14 @@
 Bundle-Version: 1.0.0.qualifier
 Fragment-Host: org.eclipse.emfforms.spreadsheet.core;bundle-version="[1.0.0,1.1.0)"
 Export-Package: org.eclipse.emfforms.internal.spreadsheet.core;version="1.0.0";x-internal:=true,
-  org.eclipse.emfforms.internal.spreadsheet.core.converter;version="1.0.0";x-internal:=true,
-  org.eclipse.emfforms.spreadsheet.core.tests;version="1.0.0";x-internal:=true
+ org.eclipse.emfforms.internal.spreadsheet.core.converter;version="1.0.0";x-internal:=true,
+ org.eclipse.emfforms.spreadsheet.core.tests;version="1.0.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
-  org.eclipse.emf.ecp.test.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model.provider.generator;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.makeithappen.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.5.0,2.0.0)",
-  org.eclipse.emf.emfstore.examplemodel.edit;bundle-version="[1.5.0,2.0.0)"
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model.provider.generator;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.makeithappen.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emf.emfstore.examplemodel.edit;bundle-version="[1.5.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.spreadsheet.core.tests
diff --git a/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.integrationtest/META-INF/MANIFEST.MF b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.integrationtest/META-INF/MANIFEST.MF
index 1a7da4a..f571da7 100644
--- a/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.integrationtest/META-INF/MANIFEST.MF
+++ b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.integrationtest/META-INF/MANIFEST.MF
@@ -6,21 +6,21 @@
 Bundle-Vendor: Eclipse Modeling Project
 Export-Package: org.eclipse.emfforms.spreadsheet.integrationtest;version="1.0.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
-  org.eclipse.emf.ecore;bundle-version="[2.11.0,3.0.0)",
-  org.eclipse.emf.ecore.xmi;bundle-version="[2.11.0,3.0.0)",
-  org.eclipse.emf.ecp.test.common;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.context;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.ecp.ui.view;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emfforms.spreadsheet.core;bundle-version="[1.0.0,1.1.0)",
-  org.eclipse.emf.ecp.makeithappen.model;bundle-version="[1.19.0,1.20.0)",
-  org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.5.0,2.0.0)",
-  org.eclipse.emf.emfstore.examplemodel.edit;bundle-version="[1.5.0,2.0.0)",
-  org.eclipse.emfforms.spreadsheet.core.error.model;bundle-version="[1.0.0,1.1.0)",
-  org.eclipse.emfforms.spreadsheet.core.renderer.categorization;bundle-version="[1.0.0,1.1.0)"
+ org.eclipse.emf.ecore;bundle-version="[2.11.0,3.0.0)",
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.11.0,3.0.0)",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emfforms.spreadsheet.core;bundle-version="[1.0.0,1.1.0)",
+ org.eclipse.emf.ecp.makeithappen.model;bundle-version="[1.20.0,1.21.0)",
+ org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emf.emfstore.examplemodel.edit;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emfforms.spreadsheet.core.error.model;bundle-version="[1.0.0,1.1.0)",
+ org.eclipse.emfforms.spreadsheet.core.renderer.categorization;bundle-version="[1.0.0,1.1.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.spreadsheet.integrationtest
 Import-Package: org.eclipse.core.runtime;version="3.5.0",
-  org.osgi.framework;version="0.0.0"
+ org.osgi.framework;version="0.0.0"
 Bundle-ActivationPolicy: lazy
