catch up with development
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..2aaba99
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,36 @@
+/target/
+**/target/
+**git.properties
+**/target/
+**/.metadata/
+
+**/emf-gen/**/.gitignore
+**/src-gen/**/.gitignore
+**/git.properties
+**/*.java._trace
+**/*.log
+**/*.log.properties
+
+**/bin/
+**/build/
+*.class
+*.ctrl
+**/Debug/
+.DS_Store
+*.ear
+*.war
+
+**/*.actionbin
+**/*.blipbin
+**/*.chartbin
+**/*.cubebin
+**/*.datatypebin
+**/*.dtobin
+**/*.entitybin
+**/*.servicebin
+**/*.tablebin
+**/*.uibin
+**/*.uisemanticbin
+**/*.xtendbin
+**/*.xtextbin
+
diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.ecview.extension.api.feature/.gitignore b/org.eclipse.osbp.ecview.extension.api.feature/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.api.feature/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/org.eclipse.osbp.ecview.extension.api.feature/.project b/org.eclipse.osbp.ecview.extension.api.feature/.project
index e229441..cf70c3a 100644
--- a/org.eclipse.osbp.ecview.extension.api.feature/.project
+++ b/org.eclipse.osbp.ecview.extension.api.feature/.project
@@ -16,12 +16,12 @@
 			</arguments>
 		</buildCommand>
 		<buildCommand>
-			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<name>org.sonarlint.eclipse.core.sonarlintBuilder</name>
 			<arguments>
 			</arguments>
 		</buildCommand>
 		<buildCommand>
-			<name>org.sonarlint.eclipse.core.sonarlintBuilder</name>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
 			<arguments>
 			</arguments>
 		</buildCommand>
diff --git a/org.eclipse.osbp.ecview.extension.api.feature/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.ecview.extension.api.feature/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.api.feature/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.ecview.extension.api.feature/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.ecview.extension.api.feature/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.api.feature/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.ecview.extension.api.feature/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.ecview.extension.api.feature/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..19e3115
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.api.feature/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,11 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+BuilderConfiguration.is_project_specific=true
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.emf-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.ecview.extension.api.feature/feature.xml b/org.eclipse.osbp.ecview.extension.api.feature/feature.xml
index d5774e2..5eb4e52 100644
--- a/org.eclipse.osbp.ecview.extension.api.feature/feature.xml
+++ b/org.eclipse.osbp.ecview.extension.api.feature/feature.xml
@@ -3,7 +3,8 @@
       id="org.eclipse.osbp.ecview.extension.api.feature"
       label="%featureName"
       version="0.9.0.qualifier"
-      provider-name="%providerName">
+      provider-name="%providerName"
+	  plugin="org.eclipse.osbp.ecview.extension.api">
 
    <description>
       %description
diff --git a/org.eclipse.osbp.ecview.extension.api/.classpath b/org.eclipse.osbp.ecview.extension.api/.classpath
new file mode 100644
index 0000000..46cec6e
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.api/.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.7"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src/"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.eclipse.osbp.ecview.extension.api/.gitignore b/org.eclipse.osbp.ecview.extension.api/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.api/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/org.eclipse.osbp.ecview.extension.api/.settings/com.vaadin.integration.eclipse.prefs b/org.eclipse.osbp.ecview.extension.api/.settings/com.vaadin.integration.eclipse.prefs
new file mode 100644
index 0000000..0904e44
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.api/.settings/com.vaadin.integration.eclipse.prefs
@@ -0,0 +1,2 @@
+com.vaadin.integration.eclipse.mavenLatestVersionsUpgrade=["7.7.7"]
+eclipse.preferences.version=1
diff --git a/org.eclipse.osbp.ecview.extension.api/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.ecview.extension.api/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.api/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.ecview.extension.api/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.osbp.ecview.extension.api/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..d17b672
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.api/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,12 @@
+eclipse.preferences.version=1
+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.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.7
+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.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/org.eclipse.osbp.ecview.extension.api/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.ecview.extension.api/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.api/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.ecview.extension.api/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.ecview.extension.api/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..19e3115
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.api/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,11 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+BuilderConfiguration.is_project_specific=true
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.emf-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.ecview.extension.api/META-INF/MANIFEST.MF b/org.eclipse.osbp.ecview.extension.api/META-INF/MANIFEST.MF
index 03d449b..8dc3f4a 100644
--- a/org.eclipse.osbp.ecview.extension.api/META-INF/MANIFEST.MF
+++ b/org.eclipse.osbp.ecview.extension.api/META-INF/MANIFEST.MF
@@ -11,8 +11,8 @@
 Export-Package: org.eclipse.osbp.ecview.extension.api;version="0.9.0"
 Bundle-Vendor: Eclipse OSBP
 Require-Bundle: org.slf4j.api;bundle-version="1.7.2",
- com.vaadin.server;bundle-version="[7.5.7,7.7.0)",
- org.eclipse.core.databinding;bundle-version="1.4.1",
+ com.vaadin.server;bundle-version="[7.7.6,7.8.0)",
+ org.eclipse.core.databinding;bundle-version="[1.6.0,1.7.0)",
  org.eclipse.osbp.ecview.core.common;bundle-version="[0.9.0,0.10.0)",
  org.eclipse.osbp.runtime.common;bundle-version="[0.9.0,0.10.0)",
  org.eclipse.osbp.ecview.core.common.model;bundle-version="[0.9.0,0.10.0)",
diff --git a/org.eclipse.osbp.ecview.extension.api/src/org/eclipse/osbp/ecview/extension/api/ILayoutingStrategy.java b/org.eclipse.osbp.ecview.extension.api/src/org/eclipse/osbp/ecview/extension/api/ILayoutingStrategy.java
index 92468f5..9b1b405 100644
--- a/org.eclipse.osbp.ecview.extension.api/src/org/eclipse/osbp/ecview/extension/api/ILayoutingStrategy.java
+++ b/org.eclipse.osbp.ecview.extension.api/src/org/eclipse/osbp/ecview/extension/api/ILayoutingStrategy.java
@@ -32,18 +32,22 @@
 	/** The Constant TAG__NUMBER. */
 	public static final String TAG__NUMBER = "number";
 
+	// autobinded
+	public static final String TAG__AUTOBINDED = "autobinded";
+	
+	
 	/**
 	 * Attributes tagged with this property are being presented by a
 	 * RichTextField using value-Binding (String).
 	 */
 	public final static String TAG__RICH_TEXT__STRING = "richText__String";
-	
+
 	/**
 	 * Attributes tagged with this property are being presented by a
 	 * MaskedTextField.
 	 */
 	public final static String TAG__MASKED_TEXT_FIELD = "maskedTextField";
-	
+
 	/**
 	 * Attributes tagged with this property are being presented by a
 	 * MaskedDecimalField.
@@ -57,6 +61,11 @@
 	public final static String TAG__RICH_TEXT__BLOB = "richText__Blob";
 
 	/**
+	 * The property is visible on the kanban card.
+	 */
+	public final static String TAG__ON_KANBAN_CARD = "onKanbanCard";
+
+	/**
 	 * Attributes tagged with this property are being presented by a
 	 * PasswordField using value-Binding (String).
 	 */
@@ -83,6 +92,9 @@
 	/** The Constant TAG__PERSPECTIVE_COMBO. */
 	public final static String TAG__PERSPECTIVE_COMBO = "perpectiveCombo";
 
+	/** The Constant TAG__THEME_COMBO. */
+	public final static String TAG__THEME_COMBO = "themeCombo";
+
 	/** The Constant TAG__BLOB. */
 	public static final String TAG__BLOB = "blob";
 
@@ -98,6 +110,9 @@
 	/** The Constant TAG__CONSTRAINT. */
 	public static final String TAG__CONSTRAINT = "constraint";
 
+	/** The Constant TAG__UNIQUE. */
+	public static final String TAG__UNIQUE = "unique";
+
 	/**
 	 * The Constant TAG__DTO. Suspects of this type define suspects for a whole
 	 * dto.
@@ -108,14 +123,14 @@
 	 * The Constant TAG__SUBTYPE. <br>
 	 * Suspects and beanslots of this type are DTO Suspects for sub classes of
 	 * the main dto. Their visiblity needs to be controlled.
-	 * */
+	 */
 	public static final String TAG__SUBTYPE = "dto_subtype";
 
 	/**
 	 * The Constant TAG__SUBTYPES_ROOT. <br>
 	 * Suspects of this type contain further compound suspects. One for each
 	 * direct subclass.
-	 * */
+	 */
 	public static final String TAG__SUBTYPES_ROOT = "dto_subtypes_root";
 
 	/**
@@ -127,7 +142,7 @@
 	/**
 	 * The Constant PROPERTY__SUBTYPE. The autowirehelper passes the classname
 	 * of the sub type in this property.
-	 * */
+	 */
 	public static final String PROPERTY__SUBTYPE_CLASS = "dto_subtype_className";
 
 	/** The Constant TAG__IMAGE_PICKER. */
@@ -157,25 +172,30 @@
 	 * Blob-Binding for byte[].
 	 */
 	public final static String PROPERTY_RICH_TEXT = "richTextArea";
-	
+
 	/**
 	 * Together with the key {@link #PROPERTY_KEY__FIELD_TYPE} it indicates that
 	 * the field from data model should be presented by a MaskedTextField. <br>
-	 * Eg: <code>key="type" value="maskedText"</code><p>
-	 * This type need to be used together with the key "mask".
-	 * Eg:  <code>var MaskedText text properties (key="mask" value="UUU-###")</code><p>
+	 * Eg: <code>key="type" value="maskedText"</code>
+	 * <p>
+	 * This type need to be used together with the key "mask". Eg:
+	 * <code>var MaskedText text properties (key="mask" value="UUU-###")</code>
+	 * <p>
 	 */
 	public final static String PROPERTY_MASKED_TEXT = "maskedText";
-	
+
 	/**
 	 * Together with the key {@link #PROPERTY_KEY__FIELD_TYPE} it indicates that
-	 * the field from data model should be presented by a MaskedDecimalField. <br>
-	 * Eg: <code>key="type" value="maskedDecimal"</code><p>
-	 * This type need to be used together with the key "mask".
-	 * Eg:  <code>var MaskedDecimal text properties (key="mask" value="#,#00.000")</code><p>
+	 * the field from data model should be presented by a MaskedDecimalField.
+	 * <br>
+	 * Eg: <code>key="type" value="maskedDecimal"</code>
+	 * <p>
+	 * This type need to be used together with the key "mask". Eg:
+	 * <code>var MaskedDecimal text properties (key="mask" value="#,#00.000")</code>
+	 * <p>
 	 */
 	public final static String PROPERTY_MASKED_DECIMAL = "maskedDecimal";
-	
+
 	/**
 	 * See {@link #PROPERTY_MASKED_TEXT}
 	 */
@@ -214,6 +234,11 @@
 	public final static String PROPERTY_NAME = "name";
 
 	/**
+	 * The depth of filters used for BeanReferenceFields
+	 */
+	public static final String PROPERTY__FILTER_DEPTH = "filterDepth";
+
+	/**
 	 * Defines the caption property name to be used in combo boxes, suggest text
 	 * fields,...
 	 */
@@ -241,6 +266,9 @@
 	/** The Constant PROPERTY_PERSPECTIVE. */
 	public final static String PROPERTY_PERSPECTIVE = "perspective";
 
+	/** The Constant PROPERTY_THEME. */
+	public final static String PROPERTY_THEME = "theme";
+
 	/** The Constant PROPERTY_SUGGESTTEXT. */
 	public final static String PROPERTY_SUGGESTTEXT = "suggestion";
 
diff --git a/org.eclipse.osbp.ecview.extension.editparts/.classpath b/org.eclipse.osbp.ecview.extension.editparts/.classpath
new file mode 100644
index 0000000..46cec6e
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts/.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.7"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src/"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.eclipse.osbp.ecview.extension.editparts/.gitignore b/org.eclipse.osbp.ecview.extension.editparts/.gitignore
new file mode 100644
index 0000000..a01fecd
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts/.gitignore
@@ -0,0 +1,3 @@
+/target/
+/target/
+/bin/
diff --git a/org.eclipse.osbp.ecview.extension.editparts/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.ecview.extension.editparts/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.ecview.extension.editparts/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.osbp.ecview.extension.editparts/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..f42de36
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/org.eclipse.osbp.ecview.extension.editparts/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.ecview.extension.editparts/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.ecview.extension.editparts/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.ecview.extension.editparts/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..19e3115
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,11 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+BuilderConfiguration.is_project_specific=true
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.emf-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.ecview.extension.editparts/META-INF/MANIFEST.MF b/org.eclipse.osbp.ecview.extension.editparts/META-INF/MANIFEST.MF
index 1f0d485..a52a6a9 100644
--- a/org.eclipse.osbp.ecview.extension.editparts/META-INF/MANIFEST.MF
+++ b/org.eclipse.osbp.ecview.extension.editparts/META-INF/MANIFEST.MF
@@ -20,7 +20,7 @@
  org.eclipse.osbp.ecview.extension.editparts.strategies;version="0.9.0",
  org.eclipse.osbp.ecview.extension.editparts.visibility;version="0.9.0"
 Require-Bundle: org.eclipse.osbp.ecview.core.common;bundle-version="[0.9.0,0.10.0)",
- org.eclipse.core.databinding;bundle-version="1.4.1",
+ org.eclipse.core.databinding;bundle-version="[1.6.0,1.7.0)",
  org.eclipse.osbp.ecview.core.extension.editparts;bundle-version="[0.9.0,0.10.0)",
  org.eclipse.osbp.runtime.common;bundle-version="[0.9.0,0.10.0)",
  org.eclipse.osbp.ecview.extension.api;bundle-version="[0.9.0,0.10.0)"
diff --git a/org.eclipse.osbp.ecview.extension.editparts/src/org/eclipse/osbp/ecview/extension/editparts/converter/IVaaclipseUiThemeToStringConverterEditpart.java b/org.eclipse.osbp.ecview.extension.editparts/src/org/eclipse/osbp/ecview/extension/editparts/converter/IVaaclipseUiThemeToStringConverterEditpart.java
new file mode 100644
index 0000000..a44b0b3
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts/src/org/eclipse/osbp/ecview/extension/editparts/converter/IVaaclipseUiThemeToStringConverterEditpart.java
@@ -0,0 +1,23 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  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:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.editparts.converter;
+
+import org.eclipse.osbp.ecview.core.common.editpart.IConverterEditpart;
+
+/**
+ * The Interface IObjectToStringConverterEditpart.
+ */
+public interface IVaaclipseUiThemeToStringConverterEditpart extends IConverterEditpart {
+
+}
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts/.classpath b/org.eclipse.osbp.ecview.extension.grid.editparts/.classpath
new file mode 100644
index 0000000..46cec6e
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts/.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.7"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src/"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts/.gitignore b/org.eclipse.osbp.ecview.extension.grid.editparts/.gitignore
new file mode 100644
index 0000000..a01fecd
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts/.gitignore
@@ -0,0 +1,3 @@
+/target/
+/target/
+/bin/
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.ecview.extension.grid.editparts/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.osbp.ecview.extension.grid.editparts/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..f42de36
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.ecview.extension.grid.editparts/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.ecview.extension.grid.editparts/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..19e3115
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,11 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+BuilderConfiguration.is_project_specific=true
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.emf-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts/META-INF/MANIFEST.MF b/org.eclipse.osbp.ecview.extension.grid.editparts/META-INF/MANIFEST.MF
index ecfadf1..eb18344 100644
--- a/org.eclipse.osbp.ecview.extension.grid.editparts/META-INF/MANIFEST.MF
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts/META-INF/MANIFEST.MF
@@ -18,7 +18,7 @@
    org.eclipse.osbp.ecview.extension.editparts";version="0.9.0",
  org.eclipse.osbp.ecview.extension.grid.editparts.renderer;version="0.9.0"
 Require-Bundle: org.eclipse.osbp.ecview.core.common;bundle-version="[0.9.0,0.10.0)",
- org.eclipse.core.databinding;bundle-version="1.4.1",
+ org.eclipse.core.databinding;bundle-version="[1.6.0,1.7.0)",
  org.eclipse.osbp.ecview.core.extension.editparts;bundle-version="[0.9.0,0.10.0)",
  org.eclipse.osbp.runtime.common;bundle-version="[0.9.0,0.10.0)",
  org.eclipse.emf.ecore;bundle-version="2.10.2"
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.edit/.classpath b/org.eclipse.osbp.ecview.extension.grid.model.edit/.classpath
new file mode 100644
index 0000000..cf36b56
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.edit/.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="target/classes"/>
+</classpath>
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.edit/.gitignore b/org.eclipse.osbp.ecview.extension.grid.model.edit/.gitignore
new file mode 100644
index 0000000..09e3bc9
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.edit/.gitignore
@@ -0,0 +1,2 @@
+/bin/
+/target/
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.edit/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.ecview.extension.grid.model.edit/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.edit/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.edit/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.osbp.ecview.extension.grid.model.edit/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0c68a61
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.edit/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.edit/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.ecview.extension.grid.model.edit/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.edit/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.edit/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.ecview.extension.grid.model.edit/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..19e3115
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.edit/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,11 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+BuilderConfiguration.is_project_specific=true
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.emf-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.edit/META-INF/MANIFEST.MF b/org.eclipse.osbp.ecview.extension.grid.model.edit/META-INF/MANIFEST.MF
index ff6ad9d..8f499a8 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model.edit/META-INF/MANIFEST.MF
+++ b/org.eclipse.osbp.ecview.extension.grid.model.edit/META-INF/MANIFEST.MF
@@ -6,7 +6,6 @@
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.osbp.ecview.extension.grid.provider.CxGridEditPlugin$Implementation
 Bundle-Vendor: Eclipse OSBP
- Germany)
 Bundle-Localization: plugin
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Export-Package: org.eclipse.osbp.ecview.extension.grid.memento.provider;version="0.9.0",
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.edit/icons/full/ctool16/CreateCxGridMetaCell_element_YFilteringComponent.gif b/org.eclipse.osbp.ecview.extension.grid.model.edit/icons/full/ctool16/CreateCxGridMetaCell_element_YFilteringComponent.gif
new file mode 100644
index 0000000..aa20a64
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.edit/icons/full/ctool16/CreateCxGridMetaCell_element_YFilteringComponent.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.edit/plugin.properties b/org.eclipse.osbp.ecview.extension.grid.model.edit/plugin.properties
index e3e7931..fab9ea0 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model.edit/plugin.properties
+++ b/org.eclipse.osbp.ecview.extension.grid.model.edit/plugin.properties
@@ -153,3 +153,4 @@
 _UI_CxGrid_editorSaved_feature = Editor Saved
 _UI_CxGridColumn_type_feature = Type
 _UI_CxGridColumn_typeQualifiedName_feature = Type Qualified Name
+_UI_CxGrid_setLastRefreshTime_feature = Set Last Refresh Time
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.edit/src/org/eclipse/osbp/ecview/extension/grid/provider/CxGridItemProvider.java b/org.eclipse.osbp.ecview.extension.grid.model.edit/src/org/eclipse/osbp/ecview/extension/grid/provider/CxGridItemProvider.java
index ed42300..a45963c 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model.edit/src/org/eclipse/osbp/ecview/extension/grid/provider/CxGridItemProvider.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model.edit/src/org/eclipse/osbp/ecview/extension/grid/provider/CxGridItemProvider.java
@@ -85,6 +85,7 @@
 			addEditorCancelI18nLabelKeyPropertyDescriptor(object);
 			addEditorSaveI18nLabelKeyPropertyDescriptor(object);
 			addEditorSavedPropertyDescriptor(object);
+			addSetLastRefreshTimePropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
@@ -571,6 +572,28 @@
 	}
 
 	/**
+	 * This adds a property descriptor for the Set Last Refresh Time feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addSetLastRefreshTimePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CxGrid_setLastRefreshTime_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CxGrid_setLastRefreshTime_feature", "_UI_CxGrid_type"),
+				 CxGridPackage.Literals.CX_GRID__SET_LAST_REFRESH_TIME,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
 	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
 	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
 	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
@@ -663,6 +686,7 @@
 			case CxGridPackage.CX_GRID__EDITOR_CANCEL_I1_8N_LABEL_KEY:
 			case CxGridPackage.CX_GRID__EDITOR_SAVE_I1_8N_LABEL_KEY:
 			case CxGridPackage.CX_GRID__EDITOR_SAVED:
+			case CxGridPackage.CX_GRID__SET_LAST_REFRESH_TIME:
 				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
 				return;
 			case CxGridPackage.CX_GRID__COLUMNS:
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.edit/src/org/eclipse/osbp/ecview/extension/grid/provider/CxGridItemProviderAdapterFactory.java b/org.eclipse.osbp.ecview.extension.grid.model.edit/src/org/eclipse/osbp/ecview/extension/grid/provider/CxGridItemProviderAdapterFactory.java
index 912a68a..6ea1781 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model.edit/src/org/eclipse/osbp/ecview/extension/grid/provider/CxGridItemProviderAdapterFactory.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model.edit/src/org/eclipse/osbp/ecview/extension/grid/provider/CxGridItemProviderAdapterFactory.java
@@ -51,13 +51,12 @@
 import org.eclipse.osbp.ecview.extension.grid.util.CxGridAdapterFactory;
 
 /**
- * This is the factory that is used to provide the interfaces needed to support
- * Viewers. The adapters generated by this factory convert EMF adapter
- * notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}. The
- * adapters also support Eclipse property sheets. Note that most of the adapters
- * are shared among multiple instances. <!-- begin-user-doc --> <!--
+ * This is the factory that is used to provide the interfaces needed to support Viewers.
+ * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
+ * The adapters also support Eclipse property sheets.
+ * Note that most of the adapters are shared among multiple instances.
+ * <!-- begin-user-doc --> <!--
  * end-user-doc -->
- * 
  * @generated
  */
 public class CxGridItemProviderAdapterFactory extends CxGridAdapterFactory
@@ -65,9 +64,8 @@
 		IChildCreationExtender {
 
 	/**
-	 * This keeps track of the root adapter factory that delegates to this
-	 * adapter factory. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
+	 * This keeps track of the root adapter factory that delegates to this adapter factory.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
 	 * @generated
 	 */
 	protected ComposedAdapterFactory parentAdapterFactory;
@@ -82,19 +80,17 @@
 	protected IChangeNotifier changeNotifier = new ChangeNotifier();
 
 	/**
-	 * This helps manage the child creation extenders. <!-- begin-user-doc -->
+	 * This helps manage the child creation extenders.
+	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
-	protected ChildCreationExtenderManager childCreationExtenderManager = new ChildCreationExtenderManager(
-			CxGridEditPlugin.INSTANCE, CxGridPackage.eNS_URI);
+	protected ChildCreationExtenderManager childCreationExtenderManager = new ChildCreationExtenderManager(CxGridEditPlugin.INSTANCE, CxGridPackage.eNS_URI);
 
 	/**
-	 * This keeps track of all the supported types checked by
-	 * {@link #isFactoryForType isFactoryForType}. <!-- begin-user-doc --> <!--
+	 * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+	 * <!-- begin-user-doc --> <!--
 	 * end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	protected Collection<Object> supportedTypes = new ArrayList<Object>();
@@ -140,10 +136,8 @@
 	}
 
 	/**
-	 * This keeps track of the one adapter used for all
-	 * {@link org.eclipse.osbp.ecview.extension.grid.CxGridHeaderRow} instances.
+	 * This keeps track of the one adapter used for all {@link org.eclipse.osbp.ecview.extension.grid.CxGridHeaderRow} instances.
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	protected CxGridHeaderRowItemProvider cxGridHeaderRowItemProvider;
@@ -166,10 +160,8 @@
 	}
 
 	/**
-	 * This keeps track of the one adapter used for all
-	 * {@link org.eclipse.osbp.ecview.extension.grid.CxGridFooterRow} instances.
+	 * This keeps track of the one adapter used for all {@link org.eclipse.osbp.ecview.extension.grid.CxGridFooterRow} instances.
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	protected CxGridFooterRowItemProvider cxGridFooterRowItemProvider;
@@ -192,10 +184,8 @@
 	}
 
 	/**
-	 * This keeps track of the one adapter used for all
-	 * {@link org.eclipse.osbp.ecview.extension.grid.CxGridFilterRow} instances.
+	 * This keeps track of the one adapter used for all {@link org.eclipse.osbp.ecview.extension.grid.CxGridFilterRow} instances.
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	protected CxGridFilterRowItemProvider cxGridFilterRowItemProvider;
@@ -218,10 +208,8 @@
 	}
 
 	/**
-	 * This keeps track of the one adapter used for all
-	 * {@link org.eclipse.osbp.ecview.extension.grid.CxGridMetaCell} instances.
+	 * This keeps track of the one adapter used for all {@link org.eclipse.osbp.ecview.extension.grid.CxGridMetaCell} instances.
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	protected CxGridMetaCellItemProvider cxGridMetaCellItemProvider;
@@ -244,10 +232,8 @@
 	}
 
 	/**
-	 * This keeps track of the one adapter used for all
-	 * {@link org.eclipse.osbp.ecview.extension.grid.CxGridGroupedCell}
-	 * instances. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
+	 * This keeps track of the one adapter used for all {@link org.eclipse.osbp.ecview.extension.grid.CxGridGroupedCell} instances.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
 	 * @generated
 	 */
 	protected CxGridGroupedCellItemProvider cxGridGroupedCellItemProvider;
@@ -263,18 +249,15 @@
 	@Override
 	public Adapter createCxGridGroupedCellAdapter() {
 		if (cxGridGroupedCellItemProvider == null) {
-			cxGridGroupedCellItemProvider = new CxGridGroupedCellItemProvider(
-					this);
+			cxGridGroupedCellItemProvider = new CxGridGroupedCellItemProvider(this);
 		}
 
 		return cxGridGroupedCellItemProvider;
 	}
 
 	/**
-	 * This keeps track of the one adapter used for all
-	 * {@link org.eclipse.osbp.ecview.extension.grid.CxGridColumn} instances.
+	 * This keeps track of the one adapter used for all {@link org.eclipse.osbp.ecview.extension.grid.CxGridColumn} instances.
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	protected CxGridColumnItemProvider cxGridColumnItemProvider;
@@ -297,36 +280,29 @@
 	}
 
 	/**
-	 * This keeps track of the one adapter used for all
-	 * {@link org.eclipse.osbp.ecview.extension.grid.CxGridDelegateCellStyleGenerator}
-	 * instances. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
+	 * This keeps track of the one adapter used for all {@link org.eclipse.osbp.ecview.extension.grid.CxGridDelegateCellStyleGenerator} instances.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
 	 * @generated
 	 */
 	protected CxGridDelegateCellStyleGeneratorItemProvider cxGridDelegateCellStyleGeneratorItemProvider;
 
 	/**
-	 * This creates an adapter for a
-	 * {@link org.eclipse.osbp.ecview.extension.grid.CxGridDelegateCellStyleGenerator}
-	 * . <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
+	 * This creates an adapter for a {@link org.eclipse.osbp.ecview.extension.grid.CxGridDelegateCellStyleGenerator}.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
 	 * @generated
 	 */
 	@Override
 	public Adapter createCxGridDelegateCellStyleGeneratorAdapter() {
 		if (cxGridDelegateCellStyleGeneratorItemProvider == null) {
-			cxGridDelegateCellStyleGeneratorItemProvider = new CxGridDelegateCellStyleGeneratorItemProvider(
-					this);
+			cxGridDelegateCellStyleGeneratorItemProvider = new CxGridDelegateCellStyleGeneratorItemProvider(this);
 		}
 
 		return cxGridDelegateCellStyleGeneratorItemProvider;
 	}
 
 	/**
-	 * This keeps track of the one adapter used for all
-	 * {@link org.eclipse.osbp.ecview.extension.grid.CxGridSortable} instances.
+	 * This keeps track of the one adapter used for all {@link org.eclipse.osbp.ecview.extension.grid.CxGridSortable} instances.
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	protected CxGridSortableItemProvider cxGridSortableItemProvider;
@@ -356,8 +332,7 @@
 	 * @generated
 	 */
 	public ComposeableAdapterFactory getRootAdapterFactory() {
-		return parentAdapterFactory == null ? this : parentAdapterFactory
-				.getRootAdapterFactory();
+		return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
 	}
 
 	/**
@@ -388,9 +363,8 @@
 	}
 
 	/**
-	 * This implementation substitutes the factory itself as the key for the
-	 * adapter. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
+	 * This implementation substitutes the factory itself as the key for the adapter.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
 	 * @generated
 	 */
 	@Override
@@ -412,8 +386,7 @@
 	public Object adapt(Object object, Object type) {
 		if (isFactoryForType(type)) {
 			Object adapter = super.adapt(object, type);
-			if (!(type instanceof Class<?>)
-					|| (((Class<?>) type).isInstance(adapter))) {
+			if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
 				return adapter;
 			}
 		}
@@ -443,8 +416,7 @@
 	 */
 	public Collection<?> getNewChildDescriptors(Object object,
 			EditingDomain editingDomain) {
-		return childCreationExtenderManager.getNewChildDescriptors(object,
-				editingDomain);
+		return childCreationExtenderManager.getNewChildDescriptors(object, editingDomain);
 	}
 
 	/**
@@ -458,8 +430,8 @@
 	}
 
 	/**
-	 * This adds a listener. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
+	 * This adds a listener.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
 	 * @generated
 	 */
 	public void addListener(INotifyChangedListener notifyChangedListener) {
@@ -467,8 +439,8 @@
 	}
 
 	/**
-	 * This removes a listener. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
+	 * This removes a listener.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
 	 * @generated
 	 */
 	public void removeListener(INotifyChangedListener notifyChangedListener) {
@@ -499,24 +471,15 @@
 	 * @generated
 	 */
 	public void dispose() {
-		if (cxGridItemProvider != null)
-			cxGridItemProvider.dispose();
-		if (cxGridHeaderRowItemProvider != null)
-			cxGridHeaderRowItemProvider.dispose();
-		if (cxGridFooterRowItemProvider != null)
-			cxGridFooterRowItemProvider.dispose();
-		if (cxGridFilterRowItemProvider != null)
-			cxGridFilterRowItemProvider.dispose();
-		if (cxGridMetaCellItemProvider != null)
-			cxGridMetaCellItemProvider.dispose();
-		if (cxGridGroupedCellItemProvider != null)
-			cxGridGroupedCellItemProvider.dispose();
-		if (cxGridColumnItemProvider != null)
-			cxGridColumnItemProvider.dispose();
-		if (cxGridDelegateCellStyleGeneratorItemProvider != null)
-			cxGridDelegateCellStyleGeneratorItemProvider.dispose();
-		if (cxGridSortableItemProvider != null)
-			cxGridSortableItemProvider.dispose();
+		if (cxGridItemProvider != null) cxGridItemProvider.dispose();
+		if (cxGridHeaderRowItemProvider != null) cxGridHeaderRowItemProvider.dispose();
+		if (cxGridFooterRowItemProvider != null) cxGridFooterRowItemProvider.dispose();
+		if (cxGridFilterRowItemProvider != null) cxGridFilterRowItemProvider.dispose();
+		if (cxGridMetaCellItemProvider != null) cxGridMetaCellItemProvider.dispose();
+		if (cxGridGroupedCellItemProvider != null) cxGridGroupedCellItemProvider.dispose();
+		if (cxGridColumnItemProvider != null) cxGridColumnItemProvider.dispose();
+		if (cxGridDelegateCellStyleGeneratorItemProvider != null) cxGridDelegateCellStyleGeneratorItemProvider.dispose();
+		if (cxGridSortableItemProvider != null) cxGridSortableItemProvider.dispose();
 	}
 
 	/**
@@ -528,32 +491,30 @@
 	public static class CoreModelChildCreationExtender implements
 			IChildCreationExtender {
 		/**
-		 * The switch for creating child descriptors specific to each extended
-		 * class. <!-- begin-user-doc --> <!-- end-user-doc -->
-		 * 
+		 * The switch for creating child descriptors specific to each extended class.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
 		 * @generated
 		 */
 		protected static class CreationSwitch extends CoreModelSwitch<Object> {
 			/**
-			 * The child descriptors being populated. <!-- begin-user-doc -->
+			 * The child descriptors being populated.
+			 * <!-- begin-user-doc -->
 			 * <!-- end-user-doc -->
-			 * 
 			 * @generated
 			 */
 			protected List<Object> newChildDescriptors;
 
 			/**
-			 * The domain in which to create the children. <!-- begin-user-doc
+			 * The domain in which to create the children.
+			 * <!-- begin-user-doc
 			 * --> <!-- end-user-doc -->
-			 * 
 			 * @generated
 			 */
 			protected EditingDomain editingDomain;
 
 			/**
-			 * Creates the a switch for populating child descriptors in the
-			 * given domain. <!-- begin-user-doc --> <!-- end-user-doc -->
-			 * 
+			 * Creates the a switch for populating child descriptors in the given domain.
+			 * <!-- begin-user-doc --> <!-- end-user-doc -->
 			 * @generated
 			 */
 			CreationSwitch(List<Object> newChildDescriptors,
@@ -571,9 +532,10 @@
 			 */
 			@Override
 			public Object caseYLayout(YLayout object) {
-				newChildDescriptors.add(createChildParameter(
-						CoreModelPackage.Literals.YLAYOUT__ELEMENTS,
-						CxGridFactory.eINSTANCE.createCxGrid()));
+				newChildDescriptors.add
+					(createChildParameter
+						(CoreModelPackage.Literals.YLAYOUT__ELEMENTS,
+						 CxGridFactory.eINSTANCE.createCxGrid()));
 
 				return null;
 			}
@@ -587,9 +549,10 @@
 			 */
 			@Override
 			public Object caseYView(YView object) {
-				newChildDescriptors.add(createChildParameter(
-						CoreModelPackage.Literals.YVIEW__CONTENT,
-						CxGridFactory.eINSTANCE.createCxGrid()));
+				newChildDescriptors.add
+					(createChildParameter
+						(CoreModelPackage.Literals.YVIEW__CONTENT,
+						 CxGridFactory.eINSTANCE.createCxGrid()));
 
 				return null;
 			}
@@ -603,9 +566,10 @@
 			 */
 			@Override
 			public Object caseYDialog(YDialog object) {
-				newChildDescriptors.add(createChildParameter(
-						CoreModelPackage.Literals.YDIALOG__CONTENT,
-						CxGridFactory.eINSTANCE.createCxGrid()));
+				newChildDescriptors.add
+					(createChildParameter
+						(CoreModelPackage.Literals.YDIALOG__CONTENT,
+						 CxGridFactory.eINSTANCE.createCxGrid()));
 
 				return null;
 			}
@@ -639,8 +603,7 @@
 		public Collection<Object> getNewChildDescriptors(Object object,
 				EditingDomain editingDomain) {
 			ArrayList<Object> result = new ArrayList<Object>();
-			new CreationSwitch(result, editingDomain)
-					.doSwitch((EObject) object);
+			new CreationSwitch(result, editingDomain).doSwitch((EObject)object);
 			return result;
 		}
 
@@ -664,33 +627,31 @@
 	public static class ExtensionModelChildCreationExtender implements
 			IChildCreationExtender {
 		/**
-		 * The switch for creating child descriptors specific to each extended
-		 * class. <!-- begin-user-doc --> <!-- end-user-doc -->
-		 * 
+		 * The switch for creating child descriptors specific to each extended class.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
 		 * @generated
 		 */
 		protected static class CreationSwitch extends
 				ExtensionModelSwitch<Object> {
 			/**
-			 * The child descriptors being populated. <!-- begin-user-doc -->
+			 * The child descriptors being populated.
+			 * <!-- begin-user-doc -->
 			 * <!-- end-user-doc -->
-			 * 
 			 * @generated
 			 */
 			protected List<Object> newChildDescriptors;
 
 			/**
-			 * The domain in which to create the children. <!-- begin-user-doc
+			 * The domain in which to create the children.
+			 * <!-- begin-user-doc
 			 * --> <!-- end-user-doc -->
-			 * 
 			 * @generated
 			 */
 			protected EditingDomain editingDomain;
 
 			/**
-			 * Creates the a switch for populating child descriptors in the
-			 * given domain. <!-- begin-user-doc --> <!-- end-user-doc -->
-			 * 
+			 * Creates the a switch for populating child descriptors in the given domain.
+			 * <!-- begin-user-doc --> <!-- end-user-doc -->
 			 * @generated
 			 */
 			CreationSwitch(List<Object> newChildDescriptors,
@@ -708,9 +669,10 @@
 			 */
 			@Override
 			public Object caseYTab(YTab object) {
-				newChildDescriptors.add(createChildParameter(
-						ExtensionModelPackage.Literals.YTAB__EMBEDDABLE,
-						CxGridFactory.eINSTANCE.createCxGrid()));
+				newChildDescriptors.add
+					(createChildParameter
+						(ExtensionModelPackage.Literals.YTAB__EMBEDDABLE,
+						 CxGridFactory.eINSTANCE.createCxGrid()));
 
 				return null;
 			}
@@ -724,15 +686,15 @@
 			 */
 			@Override
 			public Object caseYMasterDetail(YMasterDetail object) {
-				newChildDescriptors
-						.add(createChildParameter(
-								ExtensionModelPackage.Literals.YMASTER_DETAIL__MASTER_ELEMENT,
-								CxGridFactory.eINSTANCE.createCxGrid()));
+				newChildDescriptors.add
+					(createChildParameter
+						(ExtensionModelPackage.Literals.YMASTER_DETAIL__MASTER_ELEMENT,
+						 CxGridFactory.eINSTANCE.createCxGrid()));
 
-				newChildDescriptors
-						.add(createChildParameter(
-								ExtensionModelPackage.Literals.YMASTER_DETAIL__DETAIL_ELEMENT,
-								CxGridFactory.eINSTANCE.createCxGrid()));
+				newChildDescriptors.add
+					(createChildParameter
+						(ExtensionModelPackage.Literals.YMASTER_DETAIL__DETAIL_ELEMENT,
+						 CxGridFactory.eINSTANCE.createCxGrid()));
 
 				return null;
 			}
@@ -766,8 +728,7 @@
 		public Collection<Object> getNewChildDescriptors(Object object,
 				EditingDomain editingDomain) {
 			ArrayList<Object> result = new ArrayList<Object>();
-			new CreationSwitch(result, editingDomain)
-					.doSwitch((EObject) object);
+			new CreationSwitch(result, editingDomain).doSwitch((EObject)object);
 			return result;
 		}
 
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.edit/src/org/eclipse/osbp/ecview/extension/grid/provider/CxGridMetaCellItemProvider.java b/org.eclipse.osbp.ecview.extension.grid.model.edit/src/org/eclipse/osbp/ecview/extension/grid/provider/CxGridMetaCellItemProvider.java
index aef8eb6..6766cb4 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model.edit/src/org/eclipse/osbp/ecview/extension/grid/provider/CxGridMetaCellItemProvider.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model.edit/src/org/eclipse/osbp/ecview/extension/grid/provider/CxGridMetaCellItemProvider.java
@@ -587,6 +587,11 @@
 			(createChildParameter
 				(CxGridPackage.Literals.CX_GRID_META_CELL__ELEMENT,
 				 ExtensionModelFactory.eINSTANCE.createYPasswordField()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridPackage.Literals.CX_GRID_META_CELL__ELEMENT,
+				 ExtensionModelFactory.eINSTANCE.createYFilteringComponent()));
 	}
 
 	/**
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.editor/.classpath b/org.eclipse.osbp.ecview.extension.grid.model.editor/.classpath
new file mode 100644
index 0000000..22f3064
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.editor/.classpath
@@ -0,0 +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/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.editor/.project b/org.eclipse.osbp.ecview.extension.grid.model.editor/.project
new file mode 100644
index 0000000..9f4ae96
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.editor/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.osbp.ecview.extension.grid.model.editor</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>org.eclipse.babel.editor.rbeBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.babel.editor.rbeNature</nature>
+	</natures>
+</projectDescription>
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.editor/META-INF/MANIFEST.MF b/org.eclipse.osbp.ecview.extension.grid.model.editor/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..1c04d5e
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.editor/META-INF/MANIFEST.MF
@@ -0,0 +1,22 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.osbp.ecview.extension.grid.model.editor;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.osbp.ecview.extension.grid.presentation.cxecviewEditorPlugin$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Export-Package: org.eclipse.osbp.ecview.extension.grid.memento.presentation,
+ org.eclipse.osbp.ecview.extension.grid.presentation,
+ org.eclipse.osbp.ecview.extension.grid.renderer.presentation
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.core.resources;visibility:=reexport,
+ org.eclipse.osbp.ecview.extension.grid.model.edit;visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;visibility:=reexport,
+ org.eclipse.emf.edit.ui;visibility:=reexport,
+ org.eclipse.ui.ide;visibility:=reexport,
+ org.eclipse.osbp.ecview.core.common.model.edit;visibility:=reexport,
+ org.eclipse.osbp.ecview.core.extension.model.edit;visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.editor/build.properties b/org.eclipse.osbp.ecview.extension.grid.model.editor/build.properties
new file mode 100644
index 0000000..5fb0771
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.editor/build.properties
@@ -0,0 +1,10 @@
+#
+
+bin.includes = .,\
+               icons/,\
+               META-INF/,\
+               plugin.xml,\
+               plugin.properties
+jars.compile.order = .
+source.. = src/
+output.. = bin
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.editor/icons/full/obj16/CxGridMementoModelFile.gif b/org.eclipse.osbp.ecview.extension.grid.model.editor/icons/full/obj16/CxGridMementoModelFile.gif
new file mode 100644
index 0000000..9d55bb2
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.editor/icons/full/obj16/CxGridMementoModelFile.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.editor/icons/full/obj16/CxGridModelFile.gif b/org.eclipse.osbp.ecview.extension.grid.model.editor/icons/full/obj16/CxGridModelFile.gif
new file mode 100644
index 0000000..682f807
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.editor/icons/full/obj16/CxGridModelFile.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.editor/icons/full/obj16/CxGridRendererModelFile.gif b/org.eclipse.osbp.ecview.extension.grid.model.editor/icons/full/obj16/CxGridRendererModelFile.gif
new file mode 100644
index 0000000..b251792
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.editor/icons/full/obj16/CxGridRendererModelFile.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.editor/icons/full/wizban/NewCxGrid.gif b/org.eclipse.osbp.ecview.extension.grid.model.editor/icons/full/wizban/NewCxGrid.gif
new file mode 100644
index 0000000..11a2240
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.editor/icons/full/wizban/NewCxGrid.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.editor/icons/full/wizban/NewCxGridMemento.gif b/org.eclipse.osbp.ecview.extension.grid.model.editor/icons/full/wizban/NewCxGridMemento.gif
new file mode 100644
index 0000000..dcf7f89
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.editor/icons/full/wizban/NewCxGridMemento.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.editor/icons/full/wizban/NewCxGridRenderer.gif b/org.eclipse.osbp.ecview.extension.grid.model.editor/icons/full/wizban/NewCxGridRenderer.gif
new file mode 100644
index 0000000..97fd1e1
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.editor/icons/full/wizban/NewCxGridRenderer.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.editor/plugin.properties b/org.eclipse.osbp.ecview.extension.grid.model.editor/plugin.properties
new file mode 100644
index 0000000..63f329c
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.editor/plugin.properties
@@ -0,0 +1,71 @@
+#
+
+pluginName = CxGrid Editor
+providerName = www.example.org
+
+_UI_CxGridEditor_menu = &CxGrid Editor
+_UI_CxGridRendererEditor_menu = &CxGridRenderer Editor
+_UI_CxGridMementoEditor_menu = &CxGridMemento Editor
+
+_UI_CreateChild_menu_item = &New Child
+_UI_CreateSibling_menu_item = N&ew Sibling
+
+_UI_ShowPropertiesView_menu_item = Show &Properties View
+_UI_RefreshViewer_menu_item = &Refresh
+
+_UI_SelectionPage_label = Selection
+_UI_ParentPage_label = Parent
+_UI_ListPage_label = List
+_UI_TreePage_label = Tree
+_UI_TablePage_label = Table
+_UI_TreeWithColumnsPage_label = Tree with Columns
+_UI_ObjectColumn_label = Object
+_UI_SelfColumn_label = Self
+
+_UI_NoObjectSelected = Selected Nothing
+_UI_SingleObjectSelected = Selected Object: {0}
+_UI_MultiObjectSelected = Selected {0} Objects
+
+_UI_OpenEditorError_label = Open Editor
+
+_UI_Wizard_category = Example EMF Model Creation Wizards
+
+_UI_CreateModelError_message = Problems encountered in file "{0}"
+
+_UI_CxGridModelWizard_label = CxGrid Model
+_UI_CxGridModelWizard_description = Create a new CxGrid model
+
+_UI_CxGridEditor_label = CxGrid Model Editor
+
+_UI_CxGridEditorFilenameDefaultBase = My
+_UI_CxGridEditorFilenameExtensions = cxgrid
+
+_UI_CxGridRendererModelWizard_label = CxGridRenderer Model
+_UI_CxGridRendererModelWizard_description = Create a new CxGridRenderer model
+
+_UI_CxGridRendererEditor_label = CxGridRenderer Model Editor
+
+_UI_CxGridRendererEditorFilenameDefaultBase = My
+_UI_CxGridRendererEditorFilenameExtensions = cxgridrenderer
+
+_UI_CxGridMementoModelWizard_label = CxGridMemento Model
+_UI_CxGridMementoModelWizard_description = Create a new CxGridMemento model
+
+_UI_CxGridMementoEditor_label = CxGridMemento Model Editor
+
+_UI_CxGridMementoEditorFilenameDefaultBase = My
+_UI_CxGridMementoEditorFilenameExtensions = cxgridmemento
+
+_UI_Wizard_label = New
+
+_WARN_FilenameExtension = The file name must end in ''.{0}''
+_WARN_FilenameExtensions = The file name must have one of the following extensions: {0}
+
+_UI_ModelObject = &Model Object
+_UI_XMLEncoding = &XML Encoding
+_UI_XMLEncodingChoices = UTF-8 ASCII UTF-16 UTF-16BE UTF-16LE ISO-8859-1
+_UI_Wizard_initial_object_description = Select a model object to create
+
+_UI_FileConflict_label = File Conflict
+_WARN_FileConflict = There are unsaved changes that conflict with changes made outside the editor.  Do you wish to discard this editor's changes?
+
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.editor/plugin.xml b/org.eclipse.osbp.ecview.extension.grid.model.editor/plugin.xml
new file mode 100644
index 0000000..2f8ee62
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.editor/plugin.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+-->
+
+<plugin>
+
+   <extension point="org.eclipse.ui.newWizards">
+      <!-- @generated cxgrid -->
+      <category
+            id="org.eclipse.emf.ecore.Wizard.category.ID"
+            name="%_UI_Wizard_category"/>
+      <wizard
+            id="org.eclipse.osbp.ecview.extension.grid.presentation.CxGridModelWizardID"
+            name="%_UI_CxGridModelWizard_label"
+            class="org.eclipse.osbp.ecview.extension.grid.presentation.CxGridModelWizard"
+            category="org.eclipse.emf.ecore.Wizard.category.ID"
+            icon="icons/full/obj16/CxGridModelFile.gif">
+         <description>%_UI_CxGridModelWizard_description</description>
+         <selection class="org.eclipse.core.resources.IResource"/>
+      </wizard>
+   </extension>
+
+   <extension point="org.eclipse.ui.editors">
+      <!-- @generated cxgrid -->
+      <editor
+            id="org.eclipse.osbp.ecview.extension.grid.presentation.CxGridEditorID"
+            name="%_UI_CxGridEditor_label"
+            icon="icons/full/obj16/CxGridModelFile.gif"
+            extensions="cxgrid"
+            class="org.eclipse.osbp.ecview.extension.grid.presentation.CxGridEditor"
+            contributorClass="org.eclipse.osbp.ecview.extension.grid.presentation.CxGridActionBarContributor">
+      </editor>
+   </extension>
+
+   <extension point="org.eclipse.ui.newWizards">
+      <!-- @generated cxgrid -->
+      <category
+            id="org.eclipse.emf.ecore.Wizard.category.ID"
+            name="%_UI_Wizard_category"/>
+      <wizard
+            id="org.eclipse.osbp.ecview.extension.grid.renderer.presentation.CxGridRendererModelWizardID"
+            name="%_UI_CxGridRendererModelWizard_label"
+            class="org.eclipse.osbp.ecview.extension.grid.renderer.presentation.CxGridRendererModelWizard"
+            category="org.eclipse.emf.ecore.Wizard.category.ID"
+            icon="icons/full/obj16/CxGridRendererModelFile.gif">
+         <description>%_UI_CxGridRendererModelWizard_description</description>
+         <selection class="org.eclipse.core.resources.IResource"/>
+      </wizard>
+   </extension>
+
+   <extension point="org.eclipse.ui.editors">
+      <!-- @generated cxgrid -->
+      <editor
+            id="org.eclipse.osbp.ecview.extension.grid.renderer.presentation.CxGridRendererEditorID"
+            name="%_UI_CxGridRendererEditor_label"
+            icon="icons/full/obj16/CxGridRendererModelFile.gif"
+            extensions="cxgridrenderer"
+            class="org.eclipse.osbp.ecview.extension.grid.renderer.presentation.CxGridRendererEditor"
+            contributorClass="org.eclipse.osbp.ecview.extension.grid.renderer.presentation.CxGridRendererActionBarContributor">
+      </editor>
+   </extension>
+
+   <extension point="org.eclipse.ui.newWizards">
+      <!-- @generated cxgrid -->
+      <category
+            id="org.eclipse.emf.ecore.Wizard.category.ID"
+            name="%_UI_Wizard_category"/>
+      <wizard
+            id="org.eclipse.osbp.ecview.extension.grid.memento.presentation.CxGridMementoModelWizardID"
+            name="%_UI_CxGridMementoModelWizard_label"
+            class="org.eclipse.osbp.ecview.extension.grid.memento.presentation.CxGridMementoModelWizard"
+            category="org.eclipse.emf.ecore.Wizard.category.ID"
+            icon="icons/full/obj16/CxGridMementoModelFile.gif">
+         <description>%_UI_CxGridMementoModelWizard_description</description>
+         <selection class="org.eclipse.core.resources.IResource"/>
+      </wizard>
+   </extension>
+
+   <extension point="org.eclipse.ui.editors">
+      <!-- @generated cxgrid -->
+      <editor
+            id="org.eclipse.osbp.ecview.extension.grid.memento.presentation.CxGridMementoEditorID"
+            name="%_UI_CxGridMementoEditor_label"
+            icon="icons/full/obj16/CxGridMementoModelFile.gif"
+            extensions="cxgridmemento"
+            class="org.eclipse.osbp.ecview.extension.grid.memento.presentation.CxGridMementoEditor"
+            contributorClass="org.eclipse.osbp.ecview.extension.grid.memento.presentation.CxGridMementoActionBarContributor">
+      </editor>
+   </extension>
+
+</plugin>
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.editor/src/org/eclipse/osbp/ecview/extension/grid/memento/presentation/CxGridMementoActionBarContributor.java b/org.eclipse.osbp.ecview.extension.grid.model.editor/src/org/eclipse/osbp/ecview/extension/grid/memento/presentation/CxGridMementoActionBarContributor.java
new file mode 100644
index 0000000..18a681b
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.editor/src/org/eclipse/osbp/ecview/extension/grid/memento/presentation/CxGridMementoActionBarContributor.java
@@ -0,0 +1,425 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.memento.presentation;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.ui.viewer.IViewerProvider;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+
+import org.eclipse.emf.edit.ui.action.ControlAction;
+import org.eclipse.emf.edit.ui.action.CreateChildAction;
+import org.eclipse.emf.edit.ui.action.CreateSiblingAction;
+import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
+import org.eclipse.emf.edit.ui.action.LoadResourceAction;
+import org.eclipse.emf.edit.ui.action.ValidateAction;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.ActionContributionItem;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IContributionItem;
+import org.eclipse.jface.action.IContributionManager;
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.action.SubContributionItem;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.Viewer;
+
+import org.eclipse.osbp.ecview.extension.grid.presentation.cxecviewEditorPlugin;
+
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.PartInitException;
+
+/**
+ * This is the action bar contributor for the CxGridMemento model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridMementoActionBarContributor
+	extends EditingDomainActionBarContributor
+	implements ISelectionChangedListener {
+	/**
+	 * This keeps track of the active editor.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IEditorPart activeEditorPart;
+
+	/**
+	 * This keeps track of the current selection provider.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ISelectionProvider selectionProvider;
+
+	/**
+	 * This action opens the Properties view.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IAction showPropertiesViewAction =
+		new Action(cxecviewEditorPlugin.INSTANCE.getString("_UI_ShowPropertiesView_menu_item")) {
+			@Override
+			public void run() {
+				try {
+					getPage().showView("org.eclipse.ui.views.PropertySheet");
+				}
+				catch (PartInitException exception) {
+					cxecviewEditorPlugin.INSTANCE.log(exception);
+				}
+			}
+		};
+
+	/**
+	 * This action refreshes the viewer of the current editor if the editor
+	 * implements {@link org.eclipse.emf.common.ui.viewer.IViewerProvider}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IAction refreshViewerAction =
+		new Action(cxecviewEditorPlugin.INSTANCE.getString("_UI_RefreshViewer_menu_item")) {
+			@Override
+			public boolean isEnabled() {
+				return activeEditorPart instanceof IViewerProvider;
+			}
+
+			@Override
+			public void run() {
+				if (activeEditorPart instanceof IViewerProvider) {
+					Viewer viewer = ((IViewerProvider)activeEditorPart).getViewer();
+					if (viewer != null) {
+						viewer.refresh();
+					}
+				}
+			}
+		};
+
+	/**
+	 * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateChildAction} corresponding to each descriptor
+	 * generated for the current selection by the item provider.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<IAction> createChildActions;
+
+	/**
+	 * This is the menu manager into which menu contribution items should be added for CreateChild actions.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IMenuManager createChildMenuManager;
+
+	/**
+	 * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} corresponding to each descriptor
+	 * generated for the current selection by the item provider.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<IAction> createSiblingActions;
+
+	/**
+	 * This is the menu manager into which menu contribution items should be added for CreateSibling actions.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IMenuManager createSiblingMenuManager;
+
+	/**
+	 * This creates an instance of the contributor.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridMementoActionBarContributor() {
+		super(ADDITIONS_LAST_STYLE);
+		loadResourceAction = new LoadResourceAction();
+		validateAction = new ValidateAction();
+		controlAction = new ControlAction();
+	}
+
+	/**
+	 * This adds Separators for editor additions to the tool bar.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void contributeToToolBar(IToolBarManager toolBarManager) {
+		toolBarManager.add(new Separator("cxgridmemento-settings"));
+		toolBarManager.add(new Separator("cxgridmemento-additions"));
+	}
+
+	/**
+	 * This adds to the menu bar a menu and some separators for editor additions,
+	 * as well as the sub-menus for object creation items.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void contributeToMenu(IMenuManager menuManager) {
+		super.contributeToMenu(menuManager);
+
+		IMenuManager submenuManager = new MenuManager(cxecviewEditorPlugin.INSTANCE.getString("_UI_CxGridMementoEditor_menu"), "org.eclipse.osbp.ecview.extension.grid.mementoMenuID");
+		menuManager.insertAfter("additions", submenuManager);
+		submenuManager.add(new Separator("settings"));
+		submenuManager.add(new Separator("actions"));
+		submenuManager.add(new Separator("additions"));
+		submenuManager.add(new Separator("additions-end"));
+
+		// Prepare for CreateChild item addition or removal.
+		//
+		createChildMenuManager = new MenuManager(cxecviewEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item"));
+		submenuManager.insertBefore("additions", createChildMenuManager);
+
+		// Prepare for CreateSibling item addition or removal.
+		//
+		createSiblingMenuManager = new MenuManager(cxecviewEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item"));
+		submenuManager.insertBefore("additions", createSiblingMenuManager);
+
+		// Force an update because Eclipse hides empty menus now.
+		//
+		submenuManager.addMenuListener
+			(new IMenuListener() {
+				 public void menuAboutToShow(IMenuManager menuManager) {
+					 menuManager.updateAll(true);
+				 }
+			 });
+
+		addGlobalActions(submenuManager);
+	}
+
+	/**
+	 * When the active editor changes, this remembers the change and registers with it as a selection provider.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setActiveEditor(IEditorPart part) {
+		super.setActiveEditor(part);
+		activeEditorPart = part;
+
+		// Switch to the new selection provider.
+		//
+		if (selectionProvider != null) {
+			selectionProvider.removeSelectionChangedListener(this);
+		}
+		if (part == null) {
+			selectionProvider = null;
+		}
+		else {
+			selectionProvider = part.getSite().getSelectionProvider();
+			selectionProvider.addSelectionChangedListener(this);
+
+			// Fake a selection changed event to update the menus.
+			//
+			if (selectionProvider.getSelection() != null) {
+				selectionChanged(new SelectionChangedEvent(selectionProvider, selectionProvider.getSelection()));
+			}
+		}
+	}
+
+	/**
+	 * This implements {@link org.eclipse.jface.viewers.ISelectionChangedListener},
+	 * handling {@link org.eclipse.jface.viewers.SelectionChangedEvent}s by querying for the children and siblings
+	 * that can be added to the selected object and updating the menus accordingly.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void selectionChanged(SelectionChangedEvent event) {
+		// Remove any menu items for old selection.
+		//
+		if (createChildMenuManager != null) {
+			depopulateManager(createChildMenuManager, createChildActions);
+		}
+		if (createSiblingMenuManager != null) {
+			depopulateManager(createSiblingMenuManager, createSiblingActions);
+		}
+
+		// Query the new selection for appropriate new child/sibling descriptors
+		//
+		Collection<?> newChildDescriptors = null;
+		Collection<?> newSiblingDescriptors = null;
+
+		ISelection selection = event.getSelection();
+		if (selection instanceof IStructuredSelection && ((IStructuredSelection)selection).size() == 1) {
+			Object object = ((IStructuredSelection)selection).getFirstElement();
+
+			EditingDomain domain = ((IEditingDomainProvider)activeEditorPart).getEditingDomain();
+
+			newChildDescriptors = domain.getNewChildDescriptors(object, null);
+			newSiblingDescriptors = domain.getNewChildDescriptors(null, object);
+		}
+
+		// Generate actions for selection; populate and redraw the menus.
+		//
+		createChildActions = generateCreateChildActions(newChildDescriptors, selection);
+		createSiblingActions = generateCreateSiblingActions(newSiblingDescriptors, selection);
+
+		if (createChildMenuManager != null) {
+			populateManager(createChildMenuManager, createChildActions, null);
+			createChildMenuManager.update(true);
+		}
+		if (createSiblingMenuManager != null) {
+			populateManager(createSiblingMenuManager, createSiblingActions, null);
+			createSiblingMenuManager.update(true);
+		}
+	}
+
+	/**
+	 * This generates a {@link org.eclipse.emf.edit.ui.action.CreateChildAction} for each object in <code>descriptors</code>,
+	 * and returns the collection of these actions.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<IAction> generateCreateChildActions(Collection<?> descriptors, ISelection selection) {
+		Collection<IAction> actions = new ArrayList<IAction>();
+		if (descriptors != null) {
+			for (Object descriptor : descriptors) {
+				actions.add(new CreateChildAction(activeEditorPart, selection, descriptor));
+			}
+		}
+		return actions;
+	}
+
+	/**
+	 * This generates a {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} for each object in <code>descriptors</code>,
+	 * and returns the collection of these actions.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<IAction> generateCreateSiblingActions(Collection<?> descriptors, ISelection selection) {
+		Collection<IAction> actions = new ArrayList<IAction>();
+		if (descriptors != null) {
+			for (Object descriptor : descriptors) {
+				actions.add(new CreateSiblingAction(activeEditorPart, selection, descriptor));
+			}
+		}
+		return actions;
+	}
+
+	/**
+	 * This populates the specified <code>manager</code> with {@link org.eclipse.jface.action.ActionContributionItem}s
+	 * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection,
+	 * by inserting them before the specified contribution item <code>contributionID</code>.
+	 * If <code>contributionID</code> is <code>null</code>, they are simply added.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void populateManager(IContributionManager manager, Collection<? extends IAction> actions, String contributionID) {
+		if (actions != null) {
+			for (IAction action : actions) {
+				if (contributionID != null) {
+					manager.insertBefore(contributionID, action);
+				}
+				else {
+					manager.add(action);
+				}
+			}
+		}
+	}
+		
+	/**
+	 * This removes from the specified <code>manager</code> all {@link org.eclipse.jface.action.ActionContributionItem}s
+	 * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void depopulateManager(IContributionManager manager, Collection<? extends IAction> actions) {
+		if (actions != null) {
+			IContributionItem[] items = manager.getItems();
+			for (int i = 0; i < items.length; i++) {
+				// Look into SubContributionItems
+				//
+				IContributionItem contributionItem = items[i];
+				while (contributionItem instanceof SubContributionItem) {
+					contributionItem = ((SubContributionItem)contributionItem).getInnerItem();
+				}
+
+				// Delete the ActionContributionItems with matching action.
+				//
+				if (contributionItem instanceof ActionContributionItem) {
+					IAction action = ((ActionContributionItem)contributionItem).getAction();
+					if (actions.contains(action)) {
+						manager.remove(contributionItem);
+					}
+				}
+			}
+		}
+	}
+
+	/**
+	 * This populates the pop-up menu before it appears.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void menuAboutToShow(IMenuManager menuManager) {
+		super.menuAboutToShow(menuManager);
+		MenuManager submenuManager = null;
+
+		submenuManager = new MenuManager(cxecviewEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item"));
+		populateManager(submenuManager, createChildActions, null);
+		menuManager.insertBefore("edit", submenuManager);
+
+		submenuManager = new MenuManager(cxecviewEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item"));
+		populateManager(submenuManager, createSiblingActions, null);
+		menuManager.insertBefore("edit", submenuManager);
+	}
+
+	/**
+	 * This inserts global actions before the "additions-end" separator.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void addGlobalActions(IMenuManager menuManager) {
+		menuManager.insertAfter("additions-end", new Separator("ui-actions"));
+		menuManager.insertAfter("ui-actions", showPropertiesViewAction);
+
+		refreshViewerAction.setEnabled(refreshViewerAction.isEnabled());		
+		menuManager.insertAfter("ui-actions", refreshViewerAction);
+
+		super.addGlobalActions(menuManager);
+	}
+
+	/**
+	 * This ensures that a delete action will clean up all references to deleted objects.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean removeAllReferencesOnDelete() {
+		return true;
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.editor/src/org/eclipse/osbp/ecview/extension/grid/memento/presentation/CxGridMementoEditor.java b/org.eclipse.osbp.ecview.extension.grid.model.editor/src/org/eclipse/osbp/ecview/extension/grid/memento/presentation/CxGridMementoEditor.java
new file mode 100644
index 0000000..e6681b3
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.editor/src/org/eclipse/osbp/ecview/extension/grid/memento/presentation/CxGridMementoEditor.java
@@ -0,0 +1,1851 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.memento.presentation;
+
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.EventObject;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceChangeEvent;
+import org.eclipse.core.resources.IResourceChangeListener;
+import org.eclipse.core.resources.IResourceDelta;
+import org.eclipse.core.resources.IResourceDeltaVisitor;
+import org.eclipse.core.resources.ResourcesPlugin;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IStatusLineManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+
+import org.eclipse.jface.util.LocalSelectionTransfer;
+
+import org.eclipse.jface.viewers.ColumnWeightData;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.ListViewer;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.StructuredViewer;
+import org.eclipse.jface.viewers.TableLayout;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.jface.viewers.Viewer;
+
+import org.eclipse.swt.SWT;
+
+import org.eclipse.swt.custom.CTabFolder;
+
+import org.eclipse.swt.dnd.DND;
+import org.eclipse.swt.dnd.FileTransfer;
+import org.eclipse.swt.dnd.Transfer;
+
+import org.eclipse.swt.events.ControlAdapter;
+import org.eclipse.swt.events.ControlEvent;
+
+import org.eclipse.swt.graphics.Point;
+
+import org.eclipse.swt.layout.FillLayout;
+
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.TableColumn;
+import org.eclipse.swt.widgets.Tree;
+import org.eclipse.swt.widgets.TreeColumn;
+
+import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IEditorSite;
+import org.eclipse.ui.IPartListener;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.PartInitException;
+
+import org.eclipse.ui.dialogs.SaveAsDialog;
+
+import org.eclipse.ui.ide.IGotoMarker;
+
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.part.MultiPageEditorPart;
+
+import org.eclipse.ui.views.contentoutline.ContentOutline;
+import org.eclipse.ui.views.contentoutline.ContentOutlinePage;
+import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
+
+import org.eclipse.ui.views.properties.IPropertySheetPage;
+import org.eclipse.ui.views.properties.PropertySheet;
+import org.eclipse.ui.views.properties.PropertySheetPage;
+
+import org.eclipse.emf.common.command.BasicCommandStack;
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.command.CommandStack;
+import org.eclipse.emf.common.command.CommandStackListener;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.ui.MarkerHelper;
+import org.eclipse.emf.common.ui.ViewerPane;
+
+import org.eclipse.emf.common.ui.editor.ProblemEditorPart;
+
+import org.eclipse.emf.common.ui.viewer.IViewerProvider;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.URI;
+
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+
+import org.eclipse.emf.ecore.util.EContentAdapter;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+
+import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
+
+import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory;
+
+import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
+
+import org.eclipse.emf.edit.ui.celleditor.AdapterFactoryTreeEditor;
+
+import org.eclipse.emf.edit.ui.dnd.EditingDomainViewerDropAdapter;
+import org.eclipse.emf.edit.ui.dnd.LocalTransfer;
+import org.eclipse.emf.edit.ui.dnd.ViewerDragAdapter;
+
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+import org.eclipse.emf.edit.ui.provider.UnwrappingSelectionProvider;
+
+import org.eclipse.emf.edit.ui.util.EditUIMarkerHelper;
+import org.eclipse.emf.edit.ui.util.EditUIUtil;
+
+import org.eclipse.emf.edit.ui.view.ExtendedPropertySheetPage;
+
+import org.eclipse.osbp.ecview.extension.grid.memento.provider.CxGridMementoItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.core.common.model.binding.provider.BindingItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.core.common.model.core.authorization.provider.AuthorizationItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.core.common.model.core.provider.CoreModelItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.core.common.model.datatypes.provider.DatatypesItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.core.common.model.validation.provider.ValidationItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.core.common.model.visibility.provider.VisibilityItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.core.extension.model.datatypes.provider.ExtDatatypesItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.provider.ExtensionModelItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.extension.grid.presentation.cxecviewEditorPlugin;
+
+import org.eclipse.osbp.ecview.extension.grid.provider.CxGridItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.extension.grid.renderer.provider.CxGridRendererItemProviderAdapterFactory;
+
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+
+
+/**
+ * This is an example of a CxGridMemento model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridMementoEditor
+	extends MultiPageEditorPart
+	implements IEditingDomainProvider, ISelectionProvider, IMenuListener, IViewerProvider, IGotoMarker {
+	/**
+	 * This keeps track of the editing domain that is used to track all changes to the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AdapterFactoryEditingDomain editingDomain;
+
+	/**
+	 * This is the one adapter factory used for providing views of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ComposedAdapterFactory adapterFactory;
+
+	/**
+	 * This is the content outline page.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IContentOutlinePage contentOutlinePage;
+
+	/**
+	 * This is a kludge...
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IStatusLineManager contentOutlineStatusLineManager;
+
+	/**
+	 * This is the content outline page's viewer.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TreeViewer contentOutlineViewer;
+
+	/**
+	 * This is the property sheet page.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected List<PropertySheetPage> propertySheetPages = new ArrayList<PropertySheetPage>();
+
+	/**
+	 * This is the viewer that shadows the selection in the content outline.
+	 * The parent relation must be correctly defined for this to work.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TreeViewer selectionViewer;
+
+	/**
+	 * This inverts the roll of parent and child in the content provider and show parents as a tree.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TreeViewer parentViewer;
+
+	/**
+	 * This shows how a tree view works.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TreeViewer treeViewer;
+
+	/**
+	 * This shows how a list view works.
+	 * A list viewer doesn't support icons.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ListViewer listViewer;
+
+	/**
+	 * This shows how a table view works.
+	 * A table can be used as a list with icons.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TableViewer tableViewer;
+
+	/**
+	 * This shows how a tree view with columns works.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TreeViewer treeViewerWithColumns;
+
+	/**
+	 * This keeps track of the active viewer pane, in the book.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ViewerPane currentViewerPane;
+
+	/**
+	 * This keeps track of the active content viewer, which may be either one of the viewers in the pages or the content outline viewer.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Viewer currentViewer;
+
+	/**
+	 * This listens to which ever viewer is active.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ISelectionChangedListener selectionChangedListener;
+
+	/**
+	 * This keeps track of all the {@link org.eclipse.jface.viewers.ISelectionChangedListener}s that are listening to this editor.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<ISelectionChangedListener> selectionChangedListeners = new ArrayList<ISelectionChangedListener>();
+
+	/**
+	 * This keeps track of the selection of the editor as a whole.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ISelection editorSelection = StructuredSelection.EMPTY;
+
+	/**
+	 * The MarkerHelper is responsible for creating workspace resource markers presented
+	 * in Eclipse's Problems View.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected MarkerHelper markerHelper = new EditUIMarkerHelper();
+
+	/**
+	 * This listens for when the outline becomes active
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IPartListener partListener =
+		new IPartListener() {
+			public void partActivated(IWorkbenchPart p) {
+				if (p instanceof ContentOutline) {
+					if (((ContentOutline)p).getCurrentPage() == contentOutlinePage) {
+						getActionBarContributor().setActiveEditor(CxGridMementoEditor.this);
+
+						setCurrentViewer(contentOutlineViewer);
+					}
+				}
+				else if (p instanceof PropertySheet) {
+					if (propertySheetPages.contains(((PropertySheet)p).getCurrentPage())) {
+						getActionBarContributor().setActiveEditor(CxGridMementoEditor.this);
+						handleActivate();
+					}
+				}
+				else if (p == CxGridMementoEditor.this) {
+					handleActivate();
+				}
+			}
+			public void partBroughtToTop(IWorkbenchPart p) {
+				// Ignore.
+			}
+			public void partClosed(IWorkbenchPart p) {
+				// Ignore.
+			}
+			public void partDeactivated(IWorkbenchPart p) {
+				// Ignore.
+			}
+			public void partOpened(IWorkbenchPart p) {
+				// Ignore.
+			}
+		};
+
+	/**
+	 * Resources that have been removed since last activation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<Resource> removedResources = new ArrayList<Resource>();
+
+	/**
+	 * Resources that have been changed since last activation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<Resource> changedResources = new ArrayList<Resource>();
+
+	/**
+	 * Resources that have been saved.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<Resource> savedResources = new ArrayList<Resource>();
+
+	/**
+	 * Map to store the diagnostic associated with a resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Map<Resource, Diagnostic> resourceToDiagnosticMap = new LinkedHashMap<Resource, Diagnostic>();
+
+	/**
+	 * Controls whether the problem indication should be updated.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected boolean updateProblemIndication = true;
+
+	/**
+	 * Adapter used to update the problem indication when resources are demanded loaded.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EContentAdapter problemIndicationAdapter =
+		new EContentAdapter() {
+			@Override
+			public void notifyChanged(Notification notification) {
+				if (notification.getNotifier() instanceof Resource) {
+					switch (notification.getFeatureID(Resource.class)) {
+						case Resource.RESOURCE__IS_LOADED:
+						case Resource.RESOURCE__ERRORS:
+						case Resource.RESOURCE__WARNINGS: {
+							Resource resource = (Resource)notification.getNotifier();
+							Diagnostic diagnostic = analyzeResourceProblems(resource, null);
+							if (diagnostic.getSeverity() != Diagnostic.OK) {
+								resourceToDiagnosticMap.put(resource, diagnostic);
+							}
+							else {
+								resourceToDiagnosticMap.remove(resource);
+							}
+
+							if (updateProblemIndication) {
+								getSite().getShell().getDisplay().asyncExec
+									(new Runnable() {
+										 public void run() {
+											 updateProblemIndication();
+										 }
+									 });
+							}
+							break;
+						}
+					}
+				}
+				else {
+					super.notifyChanged(notification);
+				}
+			}
+
+			@Override
+			protected void setTarget(Resource target) {
+				basicSetTarget(target);
+			}
+
+			@Override
+			protected void unsetTarget(Resource target) {
+				basicUnsetTarget(target);
+				resourceToDiagnosticMap.remove(target);
+				if (updateProblemIndication) {
+					getSite().getShell().getDisplay().asyncExec
+						(new Runnable() {
+							 public void run() {
+								 updateProblemIndication();
+							 }
+						 });
+				}
+			}
+		};
+
+	/**
+	 * This listens for workspace changes.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IResourceChangeListener resourceChangeListener =
+		new IResourceChangeListener() {
+			public void resourceChanged(IResourceChangeEvent event) {
+				IResourceDelta delta = event.getDelta();
+				try {
+					class ResourceDeltaVisitor implements IResourceDeltaVisitor {
+						protected ResourceSet resourceSet = editingDomain.getResourceSet();
+						protected Collection<Resource> changedResources = new ArrayList<Resource>();
+						protected Collection<Resource> removedResources = new ArrayList<Resource>();
+
+						public boolean visit(IResourceDelta delta) {
+							if (delta.getResource().getType() == IResource.FILE) {
+								if (delta.getKind() == IResourceDelta.REMOVED ||
+								    delta.getKind() == IResourceDelta.CHANGED && delta.getFlags() != IResourceDelta.MARKERS) {
+									Resource resource = resourceSet.getResource(URI.createPlatformResourceURI(delta.getFullPath().toString(), true), false);
+									if (resource != null) {
+										if (delta.getKind() == IResourceDelta.REMOVED) {
+											removedResources.add(resource);
+										}
+										else if (!savedResources.remove(resource)) {
+											changedResources.add(resource);
+										}
+									}
+								}
+								return false;
+							}
+
+							return true;
+						}
+
+						public Collection<Resource> getChangedResources() {
+							return changedResources;
+						}
+
+						public Collection<Resource> getRemovedResources() {
+							return removedResources;
+						}
+					}
+
+					final ResourceDeltaVisitor visitor = new ResourceDeltaVisitor();
+					delta.accept(visitor);
+
+					if (!visitor.getRemovedResources().isEmpty()) {
+						getSite().getShell().getDisplay().asyncExec
+							(new Runnable() {
+								 public void run() {
+									 removedResources.addAll(visitor.getRemovedResources());
+									 if (!isDirty()) {
+										 getSite().getPage().closeEditor(CxGridMementoEditor.this, false);
+									 }
+								 }
+							 });
+					}
+
+					if (!visitor.getChangedResources().isEmpty()) {
+						getSite().getShell().getDisplay().asyncExec
+							(new Runnable() {
+								 public void run() {
+									 changedResources.addAll(visitor.getChangedResources());
+									 if (getSite().getPage().getActiveEditor() == CxGridMementoEditor.this) {
+										 handleActivate();
+									 }
+								 }
+							 });
+					}
+				}
+				catch (CoreException exception) {
+					cxecviewEditorPlugin.INSTANCE.log(exception);
+				}
+			}
+		};
+
+	/**
+	 * Handles activation of the editor or it's associated views.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void handleActivate() {
+		// Recompute the read only state.
+		//
+		if (editingDomain.getResourceToReadOnlyMap() != null) {
+		  editingDomain.getResourceToReadOnlyMap().clear();
+
+		  // Refresh any actions that may become enabled or disabled.
+		  //
+		  setSelection(getSelection());
+		}
+
+		if (!removedResources.isEmpty()) {
+			if (handleDirtyConflict()) {
+				getSite().getPage().closeEditor(CxGridMementoEditor.this, false);
+			}
+			else {
+				removedResources.clear();
+				changedResources.clear();
+				savedResources.clear();
+			}
+		}
+		else if (!changedResources.isEmpty()) {
+			changedResources.removeAll(savedResources);
+			handleChangedResources();
+			changedResources.clear();
+			savedResources.clear();
+		}
+	}
+
+	/**
+	 * Handles what to do with changed resources on activation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void handleChangedResources() {
+		if (!changedResources.isEmpty() && (!isDirty() || handleDirtyConflict())) {
+			if (isDirty()) {
+				changedResources.addAll(editingDomain.getResourceSet().getResources());
+			}
+			editingDomain.getCommandStack().flush();
+
+			updateProblemIndication = false;
+			for (Resource resource : changedResources) {
+				if (resource.isLoaded()) {
+					resource.unload();
+					try {
+						resource.load(Collections.EMPTY_MAP);
+					}
+					catch (IOException exception) {
+						if (!resourceToDiagnosticMap.containsKey(resource)) {
+							resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));
+						}
+					}
+				}
+			}
+
+			if (AdapterFactoryEditingDomain.isStale(editorSelection)) {
+				setSelection(StructuredSelection.EMPTY);
+			}
+
+			updateProblemIndication = true;
+			updateProblemIndication();
+		}
+	}
+
+	/**
+	 * Updates the problems indication with the information described in the specified diagnostic.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void updateProblemIndication() {
+		if (updateProblemIndication) {
+			BasicDiagnostic diagnostic =
+				new BasicDiagnostic
+					(Diagnostic.OK,
+					 "org.eclipse.osbp.ecview.extension.grid.model.editor",
+					 0,
+					 null,
+					 new Object [] { editingDomain.getResourceSet() });
+			for (Diagnostic childDiagnostic : resourceToDiagnosticMap.values()) {
+				if (childDiagnostic.getSeverity() != Diagnostic.OK) {
+					diagnostic.add(childDiagnostic);
+				}
+			}
+
+			int lastEditorPage = getPageCount() - 1;
+			if (lastEditorPage >= 0 && getEditor(lastEditorPage) instanceof ProblemEditorPart) {
+				((ProblemEditorPart)getEditor(lastEditorPage)).setDiagnostic(diagnostic);
+				if (diagnostic.getSeverity() != Diagnostic.OK) {
+					setActivePage(lastEditorPage);
+				}
+			}
+			else if (diagnostic.getSeverity() != Diagnostic.OK) {
+				ProblemEditorPart problemEditorPart = new ProblemEditorPart();
+				problemEditorPart.setDiagnostic(diagnostic);
+				problemEditorPart.setMarkerHelper(markerHelper);
+				try {
+					addPage(++lastEditorPage, problemEditorPart, getEditorInput());
+					setPageText(lastEditorPage, problemEditorPart.getPartName());
+					setActivePage(lastEditorPage);
+					showTabs();
+				}
+				catch (PartInitException exception) {
+					cxecviewEditorPlugin.INSTANCE.log(exception);
+				}
+			}
+
+			if (markerHelper.hasMarkers(editingDomain.getResourceSet())) {
+				markerHelper.deleteMarkers(editingDomain.getResourceSet());
+				if (diagnostic.getSeverity() != Diagnostic.OK) {
+					try {
+						markerHelper.createMarkers(diagnostic);
+					}
+					catch (CoreException exception) {
+						cxecviewEditorPlugin.INSTANCE.log(exception);
+					}
+				}
+			}
+		}
+	}
+
+	/**
+	 * Shows a dialog that asks if conflicting changes should be discarded.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected boolean handleDirtyConflict() {
+		return
+			MessageDialog.openQuestion
+				(getSite().getShell(),
+				 getString("_UI_FileConflict_label"),
+				 getString("_WARN_FileConflict"));
+	}
+
+	/**
+	 * This creates a model editor.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridMementoEditor() {
+		super();
+		initializeEditingDomain();
+	}
+
+	/**
+	 * This sets up the editing domain for the model editor.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void initializeEditingDomain() {
+		// Create an adapter factory that yields item providers.
+		//
+		adapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
+
+		adapterFactory.addAdapterFactory(new ResourceItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new CxGridItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new CxGridRendererItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new CxGridMementoItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new BindingItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new CoreModelItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new AuthorizationItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new ValidationItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new DatatypesItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new VisibilityItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new ExtDatatypesItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new ExtensionModelItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());
+
+		// Create the command stack that will notify this editor as commands are executed.
+		//
+		BasicCommandStack commandStack = new BasicCommandStack();
+
+		// Add a listener to set the most recent command's affected objects to be the selection of the viewer with focus.
+		//
+		commandStack.addCommandStackListener
+			(new CommandStackListener() {
+				 public void commandStackChanged(final EventObject event) {
+					 getContainer().getDisplay().asyncExec
+						 (new Runnable() {
+							  public void run() {
+								  firePropertyChange(IEditorPart.PROP_DIRTY);
+
+								  // Try to select the affected objects.
+								  //
+								  Command mostRecentCommand = ((CommandStack)event.getSource()).getMostRecentCommand();
+								  if (mostRecentCommand != null) {
+									  setSelectionToViewer(mostRecentCommand.getAffectedObjects());
+								  }
+								  for (Iterator<PropertySheetPage> i = propertySheetPages.iterator(); i.hasNext(); ) {
+									  PropertySheetPage propertySheetPage = i.next();
+									  if (propertySheetPage.getControl().isDisposed()) {
+										  i.remove();
+									  }
+									  else {
+										  propertySheetPage.refresh();
+									  }
+								  }
+							  }
+						  });
+				 }
+			 });
+
+		// Create the editing domain with a special command stack.
+		//
+		editingDomain = new AdapterFactoryEditingDomain(adapterFactory, commandStack, new HashMap<Resource, Boolean>());
+	}
+
+	/**
+	 * This is here for the listener to be able to call it.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+			@Override
+	protected void firePropertyChange(int action) {
+		super.firePropertyChange(action);
+	}
+
+	/**
+	 * This sets the selection into whichever viewer is active.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSelectionToViewer(Collection<?> collection) {
+		final Collection<?> theSelection = collection;
+		// Make sure it's okay.
+		//
+		if (theSelection != null && !theSelection.isEmpty()) {
+			Runnable runnable =
+				new Runnable() {
+					public void run() {
+						// Try to select the items in the current content viewer of the editor.
+						//
+						if (currentViewer != null) {
+							currentViewer.setSelection(new StructuredSelection(theSelection.toArray()), true);
+						}
+					}
+				};
+			getSite().getShell().getDisplay().asyncExec(runnable);
+		}
+	}
+
+	/**
+	 * This returns the editing domain as required by the {@link IEditingDomainProvider} interface.
+	 * This is important for implementing the static methods of {@link AdapterFactoryEditingDomain}
+	 * and for supporting {@link org.eclipse.emf.edit.ui.action.CommandAction}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EditingDomain getEditingDomain() {
+		return editingDomain;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public class ReverseAdapterFactoryContentProvider extends AdapterFactoryContentProvider {
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public ReverseAdapterFactoryContentProvider(AdapterFactory adapterFactory) {
+			super(adapterFactory);
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		@Override
+		public Object [] getElements(Object object) {
+			Object parent = super.getParent(object);
+			return (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray();
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		@Override
+		public Object [] getChildren(Object object) {
+			Object parent = super.getParent(object);
+			return (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray();
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		@Override
+		public boolean hasChildren(Object object) {
+			Object parent = super.getParent(object);
+			return parent != null;
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		@Override
+		public Object getParent(Object object) {
+			return null;
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setCurrentViewerPane(ViewerPane viewerPane) {
+		if (currentViewerPane != viewerPane) {
+			if (currentViewerPane != null) {
+				currentViewerPane.showFocus(false);
+			}
+			currentViewerPane = viewerPane;
+		}
+		setCurrentViewer(currentViewerPane.getViewer());
+	}
+
+	/**
+	 * This makes sure that one content viewer, either for the current page or the outline view, if it has focus,
+	 * is the current one.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setCurrentViewer(Viewer viewer) {
+		// If it is changing...
+		//
+		if (currentViewer != viewer) {
+			if (selectionChangedListener == null) {
+				// Create the listener on demand.
+				//
+				selectionChangedListener =
+					new ISelectionChangedListener() {
+						// This just notifies those things that are affected by the section.
+						//
+						public void selectionChanged(SelectionChangedEvent selectionChangedEvent) {
+							setSelection(selectionChangedEvent.getSelection());
+						}
+					};
+			}
+
+			// Stop listening to the old one.
+			//
+			if (currentViewer != null) {
+				currentViewer.removeSelectionChangedListener(selectionChangedListener);
+			}
+
+			// Start listening to the new one.
+			//
+			if (viewer != null) {
+				viewer.addSelectionChangedListener(selectionChangedListener);
+			}
+
+			// Remember it.
+			//
+			currentViewer = viewer;
+
+			// Set the editors selection based on the current viewer's selection.
+			//
+			setSelection(currentViewer == null ? StructuredSelection.EMPTY : currentViewer.getSelection());
+		}
+	}
+
+	/**
+	 * This returns the viewer as required by the {@link IViewerProvider} interface.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Viewer getViewer() {
+		return currentViewer;
+	}
+
+	/**
+	 * This creates a context menu for the viewer and adds a listener as well registering the menu for extension.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void createContextMenuFor(StructuredViewer viewer) {
+		MenuManager contextMenu = new MenuManager("#PopUp");
+		contextMenu.add(new Separator("additions"));
+		contextMenu.setRemoveAllWhenShown(true);
+		contextMenu.addMenuListener(this);
+		Menu menu= contextMenu.createContextMenu(viewer.getControl());
+		viewer.getControl().setMenu(menu);
+		getSite().registerContextMenu(contextMenu, new UnwrappingSelectionProvider(viewer));
+
+		int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK;
+		Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance(), LocalSelectionTransfer.getTransfer(), FileTransfer.getInstance() };
+		viewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(viewer));
+		viewer.addDropSupport(dndOperations, transfers, new EditingDomainViewerDropAdapter(editingDomain, viewer));
+	}
+
+	/**
+	 * This is the method called to load a resource into the editing domain's resource set based on the editor's input.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createModel() {
+		URI resourceURI = EditUIUtil.getURI(getEditorInput(), editingDomain.getResourceSet().getURIConverter());
+		Exception exception = null;
+		Resource resource = null;
+		try {
+			// Load the resource through the editing domain.
+			//
+			resource = editingDomain.getResourceSet().getResource(resourceURI, true);
+		}
+		catch (Exception e) {
+			exception = e;
+			resource = editingDomain.getResourceSet().getResource(resourceURI, false);
+		}
+
+		Diagnostic diagnostic = analyzeResourceProblems(resource, exception);
+		if (diagnostic.getSeverity() != Diagnostic.OK) {
+			resourceToDiagnosticMap.put(resource,  analyzeResourceProblems(resource, exception));
+		}
+		editingDomain.getResourceSet().eAdapters().add(problemIndicationAdapter);
+	}
+
+	/**
+	 * Returns a diagnostic describing the errors and warnings listed in the resource
+	 * and the specified exception (if any).
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Diagnostic analyzeResourceProblems(Resource resource, Exception exception) {
+		boolean hasErrors = !resource.getErrors().isEmpty();
+		if (hasErrors || !resource.getWarnings().isEmpty()) {
+			BasicDiagnostic basicDiagnostic =
+				new BasicDiagnostic
+					(hasErrors ? Diagnostic.ERROR : Diagnostic.WARNING,
+					 "org.eclipse.osbp.ecview.extension.grid.model.editor",
+					 0,
+					 getString("_UI_CreateModelError_message", resource.getURI()),
+					 new Object [] { exception == null ? (Object)resource : exception });
+			basicDiagnostic.merge(EcoreUtil.computeDiagnostic(resource, true));
+			return basicDiagnostic;
+		}
+		else if (exception != null) {
+			return
+				new BasicDiagnostic
+					(Diagnostic.ERROR,
+					 "org.eclipse.osbp.ecview.extension.grid.model.editor",
+					 0,
+					 getString("_UI_CreateModelError_message", resource.getURI()),
+					 new Object[] { exception });
+		}
+		else {
+			return Diagnostic.OK_INSTANCE;
+		}
+	}
+
+	/**
+	 * This is the method used by the framework to install your own controls.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void createPages() {
+		// Creates the model from the editor input
+		//
+		createModel();
+
+		// Only creates the other pages if there is something that can be edited
+		//
+		if (!getEditingDomain().getResourceSet().getResources().isEmpty()) {
+			// Create a page for the selection tree view.
+			//
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), CxGridMementoEditor.this) {
+						@Override
+						public Viewer createViewer(Composite composite) {
+							Tree tree = new Tree(composite, SWT.MULTI);
+							TreeViewer newTreeViewer = new TreeViewer(tree);
+							return newTreeViewer;
+						}
+						@Override
+						public void requestActivation() {
+							super.requestActivation();
+							setCurrentViewerPane(this);
+						}
+					};
+				viewerPane.createControl(getContainer());
+
+				selectionViewer = (TreeViewer)viewerPane.getViewer();
+				selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+
+				selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+				selectionViewer.setInput(editingDomain.getResourceSet());
+				selectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
+				viewerPane.setTitle(editingDomain.getResourceSet());
+
+				new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);
+
+				createContextMenuFor(selectionViewer);
+				int pageIndex = addPage(viewerPane.getControl());
+				setPageText(pageIndex, getString("_UI_SelectionPage_label"));
+			}
+
+			// Create a page for the parent tree view.
+			//
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), CxGridMementoEditor.this) {
+						@Override
+						public Viewer createViewer(Composite composite) {
+							Tree tree = new Tree(composite, SWT.MULTI);
+							TreeViewer newTreeViewer = new TreeViewer(tree);
+							return newTreeViewer;
+						}
+						@Override
+						public void requestActivation() {
+							super.requestActivation();
+							setCurrentViewerPane(this);
+						}
+					};
+				viewerPane.createControl(getContainer());
+
+				parentViewer = (TreeViewer)viewerPane.getViewer();
+				parentViewer.setAutoExpandLevel(30);
+				parentViewer.setContentProvider(new ReverseAdapterFactoryContentProvider(adapterFactory));
+				parentViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+				createContextMenuFor(parentViewer);
+				int pageIndex = addPage(viewerPane.getControl());
+				setPageText(pageIndex, getString("_UI_ParentPage_label"));
+			}
+
+			// This is the page for the list viewer
+			//
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), CxGridMementoEditor.this) {
+						@Override
+						public Viewer createViewer(Composite composite) {
+							return new ListViewer(composite);
+						}
+						@Override
+						public void requestActivation() {
+							super.requestActivation();
+							setCurrentViewerPane(this);
+						}
+					};
+				viewerPane.createControl(getContainer());
+				listViewer = (ListViewer)viewerPane.getViewer();
+				listViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+				listViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+				createContextMenuFor(listViewer);
+				int pageIndex = addPage(viewerPane.getControl());
+				setPageText(pageIndex, getString("_UI_ListPage_label"));
+			}
+
+			// This is the page for the tree viewer
+			//
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), CxGridMementoEditor.this) {
+						@Override
+						public Viewer createViewer(Composite composite) {
+							return new TreeViewer(composite);
+						}
+						@Override
+						public void requestActivation() {
+							super.requestActivation();
+							setCurrentViewerPane(this);
+						}
+					};
+				viewerPane.createControl(getContainer());
+				treeViewer = (TreeViewer)viewerPane.getViewer();
+				treeViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+				treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+				new AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory);
+
+				createContextMenuFor(treeViewer);
+				int pageIndex = addPage(viewerPane.getControl());
+				setPageText(pageIndex, getString("_UI_TreePage_label"));
+			}
+
+			// This is the page for the table viewer.
+			//
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), CxGridMementoEditor.this) {
+						@Override
+						public Viewer createViewer(Composite composite) {
+							return new TableViewer(composite);
+						}
+						@Override
+						public void requestActivation() {
+							super.requestActivation();
+							setCurrentViewerPane(this);
+						}
+					};
+				viewerPane.createControl(getContainer());
+				tableViewer = (TableViewer)viewerPane.getViewer();
+
+				Table table = tableViewer.getTable();
+				TableLayout layout = new TableLayout();
+				table.setLayout(layout);
+				table.setHeaderVisible(true);
+				table.setLinesVisible(true);
+
+				TableColumn objectColumn = new TableColumn(table, SWT.NONE);
+				layout.addColumnData(new ColumnWeightData(3, 100, true));
+				objectColumn.setText(getString("_UI_ObjectColumn_label"));
+				objectColumn.setResizable(true);
+
+				TableColumn selfColumn = new TableColumn(table, SWT.NONE);
+				layout.addColumnData(new ColumnWeightData(2, 100, true));
+				selfColumn.setText(getString("_UI_SelfColumn_label"));
+				selfColumn.setResizable(true);
+
+				tableViewer.setColumnProperties(new String [] {"a", "b"});
+				tableViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+				tableViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+				createContextMenuFor(tableViewer);
+				int pageIndex = addPage(viewerPane.getControl());
+				setPageText(pageIndex, getString("_UI_TablePage_label"));
+			}
+
+			// This is the page for the table tree viewer.
+			//
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), CxGridMementoEditor.this) {
+						@Override
+						public Viewer createViewer(Composite composite) {
+							return new TreeViewer(composite);
+						}
+						@Override
+						public void requestActivation() {
+							super.requestActivation();
+							setCurrentViewerPane(this);
+						}
+					};
+				viewerPane.createControl(getContainer());
+
+				treeViewerWithColumns = (TreeViewer)viewerPane.getViewer();
+
+				Tree tree = treeViewerWithColumns.getTree();
+				tree.setLayoutData(new FillLayout());
+				tree.setHeaderVisible(true);
+				tree.setLinesVisible(true);
+
+				TreeColumn objectColumn = new TreeColumn(tree, SWT.NONE);
+				objectColumn.setText(getString("_UI_ObjectColumn_label"));
+				objectColumn.setResizable(true);
+				objectColumn.setWidth(250);
+
+				TreeColumn selfColumn = new TreeColumn(tree, SWT.NONE);
+				selfColumn.setText(getString("_UI_SelfColumn_label"));
+				selfColumn.setResizable(true);
+				selfColumn.setWidth(200);
+
+				treeViewerWithColumns.setColumnProperties(new String [] {"a", "b"});
+				treeViewerWithColumns.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+				treeViewerWithColumns.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+				createContextMenuFor(treeViewerWithColumns);
+				int pageIndex = addPage(viewerPane.getControl());
+				setPageText(pageIndex, getString("_UI_TreeWithColumnsPage_label"));
+			}
+
+			getSite().getShell().getDisplay().asyncExec
+				(new Runnable() {
+					 public void run() {
+						 setActivePage(0);
+					 }
+				 });
+		}
+
+		// Ensures that this editor will only display the page's tab
+		// area if there are more than one page
+		//
+		getContainer().addControlListener
+			(new ControlAdapter() {
+				boolean guard = false;
+				@Override
+				public void controlResized(ControlEvent event) {
+					if (!guard) {
+						guard = true;
+						hideTabs();
+						guard = false;
+					}
+				}
+			 });
+
+		getSite().getShell().getDisplay().asyncExec
+			(new Runnable() {
+				 public void run() {
+					 updateProblemIndication();
+				 }
+			 });
+	}
+
+	/**
+	 * If there is just one page in the multi-page editor part,
+	 * this hides the single tab at the bottom.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void hideTabs() {
+		if (getPageCount() <= 1) {
+			setPageText(0, "");
+			if (getContainer() instanceof CTabFolder) {
+				((CTabFolder)getContainer()).setTabHeight(1);
+				Point point = getContainer().getSize();
+				getContainer().setSize(point.x, point.y + 6);
+			}
+		}
+	}
+
+	/**
+	 * If there is more than one page in the multi-page editor part,
+	 * this shows the tabs at the bottom.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void showTabs() {
+		if (getPageCount() > 1) {
+			setPageText(0, getString("_UI_SelectionPage_label"));
+			if (getContainer() instanceof CTabFolder) {
+				((CTabFolder)getContainer()).setTabHeight(SWT.DEFAULT);
+				Point point = getContainer().getSize();
+				getContainer().setSize(point.x, point.y - 6);
+			}
+		}
+	}
+
+	/**
+	 * This is used to track the active viewer.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void pageChange(int pageIndex) {
+		super.pageChange(pageIndex);
+
+		if (contentOutlinePage != null) {
+			handleContentOutlineSelection(contentOutlinePage.getSelection());
+		}
+	}
+
+	/**
+	 * This is how the framework determines which interfaces we implement.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("rawtypes")
+	@Override
+	public Object getAdapter(Class key) {
+		if (key.equals(IContentOutlinePage.class)) {
+			return showOutlineView() ? getContentOutlinePage() : null;
+		}
+		else if (key.equals(IPropertySheetPage.class)) {
+			return getPropertySheetPage();
+		}
+		else if (key.equals(IGotoMarker.class)) {
+			return this;
+		}
+		else {
+			return super.getAdapter(key);
+		}
+	}
+
+	/**
+	 * This accesses a cached version of the content outliner.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IContentOutlinePage getContentOutlinePage() {
+		if (contentOutlinePage == null) {
+			// The content outline is just a tree.
+			//
+			class MyContentOutlinePage extends ContentOutlinePage {
+				@Override
+				public void createControl(Composite parent) {
+					super.createControl(parent);
+					contentOutlineViewer = getTreeViewer();
+					contentOutlineViewer.addSelectionChangedListener(this);
+
+					// Set up the tree viewer.
+					//
+					contentOutlineViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+					contentOutlineViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+					contentOutlineViewer.setInput(editingDomain.getResourceSet());
+
+					// Make sure our popups work.
+					//
+					createContextMenuFor(contentOutlineViewer);
+
+					if (!editingDomain.getResourceSet().getResources().isEmpty()) {
+					  // Select the root object in the view.
+					  //
+					  contentOutlineViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
+					}
+				}
+
+				@Override
+				public void makeContributions(IMenuManager menuManager, IToolBarManager toolBarManager, IStatusLineManager statusLineManager) {
+					super.makeContributions(menuManager, toolBarManager, statusLineManager);
+					contentOutlineStatusLineManager = statusLineManager;
+				}
+
+				@Override
+				public void setActionBars(IActionBars actionBars) {
+					super.setActionBars(actionBars);
+					getActionBarContributor().shareGlobalActions(this, actionBars);
+				}
+			}
+
+			contentOutlinePage = new MyContentOutlinePage();
+
+			// Listen to selection so that we can handle it is a special way.
+			//
+			contentOutlinePage.addSelectionChangedListener
+				(new ISelectionChangedListener() {
+					 // This ensures that we handle selections correctly.
+					 //
+					 public void selectionChanged(SelectionChangedEvent event) {
+						 handleContentOutlineSelection(event.getSelection());
+					 }
+				 });
+		}
+
+		return contentOutlinePage;
+	}
+
+	/**
+	 * This accesses a cached version of the property sheet.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IPropertySheetPage getPropertySheetPage() {
+		PropertySheetPage propertySheetPage =
+			new ExtendedPropertySheetPage(editingDomain) {
+				@Override
+				public void setSelectionToViewer(List<?> selection) {
+					CxGridMementoEditor.this.setSelectionToViewer(selection);
+					CxGridMementoEditor.this.setFocus();
+				}
+
+				@Override
+				public void setActionBars(IActionBars actionBars) {
+					super.setActionBars(actionBars);
+					getActionBarContributor().shareGlobalActions(this, actionBars);
+				}
+			};
+		propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory));
+		propertySheetPages.add(propertySheetPage);
+
+		return propertySheetPage;
+	}
+
+	/**
+	 * This deals with how we want selection in the outliner to affect the other views.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void handleContentOutlineSelection(ISelection selection) {
+		if (currentViewerPane != null && !selection.isEmpty() && selection instanceof IStructuredSelection) {
+			Iterator<?> selectedElements = ((IStructuredSelection)selection).iterator();
+			if (selectedElements.hasNext()) {
+				// Get the first selected element.
+				//
+				Object selectedElement = selectedElements.next();
+
+				// If it's the selection viewer, then we want it to select the same selection as this selection.
+				//
+				if (currentViewerPane.getViewer() == selectionViewer) {
+					ArrayList<Object> selectionList = new ArrayList<Object>();
+					selectionList.add(selectedElement);
+					while (selectedElements.hasNext()) {
+						selectionList.add(selectedElements.next());
+					}
+
+					// Set the selection to the widget.
+					//
+					selectionViewer.setSelection(new StructuredSelection(selectionList));
+				}
+				else {
+					// Set the input to the widget.
+					//
+					if (currentViewerPane.getViewer().getInput() != selectedElement) {
+						currentViewerPane.getViewer().setInput(selectedElement);
+						currentViewerPane.setTitle(selectedElement);
+					}
+				}
+			}
+		}
+	}
+
+	/**
+	 * This is for implementing {@link IEditorPart} and simply tests the command stack.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isDirty() {
+		return ((BasicCommandStack)editingDomain.getCommandStack()).isSaveNeeded();
+	}
+
+	/**
+	 * This is for implementing {@link IEditorPart} and simply saves the model file.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void doSave(IProgressMonitor progressMonitor) {
+		// Save only resources that have actually changed.
+		//
+		final Map<Object, Object> saveOptions = new HashMap<Object, Object>();
+		saveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED, Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER);
+		saveOptions.put(Resource.OPTION_LINE_DELIMITER, Resource.OPTION_LINE_DELIMITER_UNSPECIFIED);
+
+		// Do the work within an operation because this is a long running activity that modifies the workbench.
+		//
+		WorkspaceModifyOperation operation =
+			new WorkspaceModifyOperation() {
+				// This is the method that gets invoked when the operation runs.
+				//
+				@Override
+				public void execute(IProgressMonitor monitor) {
+					// Save the resources to the file system.
+					//
+					boolean first = true;
+					for (Resource resource : editingDomain.getResourceSet().getResources()) {
+						if ((first || !resource.getContents().isEmpty() || isPersisted(resource)) && !editingDomain.isReadOnly(resource)) {
+							try {
+								long timeStamp = resource.getTimeStamp();
+								resource.save(saveOptions);
+								if (resource.getTimeStamp() != timeStamp) {
+									savedResources.add(resource);
+								}
+							}
+							catch (Exception exception) {
+								resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));
+							}
+							first = false;
+						}
+					}
+				}
+			};
+
+		updateProblemIndication = false;
+		try {
+			// This runs the options, and shows progress.
+			//
+			new ProgressMonitorDialog(getSite().getShell()).run(true, false, operation);
+
+			// Refresh the necessary state.
+			//
+			((BasicCommandStack)editingDomain.getCommandStack()).saveIsDone();
+			firePropertyChange(IEditorPart.PROP_DIRTY);
+		}
+		catch (Exception exception) {
+			// Something went wrong that shouldn't.
+			//
+			cxecviewEditorPlugin.INSTANCE.log(exception);
+		}
+		updateProblemIndication = true;
+		updateProblemIndication();
+	}
+
+	/**
+	 * This returns whether something has been persisted to the URI of the specified resource.
+	 * The implementation uses the URI converter from the editor's resource set to try to open an input stream.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected boolean isPersisted(Resource resource) {
+		boolean result = false;
+		try {
+			InputStream stream = editingDomain.getResourceSet().getURIConverter().createInputStream(resource.getURI());
+			if (stream != null) {
+				result = true;
+				stream.close();
+			}
+		}
+		catch (IOException e) {
+			// Ignore
+		}
+		return result;
+	}
+
+	/**
+	 * This always returns true because it is not currently supported.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isSaveAsAllowed() {
+		return true;
+	}
+
+	/**
+	 * This also changes the editor's input.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void doSaveAs() {
+		SaveAsDialog saveAsDialog = new SaveAsDialog(getSite().getShell());
+		saveAsDialog.open();
+		IPath path = saveAsDialog.getResult();
+		if (path != null) {
+			IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
+			if (file != null) {
+				doSaveAs(URI.createPlatformResourceURI(file.getFullPath().toString(), true), new FileEditorInput(file));
+			}
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void doSaveAs(URI uri, IEditorInput editorInput) {
+		(editingDomain.getResourceSet().getResources().get(0)).setURI(uri);
+		setInputWithNotify(editorInput);
+		setPartName(editorInput.getName());
+		IProgressMonitor progressMonitor =
+			getActionBars().getStatusLineManager() != null ?
+				getActionBars().getStatusLineManager().getProgressMonitor() :
+				new NullProgressMonitor();
+		doSave(progressMonitor);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void gotoMarker(IMarker marker) {
+		List<?> targetObjects = markerHelper.getTargetObjects(editingDomain, marker);
+		if (!targetObjects.isEmpty()) {
+			setSelectionToViewer(targetObjects);
+		}
+	}
+
+	/**
+	 * This is called during startup.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void init(IEditorSite site, IEditorInput editorInput) {
+		setSite(site);
+		setInputWithNotify(editorInput);
+		setPartName(editorInput.getName());
+		site.setSelectionProvider(this);
+		site.getPage().addPartListener(partListener);
+		ResourcesPlugin.getWorkspace().addResourceChangeListener(resourceChangeListener, IResourceChangeEvent.POST_CHANGE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setFocus() {
+		if (currentViewerPane != null) {
+			currentViewerPane.setFocus();
+		}
+		else {
+			getControl(getActivePage()).setFocus();
+		}
+	}
+
+	/**
+	 * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void addSelectionChangedListener(ISelectionChangedListener listener) {
+		selectionChangedListeners.add(listener);
+	}
+
+	/**
+	 * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void removeSelectionChangedListener(ISelectionChangedListener listener) {
+		selectionChangedListeners.remove(listener);
+	}
+
+	/**
+	 * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to return this editor's overall selection.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ISelection getSelection() {
+		return editorSelection;
+	}
+
+	/**
+	 * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to set this editor's overall selection.
+	 * Calling this result will notify the listeners.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSelection(ISelection selection) {
+		editorSelection = selection;
+
+		for (ISelectionChangedListener listener : selectionChangedListeners) {
+			listener.selectionChanged(new SelectionChangedEvent(this, selection));
+		}
+		setStatusLineManager(selection);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setStatusLineManager(ISelection selection) {
+		IStatusLineManager statusLineManager = currentViewer != null && currentViewer == contentOutlineViewer ?
+			contentOutlineStatusLineManager : getActionBars().getStatusLineManager();
+
+		if (statusLineManager != null) {
+			if (selection instanceof IStructuredSelection) {
+				Collection<?> collection = ((IStructuredSelection)selection).toList();
+				switch (collection.size()) {
+					case 0: {
+						statusLineManager.setMessage(getString("_UI_NoObjectSelected"));
+						break;
+					}
+					case 1: {
+						String text = new AdapterFactoryItemDelegator(adapterFactory).getText(collection.iterator().next());
+						statusLineManager.setMessage(getString("_UI_SingleObjectSelected", text));
+						break;
+					}
+					default: {
+						statusLineManager.setMessage(getString("_UI_MultiObjectSelected", Integer.toString(collection.size())));
+						break;
+					}
+				}
+			}
+			else {
+				statusLineManager.setMessage("");
+			}
+		}
+	}
+
+	/**
+	 * This looks up a string in the plugin's plugin.properties file.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static String getString(String key) {
+		return cxecviewEditorPlugin.INSTANCE.getString(key);
+	}
+
+	/**
+	 * This looks up a string in plugin.properties, making a substitution.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static String getString(String key, Object s1) {
+		return cxecviewEditorPlugin.INSTANCE.getString(key, new Object [] { s1 });
+	}
+
+	/**
+	 * This implements {@link org.eclipse.jface.action.IMenuListener} to help fill the context menus with contributions from the Edit menu.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void menuAboutToShow(IMenuManager menuManager) {
+		((IMenuListener)getEditorSite().getActionBarContributor()).menuAboutToShow(menuManager);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EditingDomainActionBarContributor getActionBarContributor() {
+		return (EditingDomainActionBarContributor)getEditorSite().getActionBarContributor();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IActionBars getActionBars() {
+		return getActionBarContributor().getActionBars();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AdapterFactory getAdapterFactory() {
+		return adapterFactory;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void dispose() {
+		updateProblemIndication = false;
+
+		ResourcesPlugin.getWorkspace().removeResourceChangeListener(resourceChangeListener);
+
+		getSite().getPage().removePartListener(partListener);
+
+		adapterFactory.dispose();
+
+		if (getActionBarContributor().getActiveEditor() == this) {
+			getActionBarContributor().setActiveEditor(null);
+		}
+
+		for (PropertySheetPage propertySheetPage : propertySheetPages) {
+			propertySheetPage.dispose();
+		}
+
+		if (contentOutlinePage != null) {
+			contentOutlinePage.dispose();
+		}
+
+		super.dispose();
+	}
+
+	/**
+	 * Returns whether the outline view should be presented to the user.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected boolean showOutlineView() {
+		return true;
+	}
+}
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.editor/src/org/eclipse/osbp/ecview/extension/grid/memento/presentation/CxGridMementoModelWizard.java b/org.eclipse.osbp.ecview.extension.grid.model.editor/src/org/eclipse/osbp/ecview/extension/grid/memento/presentation/CxGridMementoModelWizard.java
new file mode 100644
index 0000000..d993977
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.editor/src/org/eclipse/osbp/ecview/extension/grid/memento/presentation/CxGridMementoModelWizard.java
@@ -0,0 +1,630 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.memento.presentation;
+
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.MissingResourceException;
+import java.util.StringTokenizer;
+
+import org.eclipse.emf.common.CommonPlugin;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+import org.eclipse.emf.edit.ui.provider.ExtendedImageRegistry;
+
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+
+import org.eclipse.jface.dialogs.MessageDialog;
+
+import org.eclipse.jface.viewers.IStructuredSelection;
+
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.jface.wizard.WizardPage;
+
+import org.eclipse.swt.SWT;
+
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.ModifyEvent;
+
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+
+import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
+
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.part.ISetSelectionTarget;
+
+import org.eclipse.osbp.ecview.extension.grid.memento.CxGridMementoFactory;
+import org.eclipse.osbp.ecview.extension.grid.memento.CxGridMementoPackage;
+import org.eclipse.osbp.ecview.extension.grid.provider.CxGridEditPlugin;
+
+
+import org.eclipse.core.runtime.Path;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+
+import org.eclipse.osbp.ecview.extension.grid.presentation.cxecviewEditorPlugin;
+
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PartInitException;
+
+
+/**
+ * This is a simple wizard for creating a new model file.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridMementoModelWizard extends Wizard implements INewWizard {
+	/**
+	 * The supported extensions for created files.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<String> FILE_EXTENSIONS =
+		Collections.unmodifiableList(Arrays.asList(cxecviewEditorPlugin.INSTANCE.getString("_UI_CxGridMementoEditorFilenameExtensions").split("\\s*,\\s*")));
+
+	/**
+	 * A formatted list of supported file extensions, suitable for display.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String FORMATTED_FILE_EXTENSIONS =
+		cxecviewEditorPlugin.INSTANCE.getString("_UI_CxGridMementoEditorFilenameExtensions").replaceAll("\\s*,\\s*", ", ");
+
+	/**
+	 * This caches an instance of the model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridMementoPackage cxGridMementoPackage = CxGridMementoPackage.eINSTANCE;
+
+	/**
+	 * This caches an instance of the model factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridMementoFactory cxGridMementoFactory = cxGridMementoPackage.getCxGridMementoFactory();
+
+	/**
+	 * This is the file creation page.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridMementoModelWizardNewFileCreationPage newFileCreationPage;
+
+	/**
+	 * This is the initial object creation page.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridMementoModelWizardInitialObjectCreationPage initialObjectCreationPage;
+
+	/**
+	 * Remember the selection during initialization for populating the default container.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IStructuredSelection selection;
+
+	/**
+	 * Remember the workbench during initialization.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IWorkbench workbench;
+
+	/**
+	 * Caches the names of the types that can be created as the root object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected List<String> initialObjectNames;
+
+	/**
+	 * This just records the information.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void init(IWorkbench workbench, IStructuredSelection selection) {
+		this.workbench = workbench;
+		this.selection = selection;
+		setWindowTitle(cxecviewEditorPlugin.INSTANCE.getString("_UI_Wizard_label"));
+		setDefaultPageImageDescriptor(ExtendedImageRegistry.INSTANCE.getImageDescriptor(cxecviewEditorPlugin.INSTANCE.getImage("full/wizban/NewCxGridMemento")));
+	}
+
+	/**
+	 * Returns the names of the types that can be created as the root object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<String> getInitialObjectNames() {
+		if (initialObjectNames == null) {
+			initialObjectNames = new ArrayList<String>();
+			for (EClassifier eClassifier : cxGridMementoPackage.getEClassifiers()) {
+				if (eClassifier instanceof EClass) {
+					EClass eClass = (EClass)eClassifier;
+					if (!eClass.isAbstract()) {
+						initialObjectNames.add(eClass.getName());
+					}
+				}
+			}
+			Collections.sort(initialObjectNames, CommonPlugin.INSTANCE.getComparator());
+		}
+		return initialObjectNames;
+	}
+
+	/**
+	 * Create a new model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EObject createInitialModel() {
+		EClass eClass = (EClass)cxGridMementoPackage.getEClassifier(initialObjectCreationPage.getInitialObjectName());
+		EObject rootObject = cxGridMementoFactory.create(eClass);
+		return rootObject;
+	}
+
+	/**
+	 * Do the work after everything is specified.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean performFinish() {
+		try {
+			// Remember the file.
+			//
+			final IFile modelFile = getModelFile();
+
+			// Do the work within an operation.
+			//
+			WorkspaceModifyOperation operation =
+				new WorkspaceModifyOperation() {
+					@Override
+					protected void execute(IProgressMonitor progressMonitor) {
+						try {
+							// Create a resource set
+							//
+							ResourceSet resourceSet = new ResourceSetImpl();
+
+							// Get the URI of the model file.
+							//
+							URI fileURI = URI.createPlatformResourceURI(modelFile.getFullPath().toString(), true);
+
+							// Create a resource for this file.
+							//
+							Resource resource = resourceSet.createResource(fileURI);
+
+							// Add the initial model object to the contents.
+							//
+							EObject rootObject = createInitialModel();
+							if (rootObject != null) {
+								resource.getContents().add(rootObject);
+							}
+
+							// Save the contents of the resource to the file system.
+							//
+							Map<Object, Object> options = new HashMap<Object, Object>();
+							options.put(XMLResource.OPTION_ENCODING, initialObjectCreationPage.getEncoding());
+							resource.save(options);
+						}
+						catch (Exception exception) {
+							cxecviewEditorPlugin.INSTANCE.log(exception);
+						}
+						finally {
+							progressMonitor.done();
+						}
+					}
+				};
+
+			getContainer().run(false, false, operation);
+
+			// Select the new file resource in the current view.
+			//
+			IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
+			IWorkbenchPage page = workbenchWindow.getActivePage();
+			final IWorkbenchPart activePart = page.getActivePart();
+			if (activePart instanceof ISetSelectionTarget) {
+				final ISelection targetSelection = new StructuredSelection(modelFile);
+				getShell().getDisplay().asyncExec
+					(new Runnable() {
+						 public void run() {
+							 ((ISetSelectionTarget)activePart).selectReveal(targetSelection);
+						 }
+					 });
+			}
+
+			// Open an editor on the new file.
+			//
+			try {
+				page.openEditor
+					(new FileEditorInput(modelFile),
+					 workbench.getEditorRegistry().getDefaultEditor(modelFile.getFullPath().toString()).getId());					 	 
+			}
+			catch (PartInitException exception) {
+				MessageDialog.openError(workbenchWindow.getShell(), cxecviewEditorPlugin.INSTANCE.getString("_UI_OpenEditorError_label"), exception.getMessage());
+				return false;
+			}
+
+			return true;
+		}
+		catch (Exception exception) {
+			cxecviewEditorPlugin.INSTANCE.log(exception);
+			return false;
+		}
+	}
+
+	/**
+	 * This is the one page of the wizard.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public class CxGridMementoModelWizardNewFileCreationPage extends WizardNewFileCreationPage {
+		/**
+		 * Pass in the selection.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public CxGridMementoModelWizardNewFileCreationPage(String pageId, IStructuredSelection selection) {
+			super(pageId, selection);
+		}
+
+		/**
+		 * The framework calls this to see if the file is correct.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		@Override
+		protected boolean validatePage() {
+			if (super.validatePage()) {
+				String extension = new Path(getFileName()).getFileExtension();
+				if (extension == null || !FILE_EXTENSIONS.contains(extension)) {
+					String key = FILE_EXTENSIONS.size() > 1 ? "_WARN_FilenameExtensions" : "_WARN_FilenameExtension";
+					setErrorMessage(cxecviewEditorPlugin.INSTANCE.getString(key, new Object [] { FORMATTED_FILE_EXTENSIONS }));
+					return false;
+				}
+				return true;
+			}
+			return false;
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public IFile getModelFile() {
+			return ResourcesPlugin.getWorkspace().getRoot().getFile(getContainerFullPath().append(getFileName()));
+		}
+	}
+
+	/**
+	 * This is the page where the type of object to create is selected.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public class CxGridMementoModelWizardInitialObjectCreationPage extends WizardPage {
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected Combo initialObjectField;
+
+		/**
+		 * @generated
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 */
+		protected List<String> encodings;
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected Combo encodingField;
+
+		/**
+		 * Pass in the selection.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public CxGridMementoModelWizardInitialObjectCreationPage(String pageId) {
+			super(pageId);
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public void createControl(Composite parent) {
+			Composite composite = new Composite(parent, SWT.NONE);
+			{
+				GridLayout layout = new GridLayout();
+				layout.numColumns = 1;
+				layout.verticalSpacing = 12;
+				composite.setLayout(layout);
+
+				GridData data = new GridData();
+				data.verticalAlignment = GridData.FILL;
+				data.grabExcessVerticalSpace = true;
+				data.horizontalAlignment = GridData.FILL;
+				composite.setLayoutData(data);
+			}
+
+			Label containerLabel = new Label(composite, SWT.LEFT);
+			{
+				containerLabel.setText(cxecviewEditorPlugin.INSTANCE.getString("_UI_ModelObject"));
+
+				GridData data = new GridData();
+				data.horizontalAlignment = GridData.FILL;
+				containerLabel.setLayoutData(data);
+			}
+
+			initialObjectField = new Combo(composite, SWT.BORDER);
+			{
+				GridData data = new GridData();
+				data.horizontalAlignment = GridData.FILL;
+				data.grabExcessHorizontalSpace = true;
+				initialObjectField.setLayoutData(data);
+			}
+
+			for (String objectName : getInitialObjectNames()) {
+				initialObjectField.add(getLabel(objectName));
+			}
+
+			if (initialObjectField.getItemCount() == 1) {
+				initialObjectField.select(0);
+			}
+			initialObjectField.addModifyListener(validator);
+
+			Label encodingLabel = new Label(composite, SWT.LEFT);
+			{
+				encodingLabel.setText(cxecviewEditorPlugin.INSTANCE.getString("_UI_XMLEncoding"));
+
+				GridData data = new GridData();
+				data.horizontalAlignment = GridData.FILL;
+				encodingLabel.setLayoutData(data);
+			}
+			encodingField = new Combo(composite, SWT.BORDER);
+			{
+				GridData data = new GridData();
+				data.horizontalAlignment = GridData.FILL;
+				data.grabExcessHorizontalSpace = true;
+				encodingField.setLayoutData(data);
+			}
+
+			for (String encoding : getEncodings()) {
+				encodingField.add(encoding);
+			}
+
+			encodingField.select(0);
+			encodingField.addModifyListener(validator);
+
+			setPageComplete(validatePage());
+			setControl(composite);
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected ModifyListener validator =
+			new ModifyListener() {
+				public void modifyText(ModifyEvent e) {
+					setPageComplete(validatePage());
+				}
+			};
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected boolean validatePage() {
+			return getInitialObjectName() != null && getEncodings().contains(encodingField.getText());
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		@Override
+		public void setVisible(boolean visible) {
+			super.setVisible(visible);
+			if (visible) {
+				if (initialObjectField.getItemCount() == 1) {
+					initialObjectField.clearSelection();
+					encodingField.setFocus();
+				}
+				else {
+					encodingField.clearSelection();
+					initialObjectField.setFocus();
+				}
+			}
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public String getInitialObjectName() {
+			String label = initialObjectField.getText();
+
+			for (String name : getInitialObjectNames()) {
+				if (getLabel(name).equals(label)) {
+					return name;
+				}
+			}
+			return null;
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public String getEncoding() {
+			return encodingField.getText();
+		}
+
+		/**
+		 * Returns the label for the specified type name.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected String getLabel(String typeName) {
+			try {
+				return CxGridEditPlugin.INSTANCE.getString("_UI_" + typeName + "_type");
+			}
+			catch(MissingResourceException mre) {
+				cxecviewEditorPlugin.INSTANCE.log(mre);
+			}
+			return typeName;
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected Collection<String> getEncodings() {
+			if (encodings == null) {
+				encodings = new ArrayList<String>();
+				for (StringTokenizer stringTokenizer = new StringTokenizer(cxecviewEditorPlugin.INSTANCE.getString("_UI_XMLEncodingChoices")); stringTokenizer.hasMoreTokens(); ) {
+					encodings.add(stringTokenizer.nextToken());
+				}
+			}
+			return encodings;
+		}
+	}
+
+	/**
+	 * The framework calls this to create the contents of the wizard.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+		@Override
+	public void addPages() {
+		// Create a page, set the title, and the initial model file name.
+		//
+		newFileCreationPage = new CxGridMementoModelWizardNewFileCreationPage("Whatever", selection);
+		newFileCreationPage.setTitle(cxecviewEditorPlugin.INSTANCE.getString("_UI_CxGridMementoModelWizard_label"));
+		newFileCreationPage.setDescription(cxecviewEditorPlugin.INSTANCE.getString("_UI_CxGridMementoModelWizard_description"));
+		newFileCreationPage.setFileName(cxecviewEditorPlugin.INSTANCE.getString("_UI_CxGridMementoEditorFilenameDefaultBase") + "." + FILE_EXTENSIONS.get(0));
+		addPage(newFileCreationPage);
+
+		// Try and get the resource selection to determine a current directory for the file dialog.
+		//
+		if (selection != null && !selection.isEmpty()) {
+			// Get the resource...
+			//
+			Object selectedElement = selection.iterator().next();
+			if (selectedElement instanceof IResource) {
+				// Get the resource parent, if its a file.
+				//
+				IResource selectedResource = (IResource)selectedElement;
+				if (selectedResource.getType() == IResource.FILE) {
+					selectedResource = selectedResource.getParent();
+				}
+
+				// This gives us a directory...
+				//
+				if (selectedResource instanceof IFolder || selectedResource instanceof IProject) {
+					// Set this for the container.
+					//
+					newFileCreationPage.setContainerFullPath(selectedResource.getFullPath());
+
+					// Make up a unique new name here.
+					//
+					String defaultModelBaseFilename = cxecviewEditorPlugin.INSTANCE.getString("_UI_CxGridMementoEditorFilenameDefaultBase");
+					String defaultModelFilenameExtension = FILE_EXTENSIONS.get(0);
+					String modelFilename = defaultModelBaseFilename + "." + defaultModelFilenameExtension;
+					for (int i = 1; ((IContainer)selectedResource).findMember(modelFilename) != null; ++i) {
+						modelFilename = defaultModelBaseFilename + i + "." + defaultModelFilenameExtension;
+					}
+					newFileCreationPage.setFileName(modelFilename);
+				}
+			}
+		}
+		initialObjectCreationPage = new CxGridMementoModelWizardInitialObjectCreationPage("Whatever2");
+		initialObjectCreationPage.setTitle(cxecviewEditorPlugin.INSTANCE.getString("_UI_CxGridMementoModelWizard_label"));
+		initialObjectCreationPage.setDescription(cxecviewEditorPlugin.INSTANCE.getString("_UI_Wizard_initial_object_description"));
+		addPage(initialObjectCreationPage);
+	}
+
+	/**
+	 * Get the file from the page.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IFile getModelFile() {
+		return newFileCreationPage.getModelFile();
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.editor/src/org/eclipse/osbp/ecview/extension/grid/presentation/CxGridActionBarContributor.java b/org.eclipse.osbp.ecview.extension.grid.model.editor/src/org/eclipse/osbp/ecview/extension/grid/presentation/CxGridActionBarContributor.java
new file mode 100644
index 0000000..ecd53d6
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.editor/src/org/eclipse/osbp/ecview/extension/grid/presentation/CxGridActionBarContributor.java
@@ -0,0 +1,423 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.presentation;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.ui.viewer.IViewerProvider;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+
+import org.eclipse.emf.edit.ui.action.ControlAction;
+import org.eclipse.emf.edit.ui.action.CreateChildAction;
+import org.eclipse.emf.edit.ui.action.CreateSiblingAction;
+import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
+import org.eclipse.emf.edit.ui.action.LoadResourceAction;
+import org.eclipse.emf.edit.ui.action.ValidateAction;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.ActionContributionItem;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IContributionItem;
+import org.eclipse.jface.action.IContributionManager;
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.action.SubContributionItem;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.Viewer;
+
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.PartInitException;
+
+/**
+ * This is the action bar contributor for the CxGrid model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridActionBarContributor
+	extends EditingDomainActionBarContributor
+	implements ISelectionChangedListener {
+	/**
+	 * This keeps track of the active editor.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IEditorPart activeEditorPart;
+
+	/**
+	 * This keeps track of the current selection provider.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ISelectionProvider selectionProvider;
+
+	/**
+	 * This action opens the Properties view.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IAction showPropertiesViewAction =
+		new Action(cxecviewEditorPlugin.INSTANCE.getString("_UI_ShowPropertiesView_menu_item")) {
+			@Override
+			public void run() {
+				try {
+					getPage().showView("org.eclipse.ui.views.PropertySheet");
+				}
+				catch (PartInitException exception) {
+					cxecviewEditorPlugin.INSTANCE.log(exception);
+				}
+			}
+		};
+
+	/**
+	 * This action refreshes the viewer of the current editor if the editor
+	 * implements {@link org.eclipse.emf.common.ui.viewer.IViewerProvider}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IAction refreshViewerAction =
+		new Action(cxecviewEditorPlugin.INSTANCE.getString("_UI_RefreshViewer_menu_item")) {
+			@Override
+			public boolean isEnabled() {
+				return activeEditorPart instanceof IViewerProvider;
+			}
+
+			@Override
+			public void run() {
+				if (activeEditorPart instanceof IViewerProvider) {
+					Viewer viewer = ((IViewerProvider)activeEditorPart).getViewer();
+					if (viewer != null) {
+						viewer.refresh();
+					}
+				}
+			}
+		};
+
+	/**
+	 * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateChildAction} corresponding to each descriptor
+	 * generated for the current selection by the item provider.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<IAction> createChildActions;
+
+	/**
+	 * This is the menu manager into which menu contribution items should be added for CreateChild actions.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IMenuManager createChildMenuManager;
+
+	/**
+	 * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} corresponding to each descriptor
+	 * generated for the current selection by the item provider.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<IAction> createSiblingActions;
+
+	/**
+	 * This is the menu manager into which menu contribution items should be added for CreateSibling actions.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IMenuManager createSiblingMenuManager;
+
+	/**
+	 * This creates an instance of the contributor.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridActionBarContributor() {
+		super(ADDITIONS_LAST_STYLE);
+		loadResourceAction = new LoadResourceAction();
+		validateAction = new ValidateAction();
+		controlAction = new ControlAction();
+	}
+
+	/**
+	 * This adds Separators for editor additions to the tool bar.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void contributeToToolBar(IToolBarManager toolBarManager) {
+		toolBarManager.add(new Separator("cxgrid-settings"));
+		toolBarManager.add(new Separator("cxgrid-additions"));
+	}
+
+	/**
+	 * This adds to the menu bar a menu and some separators for editor additions,
+	 * as well as the sub-menus for object creation items.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void contributeToMenu(IMenuManager menuManager) {
+		super.contributeToMenu(menuManager);
+
+		IMenuManager submenuManager = new MenuManager(cxecviewEditorPlugin.INSTANCE.getString("_UI_CxGridEditor_menu"), "org.eclipse.osbp.ecview.extension.gridMenuID");
+		menuManager.insertAfter("additions", submenuManager);
+		submenuManager.add(new Separator("settings"));
+		submenuManager.add(new Separator("actions"));
+		submenuManager.add(new Separator("additions"));
+		submenuManager.add(new Separator("additions-end"));
+
+		// Prepare for CreateChild item addition or removal.
+		//
+		createChildMenuManager = new MenuManager(cxecviewEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item"));
+		submenuManager.insertBefore("additions", createChildMenuManager);
+
+		// Prepare for CreateSibling item addition or removal.
+		//
+		createSiblingMenuManager = new MenuManager(cxecviewEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item"));
+		submenuManager.insertBefore("additions", createSiblingMenuManager);
+
+		// Force an update because Eclipse hides empty menus now.
+		//
+		submenuManager.addMenuListener
+			(new IMenuListener() {
+				 public void menuAboutToShow(IMenuManager menuManager) {
+					 menuManager.updateAll(true);
+				 }
+			 });
+
+		addGlobalActions(submenuManager);
+	}
+
+	/**
+	 * When the active editor changes, this remembers the change and registers with it as a selection provider.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setActiveEditor(IEditorPart part) {
+		super.setActiveEditor(part);
+		activeEditorPart = part;
+
+		// Switch to the new selection provider.
+		//
+		if (selectionProvider != null) {
+			selectionProvider.removeSelectionChangedListener(this);
+		}
+		if (part == null) {
+			selectionProvider = null;
+		}
+		else {
+			selectionProvider = part.getSite().getSelectionProvider();
+			selectionProvider.addSelectionChangedListener(this);
+
+			// Fake a selection changed event to update the menus.
+			//
+			if (selectionProvider.getSelection() != null) {
+				selectionChanged(new SelectionChangedEvent(selectionProvider, selectionProvider.getSelection()));
+			}
+		}
+	}
+
+	/**
+	 * This implements {@link org.eclipse.jface.viewers.ISelectionChangedListener},
+	 * handling {@link org.eclipse.jface.viewers.SelectionChangedEvent}s by querying for the children and siblings
+	 * that can be added to the selected object and updating the menus accordingly.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void selectionChanged(SelectionChangedEvent event) {
+		// Remove any menu items for old selection.
+		//
+		if (createChildMenuManager != null) {
+			depopulateManager(createChildMenuManager, createChildActions);
+		}
+		if (createSiblingMenuManager != null) {
+			depopulateManager(createSiblingMenuManager, createSiblingActions);
+		}
+
+		// Query the new selection for appropriate new child/sibling descriptors
+		//
+		Collection<?> newChildDescriptors = null;
+		Collection<?> newSiblingDescriptors = null;
+
+		ISelection selection = event.getSelection();
+		if (selection instanceof IStructuredSelection && ((IStructuredSelection)selection).size() == 1) {
+			Object object = ((IStructuredSelection)selection).getFirstElement();
+
+			EditingDomain domain = ((IEditingDomainProvider)activeEditorPart).getEditingDomain();
+
+			newChildDescriptors = domain.getNewChildDescriptors(object, null);
+			newSiblingDescriptors = domain.getNewChildDescriptors(null, object);
+		}
+
+		// Generate actions for selection; populate and redraw the menus.
+		//
+		createChildActions = generateCreateChildActions(newChildDescriptors, selection);
+		createSiblingActions = generateCreateSiblingActions(newSiblingDescriptors, selection);
+
+		if (createChildMenuManager != null) {
+			populateManager(createChildMenuManager, createChildActions, null);
+			createChildMenuManager.update(true);
+		}
+		if (createSiblingMenuManager != null) {
+			populateManager(createSiblingMenuManager, createSiblingActions, null);
+			createSiblingMenuManager.update(true);
+		}
+	}
+
+	/**
+	 * This generates a {@link org.eclipse.emf.edit.ui.action.CreateChildAction} for each object in <code>descriptors</code>,
+	 * and returns the collection of these actions.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<IAction> generateCreateChildActions(Collection<?> descriptors, ISelection selection) {
+		Collection<IAction> actions = new ArrayList<IAction>();
+		if (descriptors != null) {
+			for (Object descriptor : descriptors) {
+				actions.add(new CreateChildAction(activeEditorPart, selection, descriptor));
+			}
+		}
+		return actions;
+	}
+
+	/**
+	 * This generates a {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} for each object in <code>descriptors</code>,
+	 * and returns the collection of these actions.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<IAction> generateCreateSiblingActions(Collection<?> descriptors, ISelection selection) {
+		Collection<IAction> actions = new ArrayList<IAction>();
+		if (descriptors != null) {
+			for (Object descriptor : descriptors) {
+				actions.add(new CreateSiblingAction(activeEditorPart, selection, descriptor));
+			}
+		}
+		return actions;
+	}
+
+	/**
+	 * This populates the specified <code>manager</code> with {@link org.eclipse.jface.action.ActionContributionItem}s
+	 * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection,
+	 * by inserting them before the specified contribution item <code>contributionID</code>.
+	 * If <code>contributionID</code> is <code>null</code>, they are simply added.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void populateManager(IContributionManager manager, Collection<? extends IAction> actions, String contributionID) {
+		if (actions != null) {
+			for (IAction action : actions) {
+				if (contributionID != null) {
+					manager.insertBefore(contributionID, action);
+				}
+				else {
+					manager.add(action);
+				}
+			}
+		}
+	}
+		
+	/**
+	 * This removes from the specified <code>manager</code> all {@link org.eclipse.jface.action.ActionContributionItem}s
+	 * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void depopulateManager(IContributionManager manager, Collection<? extends IAction> actions) {
+		if (actions != null) {
+			IContributionItem[] items = manager.getItems();
+			for (int i = 0; i < items.length; i++) {
+				// Look into SubContributionItems
+				//
+				IContributionItem contributionItem = items[i];
+				while (contributionItem instanceof SubContributionItem) {
+					contributionItem = ((SubContributionItem)contributionItem).getInnerItem();
+				}
+
+				// Delete the ActionContributionItems with matching action.
+				//
+				if (contributionItem instanceof ActionContributionItem) {
+					IAction action = ((ActionContributionItem)contributionItem).getAction();
+					if (actions.contains(action)) {
+						manager.remove(contributionItem);
+					}
+				}
+			}
+		}
+	}
+
+	/**
+	 * This populates the pop-up menu before it appears.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void menuAboutToShow(IMenuManager menuManager) {
+		super.menuAboutToShow(menuManager);
+		MenuManager submenuManager = null;
+
+		submenuManager = new MenuManager(cxecviewEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item"));
+		populateManager(submenuManager, createChildActions, null);
+		menuManager.insertBefore("edit", submenuManager);
+
+		submenuManager = new MenuManager(cxecviewEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item"));
+		populateManager(submenuManager, createSiblingActions, null);
+		menuManager.insertBefore("edit", submenuManager);
+	}
+
+	/**
+	 * This inserts global actions before the "additions-end" separator.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void addGlobalActions(IMenuManager menuManager) {
+		menuManager.insertAfter("additions-end", new Separator("ui-actions"));
+		menuManager.insertAfter("ui-actions", showPropertiesViewAction);
+
+		refreshViewerAction.setEnabled(refreshViewerAction.isEnabled());		
+		menuManager.insertAfter("ui-actions", refreshViewerAction);
+
+		super.addGlobalActions(menuManager);
+	}
+
+	/**
+	 * This ensures that a delete action will clean up all references to deleted objects.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean removeAllReferencesOnDelete() {
+		return true;
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.editor/src/org/eclipse/osbp/ecview/extension/grid/presentation/CxGridEditor.java b/org.eclipse.osbp.ecview.extension.grid.model.editor/src/org/eclipse/osbp/ecview/extension/grid/presentation/CxGridEditor.java
new file mode 100644
index 0000000..8c61255
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.editor/src/org/eclipse/osbp/ecview/extension/grid/presentation/CxGridEditor.java
@@ -0,0 +1,1849 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.presentation;
+
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.EventObject;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceChangeEvent;
+import org.eclipse.core.resources.IResourceChangeListener;
+import org.eclipse.core.resources.IResourceDelta;
+import org.eclipse.core.resources.IResourceDeltaVisitor;
+import org.eclipse.core.resources.ResourcesPlugin;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IStatusLineManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+
+import org.eclipse.jface.util.LocalSelectionTransfer;
+
+import org.eclipse.jface.viewers.ColumnWeightData;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.ListViewer;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.StructuredViewer;
+import org.eclipse.jface.viewers.TableLayout;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.jface.viewers.Viewer;
+
+import org.eclipse.swt.SWT;
+
+import org.eclipse.swt.custom.CTabFolder;
+
+import org.eclipse.swt.dnd.DND;
+import org.eclipse.swt.dnd.FileTransfer;
+import org.eclipse.swt.dnd.Transfer;
+
+import org.eclipse.swt.events.ControlAdapter;
+import org.eclipse.swt.events.ControlEvent;
+
+import org.eclipse.swt.graphics.Point;
+
+import org.eclipse.swt.layout.FillLayout;
+
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.TableColumn;
+import org.eclipse.swt.widgets.Tree;
+import org.eclipse.swt.widgets.TreeColumn;
+
+import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IEditorSite;
+import org.eclipse.ui.IPartListener;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.PartInitException;
+
+import org.eclipse.ui.dialogs.SaveAsDialog;
+
+import org.eclipse.ui.ide.IGotoMarker;
+
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.part.MultiPageEditorPart;
+
+import org.eclipse.ui.views.contentoutline.ContentOutline;
+import org.eclipse.ui.views.contentoutline.ContentOutlinePage;
+import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
+
+import org.eclipse.ui.views.properties.IPropertySheetPage;
+import org.eclipse.ui.views.properties.PropertySheet;
+import org.eclipse.ui.views.properties.PropertySheetPage;
+
+import org.eclipse.emf.common.command.BasicCommandStack;
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.command.CommandStack;
+import org.eclipse.emf.common.command.CommandStackListener;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.ui.MarkerHelper;
+import org.eclipse.emf.common.ui.ViewerPane;
+
+import org.eclipse.emf.common.ui.editor.ProblemEditorPart;
+
+import org.eclipse.emf.common.ui.viewer.IViewerProvider;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.URI;
+
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+
+import org.eclipse.emf.ecore.util.EContentAdapter;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+
+import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
+
+import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory;
+
+import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
+
+import org.eclipse.emf.edit.ui.celleditor.AdapterFactoryTreeEditor;
+
+import org.eclipse.emf.edit.ui.dnd.EditingDomainViewerDropAdapter;
+import org.eclipse.emf.edit.ui.dnd.LocalTransfer;
+import org.eclipse.emf.edit.ui.dnd.ViewerDragAdapter;
+
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+import org.eclipse.emf.edit.ui.provider.UnwrappingSelectionProvider;
+
+import org.eclipse.emf.edit.ui.util.EditUIMarkerHelper;
+import org.eclipse.emf.edit.ui.util.EditUIUtil;
+
+import org.eclipse.emf.edit.ui.view.ExtendedPropertySheetPage;
+
+import org.eclipse.osbp.ecview.extension.grid.provider.CxGridItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.core.common.model.binding.provider.BindingItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.core.common.model.core.authorization.provider.AuthorizationItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.core.common.model.core.provider.CoreModelItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.core.common.model.datatypes.provider.DatatypesItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.core.common.model.validation.provider.ValidationItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.core.common.model.visibility.provider.VisibilityItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.core.extension.model.datatypes.provider.ExtDatatypesItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.provider.ExtensionModelItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.extension.grid.memento.provider.CxGridMementoItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.extension.grid.renderer.provider.CxGridRendererItemProviderAdapterFactory;
+
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+
+
+/**
+ * This is an example of a CxGrid model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridEditor
+	extends MultiPageEditorPart
+	implements IEditingDomainProvider, ISelectionProvider, IMenuListener, IViewerProvider, IGotoMarker {
+	/**
+	 * This keeps track of the editing domain that is used to track all changes to the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AdapterFactoryEditingDomain editingDomain;
+
+	/**
+	 * This is the one adapter factory used for providing views of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ComposedAdapterFactory adapterFactory;
+
+	/**
+	 * This is the content outline page.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IContentOutlinePage contentOutlinePage;
+
+	/**
+	 * This is a kludge...
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IStatusLineManager contentOutlineStatusLineManager;
+
+	/**
+	 * This is the content outline page's viewer.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TreeViewer contentOutlineViewer;
+
+	/**
+	 * This is the property sheet page.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected List<PropertySheetPage> propertySheetPages = new ArrayList<PropertySheetPage>();
+
+	/**
+	 * This is the viewer that shadows the selection in the content outline.
+	 * The parent relation must be correctly defined for this to work.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TreeViewer selectionViewer;
+
+	/**
+	 * This inverts the roll of parent and child in the content provider and show parents as a tree.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TreeViewer parentViewer;
+
+	/**
+	 * This shows how a tree view works.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TreeViewer treeViewer;
+
+	/**
+	 * This shows how a list view works.
+	 * A list viewer doesn't support icons.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ListViewer listViewer;
+
+	/**
+	 * This shows how a table view works.
+	 * A table can be used as a list with icons.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TableViewer tableViewer;
+
+	/**
+	 * This shows how a tree view with columns works.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TreeViewer treeViewerWithColumns;
+
+	/**
+	 * This keeps track of the active viewer pane, in the book.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ViewerPane currentViewerPane;
+
+	/**
+	 * This keeps track of the active content viewer, which may be either one of the viewers in the pages or the content outline viewer.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Viewer currentViewer;
+
+	/**
+	 * This listens to which ever viewer is active.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ISelectionChangedListener selectionChangedListener;
+
+	/**
+	 * This keeps track of all the {@link org.eclipse.jface.viewers.ISelectionChangedListener}s that are listening to this editor.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<ISelectionChangedListener> selectionChangedListeners = new ArrayList<ISelectionChangedListener>();
+
+	/**
+	 * This keeps track of the selection of the editor as a whole.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ISelection editorSelection = StructuredSelection.EMPTY;
+
+	/**
+	 * The MarkerHelper is responsible for creating workspace resource markers presented
+	 * in Eclipse's Problems View.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected MarkerHelper markerHelper = new EditUIMarkerHelper();
+
+	/**
+	 * This listens for when the outline becomes active
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IPartListener partListener =
+		new IPartListener() {
+			public void partActivated(IWorkbenchPart p) {
+				if (p instanceof ContentOutline) {
+					if (((ContentOutline)p).getCurrentPage() == contentOutlinePage) {
+						getActionBarContributor().setActiveEditor(CxGridEditor.this);
+
+						setCurrentViewer(contentOutlineViewer);
+					}
+				}
+				else if (p instanceof PropertySheet) {
+					if (propertySheetPages.contains(((PropertySheet)p).getCurrentPage())) {
+						getActionBarContributor().setActiveEditor(CxGridEditor.this);
+						handleActivate();
+					}
+				}
+				else if (p == CxGridEditor.this) {
+					handleActivate();
+				}
+			}
+			public void partBroughtToTop(IWorkbenchPart p) {
+				// Ignore.
+			}
+			public void partClosed(IWorkbenchPart p) {
+				// Ignore.
+			}
+			public void partDeactivated(IWorkbenchPart p) {
+				// Ignore.
+			}
+			public void partOpened(IWorkbenchPart p) {
+				// Ignore.
+			}
+		};
+
+	/**
+	 * Resources that have been removed since last activation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<Resource> removedResources = new ArrayList<Resource>();
+
+	/**
+	 * Resources that have been changed since last activation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<Resource> changedResources = new ArrayList<Resource>();
+
+	/**
+	 * Resources that have been saved.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<Resource> savedResources = new ArrayList<Resource>();
+
+	/**
+	 * Map to store the diagnostic associated with a resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Map<Resource, Diagnostic> resourceToDiagnosticMap = new LinkedHashMap<Resource, Diagnostic>();
+
+	/**
+	 * Controls whether the problem indication should be updated.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected boolean updateProblemIndication = true;
+
+	/**
+	 * Adapter used to update the problem indication when resources are demanded loaded.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EContentAdapter problemIndicationAdapter =
+		new EContentAdapter() {
+			@Override
+			public void notifyChanged(Notification notification) {
+				if (notification.getNotifier() instanceof Resource) {
+					switch (notification.getFeatureID(Resource.class)) {
+						case Resource.RESOURCE__IS_LOADED:
+						case Resource.RESOURCE__ERRORS:
+						case Resource.RESOURCE__WARNINGS: {
+							Resource resource = (Resource)notification.getNotifier();
+							Diagnostic diagnostic = analyzeResourceProblems(resource, null);
+							if (diagnostic.getSeverity() != Diagnostic.OK) {
+								resourceToDiagnosticMap.put(resource, diagnostic);
+							}
+							else {
+								resourceToDiagnosticMap.remove(resource);
+							}
+
+							if (updateProblemIndication) {
+								getSite().getShell().getDisplay().asyncExec
+									(new Runnable() {
+										 public void run() {
+											 updateProblemIndication();
+										 }
+									 });
+							}
+							break;
+						}
+					}
+				}
+				else {
+					super.notifyChanged(notification);
+				}
+			}
+
+			@Override
+			protected void setTarget(Resource target) {
+				basicSetTarget(target);
+			}
+
+			@Override
+			protected void unsetTarget(Resource target) {
+				basicUnsetTarget(target);
+				resourceToDiagnosticMap.remove(target);
+				if (updateProblemIndication) {
+					getSite().getShell().getDisplay().asyncExec
+						(new Runnable() {
+							 public void run() {
+								 updateProblemIndication();
+							 }
+						 });
+				}
+			}
+		};
+
+	/**
+	 * This listens for workspace changes.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IResourceChangeListener resourceChangeListener =
+		new IResourceChangeListener() {
+			public void resourceChanged(IResourceChangeEvent event) {
+				IResourceDelta delta = event.getDelta();
+				try {
+					class ResourceDeltaVisitor implements IResourceDeltaVisitor {
+						protected ResourceSet resourceSet = editingDomain.getResourceSet();
+						protected Collection<Resource> changedResources = new ArrayList<Resource>();
+						protected Collection<Resource> removedResources = new ArrayList<Resource>();
+
+						public boolean visit(IResourceDelta delta) {
+							if (delta.getResource().getType() == IResource.FILE) {
+								if (delta.getKind() == IResourceDelta.REMOVED ||
+								    delta.getKind() == IResourceDelta.CHANGED && delta.getFlags() != IResourceDelta.MARKERS) {
+									Resource resource = resourceSet.getResource(URI.createPlatformResourceURI(delta.getFullPath().toString(), true), false);
+									if (resource != null) {
+										if (delta.getKind() == IResourceDelta.REMOVED) {
+											removedResources.add(resource);
+										}
+										else if (!savedResources.remove(resource)) {
+											changedResources.add(resource);
+										}
+									}
+								}
+								return false;
+							}
+
+							return true;
+						}
+
+						public Collection<Resource> getChangedResources() {
+							return changedResources;
+						}
+
+						public Collection<Resource> getRemovedResources() {
+							return removedResources;
+						}
+					}
+
+					final ResourceDeltaVisitor visitor = new ResourceDeltaVisitor();
+					delta.accept(visitor);
+
+					if (!visitor.getRemovedResources().isEmpty()) {
+						getSite().getShell().getDisplay().asyncExec
+							(new Runnable() {
+								 public void run() {
+									 removedResources.addAll(visitor.getRemovedResources());
+									 if (!isDirty()) {
+										 getSite().getPage().closeEditor(CxGridEditor.this, false);
+									 }
+								 }
+							 });
+					}
+
+					if (!visitor.getChangedResources().isEmpty()) {
+						getSite().getShell().getDisplay().asyncExec
+							(new Runnable() {
+								 public void run() {
+									 changedResources.addAll(visitor.getChangedResources());
+									 if (getSite().getPage().getActiveEditor() == CxGridEditor.this) {
+										 handleActivate();
+									 }
+								 }
+							 });
+					}
+				}
+				catch (CoreException exception) {
+					cxecviewEditorPlugin.INSTANCE.log(exception);
+				}
+			}
+		};
+
+	/**
+	 * Handles activation of the editor or it's associated views.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void handleActivate() {
+		// Recompute the read only state.
+		//
+		if (editingDomain.getResourceToReadOnlyMap() != null) {
+		  editingDomain.getResourceToReadOnlyMap().clear();
+
+		  // Refresh any actions that may become enabled or disabled.
+		  //
+		  setSelection(getSelection());
+		}
+
+		if (!removedResources.isEmpty()) {
+			if (handleDirtyConflict()) {
+				getSite().getPage().closeEditor(CxGridEditor.this, false);
+			}
+			else {
+				removedResources.clear();
+				changedResources.clear();
+				savedResources.clear();
+			}
+		}
+		else if (!changedResources.isEmpty()) {
+			changedResources.removeAll(savedResources);
+			handleChangedResources();
+			changedResources.clear();
+			savedResources.clear();
+		}
+	}
+
+	/**
+	 * Handles what to do with changed resources on activation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void handleChangedResources() {
+		if (!changedResources.isEmpty() && (!isDirty() || handleDirtyConflict())) {
+			if (isDirty()) {
+				changedResources.addAll(editingDomain.getResourceSet().getResources());
+			}
+			editingDomain.getCommandStack().flush();
+
+			updateProblemIndication = false;
+			for (Resource resource : changedResources) {
+				if (resource.isLoaded()) {
+					resource.unload();
+					try {
+						resource.load(Collections.EMPTY_MAP);
+					}
+					catch (IOException exception) {
+						if (!resourceToDiagnosticMap.containsKey(resource)) {
+							resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));
+						}
+					}
+				}
+			}
+
+			if (AdapterFactoryEditingDomain.isStale(editorSelection)) {
+				setSelection(StructuredSelection.EMPTY);
+			}
+
+			updateProblemIndication = true;
+			updateProblemIndication();
+		}
+	}
+
+	/**
+	 * Updates the problems indication with the information described in the specified diagnostic.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void updateProblemIndication() {
+		if (updateProblemIndication) {
+			BasicDiagnostic diagnostic =
+				new BasicDiagnostic
+					(Diagnostic.OK,
+					 "org.eclipse.osbp.ecview.extension.grid.model.editor",
+					 0,
+					 null,
+					 new Object [] { editingDomain.getResourceSet() });
+			for (Diagnostic childDiagnostic : resourceToDiagnosticMap.values()) {
+				if (childDiagnostic.getSeverity() != Diagnostic.OK) {
+					diagnostic.add(childDiagnostic);
+				}
+			}
+
+			int lastEditorPage = getPageCount() - 1;
+			if (lastEditorPage >= 0 && getEditor(lastEditorPage) instanceof ProblemEditorPart) {
+				((ProblemEditorPart)getEditor(lastEditorPage)).setDiagnostic(diagnostic);
+				if (diagnostic.getSeverity() != Diagnostic.OK) {
+					setActivePage(lastEditorPage);
+				}
+			}
+			else if (diagnostic.getSeverity() != Diagnostic.OK) {
+				ProblemEditorPart problemEditorPart = new ProblemEditorPart();
+				problemEditorPart.setDiagnostic(diagnostic);
+				problemEditorPart.setMarkerHelper(markerHelper);
+				try {
+					addPage(++lastEditorPage, problemEditorPart, getEditorInput());
+					setPageText(lastEditorPage, problemEditorPart.getPartName());
+					setActivePage(lastEditorPage);
+					showTabs();
+				}
+				catch (PartInitException exception) {
+					cxecviewEditorPlugin.INSTANCE.log(exception);
+				}
+			}
+
+			if (markerHelper.hasMarkers(editingDomain.getResourceSet())) {
+				markerHelper.deleteMarkers(editingDomain.getResourceSet());
+				if (diagnostic.getSeverity() != Diagnostic.OK) {
+					try {
+						markerHelper.createMarkers(diagnostic);
+					}
+					catch (CoreException exception) {
+						cxecviewEditorPlugin.INSTANCE.log(exception);
+					}
+				}
+			}
+		}
+	}
+
+	/**
+	 * Shows a dialog that asks if conflicting changes should be discarded.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected boolean handleDirtyConflict() {
+		return
+			MessageDialog.openQuestion
+				(getSite().getShell(),
+				 getString("_UI_FileConflict_label"),
+				 getString("_WARN_FileConflict"));
+	}
+
+	/**
+	 * This creates a model editor.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridEditor() {
+		super();
+		initializeEditingDomain();
+	}
+
+	/**
+	 * This sets up the editing domain for the model editor.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void initializeEditingDomain() {
+		// Create an adapter factory that yields item providers.
+		//
+		adapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
+
+		adapterFactory.addAdapterFactory(new ResourceItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new CxGridItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new CxGridRendererItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new CxGridMementoItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new BindingItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new CoreModelItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new AuthorizationItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new ValidationItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new DatatypesItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new VisibilityItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new ExtDatatypesItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new ExtensionModelItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());
+
+		// Create the command stack that will notify this editor as commands are executed.
+		//
+		BasicCommandStack commandStack = new BasicCommandStack();
+
+		// Add a listener to set the most recent command's affected objects to be the selection of the viewer with focus.
+		//
+		commandStack.addCommandStackListener
+			(new CommandStackListener() {
+				 public void commandStackChanged(final EventObject event) {
+					 getContainer().getDisplay().asyncExec
+						 (new Runnable() {
+							  public void run() {
+								  firePropertyChange(IEditorPart.PROP_DIRTY);
+
+								  // Try to select the affected objects.
+								  //
+								  Command mostRecentCommand = ((CommandStack)event.getSource()).getMostRecentCommand();
+								  if (mostRecentCommand != null) {
+									  setSelectionToViewer(mostRecentCommand.getAffectedObjects());
+								  }
+								  for (Iterator<PropertySheetPage> i = propertySheetPages.iterator(); i.hasNext(); ) {
+									  PropertySheetPage propertySheetPage = i.next();
+									  if (propertySheetPage.getControl().isDisposed()) {
+										  i.remove();
+									  }
+									  else {
+										  propertySheetPage.refresh();
+									  }
+								  }
+							  }
+						  });
+				 }
+			 });
+
+		// Create the editing domain with a special command stack.
+		//
+		editingDomain = new AdapterFactoryEditingDomain(adapterFactory, commandStack, new HashMap<Resource, Boolean>());
+	}
+
+	/**
+	 * This is here for the listener to be able to call it.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+			@Override
+	protected void firePropertyChange(int action) {
+		super.firePropertyChange(action);
+	}
+
+	/**
+	 * This sets the selection into whichever viewer is active.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSelectionToViewer(Collection<?> collection) {
+		final Collection<?> theSelection = collection;
+		// Make sure it's okay.
+		//
+		if (theSelection != null && !theSelection.isEmpty()) {
+			Runnable runnable =
+				new Runnable() {
+					public void run() {
+						// Try to select the items in the current content viewer of the editor.
+						//
+						if (currentViewer != null) {
+							currentViewer.setSelection(new StructuredSelection(theSelection.toArray()), true);
+						}
+					}
+				};
+			getSite().getShell().getDisplay().asyncExec(runnable);
+		}
+	}
+
+	/**
+	 * This returns the editing domain as required by the {@link IEditingDomainProvider} interface.
+	 * This is important for implementing the static methods of {@link AdapterFactoryEditingDomain}
+	 * and for supporting {@link org.eclipse.emf.edit.ui.action.CommandAction}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EditingDomain getEditingDomain() {
+		return editingDomain;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public class ReverseAdapterFactoryContentProvider extends AdapterFactoryContentProvider {
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public ReverseAdapterFactoryContentProvider(AdapterFactory adapterFactory) {
+			super(adapterFactory);
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		@Override
+		public Object [] getElements(Object object) {
+			Object parent = super.getParent(object);
+			return (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray();
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		@Override
+		public Object [] getChildren(Object object) {
+			Object parent = super.getParent(object);
+			return (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray();
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		@Override
+		public boolean hasChildren(Object object) {
+			Object parent = super.getParent(object);
+			return parent != null;
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		@Override
+		public Object getParent(Object object) {
+			return null;
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setCurrentViewerPane(ViewerPane viewerPane) {
+		if (currentViewerPane != viewerPane) {
+			if (currentViewerPane != null) {
+				currentViewerPane.showFocus(false);
+			}
+			currentViewerPane = viewerPane;
+		}
+		setCurrentViewer(currentViewerPane.getViewer());
+	}
+
+	/**
+	 * This makes sure that one content viewer, either for the current page or the outline view, if it has focus,
+	 * is the current one.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setCurrentViewer(Viewer viewer) {
+		// If it is changing...
+		//
+		if (currentViewer != viewer) {
+			if (selectionChangedListener == null) {
+				// Create the listener on demand.
+				//
+				selectionChangedListener =
+					new ISelectionChangedListener() {
+						// This just notifies those things that are affected by the section.
+						//
+						public void selectionChanged(SelectionChangedEvent selectionChangedEvent) {
+							setSelection(selectionChangedEvent.getSelection());
+						}
+					};
+			}
+
+			// Stop listening to the old one.
+			//
+			if (currentViewer != null) {
+				currentViewer.removeSelectionChangedListener(selectionChangedListener);
+			}
+
+			// Start listening to the new one.
+			//
+			if (viewer != null) {
+				viewer.addSelectionChangedListener(selectionChangedListener);
+			}
+
+			// Remember it.
+			//
+			currentViewer = viewer;
+
+			// Set the editors selection based on the current viewer's selection.
+			//
+			setSelection(currentViewer == null ? StructuredSelection.EMPTY : currentViewer.getSelection());
+		}
+	}
+
+	/**
+	 * This returns the viewer as required by the {@link IViewerProvider} interface.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Viewer getViewer() {
+		return currentViewer;
+	}
+
+	/**
+	 * This creates a context menu for the viewer and adds a listener as well registering the menu for extension.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void createContextMenuFor(StructuredViewer viewer) {
+		MenuManager contextMenu = new MenuManager("#PopUp");
+		contextMenu.add(new Separator("additions"));
+		contextMenu.setRemoveAllWhenShown(true);
+		contextMenu.addMenuListener(this);
+		Menu menu= contextMenu.createContextMenu(viewer.getControl());
+		viewer.getControl().setMenu(menu);
+		getSite().registerContextMenu(contextMenu, new UnwrappingSelectionProvider(viewer));
+
+		int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK;
+		Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance(), LocalSelectionTransfer.getTransfer(), FileTransfer.getInstance() };
+		viewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(viewer));
+		viewer.addDropSupport(dndOperations, transfers, new EditingDomainViewerDropAdapter(editingDomain, viewer));
+	}
+
+	/**
+	 * This is the method called to load a resource into the editing domain's resource set based on the editor's input.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createModel() {
+		URI resourceURI = EditUIUtil.getURI(getEditorInput(), editingDomain.getResourceSet().getURIConverter());
+		Exception exception = null;
+		Resource resource = null;
+		try {
+			// Load the resource through the editing domain.
+			//
+			resource = editingDomain.getResourceSet().getResource(resourceURI, true);
+		}
+		catch (Exception e) {
+			exception = e;
+			resource = editingDomain.getResourceSet().getResource(resourceURI, false);
+		}
+
+		Diagnostic diagnostic = analyzeResourceProblems(resource, exception);
+		if (diagnostic.getSeverity() != Diagnostic.OK) {
+			resourceToDiagnosticMap.put(resource,  analyzeResourceProblems(resource, exception));
+		}
+		editingDomain.getResourceSet().eAdapters().add(problemIndicationAdapter);
+	}
+
+	/**
+	 * Returns a diagnostic describing the errors and warnings listed in the resource
+	 * and the specified exception (if any).
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Diagnostic analyzeResourceProblems(Resource resource, Exception exception) {
+		boolean hasErrors = !resource.getErrors().isEmpty();
+		if (hasErrors || !resource.getWarnings().isEmpty()) {
+			BasicDiagnostic basicDiagnostic =
+				new BasicDiagnostic
+					(hasErrors ? Diagnostic.ERROR : Diagnostic.WARNING,
+					 "org.eclipse.osbp.ecview.extension.grid.model.editor",
+					 0,
+					 getString("_UI_CreateModelError_message", resource.getURI()),
+					 new Object [] { exception == null ? (Object)resource : exception });
+			basicDiagnostic.merge(EcoreUtil.computeDiagnostic(resource, true));
+			return basicDiagnostic;
+		}
+		else if (exception != null) {
+			return
+				new BasicDiagnostic
+					(Diagnostic.ERROR,
+					 "org.eclipse.osbp.ecview.extension.grid.model.editor",
+					 0,
+					 getString("_UI_CreateModelError_message", resource.getURI()),
+					 new Object[] { exception });
+		}
+		else {
+			return Diagnostic.OK_INSTANCE;
+		}
+	}
+
+	/**
+	 * This is the method used by the framework to install your own controls.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void createPages() {
+		// Creates the model from the editor input
+		//
+		createModel();
+
+		// Only creates the other pages if there is something that can be edited
+		//
+		if (!getEditingDomain().getResourceSet().getResources().isEmpty()) {
+			// Create a page for the selection tree view.
+			//
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), CxGridEditor.this) {
+						@Override
+						public Viewer createViewer(Composite composite) {
+							Tree tree = new Tree(composite, SWT.MULTI);
+							TreeViewer newTreeViewer = new TreeViewer(tree);
+							return newTreeViewer;
+						}
+						@Override
+						public void requestActivation() {
+							super.requestActivation();
+							setCurrentViewerPane(this);
+						}
+					};
+				viewerPane.createControl(getContainer());
+
+				selectionViewer = (TreeViewer)viewerPane.getViewer();
+				selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+
+				selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+				selectionViewer.setInput(editingDomain.getResourceSet());
+				selectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
+				viewerPane.setTitle(editingDomain.getResourceSet());
+
+				new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);
+
+				createContextMenuFor(selectionViewer);
+				int pageIndex = addPage(viewerPane.getControl());
+				setPageText(pageIndex, getString("_UI_SelectionPage_label"));
+			}
+
+			// Create a page for the parent tree view.
+			//
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), CxGridEditor.this) {
+						@Override
+						public Viewer createViewer(Composite composite) {
+							Tree tree = new Tree(composite, SWT.MULTI);
+							TreeViewer newTreeViewer = new TreeViewer(tree);
+							return newTreeViewer;
+						}
+						@Override
+						public void requestActivation() {
+							super.requestActivation();
+							setCurrentViewerPane(this);
+						}
+					};
+				viewerPane.createControl(getContainer());
+
+				parentViewer = (TreeViewer)viewerPane.getViewer();
+				parentViewer.setAutoExpandLevel(30);
+				parentViewer.setContentProvider(new ReverseAdapterFactoryContentProvider(adapterFactory));
+				parentViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+				createContextMenuFor(parentViewer);
+				int pageIndex = addPage(viewerPane.getControl());
+				setPageText(pageIndex, getString("_UI_ParentPage_label"));
+			}
+
+			// This is the page for the list viewer
+			//
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), CxGridEditor.this) {
+						@Override
+						public Viewer createViewer(Composite composite) {
+							return new ListViewer(composite);
+						}
+						@Override
+						public void requestActivation() {
+							super.requestActivation();
+							setCurrentViewerPane(this);
+						}
+					};
+				viewerPane.createControl(getContainer());
+				listViewer = (ListViewer)viewerPane.getViewer();
+				listViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+				listViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+				createContextMenuFor(listViewer);
+				int pageIndex = addPage(viewerPane.getControl());
+				setPageText(pageIndex, getString("_UI_ListPage_label"));
+			}
+
+			// This is the page for the tree viewer
+			//
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), CxGridEditor.this) {
+						@Override
+						public Viewer createViewer(Composite composite) {
+							return new TreeViewer(composite);
+						}
+						@Override
+						public void requestActivation() {
+							super.requestActivation();
+							setCurrentViewerPane(this);
+						}
+					};
+				viewerPane.createControl(getContainer());
+				treeViewer = (TreeViewer)viewerPane.getViewer();
+				treeViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+				treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+				new AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory);
+
+				createContextMenuFor(treeViewer);
+				int pageIndex = addPage(viewerPane.getControl());
+				setPageText(pageIndex, getString("_UI_TreePage_label"));
+			}
+
+			// This is the page for the table viewer.
+			//
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), CxGridEditor.this) {
+						@Override
+						public Viewer createViewer(Composite composite) {
+							return new TableViewer(composite);
+						}
+						@Override
+						public void requestActivation() {
+							super.requestActivation();
+							setCurrentViewerPane(this);
+						}
+					};
+				viewerPane.createControl(getContainer());
+				tableViewer = (TableViewer)viewerPane.getViewer();
+
+				Table table = tableViewer.getTable();
+				TableLayout layout = new TableLayout();
+				table.setLayout(layout);
+				table.setHeaderVisible(true);
+				table.setLinesVisible(true);
+
+				TableColumn objectColumn = new TableColumn(table, SWT.NONE);
+				layout.addColumnData(new ColumnWeightData(3, 100, true));
+				objectColumn.setText(getString("_UI_ObjectColumn_label"));
+				objectColumn.setResizable(true);
+
+				TableColumn selfColumn = new TableColumn(table, SWT.NONE);
+				layout.addColumnData(new ColumnWeightData(2, 100, true));
+				selfColumn.setText(getString("_UI_SelfColumn_label"));
+				selfColumn.setResizable(true);
+
+				tableViewer.setColumnProperties(new String [] {"a", "b"});
+				tableViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+				tableViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+				createContextMenuFor(tableViewer);
+				int pageIndex = addPage(viewerPane.getControl());
+				setPageText(pageIndex, getString("_UI_TablePage_label"));
+			}
+
+			// This is the page for the table tree viewer.
+			//
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), CxGridEditor.this) {
+						@Override
+						public Viewer createViewer(Composite composite) {
+							return new TreeViewer(composite);
+						}
+						@Override
+						public void requestActivation() {
+							super.requestActivation();
+							setCurrentViewerPane(this);
+						}
+					};
+				viewerPane.createControl(getContainer());
+
+				treeViewerWithColumns = (TreeViewer)viewerPane.getViewer();
+
+				Tree tree = treeViewerWithColumns.getTree();
+				tree.setLayoutData(new FillLayout());
+				tree.setHeaderVisible(true);
+				tree.setLinesVisible(true);
+
+				TreeColumn objectColumn = new TreeColumn(tree, SWT.NONE);
+				objectColumn.setText(getString("_UI_ObjectColumn_label"));
+				objectColumn.setResizable(true);
+				objectColumn.setWidth(250);
+
+				TreeColumn selfColumn = new TreeColumn(tree, SWT.NONE);
+				selfColumn.setText(getString("_UI_SelfColumn_label"));
+				selfColumn.setResizable(true);
+				selfColumn.setWidth(200);
+
+				treeViewerWithColumns.setColumnProperties(new String [] {"a", "b"});
+				treeViewerWithColumns.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+				treeViewerWithColumns.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+				createContextMenuFor(treeViewerWithColumns);
+				int pageIndex = addPage(viewerPane.getControl());
+				setPageText(pageIndex, getString("_UI_TreeWithColumnsPage_label"));
+			}
+
+			getSite().getShell().getDisplay().asyncExec
+				(new Runnable() {
+					 public void run() {
+						 setActivePage(0);
+					 }
+				 });
+		}
+
+		// Ensures that this editor will only display the page's tab
+		// area if there are more than one page
+		//
+		getContainer().addControlListener
+			(new ControlAdapter() {
+				boolean guard = false;
+				@Override
+				public void controlResized(ControlEvent event) {
+					if (!guard) {
+						guard = true;
+						hideTabs();
+						guard = false;
+					}
+				}
+			 });
+
+		getSite().getShell().getDisplay().asyncExec
+			(new Runnable() {
+				 public void run() {
+					 updateProblemIndication();
+				 }
+			 });
+	}
+
+	/**
+	 * If there is just one page in the multi-page editor part,
+	 * this hides the single tab at the bottom.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void hideTabs() {
+		if (getPageCount() <= 1) {
+			setPageText(0, "");
+			if (getContainer() instanceof CTabFolder) {
+				((CTabFolder)getContainer()).setTabHeight(1);
+				Point point = getContainer().getSize();
+				getContainer().setSize(point.x, point.y + 6);
+			}
+		}
+	}
+
+	/**
+	 * If there is more than one page in the multi-page editor part,
+	 * this shows the tabs at the bottom.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void showTabs() {
+		if (getPageCount() > 1) {
+			setPageText(0, getString("_UI_SelectionPage_label"));
+			if (getContainer() instanceof CTabFolder) {
+				((CTabFolder)getContainer()).setTabHeight(SWT.DEFAULT);
+				Point point = getContainer().getSize();
+				getContainer().setSize(point.x, point.y - 6);
+			}
+		}
+	}
+
+	/**
+	 * This is used to track the active viewer.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void pageChange(int pageIndex) {
+		super.pageChange(pageIndex);
+
+		if (contentOutlinePage != null) {
+			handleContentOutlineSelection(contentOutlinePage.getSelection());
+		}
+	}
+
+	/**
+	 * This is how the framework determines which interfaces we implement.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("rawtypes")
+	@Override
+	public Object getAdapter(Class key) {
+		if (key.equals(IContentOutlinePage.class)) {
+			return showOutlineView() ? getContentOutlinePage() : null;
+		}
+		else if (key.equals(IPropertySheetPage.class)) {
+			return getPropertySheetPage();
+		}
+		else if (key.equals(IGotoMarker.class)) {
+			return this;
+		}
+		else {
+			return super.getAdapter(key);
+		}
+	}
+
+	/**
+	 * This accesses a cached version of the content outliner.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IContentOutlinePage getContentOutlinePage() {
+		if (contentOutlinePage == null) {
+			// The content outline is just a tree.
+			//
+			class MyContentOutlinePage extends ContentOutlinePage {
+				@Override
+				public void createControl(Composite parent) {
+					super.createControl(parent);
+					contentOutlineViewer = getTreeViewer();
+					contentOutlineViewer.addSelectionChangedListener(this);
+
+					// Set up the tree viewer.
+					//
+					contentOutlineViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+					contentOutlineViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+					contentOutlineViewer.setInput(editingDomain.getResourceSet());
+
+					// Make sure our popups work.
+					//
+					createContextMenuFor(contentOutlineViewer);
+
+					if (!editingDomain.getResourceSet().getResources().isEmpty()) {
+					  // Select the root object in the view.
+					  //
+					  contentOutlineViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
+					}
+				}
+
+				@Override
+				public void makeContributions(IMenuManager menuManager, IToolBarManager toolBarManager, IStatusLineManager statusLineManager) {
+					super.makeContributions(menuManager, toolBarManager, statusLineManager);
+					contentOutlineStatusLineManager = statusLineManager;
+				}
+
+				@Override
+				public void setActionBars(IActionBars actionBars) {
+					super.setActionBars(actionBars);
+					getActionBarContributor().shareGlobalActions(this, actionBars);
+				}
+			}
+
+			contentOutlinePage = new MyContentOutlinePage();
+
+			// Listen to selection so that we can handle it is a special way.
+			//
+			contentOutlinePage.addSelectionChangedListener
+				(new ISelectionChangedListener() {
+					 // This ensures that we handle selections correctly.
+					 //
+					 public void selectionChanged(SelectionChangedEvent event) {
+						 handleContentOutlineSelection(event.getSelection());
+					 }
+				 });
+		}
+
+		return contentOutlinePage;
+	}
+
+	/**
+	 * This accesses a cached version of the property sheet.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IPropertySheetPage getPropertySheetPage() {
+		PropertySheetPage propertySheetPage =
+			new ExtendedPropertySheetPage(editingDomain) {
+				@Override
+				public void setSelectionToViewer(List<?> selection) {
+					CxGridEditor.this.setSelectionToViewer(selection);
+					CxGridEditor.this.setFocus();
+				}
+
+				@Override
+				public void setActionBars(IActionBars actionBars) {
+					super.setActionBars(actionBars);
+					getActionBarContributor().shareGlobalActions(this, actionBars);
+				}
+			};
+		propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory));
+		propertySheetPages.add(propertySheetPage);
+
+		return propertySheetPage;
+	}
+
+	/**
+	 * This deals with how we want selection in the outliner to affect the other views.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void handleContentOutlineSelection(ISelection selection) {
+		if (currentViewerPane != null && !selection.isEmpty() && selection instanceof IStructuredSelection) {
+			Iterator<?> selectedElements = ((IStructuredSelection)selection).iterator();
+			if (selectedElements.hasNext()) {
+				// Get the first selected element.
+				//
+				Object selectedElement = selectedElements.next();
+
+				// If it's the selection viewer, then we want it to select the same selection as this selection.
+				//
+				if (currentViewerPane.getViewer() == selectionViewer) {
+					ArrayList<Object> selectionList = new ArrayList<Object>();
+					selectionList.add(selectedElement);
+					while (selectedElements.hasNext()) {
+						selectionList.add(selectedElements.next());
+					}
+
+					// Set the selection to the widget.
+					//
+					selectionViewer.setSelection(new StructuredSelection(selectionList));
+				}
+				else {
+					// Set the input to the widget.
+					//
+					if (currentViewerPane.getViewer().getInput() != selectedElement) {
+						currentViewerPane.getViewer().setInput(selectedElement);
+						currentViewerPane.setTitle(selectedElement);
+					}
+				}
+			}
+		}
+	}
+
+	/**
+	 * This is for implementing {@link IEditorPart} and simply tests the command stack.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isDirty() {
+		return ((BasicCommandStack)editingDomain.getCommandStack()).isSaveNeeded();
+	}
+
+	/**
+	 * This is for implementing {@link IEditorPart} and simply saves the model file.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void doSave(IProgressMonitor progressMonitor) {
+		// Save only resources that have actually changed.
+		//
+		final Map<Object, Object> saveOptions = new HashMap<Object, Object>();
+		saveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED, Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER);
+		saveOptions.put(Resource.OPTION_LINE_DELIMITER, Resource.OPTION_LINE_DELIMITER_UNSPECIFIED);
+
+		// Do the work within an operation because this is a long running activity that modifies the workbench.
+		//
+		WorkspaceModifyOperation operation =
+			new WorkspaceModifyOperation() {
+				// This is the method that gets invoked when the operation runs.
+				//
+				@Override
+				public void execute(IProgressMonitor monitor) {
+					// Save the resources to the file system.
+					//
+					boolean first = true;
+					for (Resource resource : editingDomain.getResourceSet().getResources()) {
+						if ((first || !resource.getContents().isEmpty() || isPersisted(resource)) && !editingDomain.isReadOnly(resource)) {
+							try {
+								long timeStamp = resource.getTimeStamp();
+								resource.save(saveOptions);
+								if (resource.getTimeStamp() != timeStamp) {
+									savedResources.add(resource);
+								}
+							}
+							catch (Exception exception) {
+								resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));
+							}
+							first = false;
+						}
+					}
+				}
+			};
+
+		updateProblemIndication = false;
+		try {
+			// This runs the options, and shows progress.
+			//
+			new ProgressMonitorDialog(getSite().getShell()).run(true, false, operation);
+
+			// Refresh the necessary state.
+			//
+			((BasicCommandStack)editingDomain.getCommandStack()).saveIsDone();
+			firePropertyChange(IEditorPart.PROP_DIRTY);
+		}
+		catch (Exception exception) {
+			// Something went wrong that shouldn't.
+			//
+			cxecviewEditorPlugin.INSTANCE.log(exception);
+		}
+		updateProblemIndication = true;
+		updateProblemIndication();
+	}
+
+	/**
+	 * This returns whether something has been persisted to the URI of the specified resource.
+	 * The implementation uses the URI converter from the editor's resource set to try to open an input stream.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected boolean isPersisted(Resource resource) {
+		boolean result = false;
+		try {
+			InputStream stream = editingDomain.getResourceSet().getURIConverter().createInputStream(resource.getURI());
+			if (stream != null) {
+				result = true;
+				stream.close();
+			}
+		}
+		catch (IOException e) {
+			// Ignore
+		}
+		return result;
+	}
+
+	/**
+	 * This always returns true because it is not currently supported.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isSaveAsAllowed() {
+		return true;
+	}
+
+	/**
+	 * This also changes the editor's input.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void doSaveAs() {
+		SaveAsDialog saveAsDialog = new SaveAsDialog(getSite().getShell());
+		saveAsDialog.open();
+		IPath path = saveAsDialog.getResult();
+		if (path != null) {
+			IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
+			if (file != null) {
+				doSaveAs(URI.createPlatformResourceURI(file.getFullPath().toString(), true), new FileEditorInput(file));
+			}
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void doSaveAs(URI uri, IEditorInput editorInput) {
+		(editingDomain.getResourceSet().getResources().get(0)).setURI(uri);
+		setInputWithNotify(editorInput);
+		setPartName(editorInput.getName());
+		IProgressMonitor progressMonitor =
+			getActionBars().getStatusLineManager() != null ?
+				getActionBars().getStatusLineManager().getProgressMonitor() :
+				new NullProgressMonitor();
+		doSave(progressMonitor);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void gotoMarker(IMarker marker) {
+		List<?> targetObjects = markerHelper.getTargetObjects(editingDomain, marker);
+		if (!targetObjects.isEmpty()) {
+			setSelectionToViewer(targetObjects);
+		}
+	}
+
+	/**
+	 * This is called during startup.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void init(IEditorSite site, IEditorInput editorInput) {
+		setSite(site);
+		setInputWithNotify(editorInput);
+		setPartName(editorInput.getName());
+		site.setSelectionProvider(this);
+		site.getPage().addPartListener(partListener);
+		ResourcesPlugin.getWorkspace().addResourceChangeListener(resourceChangeListener, IResourceChangeEvent.POST_CHANGE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setFocus() {
+		if (currentViewerPane != null) {
+			currentViewerPane.setFocus();
+		}
+		else {
+			getControl(getActivePage()).setFocus();
+		}
+	}
+
+	/**
+	 * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void addSelectionChangedListener(ISelectionChangedListener listener) {
+		selectionChangedListeners.add(listener);
+	}
+
+	/**
+	 * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void removeSelectionChangedListener(ISelectionChangedListener listener) {
+		selectionChangedListeners.remove(listener);
+	}
+
+	/**
+	 * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to return this editor's overall selection.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ISelection getSelection() {
+		return editorSelection;
+	}
+
+	/**
+	 * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to set this editor's overall selection.
+	 * Calling this result will notify the listeners.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSelection(ISelection selection) {
+		editorSelection = selection;
+
+		for (ISelectionChangedListener listener : selectionChangedListeners) {
+			listener.selectionChanged(new SelectionChangedEvent(this, selection));
+		}
+		setStatusLineManager(selection);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setStatusLineManager(ISelection selection) {
+		IStatusLineManager statusLineManager = currentViewer != null && currentViewer == contentOutlineViewer ?
+			contentOutlineStatusLineManager : getActionBars().getStatusLineManager();
+
+		if (statusLineManager != null) {
+			if (selection instanceof IStructuredSelection) {
+				Collection<?> collection = ((IStructuredSelection)selection).toList();
+				switch (collection.size()) {
+					case 0: {
+						statusLineManager.setMessage(getString("_UI_NoObjectSelected"));
+						break;
+					}
+					case 1: {
+						String text = new AdapterFactoryItemDelegator(adapterFactory).getText(collection.iterator().next());
+						statusLineManager.setMessage(getString("_UI_SingleObjectSelected", text));
+						break;
+					}
+					default: {
+						statusLineManager.setMessage(getString("_UI_MultiObjectSelected", Integer.toString(collection.size())));
+						break;
+					}
+				}
+			}
+			else {
+				statusLineManager.setMessage("");
+			}
+		}
+	}
+
+	/**
+	 * This looks up a string in the plugin's plugin.properties file.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static String getString(String key) {
+		return cxecviewEditorPlugin.INSTANCE.getString(key);
+	}
+
+	/**
+	 * This looks up a string in plugin.properties, making a substitution.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static String getString(String key, Object s1) {
+		return cxecviewEditorPlugin.INSTANCE.getString(key, new Object [] { s1 });
+	}
+
+	/**
+	 * This implements {@link org.eclipse.jface.action.IMenuListener} to help fill the context menus with contributions from the Edit menu.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void menuAboutToShow(IMenuManager menuManager) {
+		((IMenuListener)getEditorSite().getActionBarContributor()).menuAboutToShow(menuManager);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EditingDomainActionBarContributor getActionBarContributor() {
+		return (EditingDomainActionBarContributor)getEditorSite().getActionBarContributor();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IActionBars getActionBars() {
+		return getActionBarContributor().getActionBars();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AdapterFactory getAdapterFactory() {
+		return adapterFactory;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void dispose() {
+		updateProblemIndication = false;
+
+		ResourcesPlugin.getWorkspace().removeResourceChangeListener(resourceChangeListener);
+
+		getSite().getPage().removePartListener(partListener);
+
+		adapterFactory.dispose();
+
+		if (getActionBarContributor().getActiveEditor() == this) {
+			getActionBarContributor().setActiveEditor(null);
+		}
+
+		for (PropertySheetPage propertySheetPage : propertySheetPages) {
+			propertySheetPage.dispose();
+		}
+
+		if (contentOutlinePage != null) {
+			contentOutlinePage.dispose();
+		}
+
+		super.dispose();
+	}
+
+	/**
+	 * Returns whether the outline view should be presented to the user.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected boolean showOutlineView() {
+		return true;
+	}
+}
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.editor/src/org/eclipse/osbp/ecview/extension/grid/presentation/CxGridModelWizard.java b/org.eclipse.osbp.ecview.extension.grid.model.editor/src/org/eclipse/osbp/ecview/extension/grid/presentation/CxGridModelWizard.java
new file mode 100644
index 0000000..5bc5631
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.editor/src/org/eclipse/osbp/ecview/extension/grid/presentation/CxGridModelWizard.java
@@ -0,0 +1,628 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.presentation;
+
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.MissingResourceException;
+import java.util.StringTokenizer;
+
+import org.eclipse.emf.common.CommonPlugin;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+import org.eclipse.emf.edit.ui.provider.ExtendedImageRegistry;
+
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+
+import org.eclipse.jface.dialogs.MessageDialog;
+
+import org.eclipse.jface.viewers.IStructuredSelection;
+
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.jface.wizard.WizardPage;
+
+import org.eclipse.swt.SWT;
+
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.ModifyEvent;
+
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+
+import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
+
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.part.ISetSelectionTarget;
+
+import org.eclipse.osbp.ecview.extension.grid.CxGridFactory;
+import org.eclipse.osbp.ecview.extension.grid.CxGridPackage;
+import org.eclipse.osbp.ecview.extension.grid.provider.CxGridEditPlugin;
+
+
+import org.eclipse.core.runtime.Path;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PartInitException;
+
+
+/**
+ * This is a simple wizard for creating a new model file.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridModelWizard extends Wizard implements INewWizard {
+	/**
+	 * The supported extensions for created files.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<String> FILE_EXTENSIONS =
+		Collections.unmodifiableList(Arrays.asList(cxecviewEditorPlugin.INSTANCE.getString("_UI_CxGridEditorFilenameExtensions").split("\\s*,\\s*")));
+
+	/**
+	 * A formatted list of supported file extensions, suitable for display.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String FORMATTED_FILE_EXTENSIONS =
+		cxecviewEditorPlugin.INSTANCE.getString("_UI_CxGridEditorFilenameExtensions").replaceAll("\\s*,\\s*", ", ");
+
+	/**
+	 * This caches an instance of the model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridPackage cxGridPackage = CxGridPackage.eINSTANCE;
+
+	/**
+	 * This caches an instance of the model factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridFactory cxGridFactory = cxGridPackage.getCxGridFactory();
+
+	/**
+	 * This is the file creation page.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridModelWizardNewFileCreationPage newFileCreationPage;
+
+	/**
+	 * This is the initial object creation page.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridModelWizardInitialObjectCreationPage initialObjectCreationPage;
+
+	/**
+	 * Remember the selection during initialization for populating the default container.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IStructuredSelection selection;
+
+	/**
+	 * Remember the workbench during initialization.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IWorkbench workbench;
+
+	/**
+	 * Caches the names of the types that can be created as the root object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected List<String> initialObjectNames;
+
+	/**
+	 * This just records the information.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void init(IWorkbench workbench, IStructuredSelection selection) {
+		this.workbench = workbench;
+		this.selection = selection;
+		setWindowTitle(cxecviewEditorPlugin.INSTANCE.getString("_UI_Wizard_label"));
+		setDefaultPageImageDescriptor(ExtendedImageRegistry.INSTANCE.getImageDescriptor(cxecviewEditorPlugin.INSTANCE.getImage("full/wizban/NewCxGrid")));
+	}
+
+	/**
+	 * Returns the names of the types that can be created as the root object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<String> getInitialObjectNames() {
+		if (initialObjectNames == null) {
+			initialObjectNames = new ArrayList<String>();
+			for (EClassifier eClassifier : cxGridPackage.getEClassifiers()) {
+				if (eClassifier instanceof EClass) {
+					EClass eClass = (EClass)eClassifier;
+					if (!eClass.isAbstract()) {
+						initialObjectNames.add(eClass.getName());
+					}
+				}
+			}
+			Collections.sort(initialObjectNames, CommonPlugin.INSTANCE.getComparator());
+		}
+		return initialObjectNames;
+	}
+
+	/**
+	 * Create a new model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EObject createInitialModel() {
+		EClass eClass = (EClass)cxGridPackage.getEClassifier(initialObjectCreationPage.getInitialObjectName());
+		EObject rootObject = cxGridFactory.create(eClass);
+		return rootObject;
+	}
+
+	/**
+	 * Do the work after everything is specified.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean performFinish() {
+		try {
+			// Remember the file.
+			//
+			final IFile modelFile = getModelFile();
+
+			// Do the work within an operation.
+			//
+			WorkspaceModifyOperation operation =
+				new WorkspaceModifyOperation() {
+					@Override
+					protected void execute(IProgressMonitor progressMonitor) {
+						try {
+							// Create a resource set
+							//
+							ResourceSet resourceSet = new ResourceSetImpl();
+
+							// Get the URI of the model file.
+							//
+							URI fileURI = URI.createPlatformResourceURI(modelFile.getFullPath().toString(), true);
+
+							// Create a resource for this file.
+							//
+							Resource resource = resourceSet.createResource(fileURI);
+
+							// Add the initial model object to the contents.
+							//
+							EObject rootObject = createInitialModel();
+							if (rootObject != null) {
+								resource.getContents().add(rootObject);
+							}
+
+							// Save the contents of the resource to the file system.
+							//
+							Map<Object, Object> options = new HashMap<Object, Object>();
+							options.put(XMLResource.OPTION_ENCODING, initialObjectCreationPage.getEncoding());
+							resource.save(options);
+						}
+						catch (Exception exception) {
+							cxecviewEditorPlugin.INSTANCE.log(exception);
+						}
+						finally {
+							progressMonitor.done();
+						}
+					}
+				};
+
+			getContainer().run(false, false, operation);
+
+			// Select the new file resource in the current view.
+			//
+			IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
+			IWorkbenchPage page = workbenchWindow.getActivePage();
+			final IWorkbenchPart activePart = page.getActivePart();
+			if (activePart instanceof ISetSelectionTarget) {
+				final ISelection targetSelection = new StructuredSelection(modelFile);
+				getShell().getDisplay().asyncExec
+					(new Runnable() {
+						 public void run() {
+							 ((ISetSelectionTarget)activePart).selectReveal(targetSelection);
+						 }
+					 });
+			}
+
+			// Open an editor on the new file.
+			//
+			try {
+				page.openEditor
+					(new FileEditorInput(modelFile),
+					 workbench.getEditorRegistry().getDefaultEditor(modelFile.getFullPath().toString()).getId());					 	 
+			}
+			catch (PartInitException exception) {
+				MessageDialog.openError(workbenchWindow.getShell(), cxecviewEditorPlugin.INSTANCE.getString("_UI_OpenEditorError_label"), exception.getMessage());
+				return false;
+			}
+
+			return true;
+		}
+		catch (Exception exception) {
+			cxecviewEditorPlugin.INSTANCE.log(exception);
+			return false;
+		}
+	}
+
+	/**
+	 * This is the one page of the wizard.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public class CxGridModelWizardNewFileCreationPage extends WizardNewFileCreationPage {
+		/**
+		 * Pass in the selection.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public CxGridModelWizardNewFileCreationPage(String pageId, IStructuredSelection selection) {
+			super(pageId, selection);
+		}
+
+		/**
+		 * The framework calls this to see if the file is correct.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		@Override
+		protected boolean validatePage() {
+			if (super.validatePage()) {
+				String extension = new Path(getFileName()).getFileExtension();
+				if (extension == null || !FILE_EXTENSIONS.contains(extension)) {
+					String key = FILE_EXTENSIONS.size() > 1 ? "_WARN_FilenameExtensions" : "_WARN_FilenameExtension";
+					setErrorMessage(cxecviewEditorPlugin.INSTANCE.getString(key, new Object [] { FORMATTED_FILE_EXTENSIONS }));
+					return false;
+				}
+				return true;
+			}
+			return false;
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public IFile getModelFile() {
+			return ResourcesPlugin.getWorkspace().getRoot().getFile(getContainerFullPath().append(getFileName()));
+		}
+	}
+
+	/**
+	 * This is the page where the type of object to create is selected.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public class CxGridModelWizardInitialObjectCreationPage extends WizardPage {
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected Combo initialObjectField;
+
+		/**
+		 * @generated
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 */
+		protected List<String> encodings;
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected Combo encodingField;
+
+		/**
+		 * Pass in the selection.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public CxGridModelWizardInitialObjectCreationPage(String pageId) {
+			super(pageId);
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public void createControl(Composite parent) {
+			Composite composite = new Composite(parent, SWT.NONE);
+			{
+				GridLayout layout = new GridLayout();
+				layout.numColumns = 1;
+				layout.verticalSpacing = 12;
+				composite.setLayout(layout);
+
+				GridData data = new GridData();
+				data.verticalAlignment = GridData.FILL;
+				data.grabExcessVerticalSpace = true;
+				data.horizontalAlignment = GridData.FILL;
+				composite.setLayoutData(data);
+			}
+
+			Label containerLabel = new Label(composite, SWT.LEFT);
+			{
+				containerLabel.setText(cxecviewEditorPlugin.INSTANCE.getString("_UI_ModelObject"));
+
+				GridData data = new GridData();
+				data.horizontalAlignment = GridData.FILL;
+				containerLabel.setLayoutData(data);
+			}
+
+			initialObjectField = new Combo(composite, SWT.BORDER);
+			{
+				GridData data = new GridData();
+				data.horizontalAlignment = GridData.FILL;
+				data.grabExcessHorizontalSpace = true;
+				initialObjectField.setLayoutData(data);
+			}
+
+			for (String objectName : getInitialObjectNames()) {
+				initialObjectField.add(getLabel(objectName));
+			}
+
+			if (initialObjectField.getItemCount() == 1) {
+				initialObjectField.select(0);
+			}
+			initialObjectField.addModifyListener(validator);
+
+			Label encodingLabel = new Label(composite, SWT.LEFT);
+			{
+				encodingLabel.setText(cxecviewEditorPlugin.INSTANCE.getString("_UI_XMLEncoding"));
+
+				GridData data = new GridData();
+				data.horizontalAlignment = GridData.FILL;
+				encodingLabel.setLayoutData(data);
+			}
+			encodingField = new Combo(composite, SWT.BORDER);
+			{
+				GridData data = new GridData();
+				data.horizontalAlignment = GridData.FILL;
+				data.grabExcessHorizontalSpace = true;
+				encodingField.setLayoutData(data);
+			}
+
+			for (String encoding : getEncodings()) {
+				encodingField.add(encoding);
+			}
+
+			encodingField.select(0);
+			encodingField.addModifyListener(validator);
+
+			setPageComplete(validatePage());
+			setControl(composite);
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected ModifyListener validator =
+			new ModifyListener() {
+				public void modifyText(ModifyEvent e) {
+					setPageComplete(validatePage());
+				}
+			};
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected boolean validatePage() {
+			return getInitialObjectName() != null && getEncodings().contains(encodingField.getText());
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		@Override
+		public void setVisible(boolean visible) {
+			super.setVisible(visible);
+			if (visible) {
+				if (initialObjectField.getItemCount() == 1) {
+					initialObjectField.clearSelection();
+					encodingField.setFocus();
+				}
+				else {
+					encodingField.clearSelection();
+					initialObjectField.setFocus();
+				}
+			}
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public String getInitialObjectName() {
+			String label = initialObjectField.getText();
+
+			for (String name : getInitialObjectNames()) {
+				if (getLabel(name).equals(label)) {
+					return name;
+				}
+			}
+			return null;
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public String getEncoding() {
+			return encodingField.getText();
+		}
+
+		/**
+		 * Returns the label for the specified type name.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected String getLabel(String typeName) {
+			try {
+				return CxGridEditPlugin.INSTANCE.getString("_UI_" + typeName + "_type");
+			}
+			catch(MissingResourceException mre) {
+				cxecviewEditorPlugin.INSTANCE.log(mre);
+			}
+			return typeName;
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected Collection<String> getEncodings() {
+			if (encodings == null) {
+				encodings = new ArrayList<String>();
+				for (StringTokenizer stringTokenizer = new StringTokenizer(cxecviewEditorPlugin.INSTANCE.getString("_UI_XMLEncodingChoices")); stringTokenizer.hasMoreTokens(); ) {
+					encodings.add(stringTokenizer.nextToken());
+				}
+			}
+			return encodings;
+		}
+	}
+
+	/**
+	 * The framework calls this to create the contents of the wizard.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+		@Override
+	public void addPages() {
+		// Create a page, set the title, and the initial model file name.
+		//
+		newFileCreationPage = new CxGridModelWizardNewFileCreationPage("Whatever", selection);
+		newFileCreationPage.setTitle(cxecviewEditorPlugin.INSTANCE.getString("_UI_CxGridModelWizard_label"));
+		newFileCreationPage.setDescription(cxecviewEditorPlugin.INSTANCE.getString("_UI_CxGridModelWizard_description"));
+		newFileCreationPage.setFileName(cxecviewEditorPlugin.INSTANCE.getString("_UI_CxGridEditorFilenameDefaultBase") + "." + FILE_EXTENSIONS.get(0));
+		addPage(newFileCreationPage);
+
+		// Try and get the resource selection to determine a current directory for the file dialog.
+		//
+		if (selection != null && !selection.isEmpty()) {
+			// Get the resource...
+			//
+			Object selectedElement = selection.iterator().next();
+			if (selectedElement instanceof IResource) {
+				// Get the resource parent, if its a file.
+				//
+				IResource selectedResource = (IResource)selectedElement;
+				if (selectedResource.getType() == IResource.FILE) {
+					selectedResource = selectedResource.getParent();
+				}
+
+				// This gives us a directory...
+				//
+				if (selectedResource instanceof IFolder || selectedResource instanceof IProject) {
+					// Set this for the container.
+					//
+					newFileCreationPage.setContainerFullPath(selectedResource.getFullPath());
+
+					// Make up a unique new name here.
+					//
+					String defaultModelBaseFilename = cxecviewEditorPlugin.INSTANCE.getString("_UI_CxGridEditorFilenameDefaultBase");
+					String defaultModelFilenameExtension = FILE_EXTENSIONS.get(0);
+					String modelFilename = defaultModelBaseFilename + "." + defaultModelFilenameExtension;
+					for (int i = 1; ((IContainer)selectedResource).findMember(modelFilename) != null; ++i) {
+						modelFilename = defaultModelBaseFilename + i + "." + defaultModelFilenameExtension;
+					}
+					newFileCreationPage.setFileName(modelFilename);
+				}
+			}
+		}
+		initialObjectCreationPage = new CxGridModelWizardInitialObjectCreationPage("Whatever2");
+		initialObjectCreationPage.setTitle(cxecviewEditorPlugin.INSTANCE.getString("_UI_CxGridModelWizard_label"));
+		initialObjectCreationPage.setDescription(cxecviewEditorPlugin.INSTANCE.getString("_UI_Wizard_initial_object_description"));
+		addPage(initialObjectCreationPage);
+	}
+
+	/**
+	 * Get the file from the page.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IFile getModelFile() {
+		return newFileCreationPage.getModelFile();
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.editor/src/org/eclipse/osbp/ecview/extension/grid/presentation/cxecviewEditorPlugin.java b/org.eclipse.osbp.ecview.extension.grid.model.editor/src/org/eclipse/osbp/ecview/extension/grid/presentation/cxecviewEditorPlugin.java
new file mode 100644
index 0000000..8ce7a6e
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.editor/src/org/eclipse/osbp/ecview/extension/grid/presentation/cxecviewEditorPlugin.java
@@ -0,0 +1,97 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.presentation;
+
+import org.eclipse.emf.common.EMFPlugin;
+
+import org.eclipse.emf.common.ui.EclipseUIPlugin;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.osbp.ecview.core.common.model.binding.provider.ECViewCoreEditPlugin;
+
+import org.eclipse.osbp.ecview.core.extension.model.datatypes.provider.ExtensionEditPlugin;
+
+/**
+ * This is the central singleton for the CxGrid editor plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class cxecviewEditorPlugin extends EMFPlugin {
+	/**
+	 * Keep track of the singleton.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final cxecviewEditorPlugin INSTANCE = new cxecviewEditorPlugin();
+	
+	/**
+	 * Keep track of the singleton.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static Implementation plugin;
+
+	/**
+	 * Create the instance.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public cxecviewEditorPlugin() {
+		super
+			(new ResourceLocator [] {
+				ECViewCoreEditPlugin.INSTANCE,
+				ExtensionEditPlugin.INSTANCE,
+			});
+	}
+
+	/**
+	 * Returns the singleton instance of the Eclipse plugin.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the singleton instance.
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getPluginResourceLocator() {
+		return plugin;
+	}
+	
+	/**
+	 * Returns the singleton instance of the Eclipse plugin.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the singleton instance.
+	 * @generated
+	 */
+	public static Implementation getPlugin() {
+		return plugin;
+	}
+	
+	/**
+	 * The actual implementation of the Eclipse <b>Plugin</b>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static class Implementation extends EclipseUIPlugin {
+		/**
+		 * Creates an instance.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public Implementation() {
+			super();
+	
+			// Remember the static instance.
+			//
+			plugin = this;
+		}
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.editor/src/org/eclipse/osbp/ecview/extension/grid/renderer/presentation/CxGridRendererActionBarContributor.java b/org.eclipse.osbp.ecview.extension.grid.model.editor/src/org/eclipse/osbp/ecview/extension/grid/renderer/presentation/CxGridRendererActionBarContributor.java
new file mode 100644
index 0000000..a4dd04c
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.editor/src/org/eclipse/osbp/ecview/extension/grid/renderer/presentation/CxGridRendererActionBarContributor.java
@@ -0,0 +1,425 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.renderer.presentation;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.ui.viewer.IViewerProvider;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+
+import org.eclipse.emf.edit.ui.action.ControlAction;
+import org.eclipse.emf.edit.ui.action.CreateChildAction;
+import org.eclipse.emf.edit.ui.action.CreateSiblingAction;
+import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
+import org.eclipse.emf.edit.ui.action.LoadResourceAction;
+import org.eclipse.emf.edit.ui.action.ValidateAction;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.ActionContributionItem;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IContributionItem;
+import org.eclipse.jface.action.IContributionManager;
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.action.SubContributionItem;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.Viewer;
+
+import org.eclipse.osbp.ecview.extension.grid.presentation.cxecviewEditorPlugin;
+
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.PartInitException;
+
+/**
+ * This is the action bar contributor for the CxGridRenderer model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridRendererActionBarContributor
+	extends EditingDomainActionBarContributor
+	implements ISelectionChangedListener {
+	/**
+	 * This keeps track of the active editor.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IEditorPart activeEditorPart;
+
+	/**
+	 * This keeps track of the current selection provider.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ISelectionProvider selectionProvider;
+
+	/**
+	 * This action opens the Properties view.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IAction showPropertiesViewAction =
+		new Action(cxecviewEditorPlugin.INSTANCE.getString("_UI_ShowPropertiesView_menu_item")) {
+			@Override
+			public void run() {
+				try {
+					getPage().showView("org.eclipse.ui.views.PropertySheet");
+				}
+				catch (PartInitException exception) {
+					cxecviewEditorPlugin.INSTANCE.log(exception);
+				}
+			}
+		};
+
+	/**
+	 * This action refreshes the viewer of the current editor if the editor
+	 * implements {@link org.eclipse.emf.common.ui.viewer.IViewerProvider}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IAction refreshViewerAction =
+		new Action(cxecviewEditorPlugin.INSTANCE.getString("_UI_RefreshViewer_menu_item")) {
+			@Override
+			public boolean isEnabled() {
+				return activeEditorPart instanceof IViewerProvider;
+			}
+
+			@Override
+			public void run() {
+				if (activeEditorPart instanceof IViewerProvider) {
+					Viewer viewer = ((IViewerProvider)activeEditorPart).getViewer();
+					if (viewer != null) {
+						viewer.refresh();
+					}
+				}
+			}
+		};
+
+	/**
+	 * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateChildAction} corresponding to each descriptor
+	 * generated for the current selection by the item provider.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<IAction> createChildActions;
+
+	/**
+	 * This is the menu manager into which menu contribution items should be added for CreateChild actions.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IMenuManager createChildMenuManager;
+
+	/**
+	 * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} corresponding to each descriptor
+	 * generated for the current selection by the item provider.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<IAction> createSiblingActions;
+
+	/**
+	 * This is the menu manager into which menu contribution items should be added for CreateSibling actions.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IMenuManager createSiblingMenuManager;
+
+	/**
+	 * This creates an instance of the contributor.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridRendererActionBarContributor() {
+		super(ADDITIONS_LAST_STYLE);
+		loadResourceAction = new LoadResourceAction();
+		validateAction = new ValidateAction();
+		controlAction = new ControlAction();
+	}
+
+	/**
+	 * This adds Separators for editor additions to the tool bar.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void contributeToToolBar(IToolBarManager toolBarManager) {
+		toolBarManager.add(new Separator("cxgridrenderer-settings"));
+		toolBarManager.add(new Separator("cxgridrenderer-additions"));
+	}
+
+	/**
+	 * This adds to the menu bar a menu and some separators for editor additions,
+	 * as well as the sub-menus for object creation items.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void contributeToMenu(IMenuManager menuManager) {
+		super.contributeToMenu(menuManager);
+
+		IMenuManager submenuManager = new MenuManager(cxecviewEditorPlugin.INSTANCE.getString("_UI_CxGridRendererEditor_menu"), "org.eclipse.osbp.ecview.extension.grid.rendererMenuID");
+		menuManager.insertAfter("additions", submenuManager);
+		submenuManager.add(new Separator("settings"));
+		submenuManager.add(new Separator("actions"));
+		submenuManager.add(new Separator("additions"));
+		submenuManager.add(new Separator("additions-end"));
+
+		// Prepare for CreateChild item addition or removal.
+		//
+		createChildMenuManager = new MenuManager(cxecviewEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item"));
+		submenuManager.insertBefore("additions", createChildMenuManager);
+
+		// Prepare for CreateSibling item addition or removal.
+		//
+		createSiblingMenuManager = new MenuManager(cxecviewEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item"));
+		submenuManager.insertBefore("additions", createSiblingMenuManager);
+
+		// Force an update because Eclipse hides empty menus now.
+		//
+		submenuManager.addMenuListener
+			(new IMenuListener() {
+				 public void menuAboutToShow(IMenuManager menuManager) {
+					 menuManager.updateAll(true);
+				 }
+			 });
+
+		addGlobalActions(submenuManager);
+	}
+
+	/**
+	 * When the active editor changes, this remembers the change and registers with it as a selection provider.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setActiveEditor(IEditorPart part) {
+		super.setActiveEditor(part);
+		activeEditorPart = part;
+
+		// Switch to the new selection provider.
+		//
+		if (selectionProvider != null) {
+			selectionProvider.removeSelectionChangedListener(this);
+		}
+		if (part == null) {
+			selectionProvider = null;
+		}
+		else {
+			selectionProvider = part.getSite().getSelectionProvider();
+			selectionProvider.addSelectionChangedListener(this);
+
+			// Fake a selection changed event to update the menus.
+			//
+			if (selectionProvider.getSelection() != null) {
+				selectionChanged(new SelectionChangedEvent(selectionProvider, selectionProvider.getSelection()));
+			}
+		}
+	}
+
+	/**
+	 * This implements {@link org.eclipse.jface.viewers.ISelectionChangedListener},
+	 * handling {@link org.eclipse.jface.viewers.SelectionChangedEvent}s by querying for the children and siblings
+	 * that can be added to the selected object and updating the menus accordingly.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void selectionChanged(SelectionChangedEvent event) {
+		// Remove any menu items for old selection.
+		//
+		if (createChildMenuManager != null) {
+			depopulateManager(createChildMenuManager, createChildActions);
+		}
+		if (createSiblingMenuManager != null) {
+			depopulateManager(createSiblingMenuManager, createSiblingActions);
+		}
+
+		// Query the new selection for appropriate new child/sibling descriptors
+		//
+		Collection<?> newChildDescriptors = null;
+		Collection<?> newSiblingDescriptors = null;
+
+		ISelection selection = event.getSelection();
+		if (selection instanceof IStructuredSelection && ((IStructuredSelection)selection).size() == 1) {
+			Object object = ((IStructuredSelection)selection).getFirstElement();
+
+			EditingDomain domain = ((IEditingDomainProvider)activeEditorPart).getEditingDomain();
+
+			newChildDescriptors = domain.getNewChildDescriptors(object, null);
+			newSiblingDescriptors = domain.getNewChildDescriptors(null, object);
+		}
+
+		// Generate actions for selection; populate and redraw the menus.
+		//
+		createChildActions = generateCreateChildActions(newChildDescriptors, selection);
+		createSiblingActions = generateCreateSiblingActions(newSiblingDescriptors, selection);
+
+		if (createChildMenuManager != null) {
+			populateManager(createChildMenuManager, createChildActions, null);
+			createChildMenuManager.update(true);
+		}
+		if (createSiblingMenuManager != null) {
+			populateManager(createSiblingMenuManager, createSiblingActions, null);
+			createSiblingMenuManager.update(true);
+		}
+	}
+
+	/**
+	 * This generates a {@link org.eclipse.emf.edit.ui.action.CreateChildAction} for each object in <code>descriptors</code>,
+	 * and returns the collection of these actions.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<IAction> generateCreateChildActions(Collection<?> descriptors, ISelection selection) {
+		Collection<IAction> actions = new ArrayList<IAction>();
+		if (descriptors != null) {
+			for (Object descriptor : descriptors) {
+				actions.add(new CreateChildAction(activeEditorPart, selection, descriptor));
+			}
+		}
+		return actions;
+	}
+
+	/**
+	 * This generates a {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} for each object in <code>descriptors</code>,
+	 * and returns the collection of these actions.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<IAction> generateCreateSiblingActions(Collection<?> descriptors, ISelection selection) {
+		Collection<IAction> actions = new ArrayList<IAction>();
+		if (descriptors != null) {
+			for (Object descriptor : descriptors) {
+				actions.add(new CreateSiblingAction(activeEditorPart, selection, descriptor));
+			}
+		}
+		return actions;
+	}
+
+	/**
+	 * This populates the specified <code>manager</code> with {@link org.eclipse.jface.action.ActionContributionItem}s
+	 * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection,
+	 * by inserting them before the specified contribution item <code>contributionID</code>.
+	 * If <code>contributionID</code> is <code>null</code>, they are simply added.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void populateManager(IContributionManager manager, Collection<? extends IAction> actions, String contributionID) {
+		if (actions != null) {
+			for (IAction action : actions) {
+				if (contributionID != null) {
+					manager.insertBefore(contributionID, action);
+				}
+				else {
+					manager.add(action);
+				}
+			}
+		}
+	}
+		
+	/**
+	 * This removes from the specified <code>manager</code> all {@link org.eclipse.jface.action.ActionContributionItem}s
+	 * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void depopulateManager(IContributionManager manager, Collection<? extends IAction> actions) {
+		if (actions != null) {
+			IContributionItem[] items = manager.getItems();
+			for (int i = 0; i < items.length; i++) {
+				// Look into SubContributionItems
+				//
+				IContributionItem contributionItem = items[i];
+				while (contributionItem instanceof SubContributionItem) {
+					contributionItem = ((SubContributionItem)contributionItem).getInnerItem();
+				}
+
+				// Delete the ActionContributionItems with matching action.
+				//
+				if (contributionItem instanceof ActionContributionItem) {
+					IAction action = ((ActionContributionItem)contributionItem).getAction();
+					if (actions.contains(action)) {
+						manager.remove(contributionItem);
+					}
+				}
+			}
+		}
+	}
+
+	/**
+	 * This populates the pop-up menu before it appears.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void menuAboutToShow(IMenuManager menuManager) {
+		super.menuAboutToShow(menuManager);
+		MenuManager submenuManager = null;
+
+		submenuManager = new MenuManager(cxecviewEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item"));
+		populateManager(submenuManager, createChildActions, null);
+		menuManager.insertBefore("edit", submenuManager);
+
+		submenuManager = new MenuManager(cxecviewEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item"));
+		populateManager(submenuManager, createSiblingActions, null);
+		menuManager.insertBefore("edit", submenuManager);
+	}
+
+	/**
+	 * This inserts global actions before the "additions-end" separator.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void addGlobalActions(IMenuManager menuManager) {
+		menuManager.insertAfter("additions-end", new Separator("ui-actions"));
+		menuManager.insertAfter("ui-actions", showPropertiesViewAction);
+
+		refreshViewerAction.setEnabled(refreshViewerAction.isEnabled());		
+		menuManager.insertAfter("ui-actions", refreshViewerAction);
+
+		super.addGlobalActions(menuManager);
+	}
+
+	/**
+	 * This ensures that a delete action will clean up all references to deleted objects.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean removeAllReferencesOnDelete() {
+		return true;
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.editor/src/org/eclipse/osbp/ecview/extension/grid/renderer/presentation/CxGridRendererEditor.java b/org.eclipse.osbp.ecview.extension.grid.model.editor/src/org/eclipse/osbp/ecview/extension/grid/renderer/presentation/CxGridRendererEditor.java
new file mode 100644
index 0000000..8338b42
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.editor/src/org/eclipse/osbp/ecview/extension/grid/renderer/presentation/CxGridRendererEditor.java
@@ -0,0 +1,1851 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.renderer.presentation;
+
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.EventObject;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceChangeEvent;
+import org.eclipse.core.resources.IResourceChangeListener;
+import org.eclipse.core.resources.IResourceDelta;
+import org.eclipse.core.resources.IResourceDeltaVisitor;
+import org.eclipse.core.resources.ResourcesPlugin;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IStatusLineManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+
+import org.eclipse.jface.util.LocalSelectionTransfer;
+
+import org.eclipse.jface.viewers.ColumnWeightData;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.ListViewer;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.StructuredViewer;
+import org.eclipse.jface.viewers.TableLayout;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.jface.viewers.Viewer;
+
+import org.eclipse.swt.SWT;
+
+import org.eclipse.swt.custom.CTabFolder;
+
+import org.eclipse.swt.dnd.DND;
+import org.eclipse.swt.dnd.FileTransfer;
+import org.eclipse.swt.dnd.Transfer;
+
+import org.eclipse.swt.events.ControlAdapter;
+import org.eclipse.swt.events.ControlEvent;
+
+import org.eclipse.swt.graphics.Point;
+
+import org.eclipse.swt.layout.FillLayout;
+
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.TableColumn;
+import org.eclipse.swt.widgets.Tree;
+import org.eclipse.swt.widgets.TreeColumn;
+
+import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IEditorSite;
+import org.eclipse.ui.IPartListener;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.PartInitException;
+
+import org.eclipse.ui.dialogs.SaveAsDialog;
+
+import org.eclipse.ui.ide.IGotoMarker;
+
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.part.MultiPageEditorPart;
+
+import org.eclipse.ui.views.contentoutline.ContentOutline;
+import org.eclipse.ui.views.contentoutline.ContentOutlinePage;
+import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
+
+import org.eclipse.ui.views.properties.IPropertySheetPage;
+import org.eclipse.ui.views.properties.PropertySheet;
+import org.eclipse.ui.views.properties.PropertySheetPage;
+
+import org.eclipse.emf.common.command.BasicCommandStack;
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.command.CommandStack;
+import org.eclipse.emf.common.command.CommandStackListener;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.ui.MarkerHelper;
+import org.eclipse.emf.common.ui.ViewerPane;
+
+import org.eclipse.emf.common.ui.editor.ProblemEditorPart;
+
+import org.eclipse.emf.common.ui.viewer.IViewerProvider;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.URI;
+
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+
+import org.eclipse.emf.ecore.util.EContentAdapter;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+
+import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
+
+import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory;
+
+import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
+
+import org.eclipse.emf.edit.ui.celleditor.AdapterFactoryTreeEditor;
+
+import org.eclipse.emf.edit.ui.dnd.EditingDomainViewerDropAdapter;
+import org.eclipse.emf.edit.ui.dnd.LocalTransfer;
+import org.eclipse.emf.edit.ui.dnd.ViewerDragAdapter;
+
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+import org.eclipse.emf.edit.ui.provider.UnwrappingSelectionProvider;
+
+import org.eclipse.emf.edit.ui.util.EditUIMarkerHelper;
+import org.eclipse.emf.edit.ui.util.EditUIUtil;
+
+import org.eclipse.emf.edit.ui.view.ExtendedPropertySheetPage;
+
+import org.eclipse.osbp.ecview.extension.grid.renderer.provider.CxGridRendererItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.core.common.model.binding.provider.BindingItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.core.common.model.core.authorization.provider.AuthorizationItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.core.common.model.core.provider.CoreModelItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.core.common.model.datatypes.provider.DatatypesItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.core.common.model.validation.provider.ValidationItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.core.common.model.visibility.provider.VisibilityItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.core.extension.model.datatypes.provider.ExtDatatypesItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.provider.ExtensionModelItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.extension.grid.memento.provider.CxGridMementoItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.extension.grid.presentation.cxecviewEditorPlugin;
+
+import org.eclipse.osbp.ecview.extension.grid.provider.CxGridItemProviderAdapterFactory;
+
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+
+
+/**
+ * This is an example of a CxGridRenderer model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridRendererEditor
+	extends MultiPageEditorPart
+	implements IEditingDomainProvider, ISelectionProvider, IMenuListener, IViewerProvider, IGotoMarker {
+	/**
+	 * This keeps track of the editing domain that is used to track all changes to the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AdapterFactoryEditingDomain editingDomain;
+
+	/**
+	 * This is the one adapter factory used for providing views of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ComposedAdapterFactory adapterFactory;
+
+	/**
+	 * This is the content outline page.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IContentOutlinePage contentOutlinePage;
+
+	/**
+	 * This is a kludge...
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IStatusLineManager contentOutlineStatusLineManager;
+
+	/**
+	 * This is the content outline page's viewer.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TreeViewer contentOutlineViewer;
+
+	/**
+	 * This is the property sheet page.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected List<PropertySheetPage> propertySheetPages = new ArrayList<PropertySheetPage>();
+
+	/**
+	 * This is the viewer that shadows the selection in the content outline.
+	 * The parent relation must be correctly defined for this to work.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TreeViewer selectionViewer;
+
+	/**
+	 * This inverts the roll of parent and child in the content provider and show parents as a tree.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TreeViewer parentViewer;
+
+	/**
+	 * This shows how a tree view works.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TreeViewer treeViewer;
+
+	/**
+	 * This shows how a list view works.
+	 * A list viewer doesn't support icons.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ListViewer listViewer;
+
+	/**
+	 * This shows how a table view works.
+	 * A table can be used as a list with icons.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TableViewer tableViewer;
+
+	/**
+	 * This shows how a tree view with columns works.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TreeViewer treeViewerWithColumns;
+
+	/**
+	 * This keeps track of the active viewer pane, in the book.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ViewerPane currentViewerPane;
+
+	/**
+	 * This keeps track of the active content viewer, which may be either one of the viewers in the pages or the content outline viewer.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Viewer currentViewer;
+
+	/**
+	 * This listens to which ever viewer is active.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ISelectionChangedListener selectionChangedListener;
+
+	/**
+	 * This keeps track of all the {@link org.eclipse.jface.viewers.ISelectionChangedListener}s that are listening to this editor.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<ISelectionChangedListener> selectionChangedListeners = new ArrayList<ISelectionChangedListener>();
+
+	/**
+	 * This keeps track of the selection of the editor as a whole.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ISelection editorSelection = StructuredSelection.EMPTY;
+
+	/**
+	 * The MarkerHelper is responsible for creating workspace resource markers presented
+	 * in Eclipse's Problems View.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected MarkerHelper markerHelper = new EditUIMarkerHelper();
+
+	/**
+	 * This listens for when the outline becomes active
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IPartListener partListener =
+		new IPartListener() {
+			public void partActivated(IWorkbenchPart p) {
+				if (p instanceof ContentOutline) {
+					if (((ContentOutline)p).getCurrentPage() == contentOutlinePage) {
+						getActionBarContributor().setActiveEditor(CxGridRendererEditor.this);
+
+						setCurrentViewer(contentOutlineViewer);
+					}
+				}
+				else if (p instanceof PropertySheet) {
+					if (propertySheetPages.contains(((PropertySheet)p).getCurrentPage())) {
+						getActionBarContributor().setActiveEditor(CxGridRendererEditor.this);
+						handleActivate();
+					}
+				}
+				else if (p == CxGridRendererEditor.this) {
+					handleActivate();
+				}
+			}
+			public void partBroughtToTop(IWorkbenchPart p) {
+				// Ignore.
+			}
+			public void partClosed(IWorkbenchPart p) {
+				// Ignore.
+			}
+			public void partDeactivated(IWorkbenchPart p) {
+				// Ignore.
+			}
+			public void partOpened(IWorkbenchPart p) {
+				// Ignore.
+			}
+		};
+
+	/**
+	 * Resources that have been removed since last activation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<Resource> removedResources = new ArrayList<Resource>();
+
+	/**
+	 * Resources that have been changed since last activation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<Resource> changedResources = new ArrayList<Resource>();
+
+	/**
+	 * Resources that have been saved.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<Resource> savedResources = new ArrayList<Resource>();
+
+	/**
+	 * Map to store the diagnostic associated with a resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Map<Resource, Diagnostic> resourceToDiagnosticMap = new LinkedHashMap<Resource, Diagnostic>();
+
+	/**
+	 * Controls whether the problem indication should be updated.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected boolean updateProblemIndication = true;
+
+	/**
+	 * Adapter used to update the problem indication when resources are demanded loaded.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EContentAdapter problemIndicationAdapter =
+		new EContentAdapter() {
+			@Override
+			public void notifyChanged(Notification notification) {
+				if (notification.getNotifier() instanceof Resource) {
+					switch (notification.getFeatureID(Resource.class)) {
+						case Resource.RESOURCE__IS_LOADED:
+						case Resource.RESOURCE__ERRORS:
+						case Resource.RESOURCE__WARNINGS: {
+							Resource resource = (Resource)notification.getNotifier();
+							Diagnostic diagnostic = analyzeResourceProblems(resource, null);
+							if (diagnostic.getSeverity() != Diagnostic.OK) {
+								resourceToDiagnosticMap.put(resource, diagnostic);
+							}
+							else {
+								resourceToDiagnosticMap.remove(resource);
+							}
+
+							if (updateProblemIndication) {
+								getSite().getShell().getDisplay().asyncExec
+									(new Runnable() {
+										 public void run() {
+											 updateProblemIndication();
+										 }
+									 });
+							}
+							break;
+						}
+					}
+				}
+				else {
+					super.notifyChanged(notification);
+				}
+			}
+
+			@Override
+			protected void setTarget(Resource target) {
+				basicSetTarget(target);
+			}
+
+			@Override
+			protected void unsetTarget(Resource target) {
+				basicUnsetTarget(target);
+				resourceToDiagnosticMap.remove(target);
+				if (updateProblemIndication) {
+					getSite().getShell().getDisplay().asyncExec
+						(new Runnable() {
+							 public void run() {
+								 updateProblemIndication();
+							 }
+						 });
+				}
+			}
+		};
+
+	/**
+	 * This listens for workspace changes.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IResourceChangeListener resourceChangeListener =
+		new IResourceChangeListener() {
+			public void resourceChanged(IResourceChangeEvent event) {
+				IResourceDelta delta = event.getDelta();
+				try {
+					class ResourceDeltaVisitor implements IResourceDeltaVisitor {
+						protected ResourceSet resourceSet = editingDomain.getResourceSet();
+						protected Collection<Resource> changedResources = new ArrayList<Resource>();
+						protected Collection<Resource> removedResources = new ArrayList<Resource>();
+
+						public boolean visit(IResourceDelta delta) {
+							if (delta.getResource().getType() == IResource.FILE) {
+								if (delta.getKind() == IResourceDelta.REMOVED ||
+								    delta.getKind() == IResourceDelta.CHANGED && delta.getFlags() != IResourceDelta.MARKERS) {
+									Resource resource = resourceSet.getResource(URI.createPlatformResourceURI(delta.getFullPath().toString(), true), false);
+									if (resource != null) {
+										if (delta.getKind() == IResourceDelta.REMOVED) {
+											removedResources.add(resource);
+										}
+										else if (!savedResources.remove(resource)) {
+											changedResources.add(resource);
+										}
+									}
+								}
+								return false;
+							}
+
+							return true;
+						}
+
+						public Collection<Resource> getChangedResources() {
+							return changedResources;
+						}
+
+						public Collection<Resource> getRemovedResources() {
+							return removedResources;
+						}
+					}
+
+					final ResourceDeltaVisitor visitor = new ResourceDeltaVisitor();
+					delta.accept(visitor);
+
+					if (!visitor.getRemovedResources().isEmpty()) {
+						getSite().getShell().getDisplay().asyncExec
+							(new Runnable() {
+								 public void run() {
+									 removedResources.addAll(visitor.getRemovedResources());
+									 if (!isDirty()) {
+										 getSite().getPage().closeEditor(CxGridRendererEditor.this, false);
+									 }
+								 }
+							 });
+					}
+
+					if (!visitor.getChangedResources().isEmpty()) {
+						getSite().getShell().getDisplay().asyncExec
+							(new Runnable() {
+								 public void run() {
+									 changedResources.addAll(visitor.getChangedResources());
+									 if (getSite().getPage().getActiveEditor() == CxGridRendererEditor.this) {
+										 handleActivate();
+									 }
+								 }
+							 });
+					}
+				}
+				catch (CoreException exception) {
+					cxecviewEditorPlugin.INSTANCE.log(exception);
+				}
+			}
+		};
+
+	/**
+	 * Handles activation of the editor or it's associated views.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void handleActivate() {
+		// Recompute the read only state.
+		//
+		if (editingDomain.getResourceToReadOnlyMap() != null) {
+		  editingDomain.getResourceToReadOnlyMap().clear();
+
+		  // Refresh any actions that may become enabled or disabled.
+		  //
+		  setSelection(getSelection());
+		}
+
+		if (!removedResources.isEmpty()) {
+			if (handleDirtyConflict()) {
+				getSite().getPage().closeEditor(CxGridRendererEditor.this, false);
+			}
+			else {
+				removedResources.clear();
+				changedResources.clear();
+				savedResources.clear();
+			}
+		}
+		else if (!changedResources.isEmpty()) {
+			changedResources.removeAll(savedResources);
+			handleChangedResources();
+			changedResources.clear();
+			savedResources.clear();
+		}
+	}
+
+	/**
+	 * Handles what to do with changed resources on activation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void handleChangedResources() {
+		if (!changedResources.isEmpty() && (!isDirty() || handleDirtyConflict())) {
+			if (isDirty()) {
+				changedResources.addAll(editingDomain.getResourceSet().getResources());
+			}
+			editingDomain.getCommandStack().flush();
+
+			updateProblemIndication = false;
+			for (Resource resource : changedResources) {
+				if (resource.isLoaded()) {
+					resource.unload();
+					try {
+						resource.load(Collections.EMPTY_MAP);
+					}
+					catch (IOException exception) {
+						if (!resourceToDiagnosticMap.containsKey(resource)) {
+							resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));
+						}
+					}
+				}
+			}
+
+			if (AdapterFactoryEditingDomain.isStale(editorSelection)) {
+				setSelection(StructuredSelection.EMPTY);
+			}
+
+			updateProblemIndication = true;
+			updateProblemIndication();
+		}
+	}
+
+	/**
+	 * Updates the problems indication with the information described in the specified diagnostic.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void updateProblemIndication() {
+		if (updateProblemIndication) {
+			BasicDiagnostic diagnostic =
+				new BasicDiagnostic
+					(Diagnostic.OK,
+					 "org.eclipse.osbp.ecview.extension.grid.model.editor",
+					 0,
+					 null,
+					 new Object [] { editingDomain.getResourceSet() });
+			for (Diagnostic childDiagnostic : resourceToDiagnosticMap.values()) {
+				if (childDiagnostic.getSeverity() != Diagnostic.OK) {
+					diagnostic.add(childDiagnostic);
+				}
+			}
+
+			int lastEditorPage = getPageCount() - 1;
+			if (lastEditorPage >= 0 && getEditor(lastEditorPage) instanceof ProblemEditorPart) {
+				((ProblemEditorPart)getEditor(lastEditorPage)).setDiagnostic(diagnostic);
+				if (diagnostic.getSeverity() != Diagnostic.OK) {
+					setActivePage(lastEditorPage);
+				}
+			}
+			else if (diagnostic.getSeverity() != Diagnostic.OK) {
+				ProblemEditorPart problemEditorPart = new ProblemEditorPart();
+				problemEditorPart.setDiagnostic(diagnostic);
+				problemEditorPart.setMarkerHelper(markerHelper);
+				try {
+					addPage(++lastEditorPage, problemEditorPart, getEditorInput());
+					setPageText(lastEditorPage, problemEditorPart.getPartName());
+					setActivePage(lastEditorPage);
+					showTabs();
+				}
+				catch (PartInitException exception) {
+					cxecviewEditorPlugin.INSTANCE.log(exception);
+				}
+			}
+
+			if (markerHelper.hasMarkers(editingDomain.getResourceSet())) {
+				markerHelper.deleteMarkers(editingDomain.getResourceSet());
+				if (diagnostic.getSeverity() != Diagnostic.OK) {
+					try {
+						markerHelper.createMarkers(diagnostic);
+					}
+					catch (CoreException exception) {
+						cxecviewEditorPlugin.INSTANCE.log(exception);
+					}
+				}
+			}
+		}
+	}
+
+	/**
+	 * Shows a dialog that asks if conflicting changes should be discarded.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected boolean handleDirtyConflict() {
+		return
+			MessageDialog.openQuestion
+				(getSite().getShell(),
+				 getString("_UI_FileConflict_label"),
+				 getString("_WARN_FileConflict"));
+	}
+
+	/**
+	 * This creates a model editor.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridRendererEditor() {
+		super();
+		initializeEditingDomain();
+	}
+
+	/**
+	 * This sets up the editing domain for the model editor.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void initializeEditingDomain() {
+		// Create an adapter factory that yields item providers.
+		//
+		adapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
+
+		adapterFactory.addAdapterFactory(new ResourceItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new CxGridItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new CxGridRendererItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new CxGridMementoItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new BindingItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new CoreModelItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new AuthorizationItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new ValidationItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new DatatypesItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new VisibilityItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new ExtDatatypesItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new ExtensionModelItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());
+
+		// Create the command stack that will notify this editor as commands are executed.
+		//
+		BasicCommandStack commandStack = new BasicCommandStack();
+
+		// Add a listener to set the most recent command's affected objects to be the selection of the viewer with focus.
+		//
+		commandStack.addCommandStackListener
+			(new CommandStackListener() {
+				 public void commandStackChanged(final EventObject event) {
+					 getContainer().getDisplay().asyncExec
+						 (new Runnable() {
+							  public void run() {
+								  firePropertyChange(IEditorPart.PROP_DIRTY);
+
+								  // Try to select the affected objects.
+								  //
+								  Command mostRecentCommand = ((CommandStack)event.getSource()).getMostRecentCommand();
+								  if (mostRecentCommand != null) {
+									  setSelectionToViewer(mostRecentCommand.getAffectedObjects());
+								  }
+								  for (Iterator<PropertySheetPage> i = propertySheetPages.iterator(); i.hasNext(); ) {
+									  PropertySheetPage propertySheetPage = i.next();
+									  if (propertySheetPage.getControl().isDisposed()) {
+										  i.remove();
+									  }
+									  else {
+										  propertySheetPage.refresh();
+									  }
+								  }
+							  }
+						  });
+				 }
+			 });
+
+		// Create the editing domain with a special command stack.
+		//
+		editingDomain = new AdapterFactoryEditingDomain(adapterFactory, commandStack, new HashMap<Resource, Boolean>());
+	}
+
+	/**
+	 * This is here for the listener to be able to call it.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+			@Override
+	protected void firePropertyChange(int action) {
+		super.firePropertyChange(action);
+	}
+
+	/**
+	 * This sets the selection into whichever viewer is active.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSelectionToViewer(Collection<?> collection) {
+		final Collection<?> theSelection = collection;
+		// Make sure it's okay.
+		//
+		if (theSelection != null && !theSelection.isEmpty()) {
+			Runnable runnable =
+				new Runnable() {
+					public void run() {
+						// Try to select the items in the current content viewer of the editor.
+						//
+						if (currentViewer != null) {
+							currentViewer.setSelection(new StructuredSelection(theSelection.toArray()), true);
+						}
+					}
+				};
+			getSite().getShell().getDisplay().asyncExec(runnable);
+		}
+	}
+
+	/**
+	 * This returns the editing domain as required by the {@link IEditingDomainProvider} interface.
+	 * This is important for implementing the static methods of {@link AdapterFactoryEditingDomain}
+	 * and for supporting {@link org.eclipse.emf.edit.ui.action.CommandAction}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EditingDomain getEditingDomain() {
+		return editingDomain;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public class ReverseAdapterFactoryContentProvider extends AdapterFactoryContentProvider {
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public ReverseAdapterFactoryContentProvider(AdapterFactory adapterFactory) {
+			super(adapterFactory);
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		@Override
+		public Object [] getElements(Object object) {
+			Object parent = super.getParent(object);
+			return (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray();
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		@Override
+		public Object [] getChildren(Object object) {
+			Object parent = super.getParent(object);
+			return (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray();
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		@Override
+		public boolean hasChildren(Object object) {
+			Object parent = super.getParent(object);
+			return parent != null;
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		@Override
+		public Object getParent(Object object) {
+			return null;
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setCurrentViewerPane(ViewerPane viewerPane) {
+		if (currentViewerPane != viewerPane) {
+			if (currentViewerPane != null) {
+				currentViewerPane.showFocus(false);
+			}
+			currentViewerPane = viewerPane;
+		}
+		setCurrentViewer(currentViewerPane.getViewer());
+	}
+
+	/**
+	 * This makes sure that one content viewer, either for the current page or the outline view, if it has focus,
+	 * is the current one.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setCurrentViewer(Viewer viewer) {
+		// If it is changing...
+		//
+		if (currentViewer != viewer) {
+			if (selectionChangedListener == null) {
+				// Create the listener on demand.
+				//
+				selectionChangedListener =
+					new ISelectionChangedListener() {
+						// This just notifies those things that are affected by the section.
+						//
+						public void selectionChanged(SelectionChangedEvent selectionChangedEvent) {
+							setSelection(selectionChangedEvent.getSelection());
+						}
+					};
+			}
+
+			// Stop listening to the old one.
+			//
+			if (currentViewer != null) {
+				currentViewer.removeSelectionChangedListener(selectionChangedListener);
+			}
+
+			// Start listening to the new one.
+			//
+			if (viewer != null) {
+				viewer.addSelectionChangedListener(selectionChangedListener);
+			}
+
+			// Remember it.
+			//
+			currentViewer = viewer;
+
+			// Set the editors selection based on the current viewer's selection.
+			//
+			setSelection(currentViewer == null ? StructuredSelection.EMPTY : currentViewer.getSelection());
+		}
+	}
+
+	/**
+	 * This returns the viewer as required by the {@link IViewerProvider} interface.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Viewer getViewer() {
+		return currentViewer;
+	}
+
+	/**
+	 * This creates a context menu for the viewer and adds a listener as well registering the menu for extension.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void createContextMenuFor(StructuredViewer viewer) {
+		MenuManager contextMenu = new MenuManager("#PopUp");
+		contextMenu.add(new Separator("additions"));
+		contextMenu.setRemoveAllWhenShown(true);
+		contextMenu.addMenuListener(this);
+		Menu menu= contextMenu.createContextMenu(viewer.getControl());
+		viewer.getControl().setMenu(menu);
+		getSite().registerContextMenu(contextMenu, new UnwrappingSelectionProvider(viewer));
+
+		int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK;
+		Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance(), LocalSelectionTransfer.getTransfer(), FileTransfer.getInstance() };
+		viewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(viewer));
+		viewer.addDropSupport(dndOperations, transfers, new EditingDomainViewerDropAdapter(editingDomain, viewer));
+	}
+
+	/**
+	 * This is the method called to load a resource into the editing domain's resource set based on the editor's input.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createModel() {
+		URI resourceURI = EditUIUtil.getURI(getEditorInput(), editingDomain.getResourceSet().getURIConverter());
+		Exception exception = null;
+		Resource resource = null;
+		try {
+			// Load the resource through the editing domain.
+			//
+			resource = editingDomain.getResourceSet().getResource(resourceURI, true);
+		}
+		catch (Exception e) {
+			exception = e;
+			resource = editingDomain.getResourceSet().getResource(resourceURI, false);
+		}
+
+		Diagnostic diagnostic = analyzeResourceProblems(resource, exception);
+		if (diagnostic.getSeverity() != Diagnostic.OK) {
+			resourceToDiagnosticMap.put(resource,  analyzeResourceProblems(resource, exception));
+		}
+		editingDomain.getResourceSet().eAdapters().add(problemIndicationAdapter);
+	}
+
+	/**
+	 * Returns a diagnostic describing the errors and warnings listed in the resource
+	 * and the specified exception (if any).
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Diagnostic analyzeResourceProblems(Resource resource, Exception exception) {
+		boolean hasErrors = !resource.getErrors().isEmpty();
+		if (hasErrors || !resource.getWarnings().isEmpty()) {
+			BasicDiagnostic basicDiagnostic =
+				new BasicDiagnostic
+					(hasErrors ? Diagnostic.ERROR : Diagnostic.WARNING,
+					 "org.eclipse.osbp.ecview.extension.grid.model.editor",
+					 0,
+					 getString("_UI_CreateModelError_message", resource.getURI()),
+					 new Object [] { exception == null ? (Object)resource : exception });
+			basicDiagnostic.merge(EcoreUtil.computeDiagnostic(resource, true));
+			return basicDiagnostic;
+		}
+		else if (exception != null) {
+			return
+				new BasicDiagnostic
+					(Diagnostic.ERROR,
+					 "org.eclipse.osbp.ecview.extension.grid.model.editor",
+					 0,
+					 getString("_UI_CreateModelError_message", resource.getURI()),
+					 new Object[] { exception });
+		}
+		else {
+			return Diagnostic.OK_INSTANCE;
+		}
+	}
+
+	/**
+	 * This is the method used by the framework to install your own controls.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void createPages() {
+		// Creates the model from the editor input
+		//
+		createModel();
+
+		// Only creates the other pages if there is something that can be edited
+		//
+		if (!getEditingDomain().getResourceSet().getResources().isEmpty()) {
+			// Create a page for the selection tree view.
+			//
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), CxGridRendererEditor.this) {
+						@Override
+						public Viewer createViewer(Composite composite) {
+							Tree tree = new Tree(composite, SWT.MULTI);
+							TreeViewer newTreeViewer = new TreeViewer(tree);
+							return newTreeViewer;
+						}
+						@Override
+						public void requestActivation() {
+							super.requestActivation();
+							setCurrentViewerPane(this);
+						}
+					};
+				viewerPane.createControl(getContainer());
+
+				selectionViewer = (TreeViewer)viewerPane.getViewer();
+				selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+
+				selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+				selectionViewer.setInput(editingDomain.getResourceSet());
+				selectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
+				viewerPane.setTitle(editingDomain.getResourceSet());
+
+				new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);
+
+				createContextMenuFor(selectionViewer);
+				int pageIndex = addPage(viewerPane.getControl());
+				setPageText(pageIndex, getString("_UI_SelectionPage_label"));
+			}
+
+			// Create a page for the parent tree view.
+			//
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), CxGridRendererEditor.this) {
+						@Override
+						public Viewer createViewer(Composite composite) {
+							Tree tree = new Tree(composite, SWT.MULTI);
+							TreeViewer newTreeViewer = new TreeViewer(tree);
+							return newTreeViewer;
+						}
+						@Override
+						public void requestActivation() {
+							super.requestActivation();
+							setCurrentViewerPane(this);
+						}
+					};
+				viewerPane.createControl(getContainer());
+
+				parentViewer = (TreeViewer)viewerPane.getViewer();
+				parentViewer.setAutoExpandLevel(30);
+				parentViewer.setContentProvider(new ReverseAdapterFactoryContentProvider(adapterFactory));
+				parentViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+				createContextMenuFor(parentViewer);
+				int pageIndex = addPage(viewerPane.getControl());
+				setPageText(pageIndex, getString("_UI_ParentPage_label"));
+			}
+
+			// This is the page for the list viewer
+			//
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), CxGridRendererEditor.this) {
+						@Override
+						public Viewer createViewer(Composite composite) {
+							return new ListViewer(composite);
+						}
+						@Override
+						public void requestActivation() {
+							super.requestActivation();
+							setCurrentViewerPane(this);
+						}
+					};
+				viewerPane.createControl(getContainer());
+				listViewer = (ListViewer)viewerPane.getViewer();
+				listViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+				listViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+				createContextMenuFor(listViewer);
+				int pageIndex = addPage(viewerPane.getControl());
+				setPageText(pageIndex, getString("_UI_ListPage_label"));
+			}
+
+			// This is the page for the tree viewer
+			//
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), CxGridRendererEditor.this) {
+						@Override
+						public Viewer createViewer(Composite composite) {
+							return new TreeViewer(composite);
+						}
+						@Override
+						public void requestActivation() {
+							super.requestActivation();
+							setCurrentViewerPane(this);
+						}
+					};
+				viewerPane.createControl(getContainer());
+				treeViewer = (TreeViewer)viewerPane.getViewer();
+				treeViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+				treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+				new AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory);
+
+				createContextMenuFor(treeViewer);
+				int pageIndex = addPage(viewerPane.getControl());
+				setPageText(pageIndex, getString("_UI_TreePage_label"));
+			}
+
+			// This is the page for the table viewer.
+			//
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), CxGridRendererEditor.this) {
+						@Override
+						public Viewer createViewer(Composite composite) {
+							return new TableViewer(composite);
+						}
+						@Override
+						public void requestActivation() {
+							super.requestActivation();
+							setCurrentViewerPane(this);
+						}
+					};
+				viewerPane.createControl(getContainer());
+				tableViewer = (TableViewer)viewerPane.getViewer();
+
+				Table table = tableViewer.getTable();
+				TableLayout layout = new TableLayout();
+				table.setLayout(layout);
+				table.setHeaderVisible(true);
+				table.setLinesVisible(true);
+
+				TableColumn objectColumn = new TableColumn(table, SWT.NONE);
+				layout.addColumnData(new ColumnWeightData(3, 100, true));
+				objectColumn.setText(getString("_UI_ObjectColumn_label"));
+				objectColumn.setResizable(true);
+
+				TableColumn selfColumn = new TableColumn(table, SWT.NONE);
+				layout.addColumnData(new ColumnWeightData(2, 100, true));
+				selfColumn.setText(getString("_UI_SelfColumn_label"));
+				selfColumn.setResizable(true);
+
+				tableViewer.setColumnProperties(new String [] {"a", "b"});
+				tableViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+				tableViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+				createContextMenuFor(tableViewer);
+				int pageIndex = addPage(viewerPane.getControl());
+				setPageText(pageIndex, getString("_UI_TablePage_label"));
+			}
+
+			// This is the page for the table tree viewer.
+			//
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), CxGridRendererEditor.this) {
+						@Override
+						public Viewer createViewer(Composite composite) {
+							return new TreeViewer(composite);
+						}
+						@Override
+						public void requestActivation() {
+							super.requestActivation();
+							setCurrentViewerPane(this);
+						}
+					};
+				viewerPane.createControl(getContainer());
+
+				treeViewerWithColumns = (TreeViewer)viewerPane.getViewer();
+
+				Tree tree = treeViewerWithColumns.getTree();
+				tree.setLayoutData(new FillLayout());
+				tree.setHeaderVisible(true);
+				tree.setLinesVisible(true);
+
+				TreeColumn objectColumn = new TreeColumn(tree, SWT.NONE);
+				objectColumn.setText(getString("_UI_ObjectColumn_label"));
+				objectColumn.setResizable(true);
+				objectColumn.setWidth(250);
+
+				TreeColumn selfColumn = new TreeColumn(tree, SWT.NONE);
+				selfColumn.setText(getString("_UI_SelfColumn_label"));
+				selfColumn.setResizable(true);
+				selfColumn.setWidth(200);
+
+				treeViewerWithColumns.setColumnProperties(new String [] {"a", "b"});
+				treeViewerWithColumns.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+				treeViewerWithColumns.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+				createContextMenuFor(treeViewerWithColumns);
+				int pageIndex = addPage(viewerPane.getControl());
+				setPageText(pageIndex, getString("_UI_TreeWithColumnsPage_label"));
+			}
+
+			getSite().getShell().getDisplay().asyncExec
+				(new Runnable() {
+					 public void run() {
+						 setActivePage(0);
+					 }
+				 });
+		}
+
+		// Ensures that this editor will only display the page's tab
+		// area if there are more than one page
+		//
+		getContainer().addControlListener
+			(new ControlAdapter() {
+				boolean guard = false;
+				@Override
+				public void controlResized(ControlEvent event) {
+					if (!guard) {
+						guard = true;
+						hideTabs();
+						guard = false;
+					}
+				}
+			 });
+
+		getSite().getShell().getDisplay().asyncExec
+			(new Runnable() {
+				 public void run() {
+					 updateProblemIndication();
+				 }
+			 });
+	}
+
+	/**
+	 * If there is just one page in the multi-page editor part,
+	 * this hides the single tab at the bottom.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void hideTabs() {
+		if (getPageCount() <= 1) {
+			setPageText(0, "");
+			if (getContainer() instanceof CTabFolder) {
+				((CTabFolder)getContainer()).setTabHeight(1);
+				Point point = getContainer().getSize();
+				getContainer().setSize(point.x, point.y + 6);
+			}
+		}
+	}
+
+	/**
+	 * If there is more than one page in the multi-page editor part,
+	 * this shows the tabs at the bottom.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void showTabs() {
+		if (getPageCount() > 1) {
+			setPageText(0, getString("_UI_SelectionPage_label"));
+			if (getContainer() instanceof CTabFolder) {
+				((CTabFolder)getContainer()).setTabHeight(SWT.DEFAULT);
+				Point point = getContainer().getSize();
+				getContainer().setSize(point.x, point.y - 6);
+			}
+		}
+	}
+
+	/**
+	 * This is used to track the active viewer.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void pageChange(int pageIndex) {
+		super.pageChange(pageIndex);
+
+		if (contentOutlinePage != null) {
+			handleContentOutlineSelection(contentOutlinePage.getSelection());
+		}
+	}
+
+	/**
+	 * This is how the framework determines which interfaces we implement.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("rawtypes")
+	@Override
+	public Object getAdapter(Class key) {
+		if (key.equals(IContentOutlinePage.class)) {
+			return showOutlineView() ? getContentOutlinePage() : null;
+		}
+		else if (key.equals(IPropertySheetPage.class)) {
+			return getPropertySheetPage();
+		}
+		else if (key.equals(IGotoMarker.class)) {
+			return this;
+		}
+		else {
+			return super.getAdapter(key);
+		}
+	}
+
+	/**
+	 * This accesses a cached version of the content outliner.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IContentOutlinePage getContentOutlinePage() {
+		if (contentOutlinePage == null) {
+			// The content outline is just a tree.
+			//
+			class MyContentOutlinePage extends ContentOutlinePage {
+				@Override
+				public void createControl(Composite parent) {
+					super.createControl(parent);
+					contentOutlineViewer = getTreeViewer();
+					contentOutlineViewer.addSelectionChangedListener(this);
+
+					// Set up the tree viewer.
+					//
+					contentOutlineViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+					contentOutlineViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+					contentOutlineViewer.setInput(editingDomain.getResourceSet());
+
+					// Make sure our popups work.
+					//
+					createContextMenuFor(contentOutlineViewer);
+
+					if (!editingDomain.getResourceSet().getResources().isEmpty()) {
+					  // Select the root object in the view.
+					  //
+					  contentOutlineViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
+					}
+				}
+
+				@Override
+				public void makeContributions(IMenuManager menuManager, IToolBarManager toolBarManager, IStatusLineManager statusLineManager) {
+					super.makeContributions(menuManager, toolBarManager, statusLineManager);
+					contentOutlineStatusLineManager = statusLineManager;
+				}
+
+				@Override
+				public void setActionBars(IActionBars actionBars) {
+					super.setActionBars(actionBars);
+					getActionBarContributor().shareGlobalActions(this, actionBars);
+				}
+			}
+
+			contentOutlinePage = new MyContentOutlinePage();
+
+			// Listen to selection so that we can handle it is a special way.
+			//
+			contentOutlinePage.addSelectionChangedListener
+				(new ISelectionChangedListener() {
+					 // This ensures that we handle selections correctly.
+					 //
+					 public void selectionChanged(SelectionChangedEvent event) {
+						 handleContentOutlineSelection(event.getSelection());
+					 }
+				 });
+		}
+
+		return contentOutlinePage;
+	}
+
+	/**
+	 * This accesses a cached version of the property sheet.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IPropertySheetPage getPropertySheetPage() {
+		PropertySheetPage propertySheetPage =
+			new ExtendedPropertySheetPage(editingDomain) {
+				@Override
+				public void setSelectionToViewer(List<?> selection) {
+					CxGridRendererEditor.this.setSelectionToViewer(selection);
+					CxGridRendererEditor.this.setFocus();
+				}
+
+				@Override
+				public void setActionBars(IActionBars actionBars) {
+					super.setActionBars(actionBars);
+					getActionBarContributor().shareGlobalActions(this, actionBars);
+				}
+			};
+		propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory));
+		propertySheetPages.add(propertySheetPage);
+
+		return propertySheetPage;
+	}
+
+	/**
+	 * This deals with how we want selection in the outliner to affect the other views.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void handleContentOutlineSelection(ISelection selection) {
+		if (currentViewerPane != null && !selection.isEmpty() && selection instanceof IStructuredSelection) {
+			Iterator<?> selectedElements = ((IStructuredSelection)selection).iterator();
+			if (selectedElements.hasNext()) {
+				// Get the first selected element.
+				//
+				Object selectedElement = selectedElements.next();
+
+				// If it's the selection viewer, then we want it to select the same selection as this selection.
+				//
+				if (currentViewerPane.getViewer() == selectionViewer) {
+					ArrayList<Object> selectionList = new ArrayList<Object>();
+					selectionList.add(selectedElement);
+					while (selectedElements.hasNext()) {
+						selectionList.add(selectedElements.next());
+					}
+
+					// Set the selection to the widget.
+					//
+					selectionViewer.setSelection(new StructuredSelection(selectionList));
+				}
+				else {
+					// Set the input to the widget.
+					//
+					if (currentViewerPane.getViewer().getInput() != selectedElement) {
+						currentViewerPane.getViewer().setInput(selectedElement);
+						currentViewerPane.setTitle(selectedElement);
+					}
+				}
+			}
+		}
+	}
+
+	/**
+	 * This is for implementing {@link IEditorPart} and simply tests the command stack.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isDirty() {
+		return ((BasicCommandStack)editingDomain.getCommandStack()).isSaveNeeded();
+	}
+
+	/**
+	 * This is for implementing {@link IEditorPart} and simply saves the model file.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void doSave(IProgressMonitor progressMonitor) {
+		// Save only resources that have actually changed.
+		//
+		final Map<Object, Object> saveOptions = new HashMap<Object, Object>();
+		saveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED, Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER);
+		saveOptions.put(Resource.OPTION_LINE_DELIMITER, Resource.OPTION_LINE_DELIMITER_UNSPECIFIED);
+
+		// Do the work within an operation because this is a long running activity that modifies the workbench.
+		//
+		WorkspaceModifyOperation operation =
+			new WorkspaceModifyOperation() {
+				// This is the method that gets invoked when the operation runs.
+				//
+				@Override
+				public void execute(IProgressMonitor monitor) {
+					// Save the resources to the file system.
+					//
+					boolean first = true;
+					for (Resource resource : editingDomain.getResourceSet().getResources()) {
+						if ((first || !resource.getContents().isEmpty() || isPersisted(resource)) && !editingDomain.isReadOnly(resource)) {
+							try {
+								long timeStamp = resource.getTimeStamp();
+								resource.save(saveOptions);
+								if (resource.getTimeStamp() != timeStamp) {
+									savedResources.add(resource);
+								}
+							}
+							catch (Exception exception) {
+								resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));
+							}
+							first = false;
+						}
+					}
+				}
+			};
+
+		updateProblemIndication = false;
+		try {
+			// This runs the options, and shows progress.
+			//
+			new ProgressMonitorDialog(getSite().getShell()).run(true, false, operation);
+
+			// Refresh the necessary state.
+			//
+			((BasicCommandStack)editingDomain.getCommandStack()).saveIsDone();
+			firePropertyChange(IEditorPart.PROP_DIRTY);
+		}
+		catch (Exception exception) {
+			// Something went wrong that shouldn't.
+			//
+			cxecviewEditorPlugin.INSTANCE.log(exception);
+		}
+		updateProblemIndication = true;
+		updateProblemIndication();
+	}
+
+	/**
+	 * This returns whether something has been persisted to the URI of the specified resource.
+	 * The implementation uses the URI converter from the editor's resource set to try to open an input stream.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected boolean isPersisted(Resource resource) {
+		boolean result = false;
+		try {
+			InputStream stream = editingDomain.getResourceSet().getURIConverter().createInputStream(resource.getURI());
+			if (stream != null) {
+				result = true;
+				stream.close();
+			}
+		}
+		catch (IOException e) {
+			// Ignore
+		}
+		return result;
+	}
+
+	/**
+	 * This always returns true because it is not currently supported.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isSaveAsAllowed() {
+		return true;
+	}
+
+	/**
+	 * This also changes the editor's input.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void doSaveAs() {
+		SaveAsDialog saveAsDialog = new SaveAsDialog(getSite().getShell());
+		saveAsDialog.open();
+		IPath path = saveAsDialog.getResult();
+		if (path != null) {
+			IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
+			if (file != null) {
+				doSaveAs(URI.createPlatformResourceURI(file.getFullPath().toString(), true), new FileEditorInput(file));
+			}
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void doSaveAs(URI uri, IEditorInput editorInput) {
+		(editingDomain.getResourceSet().getResources().get(0)).setURI(uri);
+		setInputWithNotify(editorInput);
+		setPartName(editorInput.getName());
+		IProgressMonitor progressMonitor =
+			getActionBars().getStatusLineManager() != null ?
+				getActionBars().getStatusLineManager().getProgressMonitor() :
+				new NullProgressMonitor();
+		doSave(progressMonitor);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void gotoMarker(IMarker marker) {
+		List<?> targetObjects = markerHelper.getTargetObjects(editingDomain, marker);
+		if (!targetObjects.isEmpty()) {
+			setSelectionToViewer(targetObjects);
+		}
+	}
+
+	/**
+	 * This is called during startup.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void init(IEditorSite site, IEditorInput editorInput) {
+		setSite(site);
+		setInputWithNotify(editorInput);
+		setPartName(editorInput.getName());
+		site.setSelectionProvider(this);
+		site.getPage().addPartListener(partListener);
+		ResourcesPlugin.getWorkspace().addResourceChangeListener(resourceChangeListener, IResourceChangeEvent.POST_CHANGE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setFocus() {
+		if (currentViewerPane != null) {
+			currentViewerPane.setFocus();
+		}
+		else {
+			getControl(getActivePage()).setFocus();
+		}
+	}
+
+	/**
+	 * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void addSelectionChangedListener(ISelectionChangedListener listener) {
+		selectionChangedListeners.add(listener);
+	}
+
+	/**
+	 * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void removeSelectionChangedListener(ISelectionChangedListener listener) {
+		selectionChangedListeners.remove(listener);
+	}
+
+	/**
+	 * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to return this editor's overall selection.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ISelection getSelection() {
+		return editorSelection;
+	}
+
+	/**
+	 * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to set this editor's overall selection.
+	 * Calling this result will notify the listeners.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSelection(ISelection selection) {
+		editorSelection = selection;
+
+		for (ISelectionChangedListener listener : selectionChangedListeners) {
+			listener.selectionChanged(new SelectionChangedEvent(this, selection));
+		}
+		setStatusLineManager(selection);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setStatusLineManager(ISelection selection) {
+		IStatusLineManager statusLineManager = currentViewer != null && currentViewer == contentOutlineViewer ?
+			contentOutlineStatusLineManager : getActionBars().getStatusLineManager();
+
+		if (statusLineManager != null) {
+			if (selection instanceof IStructuredSelection) {
+				Collection<?> collection = ((IStructuredSelection)selection).toList();
+				switch (collection.size()) {
+					case 0: {
+						statusLineManager.setMessage(getString("_UI_NoObjectSelected"));
+						break;
+					}
+					case 1: {
+						String text = new AdapterFactoryItemDelegator(adapterFactory).getText(collection.iterator().next());
+						statusLineManager.setMessage(getString("_UI_SingleObjectSelected", text));
+						break;
+					}
+					default: {
+						statusLineManager.setMessage(getString("_UI_MultiObjectSelected", Integer.toString(collection.size())));
+						break;
+					}
+				}
+			}
+			else {
+				statusLineManager.setMessage("");
+			}
+		}
+	}
+
+	/**
+	 * This looks up a string in the plugin's plugin.properties file.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static String getString(String key) {
+		return cxecviewEditorPlugin.INSTANCE.getString(key);
+	}
+
+	/**
+	 * This looks up a string in plugin.properties, making a substitution.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static String getString(String key, Object s1) {
+		return cxecviewEditorPlugin.INSTANCE.getString(key, new Object [] { s1 });
+	}
+
+	/**
+	 * This implements {@link org.eclipse.jface.action.IMenuListener} to help fill the context menus with contributions from the Edit menu.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void menuAboutToShow(IMenuManager menuManager) {
+		((IMenuListener)getEditorSite().getActionBarContributor()).menuAboutToShow(menuManager);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EditingDomainActionBarContributor getActionBarContributor() {
+		return (EditingDomainActionBarContributor)getEditorSite().getActionBarContributor();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IActionBars getActionBars() {
+		return getActionBarContributor().getActionBars();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AdapterFactory getAdapterFactory() {
+		return adapterFactory;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void dispose() {
+		updateProblemIndication = false;
+
+		ResourcesPlugin.getWorkspace().removeResourceChangeListener(resourceChangeListener);
+
+		getSite().getPage().removePartListener(partListener);
+
+		adapterFactory.dispose();
+
+		if (getActionBarContributor().getActiveEditor() == this) {
+			getActionBarContributor().setActiveEditor(null);
+		}
+
+		for (PropertySheetPage propertySheetPage : propertySheetPages) {
+			propertySheetPage.dispose();
+		}
+
+		if (contentOutlinePage != null) {
+			contentOutlinePage.dispose();
+		}
+
+		super.dispose();
+	}
+
+	/**
+	 * Returns whether the outline view should be presented to the user.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected boolean showOutlineView() {
+		return true;
+	}
+}
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.editor/src/org/eclipse/osbp/ecview/extension/grid/renderer/presentation/CxGridRendererModelWizard.java b/org.eclipse.osbp.ecview.extension.grid.model.editor/src/org/eclipse/osbp/ecview/extension/grid/renderer/presentation/CxGridRendererModelWizard.java
new file mode 100644
index 0000000..185cc64
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.editor/src/org/eclipse/osbp/ecview/extension/grid/renderer/presentation/CxGridRendererModelWizard.java
@@ -0,0 +1,630 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.renderer.presentation;
+
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.MissingResourceException;
+import java.util.StringTokenizer;
+
+import org.eclipse.emf.common.CommonPlugin;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+import org.eclipse.emf.edit.ui.provider.ExtendedImageRegistry;
+
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+
+import org.eclipse.jface.dialogs.MessageDialog;
+
+import org.eclipse.jface.viewers.IStructuredSelection;
+
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.jface.wizard.WizardPage;
+
+import org.eclipse.swt.SWT;
+
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.ModifyEvent;
+
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+
+import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
+
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.part.ISetSelectionTarget;
+
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererFactory;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererPackage;
+import org.eclipse.osbp.ecview.extension.grid.provider.CxGridEditPlugin;
+
+
+import org.eclipse.core.runtime.Path;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+
+import org.eclipse.osbp.ecview.extension.grid.presentation.cxecviewEditorPlugin;
+
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PartInitException;
+
+
+/**
+ * This is a simple wizard for creating a new model file.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridRendererModelWizard extends Wizard implements INewWizard {
+	/**
+	 * The supported extensions for created files.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<String> FILE_EXTENSIONS =
+		Collections.unmodifiableList(Arrays.asList(cxecviewEditorPlugin.INSTANCE.getString("_UI_CxGridRendererEditorFilenameExtensions").split("\\s*,\\s*")));
+
+	/**
+	 * A formatted list of supported file extensions, suitable for display.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String FORMATTED_FILE_EXTENSIONS =
+		cxecviewEditorPlugin.INSTANCE.getString("_UI_CxGridRendererEditorFilenameExtensions").replaceAll("\\s*,\\s*", ", ");
+
+	/**
+	 * This caches an instance of the model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridRendererPackage cxGridRendererPackage = CxGridRendererPackage.eINSTANCE;
+
+	/**
+	 * This caches an instance of the model factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridRendererFactory cxGridRendererFactory = cxGridRendererPackage.getCxGridRendererFactory();
+
+	/**
+	 * This is the file creation page.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridRendererModelWizardNewFileCreationPage newFileCreationPage;
+
+	/**
+	 * This is the initial object creation page.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridRendererModelWizardInitialObjectCreationPage initialObjectCreationPage;
+
+	/**
+	 * Remember the selection during initialization for populating the default container.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IStructuredSelection selection;
+
+	/**
+	 * Remember the workbench during initialization.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IWorkbench workbench;
+
+	/**
+	 * Caches the names of the types that can be created as the root object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected List<String> initialObjectNames;
+
+	/**
+	 * This just records the information.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void init(IWorkbench workbench, IStructuredSelection selection) {
+		this.workbench = workbench;
+		this.selection = selection;
+		setWindowTitle(cxecviewEditorPlugin.INSTANCE.getString("_UI_Wizard_label"));
+		setDefaultPageImageDescriptor(ExtendedImageRegistry.INSTANCE.getImageDescriptor(cxecviewEditorPlugin.INSTANCE.getImage("full/wizban/NewCxGridRenderer")));
+	}
+
+	/**
+	 * Returns the names of the types that can be created as the root object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<String> getInitialObjectNames() {
+		if (initialObjectNames == null) {
+			initialObjectNames = new ArrayList<String>();
+			for (EClassifier eClassifier : cxGridRendererPackage.getEClassifiers()) {
+				if (eClassifier instanceof EClass) {
+					EClass eClass = (EClass)eClassifier;
+					if (!eClass.isAbstract()) {
+						initialObjectNames.add(eClass.getName());
+					}
+				}
+			}
+			Collections.sort(initialObjectNames, CommonPlugin.INSTANCE.getComparator());
+		}
+		return initialObjectNames;
+	}
+
+	/**
+	 * Create a new model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EObject createInitialModel() {
+		EClass eClass = (EClass)cxGridRendererPackage.getEClassifier(initialObjectCreationPage.getInitialObjectName());
+		EObject rootObject = cxGridRendererFactory.create(eClass);
+		return rootObject;
+	}
+
+	/**
+	 * Do the work after everything is specified.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean performFinish() {
+		try {
+			// Remember the file.
+			//
+			final IFile modelFile = getModelFile();
+
+			// Do the work within an operation.
+			//
+			WorkspaceModifyOperation operation =
+				new WorkspaceModifyOperation() {
+					@Override
+					protected void execute(IProgressMonitor progressMonitor) {
+						try {
+							// Create a resource set
+							//
+							ResourceSet resourceSet = new ResourceSetImpl();
+
+							// Get the URI of the model file.
+							//
+							URI fileURI = URI.createPlatformResourceURI(modelFile.getFullPath().toString(), true);
+
+							// Create a resource for this file.
+							//
+							Resource resource = resourceSet.createResource(fileURI);
+
+							// Add the initial model object to the contents.
+							//
+							EObject rootObject = createInitialModel();
+							if (rootObject != null) {
+								resource.getContents().add(rootObject);
+							}
+
+							// Save the contents of the resource to the file system.
+							//
+							Map<Object, Object> options = new HashMap<Object, Object>();
+							options.put(XMLResource.OPTION_ENCODING, initialObjectCreationPage.getEncoding());
+							resource.save(options);
+						}
+						catch (Exception exception) {
+							cxecviewEditorPlugin.INSTANCE.log(exception);
+						}
+						finally {
+							progressMonitor.done();
+						}
+					}
+				};
+
+			getContainer().run(false, false, operation);
+
+			// Select the new file resource in the current view.
+			//
+			IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
+			IWorkbenchPage page = workbenchWindow.getActivePage();
+			final IWorkbenchPart activePart = page.getActivePart();
+			if (activePart instanceof ISetSelectionTarget) {
+				final ISelection targetSelection = new StructuredSelection(modelFile);
+				getShell().getDisplay().asyncExec
+					(new Runnable() {
+						 public void run() {
+							 ((ISetSelectionTarget)activePart).selectReveal(targetSelection);
+						 }
+					 });
+			}
+
+			// Open an editor on the new file.
+			//
+			try {
+				page.openEditor
+					(new FileEditorInput(modelFile),
+					 workbench.getEditorRegistry().getDefaultEditor(modelFile.getFullPath().toString()).getId());					 	 
+			}
+			catch (PartInitException exception) {
+				MessageDialog.openError(workbenchWindow.getShell(), cxecviewEditorPlugin.INSTANCE.getString("_UI_OpenEditorError_label"), exception.getMessage());
+				return false;
+			}
+
+			return true;
+		}
+		catch (Exception exception) {
+			cxecviewEditorPlugin.INSTANCE.log(exception);
+			return false;
+		}
+	}
+
+	/**
+	 * This is the one page of the wizard.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public class CxGridRendererModelWizardNewFileCreationPage extends WizardNewFileCreationPage {
+		/**
+		 * Pass in the selection.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public CxGridRendererModelWizardNewFileCreationPage(String pageId, IStructuredSelection selection) {
+			super(pageId, selection);
+		}
+
+		/**
+		 * The framework calls this to see if the file is correct.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		@Override
+		protected boolean validatePage() {
+			if (super.validatePage()) {
+				String extension = new Path(getFileName()).getFileExtension();
+				if (extension == null || !FILE_EXTENSIONS.contains(extension)) {
+					String key = FILE_EXTENSIONS.size() > 1 ? "_WARN_FilenameExtensions" : "_WARN_FilenameExtension";
+					setErrorMessage(cxecviewEditorPlugin.INSTANCE.getString(key, new Object [] { FORMATTED_FILE_EXTENSIONS }));
+					return false;
+				}
+				return true;
+			}
+			return false;
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public IFile getModelFile() {
+			return ResourcesPlugin.getWorkspace().getRoot().getFile(getContainerFullPath().append(getFileName()));
+		}
+	}
+
+	/**
+	 * This is the page where the type of object to create is selected.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public class CxGridRendererModelWizardInitialObjectCreationPage extends WizardPage {
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected Combo initialObjectField;
+
+		/**
+		 * @generated
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 */
+		protected List<String> encodings;
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected Combo encodingField;
+
+		/**
+		 * Pass in the selection.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public CxGridRendererModelWizardInitialObjectCreationPage(String pageId) {
+			super(pageId);
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public void createControl(Composite parent) {
+			Composite composite = new Composite(parent, SWT.NONE);
+			{
+				GridLayout layout = new GridLayout();
+				layout.numColumns = 1;
+				layout.verticalSpacing = 12;
+				composite.setLayout(layout);
+
+				GridData data = new GridData();
+				data.verticalAlignment = GridData.FILL;
+				data.grabExcessVerticalSpace = true;
+				data.horizontalAlignment = GridData.FILL;
+				composite.setLayoutData(data);
+			}
+
+			Label containerLabel = new Label(composite, SWT.LEFT);
+			{
+				containerLabel.setText(cxecviewEditorPlugin.INSTANCE.getString("_UI_ModelObject"));
+
+				GridData data = new GridData();
+				data.horizontalAlignment = GridData.FILL;
+				containerLabel.setLayoutData(data);
+			}
+
+			initialObjectField = new Combo(composite, SWT.BORDER);
+			{
+				GridData data = new GridData();
+				data.horizontalAlignment = GridData.FILL;
+				data.grabExcessHorizontalSpace = true;
+				initialObjectField.setLayoutData(data);
+			}
+
+			for (String objectName : getInitialObjectNames()) {
+				initialObjectField.add(getLabel(objectName));
+			}
+
+			if (initialObjectField.getItemCount() == 1) {
+				initialObjectField.select(0);
+			}
+			initialObjectField.addModifyListener(validator);
+
+			Label encodingLabel = new Label(composite, SWT.LEFT);
+			{
+				encodingLabel.setText(cxecviewEditorPlugin.INSTANCE.getString("_UI_XMLEncoding"));
+
+				GridData data = new GridData();
+				data.horizontalAlignment = GridData.FILL;
+				encodingLabel.setLayoutData(data);
+			}
+			encodingField = new Combo(composite, SWT.BORDER);
+			{
+				GridData data = new GridData();
+				data.horizontalAlignment = GridData.FILL;
+				data.grabExcessHorizontalSpace = true;
+				encodingField.setLayoutData(data);
+			}
+
+			for (String encoding : getEncodings()) {
+				encodingField.add(encoding);
+			}
+
+			encodingField.select(0);
+			encodingField.addModifyListener(validator);
+
+			setPageComplete(validatePage());
+			setControl(composite);
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected ModifyListener validator =
+			new ModifyListener() {
+				public void modifyText(ModifyEvent e) {
+					setPageComplete(validatePage());
+				}
+			};
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected boolean validatePage() {
+			return getInitialObjectName() != null && getEncodings().contains(encodingField.getText());
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		@Override
+		public void setVisible(boolean visible) {
+			super.setVisible(visible);
+			if (visible) {
+				if (initialObjectField.getItemCount() == 1) {
+					initialObjectField.clearSelection();
+					encodingField.setFocus();
+				}
+				else {
+					encodingField.clearSelection();
+					initialObjectField.setFocus();
+				}
+			}
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public String getInitialObjectName() {
+			String label = initialObjectField.getText();
+
+			for (String name : getInitialObjectNames()) {
+				if (getLabel(name).equals(label)) {
+					return name;
+				}
+			}
+			return null;
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public String getEncoding() {
+			return encodingField.getText();
+		}
+
+		/**
+		 * Returns the label for the specified type name.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected String getLabel(String typeName) {
+			try {
+				return CxGridEditPlugin.INSTANCE.getString("_UI_" + typeName + "_type");
+			}
+			catch(MissingResourceException mre) {
+				cxecviewEditorPlugin.INSTANCE.log(mre);
+			}
+			return typeName;
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected Collection<String> getEncodings() {
+			if (encodings == null) {
+				encodings = new ArrayList<String>();
+				for (StringTokenizer stringTokenizer = new StringTokenizer(cxecviewEditorPlugin.INSTANCE.getString("_UI_XMLEncodingChoices")); stringTokenizer.hasMoreTokens(); ) {
+					encodings.add(stringTokenizer.nextToken());
+				}
+			}
+			return encodings;
+		}
+	}
+
+	/**
+	 * The framework calls this to create the contents of the wizard.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+		@Override
+	public void addPages() {
+		// Create a page, set the title, and the initial model file name.
+		//
+		newFileCreationPage = new CxGridRendererModelWizardNewFileCreationPage("Whatever", selection);
+		newFileCreationPage.setTitle(cxecviewEditorPlugin.INSTANCE.getString("_UI_CxGridRendererModelWizard_label"));
+		newFileCreationPage.setDescription(cxecviewEditorPlugin.INSTANCE.getString("_UI_CxGridRendererModelWizard_description"));
+		newFileCreationPage.setFileName(cxecviewEditorPlugin.INSTANCE.getString("_UI_CxGridRendererEditorFilenameDefaultBase") + "." + FILE_EXTENSIONS.get(0));
+		addPage(newFileCreationPage);
+
+		// Try and get the resource selection to determine a current directory for the file dialog.
+		//
+		if (selection != null && !selection.isEmpty()) {
+			// Get the resource...
+			//
+			Object selectedElement = selection.iterator().next();
+			if (selectedElement instanceof IResource) {
+				// Get the resource parent, if its a file.
+				//
+				IResource selectedResource = (IResource)selectedElement;
+				if (selectedResource.getType() == IResource.FILE) {
+					selectedResource = selectedResource.getParent();
+				}
+
+				// This gives us a directory...
+				//
+				if (selectedResource instanceof IFolder || selectedResource instanceof IProject) {
+					// Set this for the container.
+					//
+					newFileCreationPage.setContainerFullPath(selectedResource.getFullPath());
+
+					// Make up a unique new name here.
+					//
+					String defaultModelBaseFilename = cxecviewEditorPlugin.INSTANCE.getString("_UI_CxGridRendererEditorFilenameDefaultBase");
+					String defaultModelFilenameExtension = FILE_EXTENSIONS.get(0);
+					String modelFilename = defaultModelBaseFilename + "." + defaultModelFilenameExtension;
+					for (int i = 1; ((IContainer)selectedResource).findMember(modelFilename) != null; ++i) {
+						modelFilename = defaultModelBaseFilename + i + "." + defaultModelFilenameExtension;
+					}
+					newFileCreationPage.setFileName(modelFilename);
+				}
+			}
+		}
+		initialObjectCreationPage = new CxGridRendererModelWizardInitialObjectCreationPage("Whatever2");
+		initialObjectCreationPage.setTitle(cxecviewEditorPlugin.INSTANCE.getString("_UI_CxGridRendererModelWizard_label"));
+		initialObjectCreationPage.setDescription(cxecviewEditorPlugin.INSTANCE.getString("_UI_Wizard_initial_object_description"));
+		addPage(initialObjectCreationPage);
+	}
+
+	/**
+	 * Get the file from the page.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IFile getModelFile() {
+		return newFileCreationPage.getModelFile();
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/.classpath b/org.eclipse.osbp.ecview.extension.grid.model.tests/.classpath
new file mode 100644
index 0000000..22f3064
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/.classpath
@@ -0,0 +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/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/.project b/org.eclipse.osbp.ecview.extension.grid.model.tests/.project
new file mode 100644
index 0000000..742e489
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.osbp.ecview.extension.grid.model.tests</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>org.eclipse.babel.editor.rbeBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.babel.editor.rbeNature</nature>
+	</natures>
+</projectDescription>
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/META-INF/MANIFEST.MF b/org.eclipse.osbp.ecview.extension.grid.model.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..9e1530c
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,19 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.osbp.ecview.extension.grid.model.tests;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Export-Package: org.eclipse.osbp.ecview.extension.grid.memento.tests,
+ org.eclipse.osbp.ecview.extension.grid.renderer.tests,
+ org.eclipse.osbp.ecview.extension.grid.tests
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.osbp.ecview.extension.grid.model;visibility:=reexport,
+ org.eclipse.osbp.ecview.core.common.model;visibility:=reexport,
+ org.eclipse.osbp.ecview.core.extension.model;visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;visibility:=reexport,
+ org.junit;visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/build.properties b/org.eclipse.osbp.ecview.extension.grid.model.tests/build.properties
new file mode 100644
index 0000000..08af068
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/build.properties
@@ -0,0 +1,8 @@
+#
+
+bin.includes = .,\
+               META-INF/,\
+               plugin.properties
+jars.compile.order = .
+source.. = src/
+output.. = bin/
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/plugin.properties b/org.eclipse.osbp.ecview.extension.grid.model.tests/plugin.properties
new file mode 100644
index 0000000..32152e7
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/plugin.properties
@@ -0,0 +1,4 @@
+#
+
+pluginName = CxGrid Tests
+providerName = www.example.org
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/memento/tests/CxGridMementoColumnTest.java b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/memento/tests/CxGridMementoColumnTest.java
new file mode 100644
index 0000000..dcde130
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/memento/tests/CxGridMementoColumnTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.memento.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.grid.memento.CxGridMementoColumn;
+import org.eclipse.osbp.ecview.extension.grid.memento.CxGridMementoFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Column</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridMementoColumnTest extends TestCase {
+
+	/**
+	 * The fixture for this Column test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridMementoColumn fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(CxGridMementoColumnTest.class);
+	}
+
+	/**
+	 * Constructs a new Column test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridMementoColumnTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this Column test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(CxGridMementoColumn fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this Column test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridMementoColumn getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CxGridMementoFactory.eINSTANCE.createCxGridMementoColumn());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //CxGridMementoColumnTest
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/memento/tests/CxGridMementoExample.java b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/memento/tests/CxGridMementoExample.java
new file mode 100644
index 0000000..d5f8e82
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/memento/tests/CxGridMementoExample.java
@@ -0,0 +1,121 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.memento.tests;
+
+import java.io.File;
+import java.io.IOException;
+
+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.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.ecore.xmi.impl.XMIResourceFactoryImpl;
+
+import org.eclipse.osbp.ecview.extension.grid.memento.CxGridMemento;
+import org.eclipse.osbp.ecview.extension.grid.memento.CxGridMementoFactory;
+import org.eclipse.osbp.ecview.extension.grid.memento.CxGridMementoPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * A sample utility for the '<em><b>memento</b></em>' package.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridMementoExample {
+	/**
+	 * <!-- begin-user-doc -->
+	 * Load all the argument file paths or URIs as instances of the model.
+	 * <!-- end-user-doc -->
+	 * @param args the file paths or URIs.
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		// Create a resource set to hold the resources.
+		//
+		ResourceSet resourceSet = new ResourceSetImpl();
+		
+		// Register the appropriate resource factory to handle all file extensions.
+		//
+		resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put
+			(Resource.Factory.Registry.DEFAULT_EXTENSION, 
+			 new XMIResourceFactoryImpl());
+
+		// Register the package to ensure it is available during loading.
+		//
+		resourceSet.getPackageRegistry().put
+			(CxGridMementoPackage.eNS_URI, 
+			 CxGridMementoPackage.eINSTANCE);
+        
+		// If there are no arguments, emit an appropriate usage message.
+		//
+		if (args.length == 0) {
+			System.out.println("Enter a list of file paths or URIs that have content like this:");
+			try {
+				Resource resource = resourceSet.createResource(URI.createURI("http:///My.cxgridmemento"));
+				CxGridMemento root = CxGridMementoFactory.eINSTANCE.createCxGridMemento();
+				resource.getContents().add(root);
+				resource.save(System.out, null);
+			}
+			catch (IOException exception) {
+				exception.printStackTrace();
+			}
+		}
+		else {
+			// Iterate over all the arguments.
+			//
+			for (int i = 0; i < args.length; ++i) {
+				// Construct the URI for the instance file.
+				// The argument is treated as a file path only if it denotes an existing file.
+				// Otherwise, it's directly treated as a URL.
+				//
+				File file = new File(args[i]);
+				URI uri = file.isFile() ? URI.createFileURI(file.getAbsolutePath()): URI.createURI(args[i]);
+
+				try {
+					// Demand load resource for this file.
+					//
+					Resource resource = resourceSet.getResource(uri, true);
+					System.out.println("Loaded " + uri);
+
+					// Validate the contents of the loaded resource.
+					//
+					for (EObject eObject : resource.getContents()) {
+						Diagnostic diagnostic = Diagnostician.INSTANCE.validate(eObject);
+						if (diagnostic.getSeverity() != Diagnostic.OK) {
+							printDiagnostic(diagnostic, "");
+						}
+					}
+				}
+				catch (RuntimeException exception) {
+					System.out.println("Problem loading " + uri);
+					exception.printStackTrace();
+				}
+			}
+		}
+	}
+	
+	/**
+	 * <!-- begin-user-doc -->
+	 * Prints diagnostics with indentation.
+	 * <!-- end-user-doc -->
+	 * @param diagnostic the diagnostic to print.
+	 * @param indent the indentation for printing.
+	 * @generated
+	 */
+	protected static void printDiagnostic(Diagnostic diagnostic, String indent) {
+		System.out.print(indent);
+		System.out.println(diagnostic.getMessage());
+		for (Diagnostic child : diagnostic.getChildren()) {
+			printDiagnostic(child, indent + "  ");
+		}
+	}
+
+} //CxGridMementoExample
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/memento/tests/CxGridMementoSortableTest.java b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/memento/tests/CxGridMementoSortableTest.java
new file mode 100644
index 0000000..0218866
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/memento/tests/CxGridMementoSortableTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.memento.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.grid.memento.CxGridMementoFactory;
+import org.eclipse.osbp.ecview.extension.grid.memento.CxGridMementoSortable;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Sortable</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridMementoSortableTest extends TestCase {
+
+	/**
+	 * The fixture for this Sortable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridMementoSortable fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(CxGridMementoSortableTest.class);
+	}
+
+	/**
+	 * Constructs a new Sortable test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridMementoSortableTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this Sortable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(CxGridMementoSortable fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this Sortable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridMementoSortable getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CxGridMementoFactory.eINSTANCE.createCxGridMementoSortable());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //CxGridMementoSortableTest
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/memento/tests/CxGridMementoTest.java b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/memento/tests/CxGridMementoTest.java
new file mode 100644
index 0000000..3e82516
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/memento/tests/CxGridMementoTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.memento.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.grid.memento.CxGridMemento;
+import org.eclipse.osbp.ecview.extension.grid.memento.CxGridMementoFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Cx Grid Memento</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridMementoTest extends TestCase {
+
+	/**
+	 * The fixture for this Cx Grid Memento test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridMemento fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(CxGridMementoTest.class);
+	}
+
+	/**
+	 * Constructs a new Cx Grid Memento test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridMementoTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this Cx Grid Memento test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(CxGridMemento fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this Cx Grid Memento test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridMemento getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CxGridMementoFactory.eINSTANCE.createCxGridMemento());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //CxGridMementoTest
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/memento/tests/CxGridMementoTests.java b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/memento/tests/CxGridMementoTests.java
new file mode 100644
index 0000000..3302dba
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/memento/tests/CxGridMementoTests.java
@@ -0,0 +1,46 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.memento.tests;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import junit.textui.TestRunner;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test suite for the '<em><b>memento</b></em>' package.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridMementoTests extends TestSuite {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(suite());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static Test suite() {
+		TestSuite suite = new CxGridMementoTests("memento Tests");
+		return suite;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridMementoTests(String name) {
+		super(name);
+	}
+
+} //CxGridMementoTests
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridBooleanRendererTest.java b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridBooleanRendererTest.java
new file mode 100644
index 0000000..20b6266
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridBooleanRendererTest.java
@@ -0,0 +1,70 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.renderer.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridBooleanRenderer;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Cx Grid Boolean Renderer</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridBooleanRendererTest extends CxGridRendererTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(CxGridBooleanRendererTest.class);
+	}
+
+	/**
+	 * Constructs a new Cx Grid Boolean Renderer test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridBooleanRendererTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this Cx Grid Boolean Renderer test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected CxGridBooleanRenderer getFixture() {
+		return (CxGridBooleanRenderer)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CxGridRendererFactory.eINSTANCE.createCxGridBooleanRenderer());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //CxGridBooleanRendererTest
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridButtonRendererTest.java b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridButtonRendererTest.java
new file mode 100644
index 0000000..c132b3a
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridButtonRendererTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.renderer.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridButtonRenderer;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Cx Grid Button Renderer</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.CxGridButtonRenderer#createLastClickEventEndpoint() <em>Create Last Click Event Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class CxGridButtonRendererTest extends CxGridRendererTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(CxGridButtonRendererTest.class);
+	}
+
+	/**
+	 * Constructs a new Cx Grid Button Renderer test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridButtonRendererTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this Cx Grid Button Renderer test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected CxGridButtonRenderer getFixture() {
+		return (CxGridButtonRenderer)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CxGridRendererFactory.eINSTANCE.createCxGridButtonRenderer());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.extension.grid.renderer.CxGridButtonRenderer#createLastClickEventEndpoint() <em>Create Last Click Event Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.extension.grid.renderer.CxGridButtonRenderer#createLastClickEventEndpoint()
+	 * @generated
+	 */
+	public void testCreateLastClickEventEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //CxGridButtonRendererTest
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridDateRendererTest.java b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridDateRendererTest.java
new file mode 100644
index 0000000..eb0c83a
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridDateRendererTest.java
@@ -0,0 +1,70 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.renderer.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridDateRenderer;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Cx Grid Date Renderer</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridDateRendererTest extends CxGridRendererTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(CxGridDateRendererTest.class);
+	}
+
+	/**
+	 * Constructs a new Cx Grid Date Renderer test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridDateRendererTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this Cx Grid Date Renderer test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected CxGridDateRenderer getFixture() {
+		return (CxGridDateRenderer)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CxGridRendererFactory.eINSTANCE.createCxGridDateRenderer());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //CxGridDateRendererTest
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridDelegateRendererTest.java b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridDelegateRendererTest.java
new file mode 100644
index 0000000..5ca0820
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridDelegateRendererTest.java
@@ -0,0 +1,70 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.renderer.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridDelegateRenderer;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Cx Grid Delegate Renderer</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridDelegateRendererTest extends CxGridRendererTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(CxGridDelegateRendererTest.class);
+	}
+
+	/**
+	 * Constructs a new Cx Grid Delegate Renderer test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridDelegateRendererTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this Cx Grid Delegate Renderer test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected CxGridDelegateRenderer getFixture() {
+		return (CxGridDelegateRenderer)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CxGridRendererFactory.eINSTANCE.createCxGridDelegateRenderer());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //CxGridDelegateRendererTest
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridHtmlRendererTest.java b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridHtmlRendererTest.java
new file mode 100644
index 0000000..efe117d
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridHtmlRendererTest.java
@@ -0,0 +1,70 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.renderer.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridHtmlRenderer;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Cx Grid Html Renderer</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridHtmlRendererTest extends CxGridRendererTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(CxGridHtmlRendererTest.class);
+	}
+
+	/**
+	 * Constructs a new Cx Grid Html Renderer test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridHtmlRendererTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this Cx Grid Html Renderer test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected CxGridHtmlRenderer getFixture() {
+		return (CxGridHtmlRenderer)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CxGridRendererFactory.eINSTANCE.createCxGridHtmlRenderer());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //CxGridHtmlRendererTest
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridImageRendererTest.java b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridImageRendererTest.java
new file mode 100644
index 0000000..6709303
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridImageRendererTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.renderer.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridImageRenderer;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Cx Grid Image Renderer</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.CxGridImageRenderer#createLastClickEventEndpoint() <em>Create Last Click Event Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class CxGridImageRendererTest extends CxGridRendererTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(CxGridImageRendererTest.class);
+	}
+
+	/**
+	 * Constructs a new Cx Grid Image Renderer test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridImageRendererTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this Cx Grid Image Renderer test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected CxGridImageRenderer getFixture() {
+		return (CxGridImageRenderer)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CxGridRendererFactory.eINSTANCE.createCxGridImageRenderer());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.extension.grid.renderer.CxGridImageRenderer#createLastClickEventEndpoint() <em>Create Last Click Event Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.extension.grid.renderer.CxGridImageRenderer#createLastClickEventEndpoint()
+	 * @generated
+	 */
+	public void testCreateLastClickEventEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //CxGridImageRendererTest
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridIndicatorRendererTest.java b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridIndicatorRendererTest.java
new file mode 100644
index 0000000..fa5f07d
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridIndicatorRendererTest.java
@@ -0,0 +1,70 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.renderer.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridIndicatorRenderer;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Cx Grid Indicator Renderer</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridIndicatorRendererTest extends CxGridRendererTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(CxGridIndicatorRendererTest.class);
+	}
+
+	/**
+	 * Constructs a new Cx Grid Indicator Renderer test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridIndicatorRendererTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this Cx Grid Indicator Renderer test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected CxGridIndicatorRenderer getFixture() {
+		return (CxGridIndicatorRenderer)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CxGridRendererFactory.eINSTANCE.createCxGridIndicatorRenderer());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //CxGridIndicatorRendererTest
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridNumberRendererTest.java b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridNumberRendererTest.java
new file mode 100644
index 0000000..1b0169d
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridNumberRendererTest.java
@@ -0,0 +1,70 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.renderer.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridNumberRenderer;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Cx Grid Number Renderer</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridNumberRendererTest extends CxGridRendererTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(CxGridNumberRendererTest.class);
+	}
+
+	/**
+	 * Constructs a new Cx Grid Number Renderer test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridNumberRendererTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this Cx Grid Number Renderer test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected CxGridNumberRenderer getFixture() {
+		return (CxGridNumberRenderer)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CxGridRendererFactory.eINSTANCE.createCxGridNumberRenderer());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //CxGridNumberRendererTest
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridPriceRendererTest.java b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridPriceRendererTest.java
new file mode 100644
index 0000000..44f8d91
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridPriceRendererTest.java
@@ -0,0 +1,70 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.renderer.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridPriceRenderer;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Cx Grid Price Renderer</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridPriceRendererTest extends CxGridRendererTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(CxGridPriceRendererTest.class);
+	}
+
+	/**
+	 * Constructs a new Cx Grid Price Renderer test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridPriceRendererTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this Cx Grid Price Renderer test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected CxGridPriceRenderer getFixture() {
+		return (CxGridPriceRenderer)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CxGridRendererFactory.eINSTANCE.createCxGridPriceRenderer());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //CxGridPriceRendererTest
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridProgressBarRendererTest.java b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridProgressBarRendererTest.java
new file mode 100644
index 0000000..0025d8c
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridProgressBarRendererTest.java
@@ -0,0 +1,70 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.renderer.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridProgressBarRenderer;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Cx Grid Progress Bar Renderer</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridProgressBarRendererTest extends CxGridRendererTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(CxGridProgressBarRendererTest.class);
+	}
+
+	/**
+	 * Constructs a new Cx Grid Progress Bar Renderer test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridProgressBarRendererTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this Cx Grid Progress Bar Renderer test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected CxGridProgressBarRenderer getFixture() {
+		return (CxGridProgressBarRenderer)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CxGridRendererFactory.eINSTANCE.createCxGridProgressBarRenderer());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //CxGridProgressBarRendererTest
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridQuantityRendererTest.java b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridQuantityRendererTest.java
new file mode 100644
index 0000000..945fdf9
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridQuantityRendererTest.java
@@ -0,0 +1,70 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.renderer.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridQuantityRenderer;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Cx Grid Quantity Renderer</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridQuantityRendererTest extends CxGridRendererTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(CxGridQuantityRendererTest.class);
+	}
+
+	/**
+	 * Constructs a new Cx Grid Quantity Renderer test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridQuantityRendererTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this Cx Grid Quantity Renderer test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected CxGridQuantityRenderer getFixture() {
+		return (CxGridQuantityRenderer)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CxGridRendererFactory.eINSTANCE.createCxGridQuantityRenderer());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //CxGridQuantityRendererTest
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridRendererClickEventTest.java b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridRendererClickEventTest.java
new file mode 100644
index 0000000..973e6a4
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridRendererClickEventTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.renderer.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererClickEvent;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Click Event</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridRendererClickEventTest extends TestCase {
+
+	/**
+	 * The fixture for this Click Event test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridRendererClickEvent fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(CxGridRendererClickEventTest.class);
+	}
+
+	/**
+	 * Constructs a new Click Event test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridRendererClickEventTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this Click Event test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(CxGridRendererClickEvent fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this Click Event test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridRendererClickEvent getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CxGridRendererFactory.eINSTANCE.createCxGridRendererClickEvent());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //CxGridRendererClickEventTest
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridRendererExample.java b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridRendererExample.java
new file mode 100644
index 0000000..07372d9
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridRendererExample.java
@@ -0,0 +1,121 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.renderer.tests;
+
+import java.io.File;
+import java.io.IOException;
+
+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.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.ecore.xmi.impl.XMIResourceFactoryImpl;
+
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridDelegateRenderer;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererFactory;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * A sample utility for the '<em><b>renderer</b></em>' package.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridRendererExample {
+	/**
+	 * <!-- begin-user-doc -->
+	 * Load all the argument file paths or URIs as instances of the model.
+	 * <!-- end-user-doc -->
+	 * @param args the file paths or URIs.
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		// Create a resource set to hold the resources.
+		//
+		ResourceSet resourceSet = new ResourceSetImpl();
+		
+		// Register the appropriate resource factory to handle all file extensions.
+		//
+		resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put
+			(Resource.Factory.Registry.DEFAULT_EXTENSION, 
+			 new XMIResourceFactoryImpl());
+
+		// Register the package to ensure it is available during loading.
+		//
+		resourceSet.getPackageRegistry().put
+			(CxGridRendererPackage.eNS_URI, 
+			 CxGridRendererPackage.eINSTANCE);
+        
+		// If there are no arguments, emit an appropriate usage message.
+		//
+		if (args.length == 0) {
+			System.out.println("Enter a list of file paths or URIs that have content like this:");
+			try {
+				Resource resource = resourceSet.createResource(URI.createURI("http:///My.cxgridrenderer"));
+				CxGridDelegateRenderer root = CxGridRendererFactory.eINSTANCE.createCxGridDelegateRenderer();
+				resource.getContents().add(root);
+				resource.save(System.out, null);
+			}
+			catch (IOException exception) {
+				exception.printStackTrace();
+			}
+		}
+		else {
+			// Iterate over all the arguments.
+			//
+			for (int i = 0; i < args.length; ++i) {
+				// Construct the URI for the instance file.
+				// The argument is treated as a file path only if it denotes an existing file.
+				// Otherwise, it's directly treated as a URL.
+				//
+				File file = new File(args[i]);
+				URI uri = file.isFile() ? URI.createFileURI(file.getAbsolutePath()): URI.createURI(args[i]);
+
+				try {
+					// Demand load resource for this file.
+					//
+					Resource resource = resourceSet.getResource(uri, true);
+					System.out.println("Loaded " + uri);
+
+					// Validate the contents of the loaded resource.
+					//
+					for (EObject eObject : resource.getContents()) {
+						Diagnostic diagnostic = Diagnostician.INSTANCE.validate(eObject);
+						if (diagnostic.getSeverity() != Diagnostic.OK) {
+							printDiagnostic(diagnostic, "");
+						}
+					}
+				}
+				catch (RuntimeException exception) {
+					System.out.println("Problem loading " + uri);
+					exception.printStackTrace();
+				}
+			}
+		}
+	}
+	
+	/**
+	 * <!-- begin-user-doc -->
+	 * Prints diagnostics with indentation.
+	 * <!-- end-user-doc -->
+	 * @param diagnostic the diagnostic to print.
+	 * @param indent the indentation for printing.
+	 * @generated
+	 */
+	protected static void printDiagnostic(Diagnostic diagnostic, String indent) {
+		System.out.print(indent);
+		System.out.println(diagnostic.getMessage());
+		for (Diagnostic child : diagnostic.getChildren()) {
+			printDiagnostic(child, indent + "  ");
+		}
+	}
+
+} //CxGridRendererExample
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridRendererTest.java b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridRendererTest.java
new file mode 100644
index 0000000..41200d9
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridRendererTest.java
@@ -0,0 +1,55 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.renderer.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRenderer;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Cx Grid Renderer</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public abstract class CxGridRendererTest extends TestCase {
+
+	/**
+	 * The fixture for this Cx Grid Renderer test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridRenderer fixture = null;
+
+	/**
+	 * Constructs a new Cx Grid Renderer test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridRendererTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this Cx Grid Renderer test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(CxGridRenderer fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this Cx Grid Renderer test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridRenderer getFixture() {
+		return fixture;
+	}
+
+} //CxGridRendererTest
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridRendererTests.java b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridRendererTests.java
new file mode 100644
index 0000000..91260b5
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridRendererTests.java
@@ -0,0 +1,48 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.renderer.tests;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import junit.textui.TestRunner;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test suite for the '<em><b>renderer</b></em>' package.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridRendererTests extends TestSuite {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(suite());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static Test suite() {
+		TestSuite suite = new CxGridRendererTests("renderer Tests");
+		suite.addTestSuite(CxGridButtonRendererTest.class);
+		suite.addTestSuite(CxGridImageRendererTest.class);
+		return suite;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridRendererTests(String name) {
+		super(name);
+	}
+
+} //CxGridRendererTests
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridTextRendererTest.java b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridTextRendererTest.java
new file mode 100644
index 0000000..45a71d2
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridTextRendererTest.java
@@ -0,0 +1,70 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.renderer.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererFactory;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridTextRenderer;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Cx Grid Text Renderer</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridTextRendererTest extends CxGridRendererTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(CxGridTextRendererTest.class);
+	}
+
+	/**
+	 * Constructs a new Cx Grid Text Renderer test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridTextRendererTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this Cx Grid Text Renderer test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected CxGridTextRenderer getFixture() {
+		return (CxGridTextRenderer)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CxGridRendererFactory.eINSTANCE.createCxGridTextRenderer());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //CxGridTextRendererTest
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridCellStyleGeneratorTest.java b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridCellStyleGeneratorTest.java
new file mode 100644
index 0000000..20044f5
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridCellStyleGeneratorTest.java
@@ -0,0 +1,55 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.extension.grid.CxGridCellStyleGenerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Cell Style Generator</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public abstract class CxGridCellStyleGeneratorTest extends TestCase {
+
+	/**
+	 * The fixture for this Cell Style Generator test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridCellStyleGenerator fixture = null;
+
+	/**
+	 * Constructs a new Cell Style Generator test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridCellStyleGeneratorTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this Cell Style Generator test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(CxGridCellStyleGenerator fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this Cell Style Generator test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridCellStyleGenerator getFixture() {
+		return fixture;
+	}
+
+} //CxGridCellStyleGeneratorTest
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridColumnTest.java b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridColumnTest.java
new file mode 100644
index 0000000..7764360
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridColumnTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.grid.CxGridColumn;
+import org.eclipse.osbp.ecview.extension.grid.CxGridFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Column</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YHelperLayoutProvider#getHelperLayout() <em>Get Helper Layout</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class CxGridColumnTest extends CxGridGroupableTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(CxGridColumnTest.class);
+	}
+
+	/**
+	 * Constructs a new Column test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridColumnTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this Column test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected CxGridColumn getFixture() {
+		return (CxGridColumn)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CxGridFactory.eINSTANCE.createCxGridColumn());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YHelperLayoutProvider#getHelperLayout() <em>Get Helper Layout</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YHelperLayoutProvider#getHelperLayout()
+	 * @generated
+	 */
+	public void testGetHelperLayout() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //CxGridColumnTest
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridDelegateCellStyleGeneratorTest.java b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridDelegateCellStyleGeneratorTest.java
new file mode 100644
index 0000000..17f1f1d
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridDelegateCellStyleGeneratorTest.java
@@ -0,0 +1,70 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.grid.CxGridDelegateCellStyleGenerator;
+import org.eclipse.osbp.ecview.extension.grid.CxGridFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Delegate Cell Style Generator</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridDelegateCellStyleGeneratorTest extends CxGridCellStyleGeneratorTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(CxGridDelegateCellStyleGeneratorTest.class);
+	}
+
+	/**
+	 * Constructs a new Delegate Cell Style Generator test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridDelegateCellStyleGeneratorTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this Delegate Cell Style Generator test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected CxGridDelegateCellStyleGenerator getFixture() {
+		return (CxGridDelegateCellStyleGenerator)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CxGridFactory.eINSTANCE.createCxGridDelegateCellStyleGenerator());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //CxGridDelegateCellStyleGeneratorTest
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridExample.java b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridExample.java
new file mode 100644
index 0000000..45f99ca
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridExample.java
@@ -0,0 +1,121 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.tests;
+
+import java.io.File;
+import java.io.IOException;
+
+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.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.ecore.xmi.impl.XMIResourceFactoryImpl;
+
+import org.eclipse.osbp.ecview.extension.grid.CxGrid;
+import org.eclipse.osbp.ecview.extension.grid.CxGridFactory;
+import org.eclipse.osbp.ecview.extension.grid.CxGridPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * A sample utility for the '<em><b>grid</b></em>' package.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridExample {
+	/**
+	 * <!-- begin-user-doc -->
+	 * Load all the argument file paths or URIs as instances of the model.
+	 * <!-- end-user-doc -->
+	 * @param args the file paths or URIs.
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		// Create a resource set to hold the resources.
+		//
+		ResourceSet resourceSet = new ResourceSetImpl();
+		
+		// Register the appropriate resource factory to handle all file extensions.
+		//
+		resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put
+			(Resource.Factory.Registry.DEFAULT_EXTENSION, 
+			 new XMIResourceFactoryImpl());
+
+		// Register the package to ensure it is available during loading.
+		//
+		resourceSet.getPackageRegistry().put
+			(CxGridPackage.eNS_URI, 
+			 CxGridPackage.eINSTANCE);
+        
+		// If there are no arguments, emit an appropriate usage message.
+		//
+		if (args.length == 0) {
+			System.out.println("Enter a list of file paths or URIs that have content like this:");
+			try {
+				Resource resource = resourceSet.createResource(URI.createURI("http:///My.cxgrid"));
+				CxGrid root = CxGridFactory.eINSTANCE.createCxGrid();
+				resource.getContents().add(root);
+				resource.save(System.out, null);
+			}
+			catch (IOException exception) {
+				exception.printStackTrace();
+			}
+		}
+		else {
+			// Iterate over all the arguments.
+			//
+			for (int i = 0; i < args.length; ++i) {
+				// Construct the URI for the instance file.
+				// The argument is treated as a file path only if it denotes an existing file.
+				// Otherwise, it's directly treated as a URL.
+				//
+				File file = new File(args[i]);
+				URI uri = file.isFile() ? URI.createFileURI(file.getAbsolutePath()): URI.createURI(args[i]);
+
+				try {
+					// Demand load resource for this file.
+					//
+					Resource resource = resourceSet.getResource(uri, true);
+					System.out.println("Loaded " + uri);
+
+					// Validate the contents of the loaded resource.
+					//
+					for (EObject eObject : resource.getContents()) {
+						Diagnostic diagnostic = Diagnostician.INSTANCE.validate(eObject);
+						if (diagnostic.getSeverity() != Diagnostic.OK) {
+							printDiagnostic(diagnostic, "");
+						}
+					}
+				}
+				catch (RuntimeException exception) {
+					System.out.println("Problem loading " + uri);
+					exception.printStackTrace();
+				}
+			}
+		}
+	}
+	
+	/**
+	 * <!-- begin-user-doc -->
+	 * Prints diagnostics with indentation.
+	 * <!-- end-user-doc -->
+	 * @param diagnostic the diagnostic to print.
+	 * @param indent the indentation for printing.
+	 * @generated
+	 */
+	protected static void printDiagnostic(Diagnostic diagnostic, String indent) {
+		System.out.print(indent);
+		System.out.println(diagnostic.getMessage());
+		for (Diagnostic child : diagnostic.getChildren()) {
+			printDiagnostic(child, indent + "  ");
+		}
+	}
+
+} //CxGridExample
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridFilterRowTest.java b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridFilterRowTest.java
new file mode 100644
index 0000000..3145f6e
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridFilterRowTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.grid.CxGridFactory;
+import org.eclipse.osbp.ecview.extension.grid.CxGridFilterRow;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Filter Row</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridFilterRowTest extends TestCase {
+
+	/**
+	 * The fixture for this Filter Row test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridFilterRow fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(CxGridFilterRowTest.class);
+	}
+
+	/**
+	 * Constructs a new Filter Row test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridFilterRowTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this Filter Row test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(CxGridFilterRow fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this Filter Row test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridFilterRow getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CxGridFactory.eINSTANCE.createCxGridFilterRow());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //CxGridFilterRowTest
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridFooterRowTest.java b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridFooterRowTest.java
new file mode 100644
index 0000000..1283fdd
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridFooterRowTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.grid.CxGridFactory;
+import org.eclipse.osbp.ecview.extension.grid.CxGridFooterRow;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Footer Row</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridFooterRowTest extends TestCase {
+
+	/**
+	 * The fixture for this Footer Row test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridFooterRow fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(CxGridFooterRowTest.class);
+	}
+
+	/**
+	 * Constructs a new Footer Row test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridFooterRowTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this Footer Row test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(CxGridFooterRow fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this Footer Row test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridFooterRow getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CxGridFactory.eINSTANCE.createCxGridFooterRow());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //CxGridFooterRowTest
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridGroupableTest.java b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridGroupableTest.java
new file mode 100644
index 0000000..f26cfd5
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridGroupableTest.java
@@ -0,0 +1,55 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.extension.grid.CxGridGroupable;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Groupable</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public abstract class CxGridGroupableTest extends TestCase {
+
+	/**
+	 * The fixture for this Groupable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridGroupable fixture = null;
+
+	/**
+	 * Constructs a new Groupable test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridGroupableTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this Groupable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(CxGridGroupable fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this Groupable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridGroupable getFixture() {
+		return fixture;
+	}
+
+} //CxGridGroupableTest
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridGroupedCellTest.java b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridGroupedCellTest.java
new file mode 100644
index 0000000..c072566
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridGroupedCellTest.java
@@ -0,0 +1,70 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.grid.CxGridFactory;
+import org.eclipse.osbp.ecview.extension.grid.CxGridGroupedCell;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Grouped Cell</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridGroupedCellTest extends CxGridGroupableTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(CxGridGroupedCellTest.class);
+	}
+
+	/**
+	 * Constructs a new Grouped Cell test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridGroupedCellTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this Grouped Cell test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected CxGridGroupedCell getFixture() {
+		return (CxGridGroupedCell)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CxGridFactory.eINSTANCE.createCxGridGroupedCell());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //CxGridGroupedCellTest
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridHeaderRowTest.java b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridHeaderRowTest.java
new file mode 100644
index 0000000..3a6bbaf
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridHeaderRowTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.grid.CxGridFactory;
+import org.eclipse.osbp.ecview.extension.grid.CxGridHeaderRow;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Header Row</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridHeaderRowTest extends TestCase {
+
+	/**
+	 * The fixture for this Header Row test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridHeaderRow fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(CxGridHeaderRowTest.class);
+	}
+
+	/**
+	 * Constructs a new Header Row test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridHeaderRowTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this Header Row test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(CxGridHeaderRow fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this Header Row test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridHeaderRow getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CxGridFactory.eINSTANCE.createCxGridHeaderRow());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //CxGridHeaderRowTest
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridMetaCellTest.java b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridMetaCellTest.java
new file mode 100644
index 0000000..475833a
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridMetaCellTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.grid.CxGridFactory;
+import org.eclipse.osbp.ecview.extension.grid.CxGridMetaCell;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Meta Cell</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridMetaCellTest extends TestCase {
+
+	/**
+	 * The fixture for this Meta Cell test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridMetaCell fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(CxGridMetaCellTest.class);
+	}
+
+	/**
+	 * Constructs a new Meta Cell test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridMetaCellTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this Meta Cell test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(CxGridMetaCell fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this Meta Cell test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridMetaCell getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CxGridFactory.eINSTANCE.createCxGridMetaCell());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //CxGridMetaCellTest
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridMetaRowTest.java b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridMetaRowTest.java
new file mode 100644
index 0000000..d5c8b9d
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridMetaRowTest.java
@@ -0,0 +1,55 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.extension.grid.CxGridMetaRow;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Meta Row</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public abstract class CxGridMetaRowTest extends TestCase {
+
+	/**
+	 * The fixture for this Meta Row test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridMetaRow fixture = null;
+
+	/**
+	 * Constructs a new Meta Row test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridMetaRowTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this Meta Row test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(CxGridMetaRow fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this Meta Row test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridMetaRow getFixture() {
+		return fixture;
+	}
+
+} //CxGridMetaRowTest
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridProviderTest.java b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridProviderTest.java
new file mode 100644
index 0000000..9259fdd
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridProviderTest.java
@@ -0,0 +1,55 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.extension.grid.CxGridProvider;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Provider</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public abstract class CxGridProviderTest extends TestCase {
+
+	/**
+	 * The fixture for this Provider test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridProvider fixture = null;
+
+	/**
+	 * Constructs a new Provider test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridProviderTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this Provider test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(CxGridProvider fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this Provider test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridProvider getFixture() {
+		return fixture;
+	}
+
+} //CxGridProviderTest
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridSortableTest.java b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridSortableTest.java
new file mode 100644
index 0000000..d23583e
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridSortableTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.grid.CxGridFactory;
+import org.eclipse.osbp.ecview.extension.grid.CxGridSortable;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Sortable</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridSortableTest extends TestCase {
+
+	/**
+	 * The fixture for this Sortable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridSortable fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(CxGridSortableTest.class);
+	}
+
+	/**
+	 * Constructs a new Sortable test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridSortableTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this Sortable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(CxGridSortable fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this Sortable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridSortable getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CxGridFactory.eINSTANCE.createCxGridSortable());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //CxGridSortableTest
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridTest.java b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridTest.java
new file mode 100644
index 0000000..acfa848
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridTest.java
@@ -0,0 +1,150 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.grid.CxGrid;
+import org.eclipse.osbp.ecview.extension.grid.CxGridFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Cx Grid</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.extension.grid.CxGrid#createEditorFieldHelperLayout() <em>Create Editor Field Helper Layout</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YMultiSelectionBindable#createMultiSelectionEndpoint() <em>Create Multi Selection Endpoint</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YSelectionBindable#createSelectionEndpoint() <em>Create Selection Endpoint</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YCollectionBindable#createCollectionEndpoint() <em>Create Collection Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class CxGridTest extends TestCase {
+
+	/**
+	 * The fixture for this Cx Grid test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGrid fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(CxGridTest.class);
+	}
+
+	/**
+	 * Constructs a new Cx Grid test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this Cx Grid test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(CxGrid fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this Cx Grid test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGrid getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CxGridFactory.eINSTANCE.createCxGrid());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.extension.grid.CxGrid#createEditorFieldHelperLayout() <em>Create Editor Field Helper Layout</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.extension.grid.CxGrid#createEditorFieldHelperLayout()
+	 * @generated
+	 */
+	public void testCreateEditorFieldHelperLayout() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YMultiSelectionBindable#createMultiSelectionEndpoint() <em>Create Multi Selection Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YMultiSelectionBindable#createMultiSelectionEndpoint()
+	 * @generated
+	 */
+	public void testCreateMultiSelectionEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YSelectionBindable#createSelectionEndpoint() <em>Create Selection Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YSelectionBindable#createSelectionEndpoint()
+	 * @generated
+	 */
+	public void testCreateSelectionEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YCollectionBindable#createCollectionEndpoint() <em>Create Collection Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YCollectionBindable#createCollectionEndpoint()
+	 * @generated
+	 */
+	public void testCreateCollectionEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //CxGridTest
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridTests.java b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridTests.java
new file mode 100644
index 0000000..a4a8d5d
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/CxGridTests.java
@@ -0,0 +1,48 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.tests;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import junit.textui.TestRunner;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test suite for the '<em><b>grid</b></em>' package.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridTests extends TestSuite {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(suite());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static Test suite() {
+		TestSuite suite = new CxGridTests("grid Tests");
+		suite.addTestSuite(CxGridTest.class);
+		suite.addTestSuite(CxGridColumnTest.class);
+		return suite;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridTests(String name) {
+		super(name);
+	}
+
+} //CxGridTests
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/cxecviewAllTests.java b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/cxecviewAllTests.java
new file mode 100644
index 0000000..3baa3c4
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/tests/cxecviewAllTests.java
@@ -0,0 +1,50 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.tests;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.grid.renderer.tests.CxGridRendererTests;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test suite for the '<em><b>CxGrid</b></em>' model.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class cxecviewAllTests extends TestSuite {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(suite());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static Test suite() {
+		TestSuite suite = new cxecviewAllTests("CxGrid Tests");
+		suite.addTest(CxGridTests.suite());
+		suite.addTest(CxGridRendererTests.suite());
+		return suite;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public cxecviewAllTests(String name) {
+		super(name);
+	}
+
+} //cxecviewAllTests
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/.classpath b/org.eclipse.osbp.ecview.extension.grid.model/.classpath
new file mode 100644
index 0000000..46cec6e
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model/.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.7"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src/"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/.gitignore b/org.eclipse.osbp.ecview.extension.grid.model/.gitignore
new file mode 100644
index 0000000..1dd3331
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model/.gitignore
@@ -0,0 +1,2 @@
+/target/
+/target/
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.ecview.extension.grid.model/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.osbp.ecview.extension.grid.model/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..f42de36
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.ecview.extension.grid.model/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.ecview.extension.grid.model/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..19e3115
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,11 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+BuilderConfiguration.is_project_specific=true
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.emf-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/META-INF/MANIFEST.MF b/org.eclipse.osbp.ecview.extension.grid.model/META-INF/MANIFEST.MF
index 7cd9f22..9eba5d9 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/META-INF/MANIFEST.MF
+++ b/org.eclipse.osbp.ecview.extension.grid.model/META-INF/MANIFEST.MF
@@ -4,14 +4,15 @@
 Bundle-SymbolicName: org.eclipse.osbp.ecview.extension.grid.model;singleton:=true
 Bundle-Version: 0.9.0.qualifier
 Bundle-ClassPath: .
-Bundle-Vendor: Eclipse OSBP
- Germany)
+Bundle-Vendor: Loetz GmbH&Co.KG (69115 Heidelberg,
+ 
 Bundle-Localization: plugin
 Bundle-RequiredExecutionEnvironment: JavaSE-1.7
 Require-Bundle: org.eclipse.core.runtime,
  org.eclipse.emf.ecore;visibility:=reexport,
  org.eclipse.osbp.ecview.core.common.model;bundle-version="[0.9.0,0.10.0)";visibility:=reexport,
- org.eclipse.osbp.ecview.core.extension.model;bundle-version="[0.9.0,0.10.0)";visibility:=reexport
+ org.eclipse.osbp.ecview.core.extension.model;bundle-version="[0.9.0,0.10.0)";visibility:=reexport,
+ org.eclipse.osbp.ui.api;bundle-version="[0.9.0,0.10.0)"
 Bundle-ActivationPolicy: lazy
 Export-Package: org.eclipse.osbp.ecview.extension.grid;version="0.9.0",
  org.eclipse.osbp.ecview.extension.grid.impl;version="0.9.0",
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/model/cxgrid.ecore b/org.eclipse.osbp.ecview.extension.grid.model/model/cxgrid.ecore
index 30a4a61..b3a7415 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/model/cxgrid.ecore
+++ b/org.eclipse.osbp.ecview.extension.grid.model/model/cxgrid.ecore
@@ -46,6 +46,7 @@
         eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="editorSaved" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"
         transient="true"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="setLastRefreshTime" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="CxGridProvider" abstract="true" interface="true"/>
   <eClassifiers xsi:type="ecore:EClass" name="CxGridMetaRow" abstract="true" interface="true"
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/CxGrid.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/CxGrid.java
index f8528e7..a2a0866 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/CxGrid.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/CxGrid.java
@@ -29,6 +29,7 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.CxGrid#getSelectionType <em>Selection Type</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.CxGrid#getSelectionEventTopic <em>Selection Event Topic</em>}</li>
@@ -52,8 +53,8 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.CxGrid#getEditorCancelI18nLabelKey <em>Editor Cancel I1 8n Label Key</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.CxGrid#getEditorSaveI18nLabelKey <em>Editor Save I1 8n Label Key</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.CxGrid#getEditorSaved <em>Editor Saved</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.extension.grid.CxGrid#getSetLastRefreshTime <em>Set Last Refresh Time</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.grid.CxGridPackage#getCxGrid()
  * @model
@@ -605,6 +606,32 @@
 	void setEditorSaved(Object value);
 
 	/**
+	 * Returns the value of the '<em><b>Set Last Refresh Time</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Set Last Refresh Time</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Set Last Refresh Time</em>' attribute.
+	 * @see #setSetLastRefreshTime(long)
+	 * @see org.eclipse.osbp.ecview.extension.grid.CxGridPackage#getCxGrid_SetLastRefreshTime()
+	 * @model
+	 * @generated
+	 */
+	long getSetLastRefreshTime();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.ecview.extension.grid.CxGrid#getSetLastRefreshTime <em>Set Last Refresh Time</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Set Last Refresh Time</em>' attribute.
+	 * @see #getSetLastRefreshTime()
+	 * @generated
+	 */
+	void setSetLastRefreshTime(long value);
+
+	/**
 	 * <!-- begin-user-doc --> Returns a new instance of YHelperLayout
 	 * referencing <b>(NOT containing)</b> all editor fields. <!-- end-user-doc
 	 * -->
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/CxGridColumn.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/CxGridColumn.java
index 6aab829..7fa5826 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/CxGridColumn.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/CxGridColumn.java
@@ -28,6 +28,7 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.CxGridColumn#getPropertyId <em>Property Id</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.CxGridColumn#getLabel <em>Label</em>}</li>
@@ -51,7 +52,6 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.CxGridColumn#getType <em>Type</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.CxGridColumn#getTypeQualifiedName <em>Type Qualified Name</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.grid.CxGridPackage#getCxGridColumn()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/CxGridDelegateCellStyleGenerator.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/CxGridDelegateCellStyleGenerator.java
index 35f1f71..7eed188 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/CxGridDelegateCellStyleGenerator.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/CxGridDelegateCellStyleGenerator.java
@@ -22,10 +22,10 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.CxGridDelegateCellStyleGenerator#getDelegateId <em>Delegate Id</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.grid.CxGridPackage#getCxGridDelegateCellStyleGenerator()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/CxGridGroupedCell.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/CxGridGroupedCell.java
index c400213..faa83a2 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/CxGridGroupedCell.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/CxGridGroupedCell.java
@@ -23,13 +23,13 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.CxGridGroupedCell#getGroupables <em>Groupables</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.CxGridGroupedCell#getLabel <em>Label</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.CxGridGroupedCell#getLabelI18nKey <em>Label I1 8n Key</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.CxGridGroupedCell#isUseHTML <em>Use HTML</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.grid.CxGridPackage#getCxGridGroupedCell()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/CxGridMetaCell.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/CxGridMetaCell.java
index 1620417..1ec93ce 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/CxGridMetaCell.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/CxGridMetaCell.java
@@ -24,6 +24,7 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.CxGridMetaCell#getTarget <em>Target</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.CxGridMetaCell#getLabel <em>Label</em>}</li>
@@ -31,7 +32,6 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.CxGridMetaCell#isUseHTML <em>Use HTML</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.CxGridMetaCell#getElement <em>Element</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.grid.CxGridPackage#getCxGridMetaCell()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/CxGridMetaRow.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/CxGridMetaRow.java
index 8a1e9b7..b45bdfa 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/CxGridMetaRow.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/CxGridMetaRow.java
@@ -24,11 +24,11 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.CxGridMetaRow#getGroupings <em>Groupings</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.CxGridMetaRow#getCustomCells <em>Custom Cells</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.grid.CxGridPackage#getCxGridMetaRow()
  * @model interface="true" abstract="true"
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/CxGridPackage.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/CxGridPackage.java
index d32fe8d..5cd55d4 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/CxGridPackage.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/CxGridPackage.java
@@ -225,6 +225,15 @@
 	int CX_GRID__LABEL_I1_8N_KEY = ExtensionModelPackage.YINPUT__LABEL_I1_8N_KEY;
 
 	/**
+	 * The feature id for the '<em><b>Last Context Click</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID__LAST_CONTEXT_CLICK = ExtensionModelPackage.YINPUT__LAST_CONTEXT_CLICK;
+
+	/**
 	 * The feature id for the '<em><b>Initial Editable</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -261,6 +270,24 @@
 	int CX_GRID__ENABLED = ExtensionModelPackage.YINPUT__ENABLED;
 
 	/**
+	 * The feature id for the '<em><b>Layout Idx</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID__LAYOUT_IDX = ExtensionModelPackage.YINPUT__LAYOUT_IDX;
+
+	/**
+	 * The feature id for the '<em><b>Layout Columns</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID__LAYOUT_COLUMNS = ExtensionModelPackage.YINPUT__LAYOUT_COLUMNS;
+
+	/**
 	 * The feature id for the '<em><b>Tab Index</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -531,13 +558,22 @@
 	int CX_GRID__EDITOR_SAVED = ExtensionModelPackage.YINPUT_FEATURE_COUNT + 25;
 
 	/**
+	 * The feature id for the '<em><b>Set Last Refresh Time</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID__SET_LAST_REFRESH_TIME = ExtensionModelPackage.YINPUT_FEATURE_COUNT + 26;
+
+	/**
 	 * The number of structural features of the '<em>Cx Grid</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CX_GRID_FEATURE_COUNT = ExtensionModelPackage.YINPUT_FEATURE_COUNT + 26;
+	int CX_GRID_FEATURE_COUNT = ExtensionModelPackage.YINPUT_FEATURE_COUNT + 27;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.osbp.ecview.extension.grid.CxGridProvider <em>Provider</em>}' class.
@@ -1785,6 +1821,17 @@
 	EAttribute getCxGrid_EditorSaved();
 
 	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.ecview.extension.grid.CxGrid#getSetLastRefreshTime <em>Set Last Refresh Time</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Set Last Refresh Time</em>'.
+	 * @see org.eclipse.osbp.ecview.extension.grid.CxGrid#getSetLastRefreshTime()
+	 * @see #getCxGrid()
+	 * @generated
+	 */
+	EAttribute getCxGrid_SetLastRefreshTime();
+
+	/**
 	 * Returns the meta object for class '{@link org.eclipse.osbp.ecview.extension.grid.CxGridProvider <em>Provider</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -2499,6 +2546,14 @@
 		EAttribute CX_GRID__EDITOR_SAVED = eINSTANCE.getCxGrid_EditorSaved();
 
 		/**
+		 * The meta object literal for the '<em><b>Set Last Refresh Time</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CX_GRID__SET_LAST_REFRESH_TIME = eINSTANCE.getCxGrid_SetLastRefreshTime();
+
+		/**
 		 * The meta object literal for the '{@link org.eclipse.osbp.ecview.extension.grid.CxGridProvider <em>Provider</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/CxGridSortable.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/CxGridSortable.java
index 311b78b..52380f2 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/CxGridSortable.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/CxGridSortable.java
@@ -23,11 +23,11 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.CxGridSortable#isDescending <em>Descending</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.CxGridSortable#getColumn <em>Column</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.grid.CxGridPackage#getCxGridSortable()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridCellStyleGeneratorImpl.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridCellStyleGeneratorImpl.java
index d90c83f..93f12f0 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridCellStyleGeneratorImpl.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridCellStyleGeneratorImpl.java
@@ -41,13 +41,13 @@
  * <em><b>Cell Style Generator</b></em>'. <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridCellStyleGeneratorImpl#getTags <em>Tags</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridCellStyleGeneratorImpl#getId <em>Id</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridCellStyleGeneratorImpl#getName <em>Name</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridCellStyleGeneratorImpl#getProperties <em>Properties</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridColumnImpl.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridColumnImpl.java
index 89b58c9..496a44c 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridColumnImpl.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridColumnImpl.java
@@ -39,6 +39,7 @@
  * <em><b>Column</b></em>'. <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridColumnImpl#getPropertyId <em>Property Id</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridColumnImpl#getLabel <em>Label</em>}</li>
@@ -62,7 +63,6 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridColumnImpl#getType <em>Type</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridColumnImpl#getTypeQualifiedName <em>Type Qualified Name</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridDelegateCellStyleGeneratorImpl.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridDelegateCellStyleGeneratorImpl.java
index 60778d7..ec1fb2e 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridDelegateCellStyleGeneratorImpl.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridDelegateCellStyleGeneratorImpl.java
@@ -26,10 +26,10 @@
  * <em><b>Delegate Cell Style Generator</b></em>'. <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridDelegateCellStyleGeneratorImpl#getDelegateId <em>Delegate Id</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridFilterRowImpl.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridFilterRowImpl.java
index cb5e7cf..3f32b2f 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridFilterRowImpl.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridFilterRowImpl.java
@@ -45,6 +45,7 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridFilterRowImpl#getTags <em>Tags</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridFilterRowImpl#getId <em>Id</em>}</li>
@@ -53,7 +54,6 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridFilterRowImpl#getGroupings <em>Groupings</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridFilterRowImpl#getCustomCells <em>Custom Cells</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridFooterRowImpl.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridFooterRowImpl.java
index 22f2773..cd54364 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridFooterRowImpl.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridFooterRowImpl.java
@@ -45,6 +45,7 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridFooterRowImpl#getTags <em>Tags</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridFooterRowImpl#getId <em>Id</em>}</li>
@@ -53,7 +54,6 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridFooterRowImpl#getGroupings <em>Groupings</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridFooterRowImpl#getCustomCells <em>Custom Cells</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridGroupableImpl.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridGroupableImpl.java
index 53ee4d4..b4e727c 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridGroupableImpl.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridGroupableImpl.java
@@ -42,13 +42,13 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridGroupableImpl#getTags <em>Tags</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridGroupableImpl#getId <em>Id</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridGroupableImpl#getName <em>Name</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridGroupableImpl#getProperties <em>Properties</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridGroupedCellImpl.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridGroupedCellImpl.java
index bce01a0..c76a72f 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridGroupedCellImpl.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridGroupedCellImpl.java
@@ -32,13 +32,13 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridGroupedCellImpl#getGroupables <em>Groupables</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridGroupedCellImpl#getLabel <em>Label</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridGroupedCellImpl#getLabelI18nKey <em>Label I1 8n Key</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridGroupedCellImpl#isUseHTML <em>Use HTML</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridHeaderRowImpl.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridHeaderRowImpl.java
index 5dfa954..3555fdc 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridHeaderRowImpl.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridHeaderRowImpl.java
@@ -44,6 +44,7 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridHeaderRowImpl#getTags <em>Tags</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridHeaderRowImpl#getId <em>Id</em>}</li>
@@ -52,7 +53,6 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridHeaderRowImpl#getGroupings <em>Groupings</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridHeaderRowImpl#getCustomCells <em>Custom Cells</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridImpl.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridImpl.java
index 711bf4d..4f945a9 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridImpl.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridImpl.java
@@ -57,6 +57,7 @@
  * <em><b>Cx Grid</b></em>'. <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridImpl#getCollectionBindingEndpoint <em>Collection Binding Endpoint</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridImpl#getSelectionBindingEndpoint <em>Selection Binding Endpoint</em>}</li>
@@ -84,8 +85,8 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridImpl#getEditorCancelI18nLabelKey <em>Editor Cancel I1 8n Label Key</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridImpl#getEditorSaveI18nLabelKey <em>Editor Save I1 8n Label Key</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridImpl#getEditorSaved <em>Editor Saved</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridImpl#getSetLastRefreshTime <em>Set Last Refresh Time</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
@@ -492,6 +493,26 @@
 	protected Object editorSaved = EDITOR_SAVED_EDEFAULT;
 
 	/**
+	 * The default value of the '{@link #getSetLastRefreshTime() <em>Set Last Refresh Time</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSetLastRefreshTime()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final long SET_LAST_REFRESH_TIME_EDEFAULT = 0L;
+
+	/**
+	 * The cached value of the '{@link #getSetLastRefreshTime() <em>Set Last Refresh Time</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSetLastRefreshTime()
+	 * @generated
+	 * @ordered
+	 */
+	protected long setLastRefreshTime = SET_LAST_REFRESH_TIME_EDEFAULT;
+
+	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->.
 	 *
 	 * @generated
@@ -1298,6 +1319,27 @@
 
 	/**
 	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public long getSetLastRefreshTime() {
+		return setLastRefreshTime;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSetLastRefreshTime(long newSetLastRefreshTime) {
+		long oldSetLastRefreshTime = setLastRefreshTime;
+		setLastRefreshTime = newSetLastRefreshTime;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridPackage.CX_GRID__SET_LAST_REFRESH_TIME, oldSetLastRefreshTime, setLastRefreshTime));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
 	 * 
 	 * 
 	 * <!-- end-user-doc -->.
@@ -1497,6 +1539,8 @@
 				return getEditorSaveI18nLabelKey();
 			case CxGridPackage.CX_GRID__EDITOR_SAVED:
 				return getEditorSaved();
+			case CxGridPackage.CX_GRID__SET_LAST_REFRESH_TIME:
+				return getSetLastRefreshTime();
 		}
 		return super.eGet(featureID, resolve, coreType);
 	}
@@ -1598,6 +1642,9 @@
 			case CxGridPackage.CX_GRID__EDITOR_SAVED:
 				setEditorSaved(newValue);
 				return;
+			case CxGridPackage.CX_GRID__SET_LAST_REFRESH_TIME:
+				setSetLastRefreshTime((Long)newValue);
+				return;
 		}
 		super.eSet(featureID, newValue);
 	}
@@ -1690,6 +1737,9 @@
 			case CxGridPackage.CX_GRID__EDITOR_SAVED:
 				setEditorSaved(EDITOR_SAVED_EDEFAULT);
 				return;
+			case CxGridPackage.CX_GRID__SET_LAST_REFRESH_TIME:
+				setSetLastRefreshTime(SET_LAST_REFRESH_TIME_EDEFAULT);
+				return;
 		}
 		super.eUnset(featureID);
 	}
@@ -1757,6 +1807,8 @@
 				return EDITOR_SAVE_I1_8N_LABEL_KEY_EDEFAULT == null ? editorSaveI18nLabelKey != null : !EDITOR_SAVE_I1_8N_LABEL_KEY_EDEFAULT.equals(editorSaveI18nLabelKey);
 			case CxGridPackage.CX_GRID__EDITOR_SAVED:
 				return EDITOR_SAVED_EDEFAULT == null ? editorSaved != null : !EDITOR_SAVED_EDEFAULT.equals(editorSaved);
+			case CxGridPackage.CX_GRID__SET_LAST_REFRESH_TIME:
+				return setLastRefreshTime != SET_LAST_REFRESH_TIME_EDEFAULT;
 		}
 		return super.eIsSet(featureID);
 	}
@@ -1896,6 +1948,8 @@
 		result.append(editorSaveI18nLabelKey);
 		result.append(", editorSaved: ");
 		result.append(editorSaved);
+		result.append(", setLastRefreshTime: ");
+		result.append(setLastRefreshTime);
 		result.append(')');
 		return result.toString();
 	}
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridMetaCellImpl.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridMetaCellImpl.java
index 5ca6c21..378a610 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridMetaCellImpl.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridMetaCellImpl.java
@@ -43,6 +43,7 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridMetaCellImpl#getTags <em>Tags</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridMetaCellImpl#getId <em>Id</em>}</li>
@@ -54,7 +55,6 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridMetaCellImpl#isUseHTML <em>Use HTML</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridMetaCellImpl#getElement <em>Element</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridPackageImpl.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridPackageImpl.java
index e67ec1c..85ebce3 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridPackageImpl.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridPackageImpl.java
@@ -450,6 +450,15 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCxGrid_SetLastRefreshTime() {
+		return (EAttribute)cxGridEClass.getEStructuralFeatures().get(22);
+	}
+
+	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->.
 	 *
 	 * @return the cx grid provider
@@ -971,6 +980,7 @@
 		createEAttribute(cxGridEClass, CX_GRID__EDITOR_CANCEL_I1_8N_LABEL_KEY);
 		createEAttribute(cxGridEClass, CX_GRID__EDITOR_SAVE_I1_8N_LABEL_KEY);
 		createEAttribute(cxGridEClass, CX_GRID__EDITOR_SAVED);
+		createEAttribute(cxGridEClass, CX_GRID__SET_LAST_REFRESH_TIME);
 
 		cxGridProviderEClass = createEClass(CX_GRID_PROVIDER);
 
@@ -1119,6 +1129,7 @@
 		initEAttribute(getCxGrid_EditorCancelI18nLabelKey(), ecorePackage.getEString(), "editorCancelI18nLabelKey", null, 0, 1, CxGrid.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEAttribute(getCxGrid_EditorSaveI18nLabelKey(), ecorePackage.getEString(), "editorSaveI18nLabelKey", null, 0, 1, CxGrid.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEAttribute(getCxGrid_EditorSaved(), ecorePackage.getEJavaObject(), "editorSaved", null, 0, 1, CxGrid.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getCxGrid_SetLastRefreshTime(), ecorePackage.getELong(), "setLastRefreshTime", null, 0, 1, CxGrid.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
 		addEOperation(cxGridEClass, theCoreModelPackage.getYHelperLayout(), "createEditorFieldHelperLayout", 0, 1, IS_UNIQUE, IS_ORDERED);
 
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridSortableImpl.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridSortableImpl.java
index e57b30b..5e47a27 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridSortableImpl.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridSortableImpl.java
@@ -47,6 +47,7 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridSortableImpl#getTags <em>Tags</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridSortableImpl#getId <em>Id</em>}</li>
@@ -55,7 +56,6 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridSortableImpl#isDescending <em>Descending</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridSortableImpl#getColumn <em>Column</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/memento/CxGridMemento.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/memento/CxGridMemento.java
index 4798600..8716600 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/memento/CxGridMemento.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/memento/CxGridMemento.java
@@ -24,6 +24,7 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.memento.CxGridMemento#getGridId <em>Grid Id</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.memento.CxGridMemento#isHeaderVisible <em>Header Visible</em>}</li>
@@ -33,7 +34,6 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.memento.CxGridMemento#getColumns <em>Columns</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.memento.CxGridMemento#getSortOrders <em>Sort Orders</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.grid.memento.CxGridMementoPackage#getCxGridMemento()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/memento/CxGridMementoColumn.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/memento/CxGridMementoColumn.java
index e5ea4b3..9628565 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/memento/CxGridMementoColumn.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/memento/CxGridMementoColumn.java
@@ -23,6 +23,7 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.memento.CxGridMementoColumn#getPropertyId <em>Property Id</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.memento.CxGridMementoColumn#isEditable <em>Editable</em>}</li>
@@ -32,7 +33,6 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.memento.CxGridMementoColumn#isSortable <em>Sortable</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.memento.CxGridMementoColumn#getWidth <em>Width</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.grid.memento.CxGridMementoPackage#getCxGridMementoColumn()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/memento/CxGridMementoSortable.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/memento/CxGridMementoSortable.java
index 310e255..4d285dd 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/memento/CxGridMementoSortable.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/memento/CxGridMementoSortable.java
@@ -23,11 +23,11 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.memento.CxGridMementoSortable#isDescending <em>Descending</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.memento.CxGridMementoSortable#getColumn <em>Column</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.grid.memento.CxGridMementoPackage#getCxGridMementoSortable()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/memento/impl/CxGridMementoColumnImpl.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/memento/impl/CxGridMementoColumnImpl.java
index 382a096..7d6c35a 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/memento/impl/CxGridMementoColumnImpl.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/memento/impl/CxGridMementoColumnImpl.java
@@ -30,6 +30,7 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.memento.impl.CxGridMementoColumnImpl#getPropertyId <em>Property Id</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.memento.impl.CxGridMementoColumnImpl#isEditable <em>Editable</em>}</li>
@@ -39,7 +40,6 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.memento.impl.CxGridMementoColumnImpl#isSortable <em>Sortable</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.memento.impl.CxGridMementoColumnImpl#getWidth <em>Width</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/memento/impl/CxGridMementoImpl.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/memento/impl/CxGridMementoImpl.java
index 1ea100c..de26f95 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/memento/impl/CxGridMementoImpl.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/memento/impl/CxGridMementoImpl.java
@@ -41,6 +41,7 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.memento.impl.CxGridMementoImpl#getTags <em>Tags</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.memento.impl.CxGridMementoImpl#getId <em>Id</em>}</li>
@@ -54,7 +55,6 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.memento.impl.CxGridMementoImpl#getColumns <em>Columns</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.memento.impl.CxGridMementoImpl#getSortOrders <em>Sort Orders</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/memento/impl/CxGridMementoSortableImpl.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/memento/impl/CxGridMementoSortableImpl.java
index 8a2d474..7e43bdb 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/memento/impl/CxGridMementoSortableImpl.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/memento/impl/CxGridMementoSortableImpl.java
@@ -32,11 +32,11 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.memento.impl.CxGridMementoSortableImpl#isDescending <em>Descending</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.memento.impl.CxGridMementoSortableImpl#getColumn <em>Column</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridButtonRenderer.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridButtonRenderer.java
index 7eb446e..4dd1e1d 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridButtonRenderer.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridButtonRenderer.java
@@ -24,12 +24,12 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.CxGridButtonRenderer#getNullRepresentation <em>Null Representation</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.CxGridButtonRenderer#getLastClickEvent <em>Last Click Event</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.CxGridButtonRenderer#getEventTopic <em>Event Topic</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererPackage#getCxGridButtonRenderer()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridDateRenderer.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridDateRenderer.java
index 1c497f6..d3a340b 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridDateRenderer.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridDateRenderer.java
@@ -22,10 +22,10 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.CxGridDateRenderer#getDateFormat <em>Date Format</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererPackage#getCxGridDateRenderer()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridDelegateRenderer.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridDelegateRenderer.java
index 8342cd6..be4d532 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridDelegateRenderer.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridDelegateRenderer.java
@@ -22,10 +22,10 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.CxGridDelegateRenderer#getDelegateId <em>Delegate Id</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererPackage#getCxGridDelegateRenderer()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridHtmlRenderer.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridHtmlRenderer.java
index 4c2d85f..7cd6405 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridHtmlRenderer.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridHtmlRenderer.java
@@ -22,10 +22,10 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.CxGridHtmlRenderer#getNullRepresentation <em>Null Representation</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererPackage#getCxGridHtmlRenderer()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridImageRenderer.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridImageRenderer.java
index a13e720..02504e3 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridImageRenderer.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridImageRenderer.java
@@ -24,11 +24,11 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.CxGridImageRenderer#getLastClickEvent <em>Last Click Event</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.CxGridImageRenderer#getEventTopic <em>Event Topic</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererPackage#getCxGridImageRenderer()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridIndicatorRenderer.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridIndicatorRenderer.java
index c111688..32eb94b 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridIndicatorRenderer.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridIndicatorRenderer.java
@@ -22,11 +22,11 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.CxGridIndicatorRenderer#getRedEnds <em>Red Ends</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.CxGridIndicatorRenderer#getGreenStarts <em>Green Starts</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererPackage#getCxGridIndicatorRenderer()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridNumberRenderer.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridNumberRenderer.java
index 0b26fcf..0fd0f54 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridNumberRenderer.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridNumberRenderer.java
@@ -22,11 +22,11 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.CxGridNumberRenderer#getNumberFormat <em>Number Format</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.CxGridNumberRenderer#getNullRepresentation <em>Null Representation</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererPackage#getCxGridNumberRenderer()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridPriceRenderer.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridPriceRenderer.java
index ce4d7e1..365d438 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridPriceRenderer.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridPriceRenderer.java
@@ -22,6 +22,7 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.CxGridPriceRenderer#getValuePropertyPath <em>Value Property Path</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.CxGridPriceRenderer#getCurrencyPropertyPath <em>Currency Property Path</em>}</li>
@@ -29,7 +30,6 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.CxGridPriceRenderer#getHtmlPattern <em>Html Pattern</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.CxGridPriceRenderer#getNumberFormat <em>Number Format</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererPackage#getCxGridPriceRenderer()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridProgressBarRenderer.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridProgressBarRenderer.java
index c0951cb..045d82d 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridProgressBarRenderer.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridProgressBarRenderer.java
@@ -22,10 +22,10 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.CxGridProgressBarRenderer#getMaxValue <em>Max Value</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererPackage#getCxGridProgressBarRenderer()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridQuantityRenderer.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridQuantityRenderer.java
index 4468603..69627b6 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridQuantityRenderer.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridQuantityRenderer.java
@@ -22,6 +22,7 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.CxGridQuantityRenderer#getValuePropertyPath <em>Value Property Path</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.CxGridQuantityRenderer#getUomPropertyPath <em>Uom Property Path</em>}</li>
@@ -29,7 +30,6 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.CxGridQuantityRenderer#getHtmlPattern <em>Html Pattern</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.CxGridQuantityRenderer#getNumberFormat <em>Number Format</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererPackage#getCxGridQuantityRenderer()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridRendererClickEvent.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridRendererClickEvent.java
index 286ea62..15a205f 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridRendererClickEvent.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridRendererClickEvent.java
@@ -23,11 +23,11 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererClickEvent#getRenderer <em>Renderer</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererClickEvent#getLastClickTime <em>Last Click Time</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererPackage#getCxGridRendererClickEvent()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridTextRenderer.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridTextRenderer.java
index 4aad7ba..f96cf0d 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridTextRenderer.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/CxGridTextRenderer.java
@@ -22,10 +22,10 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.CxGridTextRenderer#getNullRepresentation <em>Null Representation</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererPackage#getCxGridTextRenderer()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridBooleanRendererImpl.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridBooleanRendererImpl.java
index ca1afa6..6575761 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridBooleanRendererImpl.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridBooleanRendererImpl.java
@@ -23,8 +23,6 @@
  * <!-- begin-user-doc -->
  * An implementation of the model object '<em><b>Cx Grid Boolean Renderer</b></em>'.
  * <!-- end-user-doc -->
- * <p>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridButtonRendererImpl.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridButtonRendererImpl.java
index 941d8e1..eba7ec5 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridButtonRendererImpl.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridButtonRendererImpl.java
@@ -32,12 +32,12 @@
  * <em><b>Cx Grid Button Renderer</b></em>'. <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.impl.CxGridButtonRendererImpl#getNullRepresentation <em>Null Representation</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.impl.CxGridButtonRendererImpl#getLastClickEvent <em>Last Click Event</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.impl.CxGridButtonRendererImpl#getEventTopic <em>Event Topic</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridDateRendererImpl.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridDateRendererImpl.java
index 25738d6..053a3ed 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridDateRendererImpl.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridDateRendererImpl.java
@@ -26,10 +26,10 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.impl.CxGridDateRendererImpl#getDateFormat <em>Date Format</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridDelegateRendererImpl.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridDelegateRendererImpl.java
index bcfc57f..908c070 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridDelegateRendererImpl.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridDelegateRendererImpl.java
@@ -27,10 +27,10 @@
  * <em><b>Cx Grid Delegate Renderer</b></em>'. <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.impl.CxGridDelegateRendererImpl#getDelegateId <em>Delegate Id</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridHtmlRendererImpl.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridHtmlRendererImpl.java
index 3d30d33..3c6f362 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridHtmlRendererImpl.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridHtmlRendererImpl.java
@@ -26,10 +26,10 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.impl.CxGridHtmlRendererImpl#getNullRepresentation <em>Null Representation</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridImageRendererImpl.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridImageRendererImpl.java
index 569725a..f5468be 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridImageRendererImpl.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridImageRendererImpl.java
@@ -29,11 +29,11 @@
  * <em><b>Cx Grid Image Renderer</b></em>'. <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.impl.CxGridImageRendererImpl#getLastClickEvent <em>Last Click Event</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.impl.CxGridImageRendererImpl#getEventTopic <em>Event Topic</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridIndicatorRendererImpl.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridIndicatorRendererImpl.java
index 92c9b51..6969b3a 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridIndicatorRendererImpl.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridIndicatorRendererImpl.java
@@ -29,11 +29,11 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.impl.CxGridIndicatorRendererImpl#getRedEnds <em>Red Ends</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.impl.CxGridIndicatorRendererImpl#getGreenStarts <em>Green Starts</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridNumberRendererImpl.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridNumberRendererImpl.java
index ab9e1c4..4d853a1 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridNumberRendererImpl.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridNumberRendererImpl.java
@@ -26,11 +26,11 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.impl.CxGridNumberRendererImpl#getNumberFormat <em>Number Format</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.impl.CxGridNumberRendererImpl#getNullRepresentation <em>Null Representation</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridPriceRendererImpl.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridPriceRendererImpl.java
index c81a059..0b9c6ae 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridPriceRendererImpl.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridPriceRendererImpl.java
@@ -29,6 +29,7 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.impl.CxGridPriceRendererImpl#getValuePropertyPath <em>Value Property Path</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.impl.CxGridPriceRendererImpl#getCurrencyPropertyPath <em>Currency Property Path</em>}</li>
@@ -36,7 +37,6 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.impl.CxGridPriceRendererImpl#getHtmlPattern <em>Html Pattern</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.impl.CxGridPriceRendererImpl#getNumberFormat <em>Number Format</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridProgressBarRendererImpl.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridProgressBarRendererImpl.java
index 1d0abed..02622a4 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridProgressBarRendererImpl.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridProgressBarRendererImpl.java
@@ -26,10 +26,10 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.impl.CxGridProgressBarRendererImpl#getMaxValue <em>Max Value</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridQuantityRendererImpl.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridQuantityRendererImpl.java
index f2d603d..3695728 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridQuantityRendererImpl.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridQuantityRendererImpl.java
@@ -29,6 +29,7 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.impl.CxGridQuantityRendererImpl#getValuePropertyPath <em>Value Property Path</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.impl.CxGridQuantityRendererImpl#getUomPropertyPath <em>Uom Property Path</em>}</li>
@@ -36,7 +37,6 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.impl.CxGridQuantityRendererImpl#getHtmlPattern <em>Html Pattern</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.impl.CxGridQuantityRendererImpl#getNumberFormat <em>Number Format</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridRendererClickEventImpl.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridRendererClickEventImpl.java
index 15fbcec..0a95e27 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridRendererClickEventImpl.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridRendererClickEventImpl.java
@@ -32,11 +32,11 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.impl.CxGridRendererClickEventImpl#getRenderer <em>Renderer</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.impl.CxGridRendererClickEventImpl#getLastClickTime <em>Last Click Time</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridRendererImpl.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridRendererImpl.java
index 036a70d..7cd8ddd 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridRendererImpl.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridRendererImpl.java
@@ -39,13 +39,13 @@
  * <em><b>Cx Grid Renderer</b></em>'. <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.impl.CxGridRendererImpl#getTags <em>Tags</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.impl.CxGridRendererImpl#getId <em>Id</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.impl.CxGridRendererImpl#getName <em>Name</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.impl.CxGridRendererImpl#getProperties <em>Properties</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridTextRendererImpl.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridTextRendererImpl.java
index 5172118..ced9799 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridTextRendererImpl.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/renderer/impl/CxGridTextRendererImpl.java
@@ -25,10 +25,10 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.impl.CxGridTextRendererImpl#getNullRepresentation <em>Null Representation</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/util/CxGridUtil.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/util/CxGridUtil.java
index 6d614c0..45d037d 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/util/CxGridUtil.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/util/CxGridUtil.java
@@ -17,7 +17,7 @@
 import org.eclipse.osbp.ecview.extension.grid.CxGrid;
 import org.eclipse.osbp.ecview.extension.grid.CxGridColumn;
 import org.eclipse.osbp.ui.api.useraccess.AbstractAuthorization.Action;
-import org.eclipse.osbp.ui.api.useraccess.AbstractAuthorization.Permission;
+import org.eclipse.osbp.ui.api.useraccess.AbstractAuthorization.Group;
 import org.eclipse.osbp.ui.api.useraccess.IUserAccessService;
 
 /**
@@ -58,27 +58,14 @@
 		} else {
 			String dtoName = grid.getTypeQualifiedName();
 			for (CxGridColumn column : grid.getColumns()) {
-//				String dtoProperty = column.getName();
 				String dtoProperty = column.getPropertyId();
-				if (userAccessService.isPermitted(
-						Permission.forDto(dtoName, Action.readable))
-						.isPermitted()) {
+				if (userAccessService.isGranted(Group.DTO, Action.READABLE, dtoName)) {
 					column.setHidden(false);
 					column.setEditable(true);
-					boolean columnHidden = userAccessService.isPermitted(
-							Permission.forDtoProperty(dtoName, dtoProperty,
-									Action.invisible)).isPermitted();
+					boolean columnHidden = userAccessService.isVetoed(Group.DTO, Action.INVISIBLE ,dtoName, dtoProperty);
 					if (!columnHidden) {
-						boolean columnEditable = !userAccessService
-								.isPermitted(
-										Permission
-												.forDtoProperty(dtoName,
-														dtoProperty,
-														Action.noneditable))
-								.isPermitted();
-						boolean columnEnabled = !userAccessService.isPermitted(
-								Permission.forDtoProperty(dtoName, dtoProperty,
-										Action.disabled)).isPermitted();
+						boolean columnEditable = !userAccessService.isVetoed(Group.DTO, Action.NONEDITABLE ,dtoName, dtoProperty);
+						boolean columnEnabled = !userAccessService.isVetoed(Group.DTO, Action.DISABLED ,dtoName, dtoProperty);
 						column.setEditable(columnEditable && columnEnabled);
 					} else {
 						column.setHidden(columnHidden);
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/.classpath b/org.eclipse.osbp.ecview.extension.model.edit/.classpath
new file mode 100644
index 0000000..121e527
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.edit/.classpath
@@ -0,0 +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/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/.gitignore b/org.eclipse.osbp.ecview.extension.model.edit/.gitignore
new file mode 100644
index 0000000..09e3bc9
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.edit/.gitignore
@@ -0,0 +1,2 @@
+/bin/
+/target/
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/.project b/org.eclipse.osbp.ecview.extension.model.edit/.project
index 0a3c9a1..bb250e4 100644
--- a/org.eclipse.osbp.ecview.extension.model.edit/.project
+++ b/org.eclipse.osbp.ecview.extension.model.edit/.project
@@ -6,11 +6,6 @@
 	</projects>
 	<buildSpec>
 		<buildCommand>
-			<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
 			<name>org.eclipse.jdt.core.javabuilder</name>
 			<arguments>
 			</arguments>
@@ -30,15 +25,8 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.m2e.core.maven2Builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
 	</buildSpec>
 	<natures>
-		<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
-		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.babel.editor.rbeNature</nature>
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.ecview.extension.model.edit/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.edit/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.osbp.ecview.extension.model.edit/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..c537b63
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.edit/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.ecview.extension.model.edit/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.edit/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.ecview.extension.model.edit/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..19e3115
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.edit/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,11 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+BuilderConfiguration.is_project_specific=true
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.emf-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/META-INF/MANIFEST.MF b/org.eclipse.osbp.ecview.extension.model.edit/META-INF/MANIFEST.MF
index 73637e0..136e1e2 100644
--- a/org.eclipse.osbp.ecview.extension.model.edit/META-INF/MANIFEST.MF
+++ b/org.eclipse.osbp.ecview.extension.model.edit/META-INF/MANIFEST.MF
@@ -5,10 +5,10 @@
 Bundle-Version: 0.9.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.osbp.ecview.extension.model.provider.ecviewEditPlugin$Implementation
-Bundle-Vendor: Eclipse OSBP
+Bundle-Vendor: Loetz GmbH&Co.KG (69115 Heidelberg,
  Germany)
 Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Export-Package: org.eclipse.osbp.ecview.extension.model.converter.provider;version="0.9.0",
  org.eclipse.osbp.ecview.extension.model.provider;version="0.9.0",
  org.eclipse.osbp.ecview.extension.model.visibility.provider;version="0.9.0"
@@ -19,6 +19,6 @@
  org.eclipse.osbp.ecview.core.common.model.edit;bundle-version="[0.9.0,0.10.0)";visibility:=reexport,
  org.eclipse.osbp.ecview.core.extension.model;bundle-version="[0.9.0,0.10.0)";visibility:=reexport,
  org.eclipse.osbp.ecview.core.extension.model.edit;bundle-version="[0.9.0,0.10.0)";visibility:=reexport,
- org.eclipse.xtext.common.types;bundle-version="[2.7.3,2.8.0)";visibility:=reexport,
- org.eclipse.xtext.common.types.edit;bundle-version="[2.7.3,2.8.0)";visibility:=reexport
+ org.eclipse.xtext.common.types;bundle-version="[2.11.0,2.12.0)";visibility:=reexport,
+ org.eclipse.xtext.common.types.edit;bundle-version="[2.11.0,2.12.0)";visibility:=reexport
 Bundle-ActivationPolicy: lazy
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYLayoutingInfo_content_YFilteringComponent.gif b/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYLayoutingInfo_content_YFilteringComponent.gif
new file mode 100644
index 0000000..63e7a6f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYLayoutingInfo_content_YFilteringComponent.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YActivatedEndpoint.gif b/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YActivatedEndpoint.gif
new file mode 100644
index 0000000..40ce635
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YActivatedEndpoint.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YBeanSlotListBindingEndpoint.gif b/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YBeanSlotListBindingEndpoint.gif
new file mode 100644
index 0000000..56becf8
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YBeanSlotListBindingEndpoint.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YBeanSlotValueBindingEndpoint.gif b/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YBeanSlotValueBindingEndpoint.gif
new file mode 100644
index 0000000..776368e
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YBeanSlotValueBindingEndpoint.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YBeanValueBindingEndpoint.gif b/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YBeanValueBindingEndpoint.gif
new file mode 100644
index 0000000..1a18575
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YBeanValueBindingEndpoint.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YContextValueBindingEndpoint.gif b/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YContextValueBindingEndpoint.gif
new file mode 100644
index 0000000..32f857f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YContextValueBindingEndpoint.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YDetailValueBindingEndpoint.gif b/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YDetailValueBindingEndpoint.gif
new file mode 100644
index 0000000..1a30bfd
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YDetailValueBindingEndpoint.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YECViewModelListBindingEndpoint.gif b/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YECViewModelListBindingEndpoint.gif
new file mode 100644
index 0000000..9d7874d
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YECViewModelListBindingEndpoint.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YECViewModelValueBindingEndpoint.gif b/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YECViewModelValueBindingEndpoint.gif
new file mode 100644
index 0000000..b82fff7
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YECViewModelValueBindingEndpoint.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YEmbeddableCollectionEndpoint.gif b/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YEmbeddableCollectionEndpoint.gif
new file mode 100644
index 0000000..f69c801
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YEmbeddableCollectionEndpoint.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YEmbeddableMultiSelectionEndpoint.gif b/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YEmbeddableMultiSelectionEndpoint.gif
new file mode 100644
index 0000000..c750823
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YEmbeddableMultiSelectionEndpoint.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YEmbeddableSelectionEndpoint.gif b/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YEmbeddableSelectionEndpoint.gif
new file mode 100644
index 0000000..ae214b9
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YEmbeddableSelectionEndpoint.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YEmbeddableValueEndpoint.gif b/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YEmbeddableValueEndpoint.gif
new file mode 100644
index 0000000..247671f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YEmbeddableValueEndpoint.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YEnumListBindingEndpoint.gif b/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YEnumListBindingEndpoint.gif
new file mode 100644
index 0000000..32f857f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YEnumListBindingEndpoint.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YNoOpListBindingEndpoint.gif b/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YNoOpListBindingEndpoint.gif
new file mode 100644
index 0000000..f69c801
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YNoOpListBindingEndpoint.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YNoOpValueBindingEndpoint.gif b/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YNoOpValueBindingEndpoint.gif
new file mode 100644
index 0000000..d7b26a7
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YNoOpValueBindingEndpoint.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YVisibilityProcessorValueBindingEndpoint.gif b/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YVisibilityProcessorValueBindingEndpoint.gif
new file mode 100644
index 0000000..72eb6e6
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYSuspect_containerValueBindingEndpoint_YVisibilityProcessorValueBindingEndpoint.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/plugin.properties b/org.eclipse.osbp.ecview.extension.model.edit/plugin.properties
index a732b75..c859d0b 100644
--- a/org.eclipse.osbp.ecview.extension.model.edit/plugin.properties
+++ b/org.eclipse.osbp.ecview.extension.model.edit/plugin.properties
@@ -185,3 +185,4 @@
 _UI_YPairComboBox_descriptionProperty_feature = Description Property
 _UI_YPairComboBox_description_feature = Description
 >>>>>>> branch 'development' of ssh://lunifera@80.156.28.28/osbpgit/org.eclipse.osbp.ecview.extension.git
+_UI_YSuspect_containerValueBindingEndpoint_feature = Container Value Binding Endpoint
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YCollectionSuspectItemProvider.java b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YCollectionSuspectItemProvider.java
index 335c8e0..97894e4 100644
--- a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YCollectionSuspectItemProvider.java
+++ b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YCollectionSuspectItemProvider.java
@@ -177,4 +177,27 @@
 				 YECviewFactory.eINSTANCE.createYColumnInfo()));
 	}
 
+	/**
+	 * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getCreateChildText(Object owner, Object feature, Object child, Collection<?> selection) {
+		Object childFeature = feature;
+		Object childObject = child;
+
+		boolean qualify =
+			childFeature == YECviewPackage.Literals.YSUSPECT__VALUE_BINDING_ENDPOINTS ||
+			childFeature == YECviewPackage.Literals.YSUSPECT__CONTAINER_VALUE_BINDING_ENDPOINT;
+
+		if (qualify) {
+			return getString
+				("_UI_CreateChild_text2",
+				 new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) });
+		}
+		return super.getCreateChildText(owner, feature, child, selection);
+	}
+
 }
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YContentSensitiveLayoutItemProvider.java b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YContentSensitiveLayoutItemProvider.java
index 5c65f21..39a14d8 100644
--- a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YContentSensitiveLayoutItemProvider.java
+++ b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YContentSensitiveLayoutItemProvider.java
@@ -499,6 +499,11 @@
 			(createChildParameter
 				(CoreModelPackage.Literals.YLAYOUT__ELEMENTS,
 				 ExtensionModelFactory.eINSTANCE.createYPasswordField()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CoreModelPackage.Literals.YLAYOUT__ELEMENTS,
+				 ExtensionModelFactory.eINSTANCE.createYFilteringComponent()));
 	}
 
 }
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YLayoutingInfoItemProvider.java b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YLayoutingInfoItemProvider.java
index 08b9564..702eabf 100644
--- a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YLayoutingInfoItemProvider.java
+++ b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YLayoutingInfoItemProvider.java
@@ -591,6 +591,11 @@
 
 		newChildDescriptors.add
 			(createChildParameter
+				(YECviewPackage.Literals.YLAYOUTING_INFO__CONTENT,
+				 ExtensionModelFactory.eINSTANCE.createYFilteringComponent()));
+
+		newChildDescriptors.add
+			(createChildParameter
 				(YECviewPackage.Literals.YLAYOUTING_INFO__ACTIVE_SUSPECT_INFOS,
 				 YECviewFactory.eINSTANCE.createYSuspectInfo()));
 	}
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YSubTypeBaseSuspectItemProvider.java b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YSubTypeBaseSuspectItemProvider.java
index 1508aae..2118249 100644
--- a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YSubTypeBaseSuspectItemProvider.java
+++ b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YSubTypeBaseSuspectItemProvider.java
@@ -22,6 +22,7 @@
 
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
 
+import org.eclipse.osbp.ecview.extension.model.YECviewPackage;
 import org.eclipse.osbp.ecview.extension.model.YSubTypeBaseSuspect;
 
 /**
@@ -114,4 +115,27 @@
 		super.collectNewChildDescriptors(newChildDescriptors, object);
 	}
 
+	/**
+	 * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getCreateChildText(Object owner, Object feature, Object child, Collection<?> selection) {
+		Object childFeature = feature;
+		Object childObject = child;
+
+		boolean qualify =
+			childFeature == YECviewPackage.Literals.YSUSPECT__VALUE_BINDING_ENDPOINTS ||
+			childFeature == YECviewPackage.Literals.YSUSPECT__CONTAINER_VALUE_BINDING_ENDPOINT;
+
+		if (qualify) {
+			return getString
+				("_UI_CreateChild_text2",
+				 new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) });
+		}
+		return super.getCreateChildText(owner, feature, child, selection);
+	}
+
 }
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YSubTypeSuspectItemProvider.java b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YSubTypeSuspectItemProvider.java
index da61308..50c4d62 100644
--- a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YSubTypeSuspectItemProvider.java
+++ b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YSubTypeSuspectItemProvider.java
@@ -139,4 +139,27 @@
 		super.collectNewChildDescriptors(newChildDescriptors, object);
 	}
 
+	/**
+	 * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getCreateChildText(Object owner, Object feature, Object child, Collection<?> selection) {
+		Object childFeature = feature;
+		Object childObject = child;
+
+		boolean qualify =
+			childFeature == YECviewPackage.Literals.YSUSPECT__VALUE_BINDING_ENDPOINTS ||
+			childFeature == YECviewPackage.Literals.YSUSPECT__CONTAINER_VALUE_BINDING_ENDPOINT;
+
+		if (qualify) {
+			return getString
+				("_UI_CreateChild_text2",
+				 new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) });
+		}
+		return super.getCreateChildText(owner, feature, child, selection);
+	}
+
 }
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YSuspectItemProvider.java b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YSuspectItemProvider.java
index 41a452b..87f5172 100644
--- a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YSuspectItemProvider.java
+++ b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YSuspectItemProvider.java
@@ -337,6 +337,7 @@
 			childrenFeatures.add(YECviewPackage.Literals.YSUSPECT__VISIBILITY_PROCESSORS);
 			childrenFeatures.add(YECviewPackage.Literals.YSUSPECT__COMMANDS);
 			childrenFeatures.add(YECviewPackage.Literals.YSUSPECT__ASSOCIATED_BINDINGS);
+			childrenFeatures.add(YECviewPackage.Literals.YSUSPECT__CONTAINER_VALUE_BINDING_ENDPOINT);
 		}
 		return childrenFeatures;
 	}
@@ -411,6 +412,7 @@
 			case YECviewPackage.YSUSPECT__VISIBILITY_PROCESSORS:
 			case YECviewPackage.YSUSPECT__COMMANDS:
 			case YECviewPackage.YSUSPECT__ASSOCIATED_BINDINGS:
+			case YECviewPackage.YSUSPECT__CONTAINER_VALUE_BINDING_ENDPOINT:
 				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
 				return;
 		}
@@ -566,6 +568,79 @@
 			(createChildParameter
 				(YECviewPackage.Literals.YSUSPECT__ASSOCIATED_BINDINGS,
 				 BindingFactory.eINSTANCE.createYListBinding()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(YECviewPackage.Literals.YSUSPECT__CONTAINER_VALUE_BINDING_ENDPOINT,
+				 BindingFactory.eINSTANCE.createYBeanValueBindingEndpoint()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(YECviewPackage.Literals.YSUSPECT__CONTAINER_VALUE_BINDING_ENDPOINT,
+				 BindingFactory.eINSTANCE.createYDetailValueBindingEndpoint()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(YECviewPackage.Literals.YSUSPECT__CONTAINER_VALUE_BINDING_ENDPOINT,
+				 BindingFactory.eINSTANCE.createYECViewModelValueBindingEndpoint()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(YECviewPackage.Literals.YSUSPECT__CONTAINER_VALUE_BINDING_ENDPOINT,
+				 BindingFactory.eINSTANCE.createYVisibilityProcessorValueBindingEndpoint()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(YECviewPackage.Literals.YSUSPECT__CONTAINER_VALUE_BINDING_ENDPOINT,
+				 BindingFactory.eINSTANCE.createYNoOpValueBindingEndpoint()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(YECviewPackage.Literals.YSUSPECT__CONTAINER_VALUE_BINDING_ENDPOINT,
+				 CoreModelFactory.eINSTANCE.createYContextValueBindingEndpoint()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(YECviewPackage.Literals.YSUSPECT__CONTAINER_VALUE_BINDING_ENDPOINT,
+				 CoreModelFactory.eINSTANCE.createYBeanSlotValueBindingEndpoint()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(YECviewPackage.Literals.YSUSPECT__CONTAINER_VALUE_BINDING_ENDPOINT,
+				 CoreModelFactory.eINSTANCE.createYEmbeddableValueEndpoint()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(YECviewPackage.Literals.YSUSPECT__CONTAINER_VALUE_BINDING_ENDPOINT,
+				 CoreModelFactory.eINSTANCE.createYEmbeddableSelectionEndpoint()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(YECviewPackage.Literals.YSUSPECT__CONTAINER_VALUE_BINDING_ENDPOINT,
+				 CoreModelFactory.eINSTANCE.createYActivatedEndpoint()));
+	}
+
+	/**
+	 * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getCreateChildText(Object owner, Object feature, Object child, Collection<?> selection) {
+		Object childFeature = feature;
+		Object childObject = child;
+
+		boolean qualify =
+			childFeature == YECviewPackage.Literals.YSUSPECT__VALUE_BINDING_ENDPOINTS ||
+			childFeature == YECviewPackage.Literals.YSUSPECT__CONTAINER_VALUE_BINDING_ENDPOINT;
+
+		if (qualify) {
+			return getString
+				("_UI_CreateChild_text2",
+				 new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) });
+		}
+		return super.getCreateChildText(owner, feature, child, selection);
 	}
 
 	/**
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YTypedCompoundSuspectItemProvider.java b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YTypedCompoundSuspectItemProvider.java
index d7df33d..6c9c2a4 100644
--- a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YTypedCompoundSuspectItemProvider.java
+++ b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YTypedCompoundSuspectItemProvider.java
@@ -202,4 +202,27 @@
 				 YECviewFactory.eINSTANCE.createYCollectionSuspect()));
 	}
 
+	/**
+	 * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getCreateChildText(Object owner, Object feature, Object child, Collection<?> selection) {
+		Object childFeature = feature;
+		Object childObject = child;
+
+		boolean qualify =
+			childFeature == YECviewPackage.Literals.YSUSPECT__VALUE_BINDING_ENDPOINTS ||
+			childFeature == YECviewPackage.Literals.YSUSPECT__CONTAINER_VALUE_BINDING_ENDPOINT;
+
+		if (qualify) {
+			return getString
+				("_UI_CreateChild_text2",
+				 new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) });
+		}
+		return super.getCreateChildText(owner, feature, child, selection);
+	}
+
 }
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YTypedSuspectItemProvider.java b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YTypedSuspectItemProvider.java
index 4460829..3259914 100644
--- a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YTypedSuspectItemProvider.java
+++ b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YTypedSuspectItemProvider.java
@@ -189,4 +189,27 @@
 		super.collectNewChildDescriptors(newChildDescriptors, object);
 	}
 
+	/**
+	 * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getCreateChildText(Object owner, Object feature, Object child, Collection<?> selection) {
+		Object childFeature = feature;
+		Object childObject = child;
+
+		boolean qualify =
+			childFeature == YECviewPackage.Literals.YSUSPECT__VALUE_BINDING_ENDPOINTS ||
+			childFeature == YECviewPackage.Literals.YSUSPECT__CONTAINER_VALUE_BINDING_ENDPOINT;
+
+		if (qualify) {
+			return getString
+				("_UI_CreateChild_text2",
+				 new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) });
+		}
+		return super.getCreateChildText(owner, feature, child, selection);
+	}
+
 }
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/.classpath b/org.eclipse.osbp.ecview.extension.model.tests/.classpath
new file mode 100644
index 0000000..22f3064
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/.classpath
@@ -0,0 +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/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/.project b/org.eclipse.osbp.ecview.extension.model.tests/.project
new file mode 100644
index 0000000..8234f11
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.osbp.ecview.extension.model.tests</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>org.eclipse.babel.editor.rbeBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.babel.editor.rbeNature</nature>
+	</natures>
+</projectDescription>
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/META-INF/MANIFEST.MF b/org.eclipse.osbp.ecview.extension.model.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..947bf26
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,20 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.osbp.ecview.extension.model.tests;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Export-Package: org.eclipse.osbp.ecview.extension.model.converter.tests,
+ org.eclipse.osbp.ecview.extension.model.tests,
+ org.eclipse.osbp.ecview.extension.model.visibility.tests
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.osbp.ecview.extension.model;visibility:=reexport,
+ org.eclipse.osbp.ecview.core.common.model;visibility:=reexport,
+ org.eclipse.osbp.ecview.core.extension.model;visibility:=reexport,
+ org.eclipse.xtext.common.types;visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;visibility:=reexport,
+ org.junit;visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/build.properties b/org.eclipse.osbp.ecview.extension.model.tests/build.properties
new file mode 100644
index 0000000..505c022
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/build.properties
@@ -0,0 +1,11 @@
+# All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+# 
+# Contributors:
+#       Florian Pirchner - initial API and implementation
+
+bin.includes = .,\
+               META-INF/,\
+               plugin.properties
+jars.compile.order = .
+source.. = src/
+output.. = bin/
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/plugin.properties b/org.eclipse.osbp.ecview.extension.model.tests/plugin.properties
new file mode 100644
index 0000000..7b6e980
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/plugin.properties
@@ -0,0 +1,7 @@
+# All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+# 
+# Contributors:
+#       Florian Pirchner - initial API and implementation
+
+pluginName = ecview Tests
+providerName = www.example.org
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YConverterExample.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YConverterExample.java
new file mode 100644
index 0000000..752f69b
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YConverterExample.java
@@ -0,0 +1,132 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.converter.tests;
+
+import java.io.File;
+import java.io.IOException;
+
+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.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.ecore.xmi.impl.XMIResourceFactoryImpl;
+
+import org.eclipse.osbp.ecview.extension.model.converter.YConverterFactory;
+import org.eclipse.osbp.ecview.extension.model.converter.YConverterPackage;
+import org.eclipse.osbp.ecview.extension.model.converter.YObjectToStringConverter;
+
+/**
+ * <!-- begin-user-doc -->
+ * A sample utility for the '<em><b>converter</b></em>' package.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YConverterExample {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+	
+	/**
+	 * <!-- begin-user-doc -->
+	 * Load all the argument file paths or URIs as instances of the model.
+	 * <!-- end-user-doc -->
+	 * @param args the file paths or URIs.
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		// Create a resource set to hold the resources.
+		//
+		ResourceSet resourceSet = new ResourceSetImpl();
+		
+		// Register the appropriate resource factory to handle all file extensions.
+		//
+		resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put
+			(Resource.Factory.Registry.DEFAULT_EXTENSION, 
+			 new XMIResourceFactoryImpl());
+
+		// Register the package to ensure it is available during loading.
+		//
+		resourceSet.getPackageRegistry().put
+			(YConverterPackage.eNS_URI, 
+			 YConverterPackage.eINSTANCE);
+        
+		// If there are no arguments, emit an appropriate usage message.
+		//
+		if (args.length == 0) {
+			System.out.println("Enter a list of file paths or URIs that have content like this:");
+			try {
+				Resource resource = resourceSet.createResource(URI.createURI("http:///My.yconverter"));
+				YObjectToStringConverter root = YConverterFactory.eINSTANCE.createYObjectToStringConverter();
+				resource.getContents().add(root);
+				resource.save(System.out, null);
+			}
+			catch (IOException exception) {
+				exception.printStackTrace();
+			}
+		}
+		else {
+			// Iterate over all the arguments.
+			//
+			for (int i = 0; i < args.length; ++i) {
+				// Construct the URI for the instance file.
+				// The argument is treated as a file path only if it denotes an existing file.
+				// Otherwise, it's directly treated as a URL.
+				//
+				File file = new File(args[i]);
+				URI uri = file.isFile() ? URI.createFileURI(file.getAbsolutePath()): URI.createURI(args[i]);
+
+				try {
+					// Demand load resource for this file.
+					//
+					Resource resource = resourceSet.getResource(uri, true);
+					System.out.println("Loaded " + uri);
+
+					// Validate the contents of the loaded resource.
+					//
+					for (EObject eObject : resource.getContents()) {
+						Diagnostic diagnostic = Diagnostician.INSTANCE.validate(eObject);
+						if (diagnostic.getSeverity() != Diagnostic.OK) {
+							printDiagnostic(diagnostic, "");
+						}
+					}
+				}
+				catch (RuntimeException exception) {
+					System.out.println("Problem loading " + uri);
+					exception.printStackTrace();
+				}
+			}
+		}
+	}
+	
+	/**
+	 * <!-- begin-user-doc -->
+	 * Prints diagnostics with indentation.
+	 * <!-- end-user-doc -->
+	 * @param diagnostic the diagnostic to print.
+	 * @param indent the indentation for printing.
+	 * @generated
+	 */
+	protected static void printDiagnostic(Diagnostic diagnostic, String indent) {
+		System.out.print(indent);
+		System.out.println(diagnostic.getMessage());
+		for (Diagnostic child : diagnostic.getChildren()) {
+			printDiagnostic(child, indent + "  ");
+		}
+	}
+
+} //YConverterExample
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YConverterTests.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YConverterTests.java
new file mode 100644
index 0000000..b634af4
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YConverterTests.java
@@ -0,0 +1,57 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.converter.tests;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import junit.textui.TestRunner;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test suite for the '<em><b>converter</b></em>' package.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YConverterTests extends TestSuite {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(suite());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static Test suite() {
+		TestSuite suite = new YConverterTests("converter Tests");
+		return suite;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YConverterTests(String name) {
+		super(name);
+	}
+
+} //YConverterTests
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YCustomDecimalConverterTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YCustomDecimalConverterTest.java
new file mode 100644
index 0000000..366b571
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YCustomDecimalConverterTest.java
@@ -0,0 +1,100 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.converter.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.converter.YConverterFactory;
+import org.eclipse.osbp.ecview.extension.model.converter.YCustomDecimalConverter;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YCustom Decimal Converter</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YCustomDecimalConverterTest extends TestCase {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * The fixture for this YCustom Decimal Converter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YCustomDecimalConverter fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YCustomDecimalConverterTest.class);
+	}
+
+	/**
+	 * Constructs a new YCustom Decimal Converter test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YCustomDecimalConverterTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YCustom Decimal Converter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YCustomDecimalConverter fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YCustom Decimal Converter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YCustomDecimalConverter getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YConverterFactory.eINSTANCE.createYCustomDecimalConverter());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YCustomDecimalConverterTest
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YDecimalToUomoConverterTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YDecimalToUomoConverterTest.java
new file mode 100644
index 0000000..5137071
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YDecimalToUomoConverterTest.java
@@ -0,0 +1,100 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.converter.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.converter.YConverterFactory;
+import org.eclipse.osbp.ecview.extension.model.converter.YDecimalToUomoConverter;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YDecimal To Uomo Converter</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YDecimalToUomoConverterTest extends TestCase {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * The fixture for this YDecimal To Uomo Converter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YDecimalToUomoConverter fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YDecimalToUomoConverterTest.class);
+	}
+
+	/**
+	 * Constructs a new YDecimal To Uomo Converter test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YDecimalToUomoConverterTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YDecimal To Uomo Converter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YDecimalToUomoConverter fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YDecimal To Uomo Converter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YDecimalToUomoConverter getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YConverterFactory.eINSTANCE.createYDecimalToUomoConverter());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YDecimalToUomoConverterTest
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YNumericToResourceConfigTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YNumericToResourceConfigTest.java
new file mode 100644
index 0000000..e6dc0be
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YNumericToResourceConfigTest.java
@@ -0,0 +1,100 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.converter.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.converter.YConverterFactory;
+import org.eclipse.osbp.ecview.extension.model.converter.YNumericToResourceConfig;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YNumeric To Resource Config</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YNumericToResourceConfigTest extends TestCase {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * The fixture for this YNumeric To Resource Config test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YNumericToResourceConfig fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YNumericToResourceConfigTest.class);
+	}
+
+	/**
+	 * Constructs a new YNumeric To Resource Config test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YNumericToResourceConfigTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YNumeric To Resource Config test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YNumericToResourceConfig fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YNumeric To Resource Config test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YNumericToResourceConfig getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YConverterFactory.eINSTANCE.createYNumericToResourceConfig());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YNumericToResourceConfigTest
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YNumericToResourceConverterTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YNumericToResourceConverterTest.java
new file mode 100644
index 0000000..fad3cba
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YNumericToResourceConverterTest.java
@@ -0,0 +1,100 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.converter.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.converter.YConverterFactory;
+import org.eclipse.osbp.ecview.extension.model.converter.YNumericToResourceConverter;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YNumeric To Resource Converter</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YNumericToResourceConverterTest extends TestCase {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * The fixture for this YNumeric To Resource Converter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YNumericToResourceConverter fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YNumericToResourceConverterTest.class);
+	}
+
+	/**
+	 * Constructs a new YNumeric To Resource Converter test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YNumericToResourceConverterTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YNumeric To Resource Converter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YNumericToResourceConverter fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YNumeric To Resource Converter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YNumericToResourceConverter getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YConverterFactory.eINSTANCE.createYNumericToResourceConverter());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YNumericToResourceConverterTest
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YNumericToUomoConverterTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YNumericToUomoConverterTest.java
new file mode 100644
index 0000000..03277f6
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YNumericToUomoConverterTest.java
@@ -0,0 +1,100 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.converter.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.converter.YConverterFactory;
+import org.eclipse.osbp.ecview.extension.model.converter.YNumericToUomoConverter;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YNumeric To Uomo Converter</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YNumericToUomoConverterTest extends TestCase {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * The fixture for this YNumeric To Uomo Converter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YNumericToUomoConverter fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YNumericToUomoConverterTest.class);
+	}
+
+	/**
+	 * Constructs a new YNumeric To Uomo Converter test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YNumericToUomoConverterTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YNumeric To Uomo Converter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YNumericToUomoConverter fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YNumeric To Uomo Converter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YNumericToUomoConverter getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YConverterFactory.eINSTANCE.createYNumericToUomoConverter());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YNumericToUomoConverterTest
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YObjectToStringConverterTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YObjectToStringConverterTest.java
new file mode 100644
index 0000000..67137b9
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YObjectToStringConverterTest.java
@@ -0,0 +1,100 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.converter.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.converter.YConverterFactory;
+import org.eclipse.osbp.ecview.extension.model.converter.YObjectToStringConverter;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YObject To String Converter</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YObjectToStringConverterTest extends TestCase {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * The fixture for this YObject To String Converter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YObjectToStringConverter fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YObjectToStringConverterTest.class);
+	}
+
+	/**
+	 * Constructs a new YObject To String Converter test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YObjectToStringConverterTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YObject To String Converter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YObjectToStringConverter fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YObject To String Converter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YObjectToStringConverter getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YConverterFactory.eINSTANCE.createYObjectToStringConverter());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YObjectToStringConverterTest
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YPriceToStringConverterTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YPriceToStringConverterTest.java
new file mode 100644
index 0000000..753c2d1
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YPriceToStringConverterTest.java
@@ -0,0 +1,100 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.converter.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.converter.YConverterFactory;
+import org.eclipse.osbp.ecview.extension.model.converter.YPriceToStringConverter;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YPrice To String Converter</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YPriceToStringConverterTest extends TestCase {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * The fixture for this YPrice To String Converter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YPriceToStringConverter fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YPriceToStringConverterTest.class);
+	}
+
+	/**
+	 * Constructs a new YPrice To String Converter test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YPriceToStringConverterTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YPrice To String Converter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YPriceToStringConverter fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YPrice To String Converter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YPriceToStringConverter getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YConverterFactory.eINSTANCE.createYPriceToStringConverter());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YPriceToStringConverterTest
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YQuantityToStringConverterTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YQuantityToStringConverterTest.java
new file mode 100644
index 0000000..ef38698
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YQuantityToStringConverterTest.java
@@ -0,0 +1,100 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.converter.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.converter.YConverterFactory;
+import org.eclipse.osbp.ecview.extension.model.converter.YQuantityToStringConverter;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YQuantity To String Converter</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YQuantityToStringConverterTest extends TestCase {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * The fixture for this YQuantity To String Converter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YQuantityToStringConverter fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YQuantityToStringConverterTest.class);
+	}
+
+	/**
+	 * Constructs a new YQuantity To String Converter test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YQuantityToStringConverterTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YQuantity To String Converter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YQuantityToStringConverter fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YQuantity To String Converter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YQuantityToStringConverter getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YConverterFactory.eINSTANCE.createYQuantityToStringConverter());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YQuantityToStringConverterTest
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YSimpleDecimalConverterTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YSimpleDecimalConverterTest.java
new file mode 100644
index 0000000..2547137
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YSimpleDecimalConverterTest.java
@@ -0,0 +1,100 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.converter.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.converter.YConverterFactory;
+import org.eclipse.osbp.ecview.extension.model.converter.YSimpleDecimalConverter;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YSimple Decimal Converter</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YSimpleDecimalConverterTest extends TestCase {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * The fixture for this YSimple Decimal Converter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YSimpleDecimalConverter fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YSimpleDecimalConverterTest.class);
+	}
+
+	/**
+	 * Constructs a new YSimple Decimal Converter test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YSimpleDecimalConverterTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YSimple Decimal Converter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YSimpleDecimalConverter fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YSimple Decimal Converter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YSimpleDecimalConverter getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YConverterFactory.eINSTANCE.createYSimpleDecimalConverter());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YSimpleDecimalConverterTest
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YStringToResourceConfigTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YStringToResourceConfigTest.java
new file mode 100644
index 0000000..ddcae90
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YStringToResourceConfigTest.java
@@ -0,0 +1,100 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.converter.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.converter.YConverterFactory;
+import org.eclipse.osbp.ecview.extension.model.converter.YStringToResourceConfig;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YString To Resource Config</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YStringToResourceConfigTest extends TestCase {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * The fixture for this YString To Resource Config test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YStringToResourceConfig fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YStringToResourceConfigTest.class);
+	}
+
+	/**
+	 * Constructs a new YString To Resource Config test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YStringToResourceConfigTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YString To Resource Config test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YStringToResourceConfig fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YString To Resource Config test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YStringToResourceConfig getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YConverterFactory.eINSTANCE.createYStringToResourceConfig());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YStringToResourceConfigTest
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YStringToResourceConverterTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YStringToResourceConverterTest.java
new file mode 100644
index 0000000..56759ee
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YStringToResourceConverterTest.java
@@ -0,0 +1,100 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.converter.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.converter.YConverterFactory;
+import org.eclipse.osbp.ecview.extension.model.converter.YStringToResourceConverter;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YString To Resource Converter</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YStringToResourceConverterTest extends TestCase {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * The fixture for this YString To Resource Converter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YStringToResourceConverter fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YStringToResourceConverterTest.class);
+	}
+
+	/**
+	 * Constructs a new YString To Resource Converter test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YStringToResourceConverterTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YString To Resource Converter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YStringToResourceConverter fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YString To Resource Converter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YStringToResourceConverter getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YConverterFactory.eINSTANCE.createYStringToResourceConverter());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YStringToResourceConverterTest
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YBlobUploadComponentTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YBlobUploadComponentTest.java
new file mode 100644
index 0000000..2e7b24c
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YBlobUploadComponentTest.java
@@ -0,0 +1,119 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.YBlobUploadComponent;
+import org.eclipse.osbp.ecview.extension.model.YECviewFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YBlob Upload Component</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YBlobUploadComponentTest extends TestCase {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * The fixture for this YBlob Upload Component test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YBlobUploadComponent fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YBlobUploadComponentTest.class);
+	}
+
+	/**
+	 * Constructs a new YBlob Upload Component test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YBlobUploadComponentTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YBlob Upload Component test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YBlobUploadComponent fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YBlob Upload Component test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YBlobUploadComponent getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YECviewFactory.eINSTANCE.createYBlobUploadComponent());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint()
+	 * @generated
+	 */
+	public void testCreateValueEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YBlobUploadComponentTest
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YCollectionSuspectTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YCollectionSuspectTest.java
new file mode 100644
index 0000000..249126c
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YCollectionSuspectTest.java
@@ -0,0 +1,81 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.YCollectionSuspect;
+import org.eclipse.osbp.ecview.extension.model.YECviewFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YCollection Suspect</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YCollectionSuspectTest extends YTypedSuspectTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YCollectionSuspectTest.class);
+	}
+
+	/**
+	 * Constructs a new YCollection Suspect test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YCollectionSuspectTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YCollection Suspect test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YCollectionSuspect getFixture() {
+		return (YCollectionSuspect)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YECviewFactory.eINSTANCE.createYCollectionSuspect());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YCollectionSuspectTest
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YColumnInfoTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YColumnInfoTest.java
new file mode 100644
index 0000000..27fbcf8
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YColumnInfoTest.java
@@ -0,0 +1,100 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.YColumnInfo;
+import org.eclipse.osbp.ecview.extension.model.YECviewFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YColumn Info</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YColumnInfoTest extends TestCase {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * The fixture for this YColumn Info test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YColumnInfo fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YColumnInfoTest.class);
+	}
+
+	/**
+	 * Constructs a new YColumn Info test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YColumnInfoTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YColumn Info test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YColumnInfo fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YColumn Info test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YColumnInfo getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YECviewFactory.eINSTANCE.createYColumnInfo());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YColumnInfoTest
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YContentSensitiveLayoutTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YContentSensitiveLayoutTest.java
new file mode 100644
index 0000000..447e635
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YContentSensitiveLayoutTest.java
@@ -0,0 +1,100 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.YContentSensitiveLayout;
+import org.eclipse.osbp.ecview.extension.model.YECviewFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YContent Sensitive Layout</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YContentSensitiveLayoutTest extends TestCase {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * The fixture for this YContent Sensitive Layout test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YContentSensitiveLayout fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YContentSensitiveLayoutTest.class);
+	}
+
+	/**
+	 * Constructs a new YContent Sensitive Layout test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YContentSensitiveLayoutTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YContent Sensitive Layout test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YContentSensitiveLayout fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YContent Sensitive Layout test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YContentSensitiveLayout getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YECviewFactory.eINSTANCE.createYContentSensitiveLayout());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YContentSensitiveLayoutTest
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YCustomDecimalFieldTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YCustomDecimalFieldTest.java
new file mode 100644
index 0000000..af398e6
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YCustomDecimalFieldTest.java
@@ -0,0 +1,119 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.YCustomDecimalField;
+import org.eclipse.osbp.ecview.extension.model.YECviewFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YCustom Decimal Field</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YCustomDecimalFieldTest extends TestCase {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * The fixture for this YCustom Decimal Field test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YCustomDecimalField fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YCustomDecimalFieldTest.class);
+	}
+
+	/**
+	 * Constructs a new YCustom Decimal Field test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YCustomDecimalFieldTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YCustom Decimal Field test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YCustomDecimalField fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YCustom Decimal Field test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YCustomDecimalField getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YECviewFactory.eINSTANCE.createYCustomDecimalField());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint()
+	 * @generated
+	 */
+	public void testCreateValueEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YCustomDecimalFieldTest
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YDefaultLayoutingStrategyTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YDefaultLayoutingStrategyTest.java
new file mode 100644
index 0000000..ff58d4b
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YDefaultLayoutingStrategyTest.java
@@ -0,0 +1,81 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.YDefaultLayoutingStrategy;
+import org.eclipse.osbp.ecview.extension.model.YECviewFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YDefault Layouting Strategy</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YDefaultLayoutingStrategyTest extends YLayoutingStrategyTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YDefaultLayoutingStrategyTest.class);
+	}
+
+	/**
+	 * Constructs a new YDefault Layouting Strategy test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YDefaultLayoutingStrategyTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YDefault Layouting Strategy test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YDefaultLayoutingStrategy getFixture() {
+		return (YDefaultLayoutingStrategy)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YECviewFactory.eINSTANCE.createYDefaultLayoutingStrategy());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YDefaultLayoutingStrategyTest
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YDelegatingFocusingStrategyTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YDelegatingFocusingStrategyTest.java
new file mode 100644
index 0000000..4574d6a
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YDelegatingFocusingStrategyTest.java
@@ -0,0 +1,81 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.YDelegatingFocusingStrategy;
+import org.eclipse.osbp.ecview.extension.model.YECviewFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YDelegating Focusing Strategy</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YDelegatingFocusingStrategyTest extends YFocusingStrategyTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YDelegatingFocusingStrategyTest.class);
+	}
+
+	/**
+	 * Constructs a new YDelegating Focusing Strategy test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YDelegatingFocusingStrategyTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YDelegating Focusing Strategy test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YDelegatingFocusingStrategy getFixture() {
+		return (YDelegatingFocusingStrategy)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YECviewFactory.eINSTANCE.createYDelegatingFocusingStrategy());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YDelegatingFocusingStrategyTest
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YDelegatingLayoutingStrategyTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YDelegatingLayoutingStrategyTest.java
new file mode 100644
index 0000000..1a2ba15
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YDelegatingLayoutingStrategyTest.java
@@ -0,0 +1,81 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.YDelegatingLayoutingStrategy;
+import org.eclipse.osbp.ecview.extension.model.YECviewFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YDelegating Layouting Strategy</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YDelegatingLayoutingStrategyTest extends YLayoutingStrategyTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YDelegatingLayoutingStrategyTest.class);
+	}
+
+	/**
+	 * Constructs a new YDelegating Layouting Strategy test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YDelegatingLayoutingStrategyTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YDelegating Layouting Strategy test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YDelegatingLayoutingStrategy getFixture() {
+		return (YDelegatingLayoutingStrategy)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YECviewFactory.eINSTANCE.createYDelegatingLayoutingStrategy());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YDelegatingLayoutingStrategyTest
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YECviewExample.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YECviewExample.java
new file mode 100644
index 0000000..31f7beb
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YECviewExample.java
@@ -0,0 +1,132 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.tests;
+
+import java.io.File;
+import java.io.IOException;
+
+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.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.ecore.xmi.impl.XMIResourceFactoryImpl;
+
+import org.eclipse.osbp.ecview.extension.model.YECviewFactory;
+import org.eclipse.osbp.ecview.extension.model.YECviewPackage;
+import org.eclipse.osbp.ecview.extension.model.YStrategyLayout;
+
+/**
+ * <!-- begin-user-doc -->
+ * A sample utility for the '<em><b>model</b></em>' package.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YECviewExample {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+	
+	/**
+	 * <!-- begin-user-doc -->
+	 * Load all the argument file paths or URIs as instances of the model.
+	 * <!-- end-user-doc -->
+	 * @param args the file paths or URIs.
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		// Create a resource set to hold the resources.
+		//
+		ResourceSet resourceSet = new ResourceSetImpl();
+		
+		// Register the appropriate resource factory to handle all file extensions.
+		//
+		resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put
+			(Resource.Factory.Registry.DEFAULT_EXTENSION, 
+			 new XMIResourceFactoryImpl());
+
+		// Register the package to ensure it is available during loading.
+		//
+		resourceSet.getPackageRegistry().put
+			(YECviewPackage.eNS_URI, 
+			 YECviewPackage.eINSTANCE);
+        
+		// If there are no arguments, emit an appropriate usage message.
+		//
+		if (args.length == 0) {
+			System.out.println("Enter a list of file paths or URIs that have content like this:");
+			try {
+				Resource resource = resourceSet.createResource(URI.createURI("http:///My.yecview"));
+				YStrategyLayout root = YECviewFactory.eINSTANCE.createYStrategyLayout();
+				resource.getContents().add(root);
+				resource.save(System.out, null);
+			}
+			catch (IOException exception) {
+				exception.printStackTrace();
+			}
+		}
+		else {
+			// Iterate over all the arguments.
+			//
+			for (int i = 0; i < args.length; ++i) {
+				// Construct the URI for the instance file.
+				// The argument is treated as a file path only if it denotes an existing file.
+				// Otherwise, it's directly treated as a URL.
+				//
+				File file = new File(args[i]);
+				URI uri = file.isFile() ? URI.createFileURI(file.getAbsolutePath()): URI.createURI(args[i]);
+
+				try {
+					// Demand load resource for this file.
+					//
+					Resource resource = resourceSet.getResource(uri, true);
+					System.out.println("Loaded " + uri);
+
+					// Validate the contents of the loaded resource.
+					//
+					for (EObject eObject : resource.getContents()) {
+						Diagnostic diagnostic = Diagnostician.INSTANCE.validate(eObject);
+						if (diagnostic.getSeverity() != Diagnostic.OK) {
+							printDiagnostic(diagnostic, "");
+						}
+					}
+				}
+				catch (RuntimeException exception) {
+					System.out.println("Problem loading " + uri);
+					exception.printStackTrace();
+				}
+			}
+		}
+	}
+	
+	/**
+	 * <!-- begin-user-doc -->
+	 * Prints diagnostics with indentation.
+	 * <!-- end-user-doc -->
+	 * @param diagnostic the diagnostic to print.
+	 * @param indent the indentation for printing.
+	 * @generated
+	 */
+	protected static void printDiagnostic(Diagnostic diagnostic, String indent) {
+		System.out.print(indent);
+		System.out.println(diagnostic.getMessage());
+		for (Diagnostic child : diagnostic.getChildren()) {
+			printDiagnostic(child, indent + "  ");
+		}
+	}
+
+} //YECviewExample
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YECviewTests.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YECviewTests.java
new file mode 100644
index 0000000..e9f5488
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YECviewTests.java
@@ -0,0 +1,74 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.tests;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import junit.textui.TestRunner;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test suite for the '<em><b>model</b></em>' package.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YECviewTests extends TestSuite {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(suite());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static Test suite() {
+		TestSuite suite = new YECviewTests("model Tests");
+		suite.addTestSuite(YStrategyLayoutTest.class);
+		suite.addTestSuite(YLayoutingStrategyTest.class);
+		suite.addTestSuite(YDefaultLayoutingStrategyTest.class);
+		suite.addTestSuite(YFocusingStrategyTest.class);
+		suite.addTestSuite(YDelegatingLayoutingStrategyTest.class);
+		suite.addTestSuite(YDelegatingFocusingStrategyTest.class);
+		suite.addTestSuite(YBlobUploadComponentTest.class);
+		suite.addTestSuite(YCustomDecimalFieldTest.class);
+		suite.addTestSuite(YIconComboBoxTest.class);
+		suite.addTestSuite(YQuantityTextFieldTest.class);
+		suite.addTestSuite(YContentSensitiveLayoutTest.class);
+		suite.addTestSuite(YRichTextAreaTest.class);
+		suite.addTestSuite(YMaskedTextFieldTest.class);
+		suite.addTestSuite(YPrefixedMaskedTextFieldTest.class);
+		suite.addTestSuite(YMaskedNumericFieldTest.class);
+		suite.addTestSuite(YMaskedDecimalFieldTest.class);
+		suite.addTestSuite(YPairComboBoxTest.class);
+		return suite;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YECviewTests(String name) {
+		super(name);
+	}
+
+} //YECviewTests
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YFocusingStrategyTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YFocusingStrategyTest.java
new file mode 100644
index 0000000..d65a0a1
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YFocusingStrategyTest.java
@@ -0,0 +1,119 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.YECviewFactory;
+import org.eclipse.osbp.ecview.extension.model.YFocusingStrategy;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YFocusing Strategy</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.extension.model.YFocusingStrategy#getView() <em>Get View</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YFocusingStrategyTest extends TestCase {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * The fixture for this YFocusing Strategy test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YFocusingStrategy fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YFocusingStrategyTest.class);
+	}
+
+	/**
+	 * Constructs a new YFocusing Strategy test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YFocusingStrategyTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YFocusing Strategy test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YFocusingStrategy fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YFocusing Strategy test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YFocusingStrategy getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YECviewFactory.eINSTANCE.createYFocusingStrategy());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.extension.model.YFocusingStrategy#getView() <em>Get View</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.extension.model.YFocusingStrategy#getView()
+	 * @generated
+	 */
+	public void testGetView() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YFocusingStrategyTest
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YIconComboBoxTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YIconComboBoxTest.java
new file mode 100644
index 0000000..37274f1
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YIconComboBoxTest.java
@@ -0,0 +1,133 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.YECviewFactory;
+import org.eclipse.osbp.ecview.extension.model.YIconComboBox;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YIcon Combo Box</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YSelectionBindable#createSelectionEndpoint() <em>Create Selection Endpoint</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YCollectionBindable#createCollectionEndpoint() <em>Create Collection Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YIconComboBoxTest extends TestCase {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * The fixture for this YIcon Combo Box test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YIconComboBox fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YIconComboBoxTest.class);
+	}
+
+	/**
+	 * Constructs a new YIcon Combo Box test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YIconComboBoxTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YIcon Combo Box test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YIconComboBox fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YIcon Combo Box test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YIconComboBox getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YECviewFactory.eINSTANCE.createYIconComboBox());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YSelectionBindable#createSelectionEndpoint() <em>Create Selection Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YSelectionBindable#createSelectionEndpoint()
+	 * @generated
+	 */
+	public void testCreateSelectionEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YCollectionBindable#createCollectionEndpoint() <em>Create Collection Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YCollectionBindable#createCollectionEndpoint()
+	 * @generated
+	 */
+	public void testCreateCollectionEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YIconComboBoxTest
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YLayoutingInfoTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YLayoutingInfoTest.java
new file mode 100644
index 0000000..1b97f3d
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YLayoutingInfoTest.java
@@ -0,0 +1,100 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.YECviewFactory;
+import org.eclipse.osbp.ecview.extension.model.YLayoutingInfo;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YLayouting Info</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YLayoutingInfoTest extends TestCase {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * The fixture for this YLayouting Info test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YLayoutingInfo fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YLayoutingInfoTest.class);
+	}
+
+	/**
+	 * Constructs a new YLayouting Info test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YLayoutingInfoTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YLayouting Info test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YLayoutingInfo fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YLayouting Info test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YLayoutingInfo getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YECviewFactory.eINSTANCE.createYLayoutingInfo());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YLayoutingInfoTest
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YLayoutingStrategyTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YLayoutingStrategyTest.java
new file mode 100644
index 0000000..69a22b2
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YLayoutingStrategyTest.java
@@ -0,0 +1,119 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.YECviewFactory;
+import org.eclipse.osbp.ecview.extension.model.YLayoutingStrategy;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YLayouting Strategy</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.extension.model.YLayoutingStrategy#getView() <em>Get View</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YLayoutingStrategyTest extends TestCase {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * The fixture for this YLayouting Strategy test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YLayoutingStrategy fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YLayoutingStrategyTest.class);
+	}
+
+	/**
+	 * Constructs a new YLayouting Strategy test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YLayoutingStrategyTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YLayouting Strategy test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YLayoutingStrategy fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YLayouting Strategy test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YLayoutingStrategy getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YECviewFactory.eINSTANCE.createYLayoutingStrategy());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.extension.model.YLayoutingStrategy#getView() <em>Get View</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.extension.model.YLayoutingStrategy#getView()
+	 * @generated
+	 */
+	public void testGetView() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YLayoutingStrategyTest
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YMaskedDecimalFieldTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YMaskedDecimalFieldTest.java
new file mode 100644
index 0000000..6998f1a
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YMaskedDecimalFieldTest.java
@@ -0,0 +1,119 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.YECviewFactory;
+import org.eclipse.osbp.ecview.extension.model.YMaskedDecimalField;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YMasked Decimal Field</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YMaskedDecimalFieldTest extends TestCase {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * The fixture for this YMasked Decimal Field test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YMaskedDecimalField fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YMaskedDecimalFieldTest.class);
+	}
+
+	/**
+	 * Constructs a new YMasked Decimal Field test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YMaskedDecimalFieldTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YMasked Decimal Field test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YMaskedDecimalField fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YMasked Decimal Field test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YMaskedDecimalField getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YECviewFactory.eINSTANCE.createYMaskedDecimalField());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint()
+	 * @generated
+	 */
+	public void testCreateValueEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YMaskedDecimalFieldTest
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YMaskedNumericFieldTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YMaskedNumericFieldTest.java
new file mode 100644
index 0000000..b17b477
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YMaskedNumericFieldTest.java
@@ -0,0 +1,119 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.YECviewFactory;
+import org.eclipse.osbp.ecview.extension.model.YMaskedNumericField;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YMasked Numeric Field</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YMaskedNumericFieldTest extends TestCase {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * The fixture for this YMasked Numeric Field test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YMaskedNumericField fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YMaskedNumericFieldTest.class);
+	}
+
+	/**
+	 * Constructs a new YMasked Numeric Field test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YMaskedNumericFieldTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YMasked Numeric Field test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YMaskedNumericField fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YMasked Numeric Field test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YMaskedNumericField getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YECviewFactory.eINSTANCE.createYMaskedNumericField());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint()
+	 * @generated
+	 */
+	public void testCreateValueEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YMaskedNumericFieldTest
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YMaskedTextFieldTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YMaskedTextFieldTest.java
new file mode 100644
index 0000000..8994aaa
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YMaskedTextFieldTest.java
@@ -0,0 +1,119 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.YECviewFactory;
+import org.eclipse.osbp.ecview.extension.model.YMaskedTextField;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YMasked Text Field</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YMaskedTextFieldTest extends TestCase {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * The fixture for this YMasked Text Field test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YMaskedTextField fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YMaskedTextFieldTest.class);
+	}
+
+	/**
+	 * Constructs a new YMasked Text Field test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YMaskedTextFieldTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YMasked Text Field test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YMaskedTextField fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YMasked Text Field test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YMaskedTextField getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YECviewFactory.eINSTANCE.createYMaskedTextField());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint()
+	 * @generated
+	 */
+	public void testCreateValueEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YMaskedTextFieldTest
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YPairComboBoxTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YPairComboBoxTest.java
new file mode 100644
index 0000000..3c65d35
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YPairComboBoxTest.java
@@ -0,0 +1,133 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.YECviewFactory;
+import org.eclipse.osbp.ecview.extension.model.YPairComboBox;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YPair Combo Box</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YSelectionBindable#createSelectionEndpoint() <em>Create Selection Endpoint</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YCollectionBindable#createCollectionEndpoint() <em>Create Collection Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YPairComboBoxTest extends TestCase {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * The fixture for this YPair Combo Box test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YPairComboBox fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YPairComboBoxTest.class);
+	}
+
+	/**
+	 * Constructs a new YPair Combo Box test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YPairComboBoxTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YPair Combo Box test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YPairComboBox fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YPair Combo Box test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YPairComboBox getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YECviewFactory.eINSTANCE.createYPairComboBox());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YSelectionBindable#createSelectionEndpoint() <em>Create Selection Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YSelectionBindable#createSelectionEndpoint()
+	 * @generated
+	 */
+	public void testCreateSelectionEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YCollectionBindable#createCollectionEndpoint() <em>Create Collection Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YCollectionBindable#createCollectionEndpoint()
+	 * @generated
+	 */
+	public void testCreateCollectionEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YPairComboBoxTest
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YPrefixedMaskedTextFieldTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YPrefixedMaskedTextFieldTest.java
new file mode 100644
index 0000000..bebf8ce
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YPrefixedMaskedTextFieldTest.java
@@ -0,0 +1,119 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.YECviewFactory;
+import org.eclipse.osbp.ecview.extension.model.YPrefixedMaskedTextField;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YPrefixed Masked Text Field</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YPrefixedMaskedTextFieldTest extends TestCase {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * The fixture for this YPrefixed Masked Text Field test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YPrefixedMaskedTextField fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YPrefixedMaskedTextFieldTest.class);
+	}
+
+	/**
+	 * Constructs a new YPrefixed Masked Text Field test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YPrefixedMaskedTextFieldTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YPrefixed Masked Text Field test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YPrefixedMaskedTextField fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YPrefixed Masked Text Field test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YPrefixedMaskedTextField getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YECviewFactory.eINSTANCE.createYPrefixedMaskedTextField());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint()
+	 * @generated
+	 */
+	public void testCreateValueEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YPrefixedMaskedTextFieldTest
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YQuantityTextFieldTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YQuantityTextFieldTest.java
new file mode 100644
index 0000000..1fb25af
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YQuantityTextFieldTest.java
@@ -0,0 +1,119 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.YECviewFactory;
+import org.eclipse.osbp.ecview.extension.model.YQuantityTextField;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YQuantity Text Field</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YQuantityTextFieldTest extends TestCase {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * The fixture for this YQuantity Text Field test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YQuantityTextField fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YQuantityTextFieldTest.class);
+	}
+
+	/**
+	 * Constructs a new YQuantity Text Field test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YQuantityTextFieldTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YQuantity Text Field test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YQuantityTextField fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YQuantity Text Field test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YQuantityTextField getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YECviewFactory.eINSTANCE.createYQuantityTextField());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint()
+	 * @generated
+	 */
+	public void testCreateValueEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YQuantityTextFieldTest
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YRichTextAreaTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YRichTextAreaTest.java
new file mode 100644
index 0000000..2d3c735
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YRichTextAreaTest.java
@@ -0,0 +1,119 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.YECviewFactory;
+import org.eclipse.osbp.ecview.extension.model.YRichTextArea;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YRich Text Area</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YRichTextAreaTest extends TestCase {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * The fixture for this YRich Text Area test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YRichTextArea fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YRichTextAreaTest.class);
+	}
+
+	/**
+	 * Constructs a new YRich Text Area test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YRichTextAreaTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YRich Text Area test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YRichTextArea fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YRich Text Area test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YRichTextArea getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YECviewFactory.eINSTANCE.createYRichTextArea());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint()
+	 * @generated
+	 */
+	public void testCreateValueEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YRichTextAreaTest
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YStrategyLayoutTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YStrategyLayoutTest.java
new file mode 100644
index 0000000..c13e32e
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YStrategyLayoutTest.java
@@ -0,0 +1,100 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.YECviewFactory;
+import org.eclipse.osbp.ecview.extension.model.YStrategyLayout;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YStrategy Layout</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YStrategyLayoutTest extends TestCase {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * The fixture for this YStrategy Layout test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YStrategyLayout fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YStrategyLayoutTest.class);
+	}
+
+	/**
+	 * Constructs a new YStrategy Layout test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YStrategyLayoutTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YStrategy Layout test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YStrategyLayout fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YStrategy Layout test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YStrategyLayout getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YECviewFactory.eINSTANCE.createYStrategyLayout());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YStrategyLayoutTest
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YSubTypeBaseSuspectTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YSubTypeBaseSuspectTest.java
new file mode 100644
index 0000000..30ad9e0
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YSubTypeBaseSuspectTest.java
@@ -0,0 +1,81 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.YECviewFactory;
+import org.eclipse.osbp.ecview.extension.model.YSubTypeBaseSuspect;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YSub Type Base Suspect</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YSubTypeBaseSuspectTest extends YTypedCompoundSuspectTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YSubTypeBaseSuspectTest.class);
+	}
+
+	/**
+	 * Constructs a new YSub Type Base Suspect test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YSubTypeBaseSuspectTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YSub Type Base Suspect test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YSubTypeBaseSuspect getFixture() {
+		return (YSubTypeBaseSuspect)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YECviewFactory.eINSTANCE.createYSubTypeBaseSuspect());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YSubTypeBaseSuspectTest
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YSubTypeSuspectTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YSubTypeSuspectTest.java
new file mode 100644
index 0000000..db9c419
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YSubTypeSuspectTest.java
@@ -0,0 +1,81 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.YECviewFactory;
+import org.eclipse.osbp.ecview.extension.model.YSubTypeSuspect;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YSub Type Suspect</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YSubTypeSuspectTest extends YTypedCompoundSuspectTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YSubTypeSuspectTest.class);
+	}
+
+	/**
+	 * Constructs a new YSub Type Suspect test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YSubTypeSuspectTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YSub Type Suspect test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YSubTypeSuspect getFixture() {
+		return (YSubTypeSuspect)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YECviewFactory.eINSTANCE.createYSubTypeSuspect());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YSubTypeSuspectTest
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YSuspectInfoTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YSuspectInfoTest.java
new file mode 100644
index 0000000..09a9be8
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YSuspectInfoTest.java
@@ -0,0 +1,100 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.YECviewFactory;
+import org.eclipse.osbp.ecview.extension.model.YSuspectInfo;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YSuspect Info</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YSuspectInfoTest extends TestCase {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * The fixture for this YSuspect Info test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YSuspectInfo fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YSuspectInfoTest.class);
+	}
+
+	/**
+	 * Constructs a new YSuspect Info test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YSuspectInfoTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YSuspect Info test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YSuspectInfo fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YSuspect Info test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YSuspectInfo getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YECviewFactory.eINSTANCE.createYSuspectInfo());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YSuspectInfoTest
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YSuspectTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YSuspectTest.java
new file mode 100644
index 0000000..89ebd08
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YSuspectTest.java
@@ -0,0 +1,100 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.YECviewFactory;
+import org.eclipse.osbp.ecview.extension.model.YSuspect;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YSuspect</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YSuspectTest extends TestCase {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * The fixture for this YSuspect test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YSuspect fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YSuspectTest.class);
+	}
+
+	/**
+	 * Constructs a new YSuspect test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YSuspectTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YSuspect test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YSuspect fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YSuspect test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YSuspect getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YECviewFactory.eINSTANCE.createYSuspect());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YSuspectTest
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YTypedCompoundSuspectTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YTypedCompoundSuspectTest.java
new file mode 100644
index 0000000..468a1b4
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YTypedCompoundSuspectTest.java
@@ -0,0 +1,81 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.YECviewFactory;
+import org.eclipse.osbp.ecview.extension.model.YTypedCompoundSuspect;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YTyped Compound Suspect</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YTypedCompoundSuspectTest extends YTypedSuspectTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YTypedCompoundSuspectTest.class);
+	}
+
+	/**
+	 * Constructs a new YTyped Compound Suspect test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YTypedCompoundSuspectTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YTyped Compound Suspect test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YTypedCompoundSuspect getFixture() {
+		return (YTypedCompoundSuspect)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YECviewFactory.eINSTANCE.createYTypedCompoundSuspect());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YTypedCompoundSuspectTest
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YTypedSuspectTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YTypedSuspectTest.java
new file mode 100644
index 0000000..4aa0236
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YTypedSuspectTest.java
@@ -0,0 +1,81 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.YECviewFactory;
+import org.eclipse.osbp.ecview.extension.model.YTypedSuspect;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YTyped Suspect</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YTypedSuspectTest extends YSuspectTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YTypedSuspectTest.class);
+	}
+
+	/**
+	 * Constructs a new YTyped Suspect test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YTypedSuspectTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YTyped Suspect test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YTypedSuspect getFixture() {
+		return (YTypedSuspect)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YECviewFactory.eINSTANCE.createYTypedSuspect());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YTypedSuspectTest
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/ecviewAllTests.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/ecviewAllTests.java
new file mode 100644
index 0000000..6fa5473
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/ecviewAllTests.java
@@ -0,0 +1,58 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.tests;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import junit.textui.TestRunner;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test suite for the '<em><b>ecview</b></em>' model.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ecviewAllTests extends TestSuite {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(suite());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static Test suite() {
+		TestSuite suite = new ecviewAllTests("ecview Tests");
+		suite.addTest(YECviewTests.suite());
+		return suite;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ecviewAllTests(String name) {
+		super(name);
+	}
+
+} //ecviewAllTests
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/visibility/tests/YAuthorizationVisibilityProcessorTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/visibility/tests/YAuthorizationVisibilityProcessorTest.java
new file mode 100644
index 0000000..87942a8
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/visibility/tests/YAuthorizationVisibilityProcessorTest.java
@@ -0,0 +1,100 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.visibility.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.visibility.YAuthorizationVisibilityProcessor;
+import org.eclipse.osbp.ecview.extension.model.visibility.YVisibilityFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YAuthorization Visibility Processor</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YAuthorizationVisibilityProcessorTest extends TestCase {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * The fixture for this YAuthorization Visibility Processor test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YAuthorizationVisibilityProcessor fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YAuthorizationVisibilityProcessorTest.class);
+	}
+
+	/**
+	 * Constructs a new YAuthorization Visibility Processor test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YAuthorizationVisibilityProcessorTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YAuthorization Visibility Processor test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YAuthorizationVisibilityProcessor fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YAuthorization Visibility Processor test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YAuthorizationVisibilityProcessor getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YVisibilityFactory.eINSTANCE.createYAuthorizationVisibilityProcessor());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YAuthorizationVisibilityProcessorTest
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/visibility/tests/YSubTypeVisibilityProcessorTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/visibility/tests/YSubTypeVisibilityProcessorTest.java
new file mode 100644
index 0000000..4994257
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/visibility/tests/YSubTypeVisibilityProcessorTest.java
@@ -0,0 +1,100 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.visibility.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.visibility.YSubTypeVisibilityProcessor;
+import org.eclipse.osbp.ecview.extension.model.visibility.YVisibilityFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YSub Type Visibility Processor</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YSubTypeVisibilityProcessorTest extends TestCase {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * The fixture for this YSub Type Visibility Processor test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YSubTypeVisibilityProcessor fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YSubTypeVisibilityProcessorTest.class);
+	}
+
+	/**
+	 * Constructs a new YSub Type Visibility Processor test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YSubTypeVisibilityProcessorTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YSub Type Visibility Processor test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YSubTypeVisibilityProcessor fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YSub Type Visibility Processor test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YSubTypeVisibilityProcessor getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YVisibilityFactory.eINSTANCE.createYSubTypeVisibilityProcessor());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YSubTypeVisibilityProcessorTest
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/visibility/tests/YVisibilityExample.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/visibility/tests/YVisibilityExample.java
new file mode 100644
index 0000000..4366d15
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/visibility/tests/YVisibilityExample.java
@@ -0,0 +1,132 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.visibility.tests;
+
+import java.io.File;
+import java.io.IOException;
+
+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.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.ecore.xmi.impl.XMIResourceFactoryImpl;
+
+import org.eclipse.osbp.ecview.extension.model.visibility.YAuthorizationVisibilityProcessor;
+import org.eclipse.osbp.ecview.extension.model.visibility.YVisibilityFactory;
+import org.eclipse.osbp.ecview.extension.model.visibility.YVisibilityPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * A sample utility for the '<em><b>visibility</b></em>' package.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YVisibilityExample {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+	
+	/**
+	 * <!-- begin-user-doc -->
+	 * Load all the argument file paths or URIs as instances of the model.
+	 * <!-- end-user-doc -->
+	 * @param args the file paths or URIs.
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		// Create a resource set to hold the resources.
+		//
+		ResourceSet resourceSet = new ResourceSetImpl();
+		
+		// Register the appropriate resource factory to handle all file extensions.
+		//
+		resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put
+			(Resource.Factory.Registry.DEFAULT_EXTENSION, 
+			 new XMIResourceFactoryImpl());
+
+		// Register the package to ensure it is available during loading.
+		//
+		resourceSet.getPackageRegistry().put
+			(YVisibilityPackage.eNS_URI, 
+			 YVisibilityPackage.eINSTANCE);
+        
+		// If there are no arguments, emit an appropriate usage message.
+		//
+		if (args.length == 0) {
+			System.out.println("Enter a list of file paths or URIs that have content like this:");
+			try {
+				Resource resource = resourceSet.createResource(URI.createURI("http:///My.yvisibility"));
+				YAuthorizationVisibilityProcessor root = YVisibilityFactory.eINSTANCE.createYAuthorizationVisibilityProcessor();
+				resource.getContents().add(root);
+				resource.save(System.out, null);
+			}
+			catch (IOException exception) {
+				exception.printStackTrace();
+			}
+		}
+		else {
+			// Iterate over all the arguments.
+			//
+			for (int i = 0; i < args.length; ++i) {
+				// Construct the URI for the instance file.
+				// The argument is treated as a file path only if it denotes an existing file.
+				// Otherwise, it's directly treated as a URL.
+				//
+				File file = new File(args[i]);
+				URI uri = file.isFile() ? URI.createFileURI(file.getAbsolutePath()): URI.createURI(args[i]);
+
+				try {
+					// Demand load resource for this file.
+					//
+					Resource resource = resourceSet.getResource(uri, true);
+					System.out.println("Loaded " + uri);
+
+					// Validate the contents of the loaded resource.
+					//
+					for (EObject eObject : resource.getContents()) {
+						Diagnostic diagnostic = Diagnostician.INSTANCE.validate(eObject);
+						if (diagnostic.getSeverity() != Diagnostic.OK) {
+							printDiagnostic(diagnostic, "");
+						}
+					}
+				}
+				catch (RuntimeException exception) {
+					System.out.println("Problem loading " + uri);
+					exception.printStackTrace();
+				}
+			}
+		}
+	}
+	
+	/**
+	 * <!-- begin-user-doc -->
+	 * Prints diagnostics with indentation.
+	 * <!-- end-user-doc -->
+	 * @param diagnostic the diagnostic to print.
+	 * @param indent the indentation for printing.
+	 * @generated
+	 */
+	protected static void printDiagnostic(Diagnostic diagnostic, String indent) {
+		System.out.print(indent);
+		System.out.println(diagnostic.getMessage());
+		for (Diagnostic child : diagnostic.getChildren()) {
+			printDiagnostic(child, indent + "  ");
+		}
+	}
+
+} //YVisibilityExample
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/visibility/tests/YVisibilityTests.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/visibility/tests/YVisibilityTests.java
new file mode 100644
index 0000000..ad14b0c
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/visibility/tests/YVisibilityTests.java
@@ -0,0 +1,57 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.visibility.tests;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import junit.textui.TestRunner;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test suite for the '<em><b>visibility</b></em>' package.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YVisibilityTests extends TestSuite {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(suite());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static Test suite() {
+		TestSuite suite = new YVisibilityTests("visibility Tests");
+		return suite;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YVisibilityTests(String name) {
+		super(name);
+	}
+
+} //YVisibilityTests
diff --git a/org.eclipse.osbp.ecview.extension.model/.classpath b/org.eclipse.osbp.ecview.extension.model/.classpath
new file mode 100644
index 0000000..46cec6e
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model/.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.7"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src/"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.eclipse.osbp.ecview.extension.model/.gitignore b/org.eclipse.osbp.ecview.extension.model/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/org.eclipse.osbp.ecview.extension.model/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.ecview.extension.model/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.ecview.extension.model/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.osbp.ecview.extension.model/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..f42de36
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/org.eclipse.osbp.ecview.extension.model/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.ecview.extension.model/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.ecview.extension.model/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.ecview.extension.model/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..19e3115
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,11 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+BuilderConfiguration.is_project_specific=true
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.emf-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.ecview.extension.model/META-INF/MANIFEST.MF b/org.eclipse.osbp.ecview.extension.model/META-INF/MANIFEST.MF
index a5cc85d..707fb25 100644
--- a/org.eclipse.osbp.ecview.extension.model/META-INF/MANIFEST.MF
+++ b/org.eclipse.osbp.ecview.extension.model/META-INF/MANIFEST.MF
@@ -4,7 +4,7 @@
 Bundle-SymbolicName: org.eclipse.osbp.ecview.extension.model;singleton:=true
 Bundle-Version: 0.9.0.qualifier
 Bundle-ClassPath: .
-Bundle-Vendor: Eclipse OSBP
+Bundle-Vendor: Loetz GmbH&Co.KG (69115 Heidelberg,
  Germany)
 Bundle-Localization: plugin
 Bundle-RequiredExecutionEnvironment: JavaSE-1.7
@@ -42,5 +42,5 @@
  org.eclipse.osbp.ecview.core.common;bundle-version="[0.9.0,0.10.0)",
  org.eclipse.osbp.ecview.core.common.model;bundle-version="[0.9.0,0.10.0)";visibility:=reexport,
  org.eclipse.osbp.ecview.core.extension.model;bundle-version="[0.9.0,0.10.0)";visibility:=reexport,
- org.eclipse.xtext.common.types;bundle-version="[2.7.3,2.8.0)";visibility:=reexport
+ org.eclipse.xtext.common.types;bundle-version="[2.11.0,2.12.0)";visibility:=reexport
 Bundle-ActivationPolicy: lazy
diff --git a/org.eclipse.osbp.ecview.extension.model/model/ecview.ecore b/org.eclipse.osbp.ecview.extension.model/model/ecview.ecore
index cf9af0d..ad1e3dc 100644
--- a/org.eclipse.osbp.ecview.extension.model/model/ecview.ecore
+++ b/org.eclipse.osbp.ecview.extension.model/model/ecview.ecore
@@ -53,6 +53,9 @@
         eType="ecore:EClass ../../org.eclipse.osbp.ecview.core.common.model/model/binding.ecore#//YBinding"
         transient="true" containment="true"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="label" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="containerValueBindingEndpoint"
+        eType="ecore:EClass ../../org.eclipse.osbp.ecview.core.common.model/model/binding.ecore#//YValueBindingEndpoint"
+        containment="true"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="YTypedSuspect" eSuperTypes="#//YSuspect">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeQualifiedName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
@@ -262,6 +265,8 @@
       <eStructuralFeatures xsi:type="ecore:EAttribute" name="numberFormatPattern"
           eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
     </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="YVaaclipseUiThemeToStringConverter"
+        eSuperTypes="../../org.eclipse.osbp.ecview.core.common.model/model/core.ecore#//YConverter"/>
   </eSubpackages>
   <eSubpackages name="visibility" nsURI="http://osbp.de/ecview/v1/extension/visibility"
       nsPrefix="visibility">
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YBlobUploadComponent.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YBlobUploadComponent.java
index 8406d09..df6a513 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YBlobUploadComponent.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YBlobUploadComponent.java
@@ -23,13 +23,13 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YBlobUploadComponent#getValue <em>Value</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YBlobUploadComponent#getDisplayResolutionId <em>Display Resolution Id</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YBlobUploadComponent#isFirmlyLinked <em>Firmly Linked</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YBlobUploadComponent#isUniqueNameEnabled <em>Unique Name Enabled</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.model.YECviewPackage#getYBlobUploadComponent()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YCollectionSuspect.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YCollectionSuspect.java
index 6549866..3d61eae 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YCollectionSuspect.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YCollectionSuspect.java
@@ -22,10 +22,10 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YCollectionSuspect#getColumns <em>Columns</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.model.YECviewPackage#getYCollectionSuspect()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YColumnInfo.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YColumnInfo.java
index d35de5e..3865f66 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YColumnInfo.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YColumnInfo.java
@@ -23,6 +23,7 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YColumnInfo#getName <em>Name</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YColumnInfo#getType <em>Type</em>}</li>
@@ -30,7 +31,6 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YColumnInfo#getProperties <em>Properties</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YColumnInfo#getLabelI18nKey <em>Label I1 8n Key</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.model.YECviewPackage#getYColumnInfo()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YCustomDecimalField.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YCustomDecimalField.java
index dfb1c9a..d122c2c 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YCustomDecimalField.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YCustomDecimalField.java
@@ -25,12 +25,12 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YCustomDecimalField#getDatatype <em>Datatype</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YCustomDecimalField#getDatadescription <em>Datadescription</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YCustomDecimalField#getValue <em>Value</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.model.YECviewPackage#getYCustomDecimalField()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YDelegatingFocusingStrategy.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YDelegatingFocusingStrategy.java
index 319b375..d975bae 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YDelegatingFocusingStrategy.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YDelegatingFocusingStrategy.java
@@ -21,10 +21,10 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YDelegatingFocusingStrategy#getDelegateStrategyId <em>Delegate Strategy Id</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.model.YECviewPackage#getYDelegatingFocusingStrategy()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YDelegatingLayoutingStrategy.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YDelegatingLayoutingStrategy.java
index 9c83505..6da5cf1 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YDelegatingLayoutingStrategy.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YDelegatingLayoutingStrategy.java
@@ -21,10 +21,10 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YDelegatingLayoutingStrategy#getDelegateStrategyId <em>Delegate Strategy Id</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.model.YECviewPackage#getYDelegatingLayoutingStrategy()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YECviewPackage.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YECviewPackage.java
index 16a8ed5..2ab991f 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YECviewPackage.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YECviewPackage.java
@@ -232,6 +232,15 @@
 	int YSTRATEGY_LAYOUT__LABEL_I1_8N_KEY = CoreModelPackage.YEMBEDDABLE__LABEL_I1_8N_KEY;
 
 	/**
+	 * The feature id for the '<em><b>Last Context Click</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YSTRATEGY_LAYOUT__LAST_CONTEXT_CLICK = CoreModelPackage.YEMBEDDABLE__LAST_CONTEXT_CLICK;
+
+	/**
 	 * The feature id for the '<em><b>Layouting Strategy</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -778,13 +787,22 @@
 	int YSUSPECT__LABEL = CoreModelPackage.YELEMENT_FEATURE_COUNT + 9;
 
 	/**
+	 * The feature id for the '<em><b>Container Value Binding Endpoint</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YSUSPECT__CONTAINER_VALUE_BINDING_ENDPOINT = CoreModelPackage.YELEMENT_FEATURE_COUNT + 10;
+
+	/**
 	 * The number of structural features of the '<em>YSuspect</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int YSUSPECT_FEATURE_COUNT = CoreModelPackage.YELEMENT_FEATURE_COUNT + 10;
+	int YSUSPECT_FEATURE_COUNT = CoreModelPackage.YELEMENT_FEATURE_COUNT + 11;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.osbp.ecview.extension.model.impl.YLayoutingInfoImpl <em>YLayouting Info</em>}' class.
@@ -953,6 +971,15 @@
 	int YTYPED_SUSPECT__LABEL = YSUSPECT__LABEL;
 
 	/**
+	 * The feature id for the '<em><b>Container Value Binding Endpoint</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YTYPED_SUSPECT__CONTAINER_VALUE_BINDING_ENDPOINT = YSUSPECT__CONTAINER_VALUE_BINDING_ENDPOINT;
+
+	/**
 	 * The feature id for the '<em><b>Type Qualified Name</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1116,6 +1143,15 @@
 	int YTYPED_COMPOUND_SUSPECT__LABEL = YTYPED_SUSPECT__LABEL;
 
 	/**
+	 * The feature id for the '<em><b>Container Value Binding Endpoint</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YTYPED_COMPOUND_SUSPECT__CONTAINER_VALUE_BINDING_ENDPOINT = YTYPED_SUSPECT__CONTAINER_VALUE_BINDING_ENDPOINT;
+
+	/**
 	 * The feature id for the '<em><b>Type Qualified Name</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1288,6 +1324,15 @@
 	int YSUB_TYPE_BASE_SUSPECT__LABEL = YTYPED_COMPOUND_SUSPECT__LABEL;
 
 	/**
+	 * The feature id for the '<em><b>Container Value Binding Endpoint</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YSUB_TYPE_BASE_SUSPECT__CONTAINER_VALUE_BINDING_ENDPOINT = YTYPED_COMPOUND_SUSPECT__CONTAINER_VALUE_BINDING_ENDPOINT;
+
+	/**
 	 * The feature id for the '<em><b>Type Qualified Name</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1460,6 +1505,15 @@
 	int YSUB_TYPE_SUSPECT__LABEL = YTYPED_COMPOUND_SUSPECT__LABEL;
 
 	/**
+	 * The feature id for the '<em><b>Container Value Binding Endpoint</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YSUB_TYPE_SUSPECT__CONTAINER_VALUE_BINDING_ENDPOINT = YTYPED_COMPOUND_SUSPECT__CONTAINER_VALUE_BINDING_ENDPOINT;
+
+	/**
 	 * The feature id for the '<em><b>Type Qualified Name</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1829,6 +1883,15 @@
 	int YBLOB_UPLOAD_COMPONENT__LABEL_I1_8N_KEY = ExtensionModelPackage.YINPUT__LABEL_I1_8N_KEY;
 
 	/**
+	 * The feature id for the '<em><b>Last Context Click</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YBLOB_UPLOAD_COMPONENT__LAST_CONTEXT_CLICK = ExtensionModelPackage.YINPUT__LAST_CONTEXT_CLICK;
+
+	/**
 	 * The feature id for the '<em><b>Initial Editable</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1865,6 +1928,24 @@
 	int YBLOB_UPLOAD_COMPONENT__ENABLED = ExtensionModelPackage.YINPUT__ENABLED;
 
 	/**
+	 * The feature id for the '<em><b>Layout Idx</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YBLOB_UPLOAD_COMPONENT__LAYOUT_IDX = ExtensionModelPackage.YINPUT__LAYOUT_IDX;
+
+	/**
+	 * The feature id for the '<em><b>Layout Columns</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YBLOB_UPLOAD_COMPONENT__LAYOUT_COLUMNS = ExtensionModelPackage.YINPUT__LAYOUT_COLUMNS;
+
+	/**
 	 * The feature id for the '<em><b>Tab Index</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -2109,6 +2190,15 @@
 	int YCUSTOM_DECIMAL_FIELD__LABEL_I1_8N_KEY = ExtensionModelPackage.YINPUT__LABEL_I1_8N_KEY;
 
 	/**
+	 * The feature id for the '<em><b>Last Context Click</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YCUSTOM_DECIMAL_FIELD__LAST_CONTEXT_CLICK = ExtensionModelPackage.YINPUT__LAST_CONTEXT_CLICK;
+
+	/**
 	 * The feature id for the '<em><b>Initial Editable</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -2145,6 +2235,24 @@
 	int YCUSTOM_DECIMAL_FIELD__ENABLED = ExtensionModelPackage.YINPUT__ENABLED;
 
 	/**
+	 * The feature id for the '<em><b>Layout Idx</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YCUSTOM_DECIMAL_FIELD__LAYOUT_IDX = ExtensionModelPackage.YINPUT__LAYOUT_IDX;
+
+	/**
+	 * The feature id for the '<em><b>Layout Columns</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YCUSTOM_DECIMAL_FIELD__LAYOUT_COLUMNS = ExtensionModelPackage.YINPUT__LAYOUT_COLUMNS;
+
+	/**
 	 * The feature id for the '<em><b>Tab Index</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -2381,6 +2489,15 @@
 	int YICON_COMBO_BOX__LABEL_I1_8N_KEY = ExtensionModelPackage.YINPUT__LABEL_I1_8N_KEY;
 
 	/**
+	 * The feature id for the '<em><b>Last Context Click</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YICON_COMBO_BOX__LAST_CONTEXT_CLICK = ExtensionModelPackage.YINPUT__LAST_CONTEXT_CLICK;
+
+	/**
 	 * The feature id for the '<em><b>Initial Editable</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -2417,6 +2534,24 @@
 	int YICON_COMBO_BOX__ENABLED = ExtensionModelPackage.YINPUT__ENABLED;
 
 	/**
+	 * The feature id for the '<em><b>Layout Idx</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YICON_COMBO_BOX__LAYOUT_IDX = ExtensionModelPackage.YINPUT__LAYOUT_IDX;
+
+	/**
+	 * The feature id for the '<em><b>Layout Columns</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YICON_COMBO_BOX__LAYOUT_COLUMNS = ExtensionModelPackage.YINPUT__LAYOUT_COLUMNS;
+
+	/**
 	 * The feature id for the '<em><b>Tab Index</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -2733,6 +2868,15 @@
 	int YQUANTITY_TEXT_FIELD__LABEL_I1_8N_KEY = ExtensionModelPackage.YINPUT__LABEL_I1_8N_KEY;
 
 	/**
+	 * The feature id for the '<em><b>Last Context Click</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YQUANTITY_TEXT_FIELD__LAST_CONTEXT_CLICK = ExtensionModelPackage.YINPUT__LAST_CONTEXT_CLICK;
+
+	/**
 	 * The feature id for the '<em><b>Initial Editable</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -2769,6 +2913,24 @@
 	int YQUANTITY_TEXT_FIELD__ENABLED = ExtensionModelPackage.YINPUT__ENABLED;
 
 	/**
+	 * The feature id for the '<em><b>Layout Idx</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YQUANTITY_TEXT_FIELD__LAYOUT_IDX = ExtensionModelPackage.YINPUT__LAYOUT_IDX;
+
+	/**
+	 * The feature id for the '<em><b>Layout Columns</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YQUANTITY_TEXT_FIELD__LAYOUT_COLUMNS = ExtensionModelPackage.YINPUT__LAYOUT_COLUMNS;
+
+	/**
 	 * The feature id for the '<em><b>Tab Index</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -2977,6 +3139,15 @@
 	int YCOLLECTION_SUSPECT__LABEL = YTYPED_SUSPECT__LABEL;
 
 	/**
+	 * The feature id for the '<em><b>Container Value Binding Endpoint</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YCOLLECTION_SUSPECT__CONTAINER_VALUE_BINDING_ENDPOINT = YTYPED_SUSPECT__CONTAINER_VALUE_BINDING_ENDPOINT;
+
+	/**
 	 * The feature id for the '<em><b>Type Qualified Name</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -3231,6 +3402,15 @@
 	int YCONTENT_SENSITIVE_LAYOUT__LABEL_I1_8N_KEY = CoreModelPackage.YLAYOUT__LABEL_I1_8N_KEY;
 
 	/**
+	 * The feature id for the '<em><b>Last Context Click</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YCONTENT_SENSITIVE_LAYOUT__LAST_CONTEXT_CLICK = CoreModelPackage.YLAYOUT__LAST_CONTEXT_CLICK;
+
+	/**
 	 * The feature id for the '<em><b>Initial Editable</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -3276,6 +3456,24 @@
 	int YCONTENT_SENSITIVE_LAYOUT__ELEMENTS = CoreModelPackage.YLAYOUT__ELEMENTS;
 
 	/**
+	 * The feature id for the '<em><b>Last Component Attach</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YCONTENT_SENSITIVE_LAYOUT__LAST_COMPONENT_ATTACH = CoreModelPackage.YLAYOUT__LAST_COMPONENT_ATTACH;
+
+	/**
+	 * The feature id for the '<em><b>Last Component Detach</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YCONTENT_SENSITIVE_LAYOUT__LAST_COMPONENT_DETACH = CoreModelPackage.YLAYOUT__LAST_COMPONENT_DETACH;
+
+	/**
 	 * The feature id for the '<em><b>Spacing</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -3457,6 +3655,15 @@
 	int YRICH_TEXT_AREA__LABEL_I1_8N_KEY = ExtensionModelPackage.YINPUT__LABEL_I1_8N_KEY;
 
 	/**
+	 * The feature id for the '<em><b>Last Context Click</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YRICH_TEXT_AREA__LAST_CONTEXT_CLICK = ExtensionModelPackage.YINPUT__LAST_CONTEXT_CLICK;
+
+	/**
 	 * The feature id for the '<em><b>Initial Editable</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -3493,6 +3700,24 @@
 	int YRICH_TEXT_AREA__ENABLED = ExtensionModelPackage.YINPUT__ENABLED;
 
 	/**
+	 * The feature id for the '<em><b>Layout Idx</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YRICH_TEXT_AREA__LAYOUT_IDX = ExtensionModelPackage.YINPUT__LAYOUT_IDX;
+
+	/**
+	 * The feature id for the '<em><b>Layout Columns</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YRICH_TEXT_AREA__LAYOUT_COLUMNS = ExtensionModelPackage.YINPUT__LAYOUT_COLUMNS;
+
+	/**
 	 * The feature id for the '<em><b>Tab Index</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -3747,6 +3972,15 @@
 	int YMASKED_TEXT_FIELD__LABEL_I1_8N_KEY = ExtensionModelPackage.YINPUT__LABEL_I1_8N_KEY;
 
 	/**
+	 * The feature id for the '<em><b>Last Context Click</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YMASKED_TEXT_FIELD__LAST_CONTEXT_CLICK = ExtensionModelPackage.YINPUT__LAST_CONTEXT_CLICK;
+
+	/**
 	 * The feature id for the '<em><b>Initial Editable</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -3783,6 +4017,24 @@
 	int YMASKED_TEXT_FIELD__ENABLED = ExtensionModelPackage.YINPUT__ENABLED;
 
 	/**
+	 * The feature id for the '<em><b>Layout Idx</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YMASKED_TEXT_FIELD__LAYOUT_IDX = ExtensionModelPackage.YINPUT__LAYOUT_IDX;
+
+	/**
+	 * The feature id for the '<em><b>Layout Columns</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YMASKED_TEXT_FIELD__LAYOUT_COLUMNS = ExtensionModelPackage.YINPUT__LAYOUT_COLUMNS;
+
+	/**
 	 * The feature id for the '<em><b>Tab Index</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -4018,6 +4270,15 @@
 	int YPREFIXED_MASKED_TEXT_FIELD__LABEL_I1_8N_KEY = ExtensionModelPackage.YINPUT__LABEL_I1_8N_KEY;
 
 	/**
+	 * The feature id for the '<em><b>Last Context Click</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YPREFIXED_MASKED_TEXT_FIELD__LAST_CONTEXT_CLICK = ExtensionModelPackage.YINPUT__LAST_CONTEXT_CLICK;
+
+	/**
 	 * The feature id for the '<em><b>Initial Editable</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -4054,6 +4315,24 @@
 	int YPREFIXED_MASKED_TEXT_FIELD__ENABLED = ExtensionModelPackage.YINPUT__ENABLED;
 
 	/**
+	 * The feature id for the '<em><b>Layout Idx</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YPREFIXED_MASKED_TEXT_FIELD__LAYOUT_IDX = ExtensionModelPackage.YINPUT__LAYOUT_IDX;
+
+	/**
+	 * The feature id for the '<em><b>Layout Columns</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YPREFIXED_MASKED_TEXT_FIELD__LAYOUT_COLUMNS = ExtensionModelPackage.YINPUT__LAYOUT_COLUMNS;
+
+	/**
 	 * The feature id for the '<em><b>Tab Index</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -4298,6 +4577,15 @@
 	int YMASKED_NUMERIC_FIELD__LABEL_I1_8N_KEY = ExtensionModelPackage.YINPUT__LABEL_I1_8N_KEY;
 
 	/**
+	 * The feature id for the '<em><b>Last Context Click</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YMASKED_NUMERIC_FIELD__LAST_CONTEXT_CLICK = ExtensionModelPackage.YINPUT__LAST_CONTEXT_CLICK;
+
+	/**
 	 * The feature id for the '<em><b>Initial Editable</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -4334,6 +4622,24 @@
 	int YMASKED_NUMERIC_FIELD__ENABLED = ExtensionModelPackage.YINPUT__ENABLED;
 
 	/**
+	 * The feature id for the '<em><b>Layout Idx</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YMASKED_NUMERIC_FIELD__LAYOUT_IDX = ExtensionModelPackage.YINPUT__LAYOUT_IDX;
+
+	/**
+	 * The feature id for the '<em><b>Layout Columns</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YMASKED_NUMERIC_FIELD__LAYOUT_COLUMNS = ExtensionModelPackage.YINPUT__LAYOUT_COLUMNS;
+
+	/**
 	 * The feature id for the '<em><b>Tab Index</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -4569,6 +4875,15 @@
 	int YMASKED_DECIMAL_FIELD__LABEL_I1_8N_KEY = ExtensionModelPackage.YINPUT__LABEL_I1_8N_KEY;
 
 	/**
+	 * The feature id for the '<em><b>Last Context Click</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YMASKED_DECIMAL_FIELD__LAST_CONTEXT_CLICK = ExtensionModelPackage.YINPUT__LAST_CONTEXT_CLICK;
+
+	/**
 	 * The feature id for the '<em><b>Initial Editable</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -4605,6 +4920,24 @@
 	int YMASKED_DECIMAL_FIELD__ENABLED = ExtensionModelPackage.YINPUT__ENABLED;
 
 	/**
+	 * The feature id for the '<em><b>Layout Idx</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YMASKED_DECIMAL_FIELD__LAYOUT_IDX = ExtensionModelPackage.YINPUT__LAYOUT_IDX;
+
+	/**
+	 * The feature id for the '<em><b>Layout Columns</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YMASKED_DECIMAL_FIELD__LAYOUT_COLUMNS = ExtensionModelPackage.YINPUT__LAYOUT_COLUMNS;
+
+	/**
 	 * The feature id for the '<em><b>Tab Index</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -4848,6 +5181,15 @@
 	int YPAIR_COMBO_BOX__LABEL_I1_8N_KEY = ExtensionModelPackage.YINPUT__LABEL_I1_8N_KEY;
 
 	/**
+	 * The feature id for the '<em><b>Last Context Click</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YPAIR_COMBO_BOX__LAST_CONTEXT_CLICK = ExtensionModelPackage.YINPUT__LAST_CONTEXT_CLICK;
+
+	/**
 	 * The feature id for the '<em><b>Initial Editable</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -4884,6 +5226,24 @@
 	int YPAIR_COMBO_BOX__ENABLED = ExtensionModelPackage.YINPUT__ENABLED;
 
 	/**
+	 * The feature id for the '<em><b>Layout Idx</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YPAIR_COMBO_BOX__LAYOUT_IDX = ExtensionModelPackage.YINPUT__LAYOUT_IDX;
+
+	/**
+	 * The feature id for the '<em><b>Layout Columns</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YPAIR_COMBO_BOX__LAYOUT_COLUMNS = ExtensionModelPackage.YINPUT__LAYOUT_COLUMNS;
+
+	/**
 	 * The feature id for the '<em><b>Tab Index</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -5333,6 +5693,17 @@
 	EAttribute getYSuspect_Label();
 
 	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.ecview.extension.model.YSuspect#getContainerValueBindingEndpoint <em>Container Value Binding Endpoint</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Container Value Binding Endpoint</em>'.
+	 * @see org.eclipse.osbp.ecview.extension.model.YSuspect#getContainerValueBindingEndpoint()
+	 * @see #getYSuspect()
+	 * @generated
+	 */
+	EReference getYSuspect_ContainerValueBindingEndpoint();
+
+	/**
 	 * Returns the meta object for class '{@link org.eclipse.osbp.ecview.extension.model.YLayoutingInfo <em>YLayouting Info</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -6529,6 +6900,14 @@
 		EAttribute YSUSPECT__LABEL = eINSTANCE.getYSuspect_Label();
 
 		/**
+		 * The meta object literal for the '<em><b>Container Value Binding Endpoint</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference YSUSPECT__CONTAINER_VALUE_BINDING_ENDPOINT = eINSTANCE.getYSuspect_ContainerValueBindingEndpoint();
+
+		/**
 		 * The meta object literal for the '{@link org.eclipse.osbp.ecview.extension.model.impl.YLayoutingInfoImpl <em>YLayouting Info</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YFocusingStrategy.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YFocusingStrategy.java
index 1bbe324..6757b12 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YFocusingStrategy.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YFocusingStrategy.java
@@ -24,11 +24,11 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YFocusingStrategy#getKeyStrokeDefinition <em>Key Stroke Definition</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YFocusingStrategy#getTempStrokeDefinition <em>Temp Stroke Definition</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.model.YECviewPackage#getYFocusingStrategy()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YIconComboBox.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YIconComboBox.java
index f19c324..3e1aa40 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YIconComboBox.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YIconComboBox.java
@@ -27,6 +27,7 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YIconComboBox#getDatadescription <em>Datadescription</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YIconComboBox#getDatatype <em>Datatype</em>}</li>
@@ -39,7 +40,6 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YIconComboBox#getDescriptionProperty <em>Description Property</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YIconComboBox#getDescription <em>Description</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.model.YECviewPackage#getYIconComboBox()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YLayoutingInfo.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YLayoutingInfo.java
index a0009b8..309ea9d 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YLayoutingInfo.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YLayoutingInfo.java
@@ -25,13 +25,13 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YLayoutingInfo#getLayout <em>Layout</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YLayoutingInfo#getContent <em>Content</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YLayoutingInfo#getActiveSuspectInfos <em>Active Suspect Infos</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YLayoutingInfo#getFirstFocus <em>First Focus</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.model.YECviewPackage#getYLayoutingInfo()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YLayoutingStrategy.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YLayoutingStrategy.java
index 2e9cf7a..3e5ba39 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YLayoutingStrategy.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YLayoutingStrategy.java
@@ -23,10 +23,10 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YLayoutingStrategy#getTrigger <em>Trigger</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.model.YECviewPackage#getYLayoutingStrategy()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YMaskedDecimalField.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YMaskedDecimalField.java
index 2db5e67..58da56a 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YMaskedDecimalField.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YMaskedDecimalField.java
@@ -19,6 +19,7 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YMaskedDecimalField#getDatadescription <em>Datadescription</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YMaskedDecimalField#getValue <em>Value</em>}</li>
@@ -26,7 +27,6 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YMaskedDecimalField#getDecimalSeparator <em>Decimal Separator</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YMaskedDecimalField#getGroupingSeparator <em>Grouping Separator</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.model.YECviewPackage#getYMaskedDecimalField()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YMaskedNumericField.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YMaskedNumericField.java
index 03ff7ed..39fc1fd 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YMaskedNumericField.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YMaskedNumericField.java
@@ -19,12 +19,12 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YMaskedNumericField#getDatadescription <em>Datadescription</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YMaskedNumericField#getValue <em>Value</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YMaskedNumericField#getMask <em>Mask</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.model.YECviewPackage#getYMaskedNumericField()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YMaskedTextField.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YMaskedTextField.java
index d3d9296..fcc34c3 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YMaskedTextField.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YMaskedTextField.java
@@ -19,12 +19,12 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YMaskedTextField#getDatadescription <em>Datadescription</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YMaskedTextField#getValue <em>Value</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YMaskedTextField#getMask <em>Mask</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.model.YECviewPackage#getYMaskedTextField()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YPairComboBox.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YPairComboBox.java
index a34db9a..c60dd72 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YPairComboBox.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YPairComboBox.java
@@ -25,6 +25,7 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YPairComboBox#getDatadescription <em>Datadescription</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YPairComboBox#getDatatype <em>Datatype</em>}</li>
@@ -38,7 +39,6 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YPairComboBox#getDescriptionProperty <em>Description Property</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YPairComboBox#getDescription <em>Description</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.model.YECviewPackage#getYPairComboBox()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YPrefixedMaskedTextField.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YPrefixedMaskedTextField.java
index f044956..2a8c2b6 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YPrefixedMaskedTextField.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YPrefixedMaskedTextField.java
@@ -21,13 +21,13 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YPrefixedMaskedTextField#getDatadescription <em>Datadescription</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YPrefixedMaskedTextField#getValue <em>Value</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YPrefixedMaskedTextField#getMask <em>Mask</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YPrefixedMaskedTextField#getPrefixes <em>Prefixes</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.model.YECviewPackage#getYPrefixedMaskedTextField()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YQuantityTextField.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YQuantityTextField.java
index 89ddceb..9aec7e4 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YQuantityTextField.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YQuantityTextField.java
@@ -24,11 +24,11 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YQuantityTextField#getDatadescription <em>Datadescription</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YQuantityTextField#getValue <em>Value</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.model.YECviewPackage#getYQuantityTextField()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YRichTextArea.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YRichTextArea.java
index b302420..0ff1c54 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YRichTextArea.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YRichTextArea.java
@@ -18,13 +18,13 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YRichTextArea#getDatadescription <em>Datadescription</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YRichTextArea#getBlobValue <em>Blob Value</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YRichTextArea#getValue <em>Value</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YRichTextArea#isUseBlob <em>Use Blob</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.model.YECviewPackage#getYRichTextArea()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YStrategyLayout.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YStrategyLayout.java
index 3157809..9dedd31 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YStrategyLayout.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YStrategyLayout.java
@@ -23,6 +23,7 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YStrategyLayout#getLayoutingStrategy <em>Layouting Strategy</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YStrategyLayout#getFocusingStrategies <em>Focusing Strategies</em>}</li>
@@ -30,7 +31,6 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YStrategyLayout#getLayoutingInfo <em>Layouting Info</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YStrategyLayout#getDefaultFocusingEnhancerId <em>Default Focusing Enhancer Id</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.model.YECviewPackage#getYStrategyLayout()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YSubTypeSuspect.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YSubTypeSuspect.java
index 3d6ed52..783c6a1 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YSubTypeSuspect.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YSubTypeSuspect.java
@@ -22,10 +22,10 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YSubTypeSuspect#getBeanSlot <em>Bean Slot</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.model.YECviewPackage#getYSubTypeSuspect()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YSuspect.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YSuspect.java
index 8a72d20..08309cb 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YSuspect.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YSuspect.java
@@ -16,6 +16,7 @@
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.osbp.ecview.core.common.model.binding.YBinding;
 import org.eclipse.osbp.ecview.core.common.model.binding.YBindingEndpoint;
+import org.eclipse.osbp.ecview.core.common.model.binding.YValueBindingEndpoint;
 import org.eclipse.osbp.ecview.core.common.model.core.YAuthorizationable;
 import org.eclipse.osbp.ecview.core.common.model.core.YCommand;
 import org.eclipse.osbp.ecview.core.common.model.core.YElement;
@@ -30,6 +31,7 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YSuspect#getLabelI18nKey <em>Label I1 8n Key</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YSuspect#getImageI18nKey <em>Image I1 8n Key</em>}</li>
@@ -39,8 +41,8 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YSuspect#getAssocNewiatedElements <em>Assoc Newiated Elements</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YSuspect#getAssociatedBindings <em>Associated Bindings</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YSuspect#getLabel <em>Label</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.extension.model.YSuspect#getContainerValueBindingEndpoint <em>Container Value Binding Endpoint</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.model.YECviewPackage#getYSuspect()
  * @model
@@ -214,6 +216,32 @@
 	void setLabel(String value);
 	
 	/**
+	 * Returns the value of the '<em><b>Container Value Binding Endpoint</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Container Value Binding Endpoint</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Container Value Binding Endpoint</em>' containment reference.
+	 * @see #setContainerValueBindingEndpoint(YValueBindingEndpoint)
+	 * @see org.eclipse.osbp.ecview.extension.model.YECviewPackage#getYSuspect_ContainerValueBindingEndpoint()
+	 * @model containment="true"
+	 * @generated
+	 */
+	YValueBindingEndpoint getContainerValueBindingEndpoint();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.ecview.extension.model.YSuspect#getContainerValueBindingEndpoint <em>Container Value Binding Endpoint</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Container Value Binding Endpoint</em>' containment reference.
+	 * @see #getContainerValueBindingEndpoint()
+	 * @generated
+	 */
+	void setContainerValueBindingEndpoint(YValueBindingEndpoint value);
+
+	/**
 	 * Gets the view.
 	 *
 	 * @return the view
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YSuspectInfo.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YSuspectInfo.java
index 7c0608c..c050cf1 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YSuspectInfo.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YSuspectInfo.java
@@ -27,6 +27,7 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YSuspectInfo#getSuspect <em>Suspect</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YSuspectInfo#getBindings <em>Bindings</em>}</li>
@@ -35,7 +36,6 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YSuspectInfo#getTarget <em>Target</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YSuspectInfo#getVisibilityProcessors <em>Visibility Processors</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.model.YECviewPackage#getYSuspectInfo()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YTypedCompoundSuspect.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YTypedCompoundSuspect.java
index 3d98afc..8006a52 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YTypedCompoundSuspect.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YTypedCompoundSuspect.java
@@ -22,10 +22,10 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YTypedCompoundSuspect#getChildren <em>Children</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.model.YECviewPackage#getYTypedCompoundSuspect()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YTypedSuspect.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YTypedSuspect.java
index 1849649..aa68bce 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YTypedSuspect.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YTypedSuspect.java
@@ -21,11 +21,11 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YTypedSuspect#getTypeQualifiedName <em>Type Qualified Name</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YTypedSuspect#getType <em>Type</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.model.YECviewPackage#getYTypedSuspect()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YConverterFactory.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YConverterFactory.java
index b266b7e..434fad5 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YConverterFactory.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YConverterFactory.java
@@ -122,6 +122,15 @@
 	YSimpleDecimalConverter createYSimpleDecimalConverter();
 
 	/**
+	 * Returns a new object of class '<em>YVaaclipse Ui Theme To String Converter</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>YVaaclipse Ui Theme To String Converter</em>'.
+	 * @generated
+	 */
+	YVaaclipseUiThemeToStringConverter createYVaaclipseUiThemeToStringConverter();
+
+	/**
 	 * Returns a new object of class '<em>YPrice To String Converter</em>'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YConverterPackage.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YConverterPackage.java
index e4c21e4..1b3d0fa 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YConverterPackage.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YConverterPackage.java
@@ -774,6 +774,62 @@
 
 
 	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YVaaclipseUiThemeToStringConverterImpl <em>YVaaclipse Ui Theme To String Converter</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.extension.model.converter.impl.YVaaclipseUiThemeToStringConverterImpl
+	 * @see org.eclipse.osbp.ecview.extension.model.converter.impl.YConverterPackageImpl#getYVaaclipseUiThemeToStringConverter()
+	 * @generated
+	 */
+	int YVAACLIPSE_UI_THEME_TO_STRING_CONVERTER = 11;
+
+	/**
+	 * The feature id for the '<em><b>Tags</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YVAACLIPSE_UI_THEME_TO_STRING_CONVERTER__TAGS = CoreModelPackage.YCONVERTER__TAGS;
+
+	/**
+	 * The feature id for the '<em><b>Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YVAACLIPSE_UI_THEME_TO_STRING_CONVERTER__ID = CoreModelPackage.YCONVERTER__ID;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YVAACLIPSE_UI_THEME_TO_STRING_CONVERTER__NAME = CoreModelPackage.YCONVERTER__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Properties</b></em>' map.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YVAACLIPSE_UI_THEME_TO_STRING_CONVERTER__PROPERTIES = CoreModelPackage.YCONVERTER__PROPERTIES;
+
+	/**
+	 * The number of structural features of the '<em>YVaaclipse Ui Theme To String Converter</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YVAACLIPSE_UI_THEME_TO_STRING_CONVERTER_FEATURE_COUNT = CoreModelPackage.YCONVERTER_FEATURE_COUNT + 0;
+
+
+	/**
 	 * Returns the meta object for class '{@link org.eclipse.osbp.ecview.extension.model.converter.YObjectToStringConverter <em>YObject To String Converter</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -974,6 +1030,16 @@
 	EAttribute getYSimpleDecimalConverter_NumberFormatPattern();
 
 	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.ecview.extension.model.converter.YVaaclipseUiThemeToStringConverter <em>YVaaclipse Ui Theme To String Converter</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>YVaaclipse Ui Theme To String Converter</em>'.
+	 * @see org.eclipse.osbp.ecview.extension.model.converter.YVaaclipseUiThemeToStringConverter
+	 * @generated
+	 */
+	EClass getYVaaclipseUiThemeToStringConverter();
+
+	/**
 	 * Returns the meta object for class '{@link org.eclipse.osbp.ecview.extension.model.converter.YPriceToStringConverter <em>YPrice To String Converter</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1275,6 +1341,16 @@
 		EAttribute YSIMPLE_DECIMAL_CONVERTER__NUMBER_FORMAT_PATTERN = eINSTANCE.getYSimpleDecimalConverter_NumberFormatPattern();
 
 		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YVaaclipseUiThemeToStringConverterImpl <em>YVaaclipse Ui Theme To String Converter</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.ecview.extension.model.converter.impl.YVaaclipseUiThemeToStringConverterImpl
+		 * @see org.eclipse.osbp.ecview.extension.model.converter.impl.YConverterPackageImpl#getYVaaclipseUiThemeToStringConverter()
+		 * @generated
+		 */
+		EClass YVAACLIPSE_UI_THEME_TO_STRING_CONVERTER = eINSTANCE.getYVaaclipseUiThemeToStringConverter();
+
+		/**
 		 * The meta object literal for the '{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YPriceToStringConverterImpl <em>YPrice To String Converter</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YCustomDecimalConverter.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YCustomDecimalConverter.java
index 5e7b73a..721cc3d 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YCustomDecimalConverter.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YCustomDecimalConverter.java
@@ -22,10 +22,10 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.YCustomDecimalConverter#getBaseUnit <em>Base Unit</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.model.converter.YConverterPackage#getYCustomDecimalConverter()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YNumericToResourceConfig.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YNumericToResourceConfig.java
index a646c2f..df5e5bc 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YNumericToResourceConfig.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YNumericToResourceConfig.java
@@ -23,12 +23,12 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.YNumericToResourceConfig#getValue <em>Value</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.YNumericToResourceConfig#getCompare <em>Compare</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.YNumericToResourceConfig#getResourceThemePath <em>Resource Theme Path</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.model.converter.YConverterPackage#getYNumericToResourceConfig()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YNumericToResourceConverter.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YNumericToResourceConverter.java
index 73b1467..5c757db 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YNumericToResourceConverter.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YNumericToResourceConverter.java
@@ -23,10 +23,10 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.YNumericToResourceConverter#getConfigs <em>Configs</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.model.converter.YConverterPackage#getYNumericToResourceConverter()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YPriceToStringConverter.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YPriceToStringConverter.java
index 41506dc..c637764 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YPriceToStringConverter.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YPriceToStringConverter.java
@@ -22,13 +22,13 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.YPriceToStringConverter#getValuePropertyPath <em>Value Property Path</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.YPriceToStringConverter#getCurrencyPropertyPath <em>Currency Property Path</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.YPriceToStringConverter#getTypeQualifiedName <em>Type Qualified Name</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.YPriceToStringConverter#getType <em>Type</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.model.converter.YConverterPackage#getYPriceToStringConverter()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YQuantityToStringConverter.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YQuantityToStringConverter.java
index 469be32..eb65afc 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YQuantityToStringConverter.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YQuantityToStringConverter.java
@@ -22,13 +22,13 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.YQuantityToStringConverter#getAmountPropertyPath <em>Amount Property Path</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.YQuantityToStringConverter#getUomPropertyPath <em>Uom Property Path</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.YQuantityToStringConverter#getUomCodeRelativePropertyPath <em>Uom Code Relative Property Path</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.YQuantityToStringConverter#getQuantityTypeQualifiedName <em>Quantity Type Qualified Name</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.model.converter.YConverterPackage#getYQuantityToStringConverter()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YSimpleDecimalConverter.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YSimpleDecimalConverter.java
index 9d4f165..f2bb6ed 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YSimpleDecimalConverter.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YSimpleDecimalConverter.java
@@ -22,10 +22,10 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.YSimpleDecimalConverter#getNumberFormatPattern <em>Number Format Pattern</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.model.converter.YConverterPackage#getYSimpleDecimalConverter()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YStringToResourceConfig.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YStringToResourceConfig.java
index 97551f2..f5978de 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YStringToResourceConfig.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YStringToResourceConfig.java
@@ -23,12 +23,12 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.YStringToResourceConfig#getValue <em>Value</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.YStringToResourceConfig#getCompare <em>Compare</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.YStringToResourceConfig#getResourceThemePath <em>Resource Theme Path</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.model.converter.YConverterPackage#getYStringToResourceConfig()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YStringToResourceConverter.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YStringToResourceConverter.java
index 75c8d6f..10d3213 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YStringToResourceConverter.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YStringToResourceConverter.java
@@ -23,10 +23,10 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.YStringToResourceConverter#getConfigs <em>Configs</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.model.converter.YConverterPackage#getYStringToResourceConverter()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YVaaclipseUiThemeToStringConverter.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YVaaclipseUiThemeToStringConverter.java
new file mode 100644
index 0000000..16e0915
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/YVaaclipseUiThemeToStringConverter.java
@@ -0,0 +1,29 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.converter;
+
+import org.eclipse.osbp.ecview.core.common.model.core.YConverter;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>YVaaclipse Ui Theme To String Converter</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.osbp.ecview.extension.model.converter.YConverterPackage#getYVaaclipseUiThemeToStringConverter()
+ * @model
+ * @generated
+ */
+public interface YVaaclipseUiThemeToStringConverter extends YConverter {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+} // YVaaclipseUiThemeToStringConverter
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YConverterFactoryImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YConverterFactoryImpl.java
index a1fafc7..1ed6b5e 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YConverterFactoryImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YConverterFactoryImpl.java
@@ -18,6 +18,7 @@
 import org.eclipse.emf.ecore.EPackage;
 import org.eclipse.emf.ecore.impl.EFactoryImpl;
 import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.osbp.ecview.extension.model.converter.*;
 import org.eclipse.osbp.ecview.extension.model.converter.YConverterFactory;
 import org.eclipse.osbp.ecview.extension.model.converter.YConverterPackage;
 import org.eclipse.osbp.ecview.extension.model.converter.YCustomDecimalConverter;
@@ -98,6 +99,7 @@
 			case YConverterPackage.YNUMERIC_TO_UOMO_CONVERTER: return createYNumericToUomoConverter();
 			case YConverterPackage.YDECIMAL_TO_UOMO_CONVERTER: return createYDecimalToUomoConverter();
 			case YConverterPackage.YSIMPLE_DECIMAL_CONVERTER: return createYSimpleDecimalConverter();
+			case YConverterPackage.YVAACLIPSE_UI_THEME_TO_STRING_CONVERTER: return createYVaaclipseUiThemeToStringConverter();
 			default:
 				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
 		}
@@ -203,6 +205,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YVaaclipseUiThemeToStringConverter createYVaaclipseUiThemeToStringConverter() {
+		YVaaclipseUiThemeToStringConverterImpl yVaaclipseUiThemeToStringConverter = new YVaaclipseUiThemeToStringConverterImpl();
+		return yVaaclipseUiThemeToStringConverter;
+	}
+
+	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->.
 	 *
 	 * @return the y price to string converter
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YConverterPackageImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YConverterPackageImpl.java
index 80cc241..6e30a98 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YConverterPackageImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YConverterPackageImpl.java
@@ -36,6 +36,7 @@
 import org.eclipse.osbp.ecview.extension.model.converter.YSimpleDecimalConverter;
 import org.eclipse.osbp.ecview.extension.model.converter.YStringToResourceConfig;
 import org.eclipse.osbp.ecview.extension.model.converter.YStringToResourceConverter;
+import org.eclipse.osbp.ecview.extension.model.converter.YVaaclipseUiThemeToStringConverter;
 import org.eclipse.osbp.ecview.extension.model.impl.YECviewPackageImpl;
 import org.eclipse.osbp.ecview.extension.model.visibility.YVisibilityPackage;
 import org.eclipse.osbp.ecview.extension.model.visibility.impl.YVisibilityPackageImpl;
@@ -120,6 +121,13 @@
 	private EClass ySimpleDecimalConverterEClass = null;
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass yVaaclipseUiThemeToStringConverterEClass = null;
+
+	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->.
 	 *
 	 * @generated
@@ -402,6 +410,15 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getYVaaclipseUiThemeToStringConverter() {
+		return yVaaclipseUiThemeToStringConverterEClass;
+	}
+
+	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->.
 	 *
 	 * @return the y price to string converter
@@ -570,6 +587,8 @@
 
 		ySimpleDecimalConverterEClass = createEClass(YSIMPLE_DECIMAL_CONVERTER);
 		createEAttribute(ySimpleDecimalConverterEClass, YSIMPLE_DECIMAL_CONVERTER__NUMBER_FORMAT_PATTERN);
+
+		yVaaclipseUiThemeToStringConverterEClass = createEClass(YVAACLIPSE_UI_THEME_TO_STRING_CONVERTER);
 	}
 
 	/**
@@ -612,6 +631,7 @@
 		yNumericToUomoConverterEClass.getESuperTypes().add(theCoreModelPackage.getYConverter());
 		yDecimalToUomoConverterEClass.getESuperTypes().add(theCoreModelPackage.getYConverter());
 		ySimpleDecimalConverterEClass.getESuperTypes().add(theCoreModelPackage.getYConverter());
+		yVaaclipseUiThemeToStringConverterEClass.getESuperTypes().add(theCoreModelPackage.getYConverter());
 
 		// Initialize classes and features; add operations and parameters
 		initEClass(yObjectToStringConverterEClass, YObjectToStringConverter.class, "YObjectToStringConverter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
@@ -656,6 +676,8 @@
 
 		initEClass(ySimpleDecimalConverterEClass, YSimpleDecimalConverter.class, "YSimpleDecimalConverter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEAttribute(getYSimpleDecimalConverter_NumberFormatPattern(), ecorePackage.getEString(), "numberFormatPattern", null, 0, 1, YSimpleDecimalConverter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(yVaaclipseUiThemeToStringConverterEClass, YVaaclipseUiThemeToStringConverter.class, "YVaaclipseUiThemeToStringConverter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 	}
 
 }
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YCustomDecimalConverterImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YCustomDecimalConverterImpl.java
index 86b563d..8c79239 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YCustomDecimalConverterImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YCustomDecimalConverterImpl.java
@@ -38,6 +38,7 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YCustomDecimalConverterImpl#getTags <em>Tags</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YCustomDecimalConverterImpl#getId <em>Id</em>}</li>
@@ -45,7 +46,6 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YCustomDecimalConverterImpl#getProperties <em>Properties</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YCustomDecimalConverterImpl#getBaseUnit <em>Base Unit</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YDecimalToUomoConverterImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YDecimalToUomoConverterImpl.java
index 0ce364f..2280a5b 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YDecimalToUomoConverterImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YDecimalToUomoConverterImpl.java
@@ -38,13 +38,13 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YDecimalToUomoConverterImpl#getTags <em>Tags</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YDecimalToUomoConverterImpl#getId <em>Id</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YDecimalToUomoConverterImpl#getName <em>Name</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YDecimalToUomoConverterImpl#getProperties <em>Properties</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YNumericToResourceConfigImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YNumericToResourceConfigImpl.java
index b7a2ab8..21ed394 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YNumericToResourceConfigImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YNumericToResourceConfigImpl.java
@@ -27,12 +27,12 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YNumericToResourceConfigImpl#getValue <em>Value</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YNumericToResourceConfigImpl#getCompare <em>Compare</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YNumericToResourceConfigImpl#getResourceThemePath <em>Resource Theme Path</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YNumericToResourceConverterImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YNumericToResourceConverterImpl.java
index 518f433..a13c758 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YNumericToResourceConverterImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YNumericToResourceConverterImpl.java
@@ -40,6 +40,7 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YNumericToResourceConverterImpl#getTags <em>Tags</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YNumericToResourceConverterImpl#getId <em>Id</em>}</li>
@@ -47,7 +48,6 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YNumericToResourceConverterImpl#getProperties <em>Properties</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YNumericToResourceConverterImpl#getConfigs <em>Configs</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YNumericToUomoConverterImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YNumericToUomoConverterImpl.java
index 409f95b..10f3e34 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YNumericToUomoConverterImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YNumericToUomoConverterImpl.java
@@ -38,13 +38,13 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YNumericToUomoConverterImpl#getTags <em>Tags</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YNumericToUomoConverterImpl#getId <em>Id</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YNumericToUomoConverterImpl#getName <em>Name</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YNumericToUomoConverterImpl#getProperties <em>Properties</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YObjectToStringConverterImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YObjectToStringConverterImpl.java
index dbc81ca..8e2e6e6 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YObjectToStringConverterImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YObjectToStringConverterImpl.java
@@ -38,13 +38,13 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YObjectToStringConverterImpl#getTags <em>Tags</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YObjectToStringConverterImpl#getId <em>Id</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YObjectToStringConverterImpl#getName <em>Name</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YObjectToStringConverterImpl#getProperties <em>Properties</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YPriceToStringConverterImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YPriceToStringConverterImpl.java
index 1474123..7a75cae 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YPriceToStringConverterImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YPriceToStringConverterImpl.java
@@ -38,6 +38,7 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YPriceToStringConverterImpl#getTags <em>Tags</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YPriceToStringConverterImpl#getId <em>Id</em>}</li>
@@ -48,7 +49,6 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YPriceToStringConverterImpl#getTypeQualifiedName <em>Type Qualified Name</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YPriceToStringConverterImpl#getType <em>Type</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YQuantityToStringConverterImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YQuantityToStringConverterImpl.java
index 3b005fd..6e65e8c 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YQuantityToStringConverterImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YQuantityToStringConverterImpl.java
@@ -38,6 +38,7 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YQuantityToStringConverterImpl#getTags <em>Tags</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YQuantityToStringConverterImpl#getId <em>Id</em>}</li>
@@ -48,7 +49,6 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YQuantityToStringConverterImpl#getUomCodeRelativePropertyPath <em>Uom Code Relative Property Path</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YQuantityToStringConverterImpl#getQuantityTypeQualifiedName <em>Quantity Type Qualified Name</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YSimpleDecimalConverterImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YSimpleDecimalConverterImpl.java
index 2f2bb74..33904ee 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YSimpleDecimalConverterImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YSimpleDecimalConverterImpl.java
@@ -38,6 +38,7 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YSimpleDecimalConverterImpl#getTags <em>Tags</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YSimpleDecimalConverterImpl#getId <em>Id</em>}</li>
@@ -45,7 +46,6 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YSimpleDecimalConverterImpl#getProperties <em>Properties</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YSimpleDecimalConverterImpl#getNumberFormatPattern <em>Number Format Pattern</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YStringToResourceConfigImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YStringToResourceConfigImpl.java
index d8ec47f..100b631 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YStringToResourceConfigImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YStringToResourceConfigImpl.java
@@ -27,12 +27,12 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YStringToResourceConfigImpl#getValue <em>Value</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YStringToResourceConfigImpl#getCompare <em>Compare</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YStringToResourceConfigImpl#getResourceThemePath <em>Resource Theme Path</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YStringToResourceConverterImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YStringToResourceConverterImpl.java
index 0ef0337..726899d 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YStringToResourceConverterImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YStringToResourceConverterImpl.java
@@ -40,6 +40,7 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YStringToResourceConverterImpl#getTags <em>Tags</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YStringToResourceConverterImpl#getId <em>Id</em>}</li>
@@ -47,7 +48,6 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YStringToResourceConverterImpl#getProperties <em>Properties</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YStringToResourceConverterImpl#getConfigs <em>Configs</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YVaaclipseUiThemeToStringConverterImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YVaaclipseUiThemeToStringConverterImpl.java
new file mode 100644
index 0000000..bc9dc34
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/impl/YVaaclipseUiThemeToStringConverterImpl.java
@@ -0,0 +1,329 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.converter.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.EMap;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+import org.eclipse.emf.ecore.util.EcoreEMap;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelPackage;
+
+import org.eclipse.osbp.ecview.core.common.model.core.impl.YStringToStringMapImpl;
+
+import org.eclipse.osbp.ecview.extension.model.converter.YConverterPackage;
+import org.eclipse.osbp.ecview.extension.model.converter.YVaaclipseUiThemeToStringConverter;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>YVaaclipse Ui Theme To String Converter</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YVaaclipseUiThemeToStringConverterImpl#getTags <em>Tags</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YVaaclipseUiThemeToStringConverterImpl#getId <em>Id</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YVaaclipseUiThemeToStringConverterImpl#getName <em>Name</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.extension.model.converter.impl.YVaaclipseUiThemeToStringConverterImpl#getProperties <em>Properties</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class YVaaclipseUiThemeToStringConverterImpl extends MinimalEObjectImpl.Container implements YVaaclipseUiThemeToStringConverter {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * The cached value of the '{@link #getTags() <em>Tags</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTags()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<String> tags;
+
+	/**
+	 * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getId()
+	 * @generated
+	 * @ordered
+	 */
+	protected String id = ID_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String NAME_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected String name = NAME_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getProperties() <em>Properties</em>}' map.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProperties()
+	 * @generated
+	 * @ordered
+	 */
+	protected EMap<String, String> properties;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YVaaclipseUiThemeToStringConverterImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return YConverterPackage.Literals.YVAACLIPSE_UI_THEME_TO_STRING_CONVERTER;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<String> getTags() {
+		if (tags == null) {
+			tags = new EDataTypeUniqueEList<String>(String.class, this, YConverterPackage.YVAACLIPSE_UI_THEME_TO_STRING_CONVERTER__TAGS);
+		}
+		return tags;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getId() {
+		return id;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setId(String newId) {
+		String oldId = id;
+		id = newId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, YConverterPackage.YVAACLIPSE_UI_THEME_TO_STRING_CONVERTER__ID, oldId, id));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+		return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setName(String newName) {
+		String oldName = name;
+		name = newName;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, YConverterPackage.YVAACLIPSE_UI_THEME_TO_STRING_CONVERTER__NAME, oldName, name));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EMap<String, String> getProperties() {
+		if (properties == null) {
+			properties = new EcoreEMap<String,String>(CoreModelPackage.Literals.YSTRING_TO_STRING_MAP, YStringToStringMapImpl.class, this, YConverterPackage.YVAACLIPSE_UI_THEME_TO_STRING_CONVERTER__PROPERTIES);
+		}
+		return properties;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case YConverterPackage.YVAACLIPSE_UI_THEME_TO_STRING_CONVERTER__PROPERTIES:
+				return ((InternalEList<?>)getProperties()).basicRemove(otherEnd, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case YConverterPackage.YVAACLIPSE_UI_THEME_TO_STRING_CONVERTER__TAGS:
+				return getTags();
+			case YConverterPackage.YVAACLIPSE_UI_THEME_TO_STRING_CONVERTER__ID:
+				return getId();
+			case YConverterPackage.YVAACLIPSE_UI_THEME_TO_STRING_CONVERTER__NAME:
+				return getName();
+			case YConverterPackage.YVAACLIPSE_UI_THEME_TO_STRING_CONVERTER__PROPERTIES:
+				if (coreType) return getProperties();
+				else return getProperties().map();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case YConverterPackage.YVAACLIPSE_UI_THEME_TO_STRING_CONVERTER__TAGS:
+				getTags().clear();
+				getTags().addAll((Collection<? extends String>)newValue);
+				return;
+			case YConverterPackage.YVAACLIPSE_UI_THEME_TO_STRING_CONVERTER__ID:
+				setId((String)newValue);
+				return;
+			case YConverterPackage.YVAACLIPSE_UI_THEME_TO_STRING_CONVERTER__NAME:
+				setName((String)newValue);
+				return;
+			case YConverterPackage.YVAACLIPSE_UI_THEME_TO_STRING_CONVERTER__PROPERTIES:
+				((EStructuralFeature.Setting)getProperties()).set(newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case YConverterPackage.YVAACLIPSE_UI_THEME_TO_STRING_CONVERTER__TAGS:
+				getTags().clear();
+				return;
+			case YConverterPackage.YVAACLIPSE_UI_THEME_TO_STRING_CONVERTER__ID:
+				setId(ID_EDEFAULT);
+				return;
+			case YConverterPackage.YVAACLIPSE_UI_THEME_TO_STRING_CONVERTER__NAME:
+				setName(NAME_EDEFAULT);
+				return;
+			case YConverterPackage.YVAACLIPSE_UI_THEME_TO_STRING_CONVERTER__PROPERTIES:
+				getProperties().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case YConverterPackage.YVAACLIPSE_UI_THEME_TO_STRING_CONVERTER__TAGS:
+				return tags != null && !tags.isEmpty();
+			case YConverterPackage.YVAACLIPSE_UI_THEME_TO_STRING_CONVERTER__ID:
+				return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+			case YConverterPackage.YVAACLIPSE_UI_THEME_TO_STRING_CONVERTER__NAME:
+				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+			case YConverterPackage.YVAACLIPSE_UI_THEME_TO_STRING_CONVERTER__PROPERTIES:
+				return properties != null && !properties.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (tags: ");
+		result.append(tags);
+		result.append(", id: ");
+		result.append(id);
+		result.append(", name: ");
+		result.append(name);
+		result.append(')');
+		return result.toString();
+	}
+
+} //YVaaclipseUiThemeToStringConverterImpl
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/util/YConverterAdapterFactory.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/util/YConverterAdapterFactory.java
index ac8e379..09da2b6 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/util/YConverterAdapterFactory.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/util/YConverterAdapterFactory.java
@@ -20,6 +20,7 @@
 import org.eclipse.osbp.ecview.core.common.model.core.YConverter;
 import org.eclipse.osbp.ecview.core.common.model.core.YElement;
 import org.eclipse.osbp.ecview.core.common.model.core.YTaggable;
+import org.eclipse.osbp.ecview.extension.model.converter.*;
 import org.eclipse.osbp.ecview.extension.model.converter.YConverterPackage;
 import org.eclipse.osbp.ecview.extension.model.converter.YCustomDecimalConverter;
 import org.eclipse.osbp.ecview.extension.model.converter.YDecimalToUomoConverter;
@@ -142,6 +143,10 @@
 				return createYSimpleDecimalConverterAdapter();
 			}
 			@Override
+			public Adapter caseYVaaclipseUiThemeToStringConverter(YVaaclipseUiThemeToStringConverter object) {
+				return createYVaaclipseUiThemeToStringConverterAdapter();
+			}
+			@Override
 			public Adapter caseYTaggable(YTaggable object) {
 				return createYTaggableAdapter();
 			}
@@ -300,6 +305,20 @@
 	}
 
 	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.ecview.extension.model.converter.YVaaclipseUiThemeToStringConverter <em>YVaaclipse Ui Theme To String Converter</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.osbp.ecview.extension.model.converter.YVaaclipseUiThemeToStringConverter
+	 * @generated
+	 */
+	public Adapter createYVaaclipseUiThemeToStringConverterAdapter() {
+		return null;
+	}
+
+	/**
 	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.ecview.core.common.model.core.YTaggable <em>YTaggable</em>}'.
 	 * <!-- begin-user-doc -->
 	 * This default implementation returns null so that we can easily ignore cases;
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/util/YConverterSwitch.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/util/YConverterSwitch.java
index 22d8d79..099d7ed 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/util/YConverterSwitch.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/converter/util/YConverterSwitch.java
@@ -19,6 +19,7 @@
 import org.eclipse.osbp.ecview.core.common.model.core.YConverter;
 import org.eclipse.osbp.ecview.core.common.model.core.YElement;
 import org.eclipse.osbp.ecview.core.common.model.core.YTaggable;
+import org.eclipse.osbp.ecview.extension.model.converter.*;
 import org.eclipse.osbp.ecview.extension.model.converter.YConverterPackage;
 import org.eclipse.osbp.ecview.extension.model.converter.YCustomDecimalConverter;
 import org.eclipse.osbp.ecview.extension.model.converter.YDecimalToUomoConverter;
@@ -188,6 +189,15 @@
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
+			case YConverterPackage.YVAACLIPSE_UI_THEME_TO_STRING_CONVERTER: {
+				YVaaclipseUiThemeToStringConverter yVaaclipseUiThemeToStringConverter = (YVaaclipseUiThemeToStringConverter)theEObject;
+				T result = caseYVaaclipseUiThemeToStringConverter(yVaaclipseUiThemeToStringConverter);
+				if (result == null) result = caseYConverter(yVaaclipseUiThemeToStringConverter);
+				if (result == null) result = caseYElement(yVaaclipseUiThemeToStringConverter);
+				if (result == null) result = caseYTaggable(yVaaclipseUiThemeToStringConverter);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
 			default: return defaultCase(theEObject);
 		}
 	}
@@ -328,6 +338,21 @@
 	}
 
 	/**
+	 * Returns the result of interpreting the object as an instance of '<em>YVaaclipse Ui Theme To String Converter</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>YVaaclipse Ui Theme To String Converter</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseYVaaclipseUiThemeToStringConverter(YVaaclipseUiThemeToStringConverter object) {
+		return null;
+	}
+
+	/**
 	 * Returns the result of interpreting the object as an instance of '<em>YTaggable</em>'.
 	 * <!-- begin-user-doc -->
 	 * This implementation returns null;
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YBlobUploadComponentImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YBlobUploadComponentImpl.java
index 003d8ba..9d231cc 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YBlobUploadComponentImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YBlobUploadComponentImpl.java
@@ -33,6 +33,7 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YBlobUploadComponentImpl#getValueBindingEndpoint <em>Value Binding Endpoint</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YBlobUploadComponentImpl#getValue <em>Value</em>}</li>
@@ -40,7 +41,6 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YBlobUploadComponentImpl#isFirmlyLinked <em>Firmly Linked</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YBlobUploadComponentImpl#isUniqueNameEnabled <em>Unique Name Enabled</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YCollectionSuspectImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YCollectionSuspectImpl.java
index 590965f..2df6801 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YCollectionSuspectImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YCollectionSuspectImpl.java
@@ -31,10 +31,10 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YCollectionSuspectImpl#getColumns <em>Columns</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YColumnInfoImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YColumnInfoImpl.java
index f27db7d..8f35005 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YColumnInfoImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YColumnInfoImpl.java
@@ -34,6 +34,7 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YColumnInfoImpl#getName <em>Name</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YColumnInfoImpl#getType <em>Type</em>}</li>
@@ -41,7 +42,6 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YColumnInfoImpl#getProperties <em>Properties</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YColumnInfoImpl#getLabelI18nKey <em>Label I1 8n Key</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YContentSensitiveLayoutImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YContentSensitiveLayoutImpl.java
index e524f4a..bca6f5d 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YContentSensitiveLayoutImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YContentSensitiveLayoutImpl.java
@@ -29,11 +29,11 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YContentSensitiveLayoutImpl#isSpacing <em>Spacing</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YContentSensitiveLayoutImpl#isMargin <em>Margin</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YCustomDecimalFieldImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YCustomDecimalFieldImpl.java
index 0d7d847..0961c75 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YCustomDecimalFieldImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YCustomDecimalFieldImpl.java
@@ -35,13 +35,13 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YCustomDecimalFieldImpl#getValueBindingEndpoint <em>Value Binding Endpoint</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YCustomDecimalFieldImpl#getDatatype <em>Datatype</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YCustomDecimalFieldImpl#getDatadescription <em>Datadescription</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YCustomDecimalFieldImpl#getValue <em>Value</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YDefaultLayoutingStrategyImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YDefaultLayoutingStrategyImpl.java
index fb0baa9..dec6cc1 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YDefaultLayoutingStrategyImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YDefaultLayoutingStrategyImpl.java
@@ -21,8 +21,6 @@
  * <!-- begin-user-doc -->
  * An implementation of the model object '<em><b>YDefault Layouting Strategy</b></em>'.
  * <!-- end-user-doc -->
- * <p>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YDelegatingFocusingStrategyImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YDelegatingFocusingStrategyImpl.java
index fb1b3ac..6618a03 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YDelegatingFocusingStrategyImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YDelegatingFocusingStrategyImpl.java
@@ -25,10 +25,10 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YDelegatingFocusingStrategyImpl#getDelegateStrategyId <em>Delegate Strategy Id</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YDelegatingLayoutingStrategyImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YDelegatingLayoutingStrategyImpl.java
index 2d0936b..7d7353c 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YDelegatingLayoutingStrategyImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YDelegatingLayoutingStrategyImpl.java
@@ -25,10 +25,10 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YDelegatingLayoutingStrategyImpl#getDelegateStrategyId <em>Delegate Strategy Id</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YECviewPackageImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YECviewPackageImpl.java
index 2afe837..d8b5a0a 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YECviewPackageImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YECviewPackageImpl.java
@@ -595,6 +595,15 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getYSuspect_ContainerValueBindingEndpoint() {
+		return (EReference)ySuspectEClass.getEStructuralFeatures().get(8);
+	}
+
+	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->.
 	 *
 	 * @return the y layouting info
@@ -1500,6 +1509,7 @@
 		createEReference(ySuspectEClass, YSUSPECT__ASSOC_NEWIATED_ELEMENTS);
 		createEReference(ySuspectEClass, YSUSPECT__ASSOCIATED_BINDINGS);
 		createEAttribute(ySuspectEClass, YSUSPECT__LABEL);
+		createEReference(ySuspectEClass, YSUSPECT__CONTAINER_VALUE_BINDING_ENDPOINT);
 
 		yTypedSuspectEClass = createEClass(YTYPED_SUSPECT);
 		createEAttribute(yTypedSuspectEClass, YTYPED_SUSPECT__TYPE_QUALIFIED_NAME);
@@ -1733,6 +1743,7 @@
 		initEReference(getYSuspect_AssocNewiatedElements(), theCoreModelPackage.getYEmbeddable(), null, "assocNewiatedElements", null, 0, -1, YSuspect.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEReference(getYSuspect_AssociatedBindings(), theBindingPackage.getYBinding(), null, "associatedBindings", null, 0, -1, YSuspect.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEAttribute(getYSuspect_Label(), ecorePackage.getEString(), "label", null, 0, 1, YSuspect.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getYSuspect_ContainerValueBindingEndpoint(), theBindingPackage.getYValueBindingEndpoint(), null, "containerValueBindingEndpoint", null, 0, 1, YSuspect.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
 		initEClass(yTypedSuspectEClass, YTypedSuspect.class, "YTypedSuspect", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEAttribute(getYTypedSuspect_TypeQualifiedName(), ecorePackage.getEString(), "typeQualifiedName", null, 0, 1, YTypedSuspect.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YFocusingStrategyImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YFocusingStrategyImpl.java
index f41c43b..8e8b298 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YFocusingStrategyImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YFocusingStrategyImpl.java
@@ -42,6 +42,7 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YFocusingStrategyImpl#getTags <em>Tags</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YFocusingStrategyImpl#getId <em>Id</em>}</li>
@@ -50,7 +51,6 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YFocusingStrategyImpl#getKeyStrokeDefinition <em>Key Stroke Definition</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YFocusingStrategyImpl#getTempStrokeDefinition <em>Temp Stroke Definition</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YIconComboBoxImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YIconComboBoxImpl.java
index 657d1b2..8ef5002 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YIconComboBoxImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YIconComboBoxImpl.java
@@ -39,6 +39,7 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YIconComboBoxImpl#getCollectionBindingEndpoint <em>Collection Binding Endpoint</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YIconComboBoxImpl#getSelectionBindingEndpoint <em>Selection Binding Endpoint</em>}</li>
@@ -54,7 +55,6 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YIconComboBoxImpl#getDescriptionProperty <em>Description Property</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YIconComboBoxImpl#getDescription <em>Description</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YLayoutingInfoImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YLayoutingInfoImpl.java
index 4f176c3..97a7e0a 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YLayoutingInfoImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YLayoutingInfoImpl.java
@@ -47,6 +47,7 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YLayoutingInfoImpl#getTags <em>Tags</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YLayoutingInfoImpl#getId <em>Id</em>}</li>
@@ -57,7 +58,6 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YLayoutingInfoImpl#getActiveSuspectInfos <em>Active Suspect Infos</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YLayoutingInfoImpl#getFirstFocus <em>First Focus</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YLayoutingStrategyImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YLayoutingStrategyImpl.java
index 0f3782a..da0383b 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YLayoutingStrategyImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YLayoutingStrategyImpl.java
@@ -41,6 +41,7 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YLayoutingStrategyImpl#getTags <em>Tags</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YLayoutingStrategyImpl#getId <em>Id</em>}</li>
@@ -48,7 +49,6 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YLayoutingStrategyImpl#getProperties <em>Properties</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YLayoutingStrategyImpl#getTrigger <em>Trigger</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YMaskedDecimalFieldImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YMaskedDecimalFieldImpl.java
index 28d529f..bbbe101 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YMaskedDecimalFieldImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YMaskedDecimalFieldImpl.java
@@ -27,6 +27,7 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YMaskedDecimalFieldImpl#getValueBindingEndpoint <em>Value Binding Endpoint</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YMaskedDecimalFieldImpl#getDatadescription <em>Datadescription</em>}</li>
@@ -35,7 +36,6 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YMaskedDecimalFieldImpl#getDecimalSeparator <em>Decimal Separator</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YMaskedDecimalFieldImpl#getGroupingSeparator <em>Grouping Separator</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YMaskedNumericFieldImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YMaskedNumericFieldImpl.java
index c4d16a6..03d3c74 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YMaskedNumericFieldImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YMaskedNumericFieldImpl.java
@@ -27,13 +27,13 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YMaskedNumericFieldImpl#getValueBindingEndpoint <em>Value Binding Endpoint</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YMaskedNumericFieldImpl#getDatadescription <em>Datadescription</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YMaskedNumericFieldImpl#getValue <em>Value</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YMaskedNumericFieldImpl#getMask <em>Mask</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YMaskedTextFieldImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YMaskedTextFieldImpl.java
index be85e18..57f470f 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YMaskedTextFieldImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YMaskedTextFieldImpl.java
@@ -27,13 +27,13 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YMaskedTextFieldImpl#getValueBindingEndpoint <em>Value Binding Endpoint</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YMaskedTextFieldImpl#getDatadescription <em>Datadescription</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YMaskedTextFieldImpl#getValue <em>Value</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YMaskedTextFieldImpl#getMask <em>Mask</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YPairComboBoxImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YPairComboBoxImpl.java
index d667a21..c6dac9b 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YPairComboBoxImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YPairComboBoxImpl.java
@@ -34,37 +34,36 @@
  * <!-- begin-user-doc --> An implementation of the model object '<em><b>YPair Combo Box</b></em>'. <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YPairComboBoxImpl#getCollectionBindingEndpoint <em>Collection Binding Endpoint</em>}</li>
- * <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YPairComboBoxImpl#getSelectionBindingEndpoint <em>Selection Binding Endpoint</em>}</li>
- * <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YPairComboBoxImpl#isUseBeanService <em>Use Bean Service</em>}</li>
- * <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YPairComboBoxImpl#getDatadescription <em>Datadescription</em>}</li>
- * <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YPairComboBoxImpl#getDatatype <em>Datatype</em>}</li>
- * <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YPairComboBoxImpl#getSelection <em>Selection</em>}</li>
- * <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YPairComboBoxImpl#getCollection <em>Collection</em>}</li>
- * <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YPairComboBoxImpl#getType <em>Type</em>}</li>
- * <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YPairComboBoxImpl#getEmfNsURI <em>Emf Ns URI</em>}</li>
- * <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YPairComboBoxImpl#getTypeQualifiedName <em>Type Qualified Name</em>}</li>
- * <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YPairComboBoxImpl#getCaptionProperty <em>Caption Property</em>}</li>
- * <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YPairComboBoxImpl#getImageProperty <em>Image Property</em>}</li>
- * <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YPairComboBoxImpl#getDescriptionProperty <em>Description Property</em>}</li>
- * <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YPairComboBoxImpl#getDescription <em>Description</em>}</li>
- * </ul>
  * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YPairComboBoxImpl#getCollectionBindingEndpoint <em>Collection Binding Endpoint</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YPairComboBoxImpl#getSelectionBindingEndpoint <em>Selection Binding Endpoint</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YPairComboBoxImpl#isUseBeanService <em>Use Bean Service</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YPairComboBoxImpl#getDatadescription <em>Datadescription</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YPairComboBoxImpl#getDatatype <em>Datatype</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YPairComboBoxImpl#getSelection <em>Selection</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YPairComboBoxImpl#getCollection <em>Collection</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YPairComboBoxImpl#getType <em>Type</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YPairComboBoxImpl#getEmfNsURI <em>Emf Ns URI</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YPairComboBoxImpl#getTypeQualifiedName <em>Type Qualified Name</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YPairComboBoxImpl#getCaptionProperty <em>Caption Property</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YPairComboBoxImpl#getImageProperty <em>Image Property</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YPairComboBoxImpl#getDescriptionProperty <em>Description Property</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YPairComboBoxImpl#getDescription <em>Description</em>}</li>
+ * </ul>
  *
  * @generated
  */
 public class YPairComboBoxImpl extends YInputImpl implements YPairComboBox {
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
 
 	/**
-	 * The cached value of the '{@link #getCollectionBindingEndpoint() <em>Collection Binding Endpoint</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
+	 * The cached value of the '{@link #getCollectionBindingEndpoint() <em>Collection Binding Endpoint</em>}' reference.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
 	 * @see #getCollectionBindingEndpoint()
 	 * @generated
 	 * @ordered
@@ -72,8 +71,8 @@
 	protected YEmbeddableCollectionEndpoint collectionBindingEndpoint;
 
 	/**
-	 * The cached value of the '{@link #getSelectionBindingEndpoint() <em>Selection Binding Endpoint</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
+	 * The cached value of the '{@link #getSelectionBindingEndpoint() <em>Selection Binding Endpoint</em>}' reference.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
 	 * @see #getSelectionBindingEndpoint()
 	 * @generated
 	 * @ordered
@@ -81,8 +80,8 @@
 	protected YEmbeddableSelectionEndpoint selectionBindingEndpoint;
 
 	/**
-	 * The default value of the '{@link #isUseBeanService() <em>Use Bean Service</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
+	 * The default value of the '{@link #isUseBeanService() <em>Use Bean Service</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
 	 * @see #isUseBeanService()
 	 * @generated
 	 * @ordered
@@ -90,8 +89,8 @@
 	protected static final boolean USE_BEAN_SERVICE_EDEFAULT = false;
 
 	/**
-	 * The cached value of the '{@link #isUseBeanService() <em>Use Bean Service</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
+	 * The cached value of the '{@link #isUseBeanService() <em>Use Bean Service</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
 	 * @see #isUseBeanService()
 	 * @generated
 	 * @ordered
@@ -99,8 +98,8 @@
 	protected boolean useBeanService = USE_BEAN_SERVICE_EDEFAULT;
 
 	/**
-	 * The cached value of the '{@link #getDatadescription() <em>Datadescription</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
+	 * The cached value of the '{@link #getDatadescription() <em>Datadescription</em>}' reference.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
 	 * @see #getDatadescription()
 	 * @generated
 	 * @ordered
@@ -108,8 +107,8 @@
 	protected YDatadescription datadescription;
 
 	/**
-	 * The cached value of the '{@link #getDatatype() <em>Datatype</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
+	 * The cached value of the '{@link #getDatatype() <em>Datatype</em>}' reference.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
 	 * @see #getDatatype()
 	 * @generated
 	 * @ordered
@@ -117,8 +116,8 @@
 	protected YComboBoxDatatype datatype;
 
 	/**
-	 * The default value of the '{@link #getSelection() <em>Selection</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
+	 * The default value of the '{@link #getSelection() <em>Selection</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
 	 * @see #getSelection()
 	 * @generated
 	 * @ordered
@@ -126,8 +125,8 @@
 	protected static final Object SELECTION_EDEFAULT = null;
 
 	/**
-	 * The cached value of the '{@link #getSelection() <em>Selection</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
+	 * The cached value of the '{@link #getSelection() <em>Selection</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
 	 * @see #getSelection()
 	 * @generated
 	 * @ordered
@@ -135,8 +134,8 @@
 	protected Object selection = SELECTION_EDEFAULT;
 
 	/**
-	 * The cached value of the '{@link #getCollection() <em>Collection</em>}' attribute list. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
+	 * The cached value of the '{@link #getCollection() <em>Collection</em>}' attribute list.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
 	 * @see #getCollection()
 	 * @generated
 	 * @ordered
@@ -144,8 +143,8 @@
 	protected EList<Object> collection;
 
 	/**
-	 * The cached value of the '{@link #getType() <em>Type</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
+	 * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
 	 * @see #getType()
 	 * @generated
 	 * @ordered
@@ -153,8 +152,8 @@
 	protected Class<?> type;
 
 	/**
-	 * The default value of the '{@link #getEmfNsURI() <em>Emf Ns URI</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
+	 * The default value of the '{@link #getEmfNsURI() <em>Emf Ns URI</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
 	 * @see #getEmfNsURI()
 	 * @generated
 	 * @ordered
@@ -162,8 +161,8 @@
 	protected static final String EMF_NS_URI_EDEFAULT = null;
 
 	/**
-	 * The cached value of the '{@link #getEmfNsURI() <em>Emf Ns URI</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
+	 * The cached value of the '{@link #getEmfNsURI() <em>Emf Ns URI</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
 	 * @see #getEmfNsURI()
 	 * @generated
 	 * @ordered
@@ -171,8 +170,8 @@
 	protected String emfNsURI = EMF_NS_URI_EDEFAULT;
 
 	/**
-	 * The default value of the '{@link #getTypeQualifiedName() <em>Type Qualified Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
+	 * The default value of the '{@link #getTypeQualifiedName() <em>Type Qualified Name</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
 	 * @see #getTypeQualifiedName()
 	 * @generated
 	 * @ordered
@@ -180,8 +179,8 @@
 	protected static final String TYPE_QUALIFIED_NAME_EDEFAULT = null;
 
 	/**
-	 * The cached value of the '{@link #getTypeQualifiedName() <em>Type Qualified Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
+	 * The cached value of the '{@link #getTypeQualifiedName() <em>Type Qualified Name</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
 	 * @see #getTypeQualifiedName()
 	 * @generated
 	 * @ordered
@@ -189,8 +188,8 @@
 	protected String typeQualifiedName = TYPE_QUALIFIED_NAME_EDEFAULT;
 
 	/**
-	 * The default value of the '{@link #getCaptionProperty() <em>Caption Property</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
+	 * The default value of the '{@link #getCaptionProperty() <em>Caption Property</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
 	 * @see #getCaptionProperty()
 	 * @generated
 	 * @ordered
@@ -198,8 +197,8 @@
 	protected static final String CAPTION_PROPERTY_EDEFAULT = null;
 
 	/**
-	 * The cached value of the '{@link #getCaptionProperty() <em>Caption Property</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
+	 * The cached value of the '{@link #getCaptionProperty() <em>Caption Property</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
 	 * @see #getCaptionProperty()
 	 * @generated
 	 * @ordered
@@ -207,8 +206,8 @@
 	protected String captionProperty = CAPTION_PROPERTY_EDEFAULT;
 
 	/**
-	 * The default value of the '{@link #getImageProperty() <em>Image Property</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
+	 * The default value of the '{@link #getImageProperty() <em>Image Property</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
 	 * @see #getImageProperty()
 	 * @generated
 	 * @ordered
@@ -216,8 +215,8 @@
 	protected static final String IMAGE_PROPERTY_EDEFAULT = null;
 
 	/**
-	 * The cached value of the '{@link #getImageProperty() <em>Image Property</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
+	 * The cached value of the '{@link #getImageProperty() <em>Image Property</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
 	 * @see #getImageProperty()
 	 * @generated
 	 * @ordered
@@ -225,8 +224,8 @@
 	protected String imageProperty = IMAGE_PROPERTY_EDEFAULT;
 
 	/**
-	 * The default value of the '{@link #getDescriptionProperty() <em>Description Property</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
+	 * The default value of the '{@link #getDescriptionProperty() <em>Description Property</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
 	 * @see #getDescriptionProperty()
 	 * @generated
 	 * @ordered
@@ -234,8 +233,8 @@
 	protected static final String DESCRIPTION_PROPERTY_EDEFAULT = null;
 
 	/**
-	 * The cached value of the '{@link #getDescriptionProperty() <em>Description Property</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
+	 * The cached value of the '{@link #getDescriptionProperty() <em>Description Property</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
 	 * @see #getDescriptionProperty()
 	 * @generated
 	 * @ordered
@@ -243,8 +242,8 @@
 	protected String descriptionProperty = DESCRIPTION_PROPERTY_EDEFAULT;
 
 	/**
-	 * The default value of the '{@link #getDescription() <em>Description</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
+	 * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
 	 * @see #getDescription()
 	 * @generated
 	 * @ordered
@@ -252,8 +251,8 @@
 	protected static final String DESCRIPTION_EDEFAULT = null;
 
 	/**
-	 * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
+	 * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
 	 * @see #getDescription()
 	 * @generated
 	 * @ordered
@@ -262,7 +261,6 @@
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	protected YPairComboBoxImpl() {
@@ -271,7 +269,6 @@
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	@Override
@@ -281,17 +278,15 @@
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	public YEmbeddableCollectionEndpoint getCollectionBindingEndpoint() {
 		if (collectionBindingEndpoint != null && collectionBindingEndpoint.eIsProxy()) {
-			InternalEObject oldCollectionBindingEndpoint = (InternalEObject) collectionBindingEndpoint;
-			collectionBindingEndpoint = (YEmbeddableCollectionEndpoint) eResolveProxy(oldCollectionBindingEndpoint);
+			InternalEObject oldCollectionBindingEndpoint = (InternalEObject)collectionBindingEndpoint;
+			collectionBindingEndpoint = (YEmbeddableCollectionEndpoint)eResolveProxy(oldCollectionBindingEndpoint);
 			if (collectionBindingEndpoint != oldCollectionBindingEndpoint) {
 				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, YECviewPackage.YPAIR_COMBO_BOX__COLLECTION_BINDING_ENDPOINT, oldCollectionBindingEndpoint,
-							collectionBindingEndpoint));
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, YECviewPackage.YPAIR_COMBO_BOX__COLLECTION_BINDING_ENDPOINT, oldCollectionBindingEndpoint, collectionBindingEndpoint));
 			}
 		}
 		return collectionBindingEndpoint;
@@ -299,7 +294,6 @@
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	public YEmbeddableCollectionEndpoint basicGetCollectionBindingEndpoint() {
@@ -308,58 +302,47 @@
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	public NotificationChain basicSetCollectionBindingEndpoint(YEmbeddableCollectionEndpoint newCollectionBindingEndpoint, NotificationChain msgs) {
 		YEmbeddableCollectionEndpoint oldCollectionBindingEndpoint = collectionBindingEndpoint;
 		collectionBindingEndpoint = newCollectionBindingEndpoint;
 		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, YECviewPackage.YPAIR_COMBO_BOX__COLLECTION_BINDING_ENDPOINT,
-					oldCollectionBindingEndpoint, newCollectionBindingEndpoint);
-			if (msgs == null)
-				msgs = notification;
-			else
-				msgs.add(notification);
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, YECviewPackage.YPAIR_COMBO_BOX__COLLECTION_BINDING_ENDPOINT, oldCollectionBindingEndpoint, newCollectionBindingEndpoint);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
 		}
 		return msgs;
 	}
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	public void setCollectionBindingEndpoint(YEmbeddableCollectionEndpoint newCollectionBindingEndpoint) {
 		if (newCollectionBindingEndpoint != collectionBindingEndpoint) {
 			NotificationChain msgs = null;
 			if (collectionBindingEndpoint != null)
-				msgs = ((InternalEObject) collectionBindingEndpoint).eInverseRemove(this, CoreModelPackage.YEMBEDDABLE_COLLECTION_ENDPOINT__ELEMENT,
-						YEmbeddableCollectionEndpoint.class, msgs);
+				msgs = ((InternalEObject)collectionBindingEndpoint).eInverseRemove(this, CoreModelPackage.YEMBEDDABLE_COLLECTION_ENDPOINT__ELEMENT, YEmbeddableCollectionEndpoint.class, msgs);
 			if (newCollectionBindingEndpoint != null)
-				msgs = ((InternalEObject) newCollectionBindingEndpoint).eInverseAdd(this, CoreModelPackage.YEMBEDDABLE_COLLECTION_ENDPOINT__ELEMENT,
-						YEmbeddableCollectionEndpoint.class, msgs);
+				msgs = ((InternalEObject)newCollectionBindingEndpoint).eInverseAdd(this, CoreModelPackage.YEMBEDDABLE_COLLECTION_ENDPOINT__ELEMENT, YEmbeddableCollectionEndpoint.class, msgs);
 			msgs = basicSetCollectionBindingEndpoint(newCollectionBindingEndpoint, msgs);
-			if (msgs != null)
-				msgs.dispatch();
-		} else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, YECviewPackage.YPAIR_COMBO_BOX__COLLECTION_BINDING_ENDPOINT, newCollectionBindingEndpoint,
-					newCollectionBindingEndpoint));
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, YECviewPackage.YPAIR_COMBO_BOX__COLLECTION_BINDING_ENDPOINT, newCollectionBindingEndpoint, newCollectionBindingEndpoint));
 	}
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	public YEmbeddableSelectionEndpoint getSelectionBindingEndpoint() {
 		if (selectionBindingEndpoint != null && selectionBindingEndpoint.eIsProxy()) {
-			InternalEObject oldSelectionBindingEndpoint = (InternalEObject) selectionBindingEndpoint;
-			selectionBindingEndpoint = (YEmbeddableSelectionEndpoint) eResolveProxy(oldSelectionBindingEndpoint);
+			InternalEObject oldSelectionBindingEndpoint = (InternalEObject)selectionBindingEndpoint;
+			selectionBindingEndpoint = (YEmbeddableSelectionEndpoint)eResolveProxy(oldSelectionBindingEndpoint);
 			if (selectionBindingEndpoint != oldSelectionBindingEndpoint) {
 				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, YECviewPackage.YPAIR_COMBO_BOX__SELECTION_BINDING_ENDPOINT, oldSelectionBindingEndpoint,
-							selectionBindingEndpoint));
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, YECviewPackage.YPAIR_COMBO_BOX__SELECTION_BINDING_ENDPOINT, oldSelectionBindingEndpoint, selectionBindingEndpoint));
 			}
 		}
 		return selectionBindingEndpoint;
@@ -367,7 +350,6 @@
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	public YEmbeddableSelectionEndpoint basicGetSelectionBindingEndpoint() {
@@ -376,48 +358,38 @@
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	public NotificationChain basicSetSelectionBindingEndpoint(YEmbeddableSelectionEndpoint newSelectionBindingEndpoint, NotificationChain msgs) {
 		YEmbeddableSelectionEndpoint oldSelectionBindingEndpoint = selectionBindingEndpoint;
 		selectionBindingEndpoint = newSelectionBindingEndpoint;
 		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, YECviewPackage.YPAIR_COMBO_BOX__SELECTION_BINDING_ENDPOINT, oldSelectionBindingEndpoint,
-					newSelectionBindingEndpoint);
-			if (msgs == null)
-				msgs = notification;
-			else
-				msgs.add(notification);
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, YECviewPackage.YPAIR_COMBO_BOX__SELECTION_BINDING_ENDPOINT, oldSelectionBindingEndpoint, newSelectionBindingEndpoint);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
 		}
 		return msgs;
 	}
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	public void setSelectionBindingEndpoint(YEmbeddableSelectionEndpoint newSelectionBindingEndpoint) {
 		if (newSelectionBindingEndpoint != selectionBindingEndpoint) {
 			NotificationChain msgs = null;
 			if (selectionBindingEndpoint != null)
-				msgs = ((InternalEObject) selectionBindingEndpoint).eInverseRemove(this, CoreModelPackage.YEMBEDDABLE_SELECTION_ENDPOINT__ELEMENT,
-						YEmbeddableSelectionEndpoint.class, msgs);
+				msgs = ((InternalEObject)selectionBindingEndpoint).eInverseRemove(this, CoreModelPackage.YEMBEDDABLE_SELECTION_ENDPOINT__ELEMENT, YEmbeddableSelectionEndpoint.class, msgs);
 			if (newSelectionBindingEndpoint != null)
-				msgs = ((InternalEObject) newSelectionBindingEndpoint).eInverseAdd(this, CoreModelPackage.YEMBEDDABLE_SELECTION_ENDPOINT__ELEMENT,
-						YEmbeddableSelectionEndpoint.class, msgs);
+				msgs = ((InternalEObject)newSelectionBindingEndpoint).eInverseAdd(this, CoreModelPackage.YEMBEDDABLE_SELECTION_ENDPOINT__ELEMENT, YEmbeddableSelectionEndpoint.class, msgs);
 			msgs = basicSetSelectionBindingEndpoint(newSelectionBindingEndpoint, msgs);
-			if (msgs != null)
-				msgs.dispatch();
-		} else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, YECviewPackage.YPAIR_COMBO_BOX__SELECTION_BINDING_ENDPOINT, newSelectionBindingEndpoint,
-					newSelectionBindingEndpoint));
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, YECviewPackage.YPAIR_COMBO_BOX__SELECTION_BINDING_ENDPOINT, newSelectionBindingEndpoint, newSelectionBindingEndpoint));
 	}
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	public boolean isUseBeanService() {
@@ -426,7 +398,6 @@
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	public void setUseBeanService(boolean newUseBeanService) {
@@ -438,13 +409,12 @@
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	public YDatadescription getDatadescription() {
 		if (datadescription != null && datadescription.eIsProxy()) {
-			InternalEObject oldDatadescription = (InternalEObject) datadescription;
-			datadescription = (YDatadescription) eResolveProxy(oldDatadescription);
+			InternalEObject oldDatadescription = (InternalEObject)datadescription;
+			datadescription = (YDatadescription)eResolveProxy(oldDatadescription);
 			if (datadescription != oldDatadescription) {
 				if (eNotificationRequired())
 					eNotify(new ENotificationImpl(this, Notification.RESOLVE, YECviewPackage.YPAIR_COMBO_BOX__DATADESCRIPTION, oldDatadescription, datadescription));
@@ -455,7 +425,6 @@
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	public YDatadescription basicGetDatadescription() {
@@ -464,7 +433,6 @@
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	public void setDatadescription(YDatadescription newDatadescription) {
@@ -476,13 +444,12 @@
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	public YComboBoxDatatype getDatatype() {
 		if (datatype != null && datatype.eIsProxy()) {
-			InternalEObject oldDatatype = (InternalEObject) datatype;
-			datatype = (YComboBoxDatatype) eResolveProxy(oldDatatype);
+			InternalEObject oldDatatype = (InternalEObject)datatype;
+			datatype = (YComboBoxDatatype)eResolveProxy(oldDatatype);
 			if (datatype != oldDatatype) {
 				if (eNotificationRequired())
 					eNotify(new ENotificationImpl(this, Notification.RESOLVE, YECviewPackage.YPAIR_COMBO_BOX__DATATYPE, oldDatatype, datatype));
@@ -493,7 +460,6 @@
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	public YComboBoxDatatype basicGetDatatype() {
@@ -502,7 +468,6 @@
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	public void setDatatype(YComboBoxDatatype newDatatype) {
@@ -514,7 +479,6 @@
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	public Object getSelection() {
@@ -523,7 +487,6 @@
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	public void setSelection(Object newSelection) {
@@ -535,7 +498,6 @@
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	public EList<Object> getCollection() {
@@ -547,7 +509,6 @@
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	public Class<?> getType() {
@@ -556,7 +517,6 @@
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	public void setType(Class<?> newType) {
@@ -568,7 +528,6 @@
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	public String getEmfNsURI() {
@@ -577,7 +536,6 @@
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	public void setEmfNsURI(String newEmfNsURI) {
@@ -589,7 +547,6 @@
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	public String getTypeQualifiedName() {
@@ -598,7 +555,6 @@
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	public void setTypeQualifiedName(String newTypeQualifiedName) {
@@ -610,7 +566,6 @@
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	public String getCaptionProperty() {
@@ -619,7 +574,6 @@
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	public void setCaptionProperty(String newCaptionProperty) {
@@ -631,7 +585,6 @@
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	public String getImageProperty() {
@@ -640,7 +593,6 @@
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	public void setImageProperty(String newImageProperty) {
@@ -652,7 +604,6 @@
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	public String getDescriptionProperty() {
@@ -661,7 +612,6 @@
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	public void setDescriptionProperty(String newDescriptionProperty) {
@@ -673,7 +623,6 @@
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	public String getDescription() {
@@ -682,7 +631,6 @@
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	public void setDescription(String newDescription) {
@@ -743,275 +691,255 @@
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	@Override
 	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
 		switch (featureID) {
-		case YECviewPackage.YPAIR_COMBO_BOX__COLLECTION_BINDING_ENDPOINT:
-			if (collectionBindingEndpoint != null)
-				msgs = ((InternalEObject) collectionBindingEndpoint).eInverseRemove(this, CoreModelPackage.YEMBEDDABLE_COLLECTION_ENDPOINT__ELEMENT,
-						YEmbeddableCollectionEndpoint.class, msgs);
-			return basicSetCollectionBindingEndpoint((YEmbeddableCollectionEndpoint) otherEnd, msgs);
-		case YECviewPackage.YPAIR_COMBO_BOX__SELECTION_BINDING_ENDPOINT:
-			if (selectionBindingEndpoint != null)
-				msgs = ((InternalEObject) selectionBindingEndpoint).eInverseRemove(this, CoreModelPackage.YEMBEDDABLE_SELECTION_ENDPOINT__ELEMENT,
-						YEmbeddableSelectionEndpoint.class, msgs);
-			return basicSetSelectionBindingEndpoint((YEmbeddableSelectionEndpoint) otherEnd, msgs);
+			case YECviewPackage.YPAIR_COMBO_BOX__COLLECTION_BINDING_ENDPOINT:
+				if (collectionBindingEndpoint != null)
+					msgs = ((InternalEObject)collectionBindingEndpoint).eInverseRemove(this, CoreModelPackage.YEMBEDDABLE_COLLECTION_ENDPOINT__ELEMENT, YEmbeddableCollectionEndpoint.class, msgs);
+				return basicSetCollectionBindingEndpoint((YEmbeddableCollectionEndpoint)otherEnd, msgs);
+			case YECviewPackage.YPAIR_COMBO_BOX__SELECTION_BINDING_ENDPOINT:
+				if (selectionBindingEndpoint != null)
+					msgs = ((InternalEObject)selectionBindingEndpoint).eInverseRemove(this, CoreModelPackage.YEMBEDDABLE_SELECTION_ENDPOINT__ELEMENT, YEmbeddableSelectionEndpoint.class, msgs);
+				return basicSetSelectionBindingEndpoint((YEmbeddableSelectionEndpoint)otherEnd, msgs);
 		}
 		return super.eInverseAdd(otherEnd, featureID, msgs);
 	}
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	@Override
 	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
 		switch (featureID) {
-		case YECviewPackage.YPAIR_COMBO_BOX__COLLECTION_BINDING_ENDPOINT:
-			return basicSetCollectionBindingEndpoint(null, msgs);
-		case YECviewPackage.YPAIR_COMBO_BOX__SELECTION_BINDING_ENDPOINT:
-			return basicSetSelectionBindingEndpoint(null, msgs);
+			case YECviewPackage.YPAIR_COMBO_BOX__COLLECTION_BINDING_ENDPOINT:
+				return basicSetCollectionBindingEndpoint(null, msgs);
+			case YECviewPackage.YPAIR_COMBO_BOX__SELECTION_BINDING_ENDPOINT:
+				return basicSetSelectionBindingEndpoint(null, msgs);
 		}
 		return super.eInverseRemove(otherEnd, featureID, msgs);
 	}
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-		case YECviewPackage.YPAIR_COMBO_BOX__COLLECTION_BINDING_ENDPOINT:
-			if (resolve)
-				return getCollectionBindingEndpoint();
-			return basicGetCollectionBindingEndpoint();
-		case YECviewPackage.YPAIR_COMBO_BOX__SELECTION_BINDING_ENDPOINT:
-			if (resolve)
-				return getSelectionBindingEndpoint();
-			return basicGetSelectionBindingEndpoint();
-		case YECviewPackage.YPAIR_COMBO_BOX__USE_BEAN_SERVICE:
-			return isUseBeanService();
-		case YECviewPackage.YPAIR_COMBO_BOX__DATADESCRIPTION:
-			if (resolve)
-				return getDatadescription();
-			return basicGetDatadescription();
-		case YECviewPackage.YPAIR_COMBO_BOX__DATATYPE:
-			if (resolve)
-				return getDatatype();
-			return basicGetDatatype();
-		case YECviewPackage.YPAIR_COMBO_BOX__SELECTION:
-			return getSelection();
-		case YECviewPackage.YPAIR_COMBO_BOX__COLLECTION:
-			return getCollection();
-		case YECviewPackage.YPAIR_COMBO_BOX__TYPE:
-			return getType();
-		case YECviewPackage.YPAIR_COMBO_BOX__EMF_NS_URI:
-			return getEmfNsURI();
-		case YECviewPackage.YPAIR_COMBO_BOX__TYPE_QUALIFIED_NAME:
-			return getTypeQualifiedName();
-		case YECviewPackage.YPAIR_COMBO_BOX__CAPTION_PROPERTY:
-			return getCaptionProperty();
-		case YECviewPackage.YPAIR_COMBO_BOX__IMAGE_PROPERTY:
-			return getImageProperty();
-		case YECviewPackage.YPAIR_COMBO_BOX__DESCRIPTION_PROPERTY:
-			return getDescriptionProperty();
-		case YECviewPackage.YPAIR_COMBO_BOX__DESCRIPTION:
-			return getDescription();
+			case YECviewPackage.YPAIR_COMBO_BOX__COLLECTION_BINDING_ENDPOINT:
+				if (resolve) return getCollectionBindingEndpoint();
+				return basicGetCollectionBindingEndpoint();
+			case YECviewPackage.YPAIR_COMBO_BOX__SELECTION_BINDING_ENDPOINT:
+				if (resolve) return getSelectionBindingEndpoint();
+				return basicGetSelectionBindingEndpoint();
+			case YECviewPackage.YPAIR_COMBO_BOX__USE_BEAN_SERVICE:
+				return isUseBeanService();
+			case YECviewPackage.YPAIR_COMBO_BOX__DATADESCRIPTION:
+				if (resolve) return getDatadescription();
+				return basicGetDatadescription();
+			case YECviewPackage.YPAIR_COMBO_BOX__DATATYPE:
+				if (resolve) return getDatatype();
+				return basicGetDatatype();
+			case YECviewPackage.YPAIR_COMBO_BOX__SELECTION:
+				return getSelection();
+			case YECviewPackage.YPAIR_COMBO_BOX__COLLECTION:
+				return getCollection();
+			case YECviewPackage.YPAIR_COMBO_BOX__TYPE:
+				return getType();
+			case YECviewPackage.YPAIR_COMBO_BOX__EMF_NS_URI:
+				return getEmfNsURI();
+			case YECviewPackage.YPAIR_COMBO_BOX__TYPE_QUALIFIED_NAME:
+				return getTypeQualifiedName();
+			case YECviewPackage.YPAIR_COMBO_BOX__CAPTION_PROPERTY:
+				return getCaptionProperty();
+			case YECviewPackage.YPAIR_COMBO_BOX__IMAGE_PROPERTY:
+				return getImageProperty();
+			case YECviewPackage.YPAIR_COMBO_BOX__DESCRIPTION_PROPERTY:
+				return getDescriptionProperty();
+			case YECviewPackage.YPAIR_COMBO_BOX__DESCRIPTION:
+				return getDescription();
 		}
 		return super.eGet(featureID, resolve, coreType);
 	}
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	@SuppressWarnings("unchecked")
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-		case YECviewPackage.YPAIR_COMBO_BOX__COLLECTION_BINDING_ENDPOINT:
-			setCollectionBindingEndpoint((YEmbeddableCollectionEndpoint) newValue);
-			return;
-		case YECviewPackage.YPAIR_COMBO_BOX__SELECTION_BINDING_ENDPOINT:
-			setSelectionBindingEndpoint((YEmbeddableSelectionEndpoint) newValue);
-			return;
-		case YECviewPackage.YPAIR_COMBO_BOX__USE_BEAN_SERVICE:
-			setUseBeanService((Boolean) newValue);
-			return;
-		case YECviewPackage.YPAIR_COMBO_BOX__DATADESCRIPTION:
-			setDatadescription((YDatadescription) newValue);
-			return;
-		case YECviewPackage.YPAIR_COMBO_BOX__DATATYPE:
-			setDatatype((YComboBoxDatatype) newValue);
-			return;
-		case YECviewPackage.YPAIR_COMBO_BOX__SELECTION:
-			setSelection(newValue);
-			return;
-		case YECviewPackage.YPAIR_COMBO_BOX__COLLECTION:
-			getCollection().clear();
-			getCollection().addAll((Collection<? extends Object>) newValue);
-			return;
-		case YECviewPackage.YPAIR_COMBO_BOX__TYPE:
-			setType((Class<?>) newValue);
-			return;
-		case YECviewPackage.YPAIR_COMBO_BOX__EMF_NS_URI:
-			setEmfNsURI((String) newValue);
-			return;
-		case YECviewPackage.YPAIR_COMBO_BOX__TYPE_QUALIFIED_NAME:
-			setTypeQualifiedName((String) newValue);
-			return;
-		case YECviewPackage.YPAIR_COMBO_BOX__CAPTION_PROPERTY:
-			setCaptionProperty((String) newValue);
-			return;
-		case YECviewPackage.YPAIR_COMBO_BOX__IMAGE_PROPERTY:
-			setImageProperty((String) newValue);
-			return;
-		case YECviewPackage.YPAIR_COMBO_BOX__DESCRIPTION_PROPERTY:
-			setDescriptionProperty((String) newValue);
-			return;
-		case YECviewPackage.YPAIR_COMBO_BOX__DESCRIPTION:
-			setDescription((String) newValue);
-			return;
+			case YECviewPackage.YPAIR_COMBO_BOX__COLLECTION_BINDING_ENDPOINT:
+				setCollectionBindingEndpoint((YEmbeddableCollectionEndpoint)newValue);
+				return;
+			case YECviewPackage.YPAIR_COMBO_BOX__SELECTION_BINDING_ENDPOINT:
+				setSelectionBindingEndpoint((YEmbeddableSelectionEndpoint)newValue);
+				return;
+			case YECviewPackage.YPAIR_COMBO_BOX__USE_BEAN_SERVICE:
+				setUseBeanService((Boolean)newValue);
+				return;
+			case YECviewPackage.YPAIR_COMBO_BOX__DATADESCRIPTION:
+				setDatadescription((YDatadescription)newValue);
+				return;
+			case YECviewPackage.YPAIR_COMBO_BOX__DATATYPE:
+				setDatatype((YComboBoxDatatype)newValue);
+				return;
+			case YECviewPackage.YPAIR_COMBO_BOX__SELECTION:
+				setSelection(newValue);
+				return;
+			case YECviewPackage.YPAIR_COMBO_BOX__COLLECTION:
+				getCollection().clear();
+				getCollection().addAll((Collection<? extends Object>)newValue);
+				return;
+			case YECviewPackage.YPAIR_COMBO_BOX__TYPE:
+				setType((Class<?>)newValue);
+				return;
+			case YECviewPackage.YPAIR_COMBO_BOX__EMF_NS_URI:
+				setEmfNsURI((String)newValue);
+				return;
+			case YECviewPackage.YPAIR_COMBO_BOX__TYPE_QUALIFIED_NAME:
+				setTypeQualifiedName((String)newValue);
+				return;
+			case YECviewPackage.YPAIR_COMBO_BOX__CAPTION_PROPERTY:
+				setCaptionProperty((String)newValue);
+				return;
+			case YECviewPackage.YPAIR_COMBO_BOX__IMAGE_PROPERTY:
+				setImageProperty((String)newValue);
+				return;
+			case YECviewPackage.YPAIR_COMBO_BOX__DESCRIPTION_PROPERTY:
+				setDescriptionProperty((String)newValue);
+				return;
+			case YECviewPackage.YPAIR_COMBO_BOX__DESCRIPTION:
+				setDescription((String)newValue);
+				return;
 		}
 		super.eSet(featureID, newValue);
 	}
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-		case YECviewPackage.YPAIR_COMBO_BOX__COLLECTION_BINDING_ENDPOINT:
-			setCollectionBindingEndpoint((YEmbeddableCollectionEndpoint) null);
-			return;
-		case YECviewPackage.YPAIR_COMBO_BOX__SELECTION_BINDING_ENDPOINT:
-			setSelectionBindingEndpoint((YEmbeddableSelectionEndpoint) null);
-			return;
-		case YECviewPackage.YPAIR_COMBO_BOX__USE_BEAN_SERVICE:
-			setUseBeanService(USE_BEAN_SERVICE_EDEFAULT);
-			return;
-		case YECviewPackage.YPAIR_COMBO_BOX__DATADESCRIPTION:
-			setDatadescription((YDatadescription) null);
-			return;
-		case YECviewPackage.YPAIR_COMBO_BOX__DATATYPE:
-			setDatatype((YComboBoxDatatype) null);
-			return;
-		case YECviewPackage.YPAIR_COMBO_BOX__SELECTION:
-			setSelection(SELECTION_EDEFAULT);
-			return;
-		case YECviewPackage.YPAIR_COMBO_BOX__COLLECTION:
-			getCollection().clear();
-			return;
-		case YECviewPackage.YPAIR_COMBO_BOX__TYPE:
-			setType((Class<?>) null);
-			return;
-		case YECviewPackage.YPAIR_COMBO_BOX__EMF_NS_URI:
-			setEmfNsURI(EMF_NS_URI_EDEFAULT);
-			return;
-		case YECviewPackage.YPAIR_COMBO_BOX__TYPE_QUALIFIED_NAME:
-			setTypeQualifiedName(TYPE_QUALIFIED_NAME_EDEFAULT);
-			return;
-		case YECviewPackage.YPAIR_COMBO_BOX__CAPTION_PROPERTY:
-			setCaptionProperty(CAPTION_PROPERTY_EDEFAULT);
-			return;
-		case YECviewPackage.YPAIR_COMBO_BOX__IMAGE_PROPERTY:
-			setImageProperty(IMAGE_PROPERTY_EDEFAULT);
-			return;
-		case YECviewPackage.YPAIR_COMBO_BOX__DESCRIPTION_PROPERTY:
-			setDescriptionProperty(DESCRIPTION_PROPERTY_EDEFAULT);
-			return;
-		case YECviewPackage.YPAIR_COMBO_BOX__DESCRIPTION:
-			setDescription(DESCRIPTION_EDEFAULT);
-			return;
+			case YECviewPackage.YPAIR_COMBO_BOX__COLLECTION_BINDING_ENDPOINT:
+				setCollectionBindingEndpoint((YEmbeddableCollectionEndpoint)null);
+				return;
+			case YECviewPackage.YPAIR_COMBO_BOX__SELECTION_BINDING_ENDPOINT:
+				setSelectionBindingEndpoint((YEmbeddableSelectionEndpoint)null);
+				return;
+			case YECviewPackage.YPAIR_COMBO_BOX__USE_BEAN_SERVICE:
+				setUseBeanService(USE_BEAN_SERVICE_EDEFAULT);
+				return;
+			case YECviewPackage.YPAIR_COMBO_BOX__DATADESCRIPTION:
+				setDatadescription((YDatadescription)null);
+				return;
+			case YECviewPackage.YPAIR_COMBO_BOX__DATATYPE:
+				setDatatype((YComboBoxDatatype)null);
+				return;
+			case YECviewPackage.YPAIR_COMBO_BOX__SELECTION:
+				setSelection(SELECTION_EDEFAULT);
+				return;
+			case YECviewPackage.YPAIR_COMBO_BOX__COLLECTION:
+				getCollection().clear();
+				return;
+			case YECviewPackage.YPAIR_COMBO_BOX__TYPE:
+				setType((Class<?>)null);
+				return;
+			case YECviewPackage.YPAIR_COMBO_BOX__EMF_NS_URI:
+				setEmfNsURI(EMF_NS_URI_EDEFAULT);
+				return;
+			case YECviewPackage.YPAIR_COMBO_BOX__TYPE_QUALIFIED_NAME:
+				setTypeQualifiedName(TYPE_QUALIFIED_NAME_EDEFAULT);
+				return;
+			case YECviewPackage.YPAIR_COMBO_BOX__CAPTION_PROPERTY:
+				setCaptionProperty(CAPTION_PROPERTY_EDEFAULT);
+				return;
+			case YECviewPackage.YPAIR_COMBO_BOX__IMAGE_PROPERTY:
+				setImageProperty(IMAGE_PROPERTY_EDEFAULT);
+				return;
+			case YECviewPackage.YPAIR_COMBO_BOX__DESCRIPTION_PROPERTY:
+				setDescriptionProperty(DESCRIPTION_PROPERTY_EDEFAULT);
+				return;
+			case YECviewPackage.YPAIR_COMBO_BOX__DESCRIPTION:
+				setDescription(DESCRIPTION_EDEFAULT);
+				return;
 		}
 		super.eUnset(featureID);
 	}
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-		case YECviewPackage.YPAIR_COMBO_BOX__COLLECTION_BINDING_ENDPOINT:
-			return collectionBindingEndpoint != null;
-		case YECviewPackage.YPAIR_COMBO_BOX__SELECTION_BINDING_ENDPOINT:
-			return selectionBindingEndpoint != null;
-		case YECviewPackage.YPAIR_COMBO_BOX__USE_BEAN_SERVICE:
-			return useBeanService != USE_BEAN_SERVICE_EDEFAULT;
-		case YECviewPackage.YPAIR_COMBO_BOX__DATADESCRIPTION:
-			return datadescription != null;
-		case YECviewPackage.YPAIR_COMBO_BOX__DATATYPE:
-			return datatype != null;
-		case YECviewPackage.YPAIR_COMBO_BOX__SELECTION:
-			return SELECTION_EDEFAULT == null ? selection != null : !SELECTION_EDEFAULT.equals(selection);
-		case YECviewPackage.YPAIR_COMBO_BOX__COLLECTION:
-			return collection != null && !collection.isEmpty();
-		case YECviewPackage.YPAIR_COMBO_BOX__TYPE:
-			return type != null;
-		case YECviewPackage.YPAIR_COMBO_BOX__EMF_NS_URI:
-			return EMF_NS_URI_EDEFAULT == null ? emfNsURI != null : !EMF_NS_URI_EDEFAULT.equals(emfNsURI);
-		case YECviewPackage.YPAIR_COMBO_BOX__TYPE_QUALIFIED_NAME:
-			return TYPE_QUALIFIED_NAME_EDEFAULT == null ? typeQualifiedName != null : !TYPE_QUALIFIED_NAME_EDEFAULT.equals(typeQualifiedName);
-		case YECviewPackage.YPAIR_COMBO_BOX__CAPTION_PROPERTY:
-			return CAPTION_PROPERTY_EDEFAULT == null ? captionProperty != null : !CAPTION_PROPERTY_EDEFAULT.equals(captionProperty);
-		case YECviewPackage.YPAIR_COMBO_BOX__IMAGE_PROPERTY:
-			return IMAGE_PROPERTY_EDEFAULT == null ? imageProperty != null : !IMAGE_PROPERTY_EDEFAULT.equals(imageProperty);
-		case YECviewPackage.YPAIR_COMBO_BOX__DESCRIPTION_PROPERTY:
-			return DESCRIPTION_PROPERTY_EDEFAULT == null ? descriptionProperty != null : !DESCRIPTION_PROPERTY_EDEFAULT.equals(descriptionProperty);
-		case YECviewPackage.YPAIR_COMBO_BOX__DESCRIPTION:
-			return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
+			case YECviewPackage.YPAIR_COMBO_BOX__COLLECTION_BINDING_ENDPOINT:
+				return collectionBindingEndpoint != null;
+			case YECviewPackage.YPAIR_COMBO_BOX__SELECTION_BINDING_ENDPOINT:
+				return selectionBindingEndpoint != null;
+			case YECviewPackage.YPAIR_COMBO_BOX__USE_BEAN_SERVICE:
+				return useBeanService != USE_BEAN_SERVICE_EDEFAULT;
+			case YECviewPackage.YPAIR_COMBO_BOX__DATADESCRIPTION:
+				return datadescription != null;
+			case YECviewPackage.YPAIR_COMBO_BOX__DATATYPE:
+				return datatype != null;
+			case YECviewPackage.YPAIR_COMBO_BOX__SELECTION:
+				return SELECTION_EDEFAULT == null ? selection != null : !SELECTION_EDEFAULT.equals(selection);
+			case YECviewPackage.YPAIR_COMBO_BOX__COLLECTION:
+				return collection != null && !collection.isEmpty();
+			case YECviewPackage.YPAIR_COMBO_BOX__TYPE:
+				return type != null;
+			case YECviewPackage.YPAIR_COMBO_BOX__EMF_NS_URI:
+				return EMF_NS_URI_EDEFAULT == null ? emfNsURI != null : !EMF_NS_URI_EDEFAULT.equals(emfNsURI);
+			case YECviewPackage.YPAIR_COMBO_BOX__TYPE_QUALIFIED_NAME:
+				return TYPE_QUALIFIED_NAME_EDEFAULT == null ? typeQualifiedName != null : !TYPE_QUALIFIED_NAME_EDEFAULT.equals(typeQualifiedName);
+			case YECviewPackage.YPAIR_COMBO_BOX__CAPTION_PROPERTY:
+				return CAPTION_PROPERTY_EDEFAULT == null ? captionProperty != null : !CAPTION_PROPERTY_EDEFAULT.equals(captionProperty);
+			case YECviewPackage.YPAIR_COMBO_BOX__IMAGE_PROPERTY:
+				return IMAGE_PROPERTY_EDEFAULT == null ? imageProperty != null : !IMAGE_PROPERTY_EDEFAULT.equals(imageProperty);
+			case YECviewPackage.YPAIR_COMBO_BOX__DESCRIPTION_PROPERTY:
+				return DESCRIPTION_PROPERTY_EDEFAULT == null ? descriptionProperty != null : !DESCRIPTION_PROPERTY_EDEFAULT.equals(descriptionProperty);
+			case YECviewPackage.YPAIR_COMBO_BOX__DESCRIPTION:
+				return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
 		}
 		return super.eIsSet(featureID);
 	}
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	@Override
 	public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
 		if (baseClass == YBindable.class) {
 			switch (derivedFeatureID) {
-			default:
-				return -1;
+				default: return -1;
 			}
 		}
 		if (baseClass == YCollectionBindable.class) {
 			switch (derivedFeatureID) {
-			case YECviewPackage.YPAIR_COMBO_BOX__COLLECTION_BINDING_ENDPOINT:
-				return CoreModelPackage.YCOLLECTION_BINDABLE__COLLECTION_BINDING_ENDPOINT;
-			default:
-				return -1;
+				case YECviewPackage.YPAIR_COMBO_BOX__COLLECTION_BINDING_ENDPOINT: return CoreModelPackage.YCOLLECTION_BINDABLE__COLLECTION_BINDING_ENDPOINT;
+				default: return -1;
 			}
 		}
 		if (baseClass == YSelectionBindable.class) {
 			switch (derivedFeatureID) {
-			case YECviewPackage.YPAIR_COMBO_BOX__SELECTION_BINDING_ENDPOINT:
-				return CoreModelPackage.YSELECTION_BINDABLE__SELECTION_BINDING_ENDPOINT;
-			default:
-				return -1;
+				case YECviewPackage.YPAIR_COMBO_BOX__SELECTION_BINDING_ENDPOINT: return CoreModelPackage.YSELECTION_BINDABLE__SELECTION_BINDING_ENDPOINT;
+				default: return -1;
 			}
 		}
 		if (baseClass == YBeanServiceConsumer.class) {
 			switch (derivedFeatureID) {
-			case YECviewPackage.YPAIR_COMBO_BOX__USE_BEAN_SERVICE:
-				return ExtensionModelPackage.YBEAN_SERVICE_CONSUMER__USE_BEAN_SERVICE;
-			default:
-				return -1;
+				case YECviewPackage.YPAIR_COMBO_BOX__USE_BEAN_SERVICE: return ExtensionModelPackage.YBEAN_SERVICE_CONSUMER__USE_BEAN_SERVICE;
+				default: return -1;
 			}
 		}
 		return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
@@ -1019,39 +947,31 @@
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	@Override
 	public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
 		if (baseClass == YBindable.class) {
 			switch (baseFeatureID) {
-			default:
-				return -1;
+				default: return -1;
 			}
 		}
 		if (baseClass == YCollectionBindable.class) {
 			switch (baseFeatureID) {
-			case CoreModelPackage.YCOLLECTION_BINDABLE__COLLECTION_BINDING_ENDPOINT:
-				return YECviewPackage.YPAIR_COMBO_BOX__COLLECTION_BINDING_ENDPOINT;
-			default:
-				return -1;
+				case CoreModelPackage.YCOLLECTION_BINDABLE__COLLECTION_BINDING_ENDPOINT: return YECviewPackage.YPAIR_COMBO_BOX__COLLECTION_BINDING_ENDPOINT;
+				default: return -1;
 			}
 		}
 		if (baseClass == YSelectionBindable.class) {
 			switch (baseFeatureID) {
-			case CoreModelPackage.YSELECTION_BINDABLE__SELECTION_BINDING_ENDPOINT:
-				return YECviewPackage.YPAIR_COMBO_BOX__SELECTION_BINDING_ENDPOINT;
-			default:
-				return -1;
+				case CoreModelPackage.YSELECTION_BINDABLE__SELECTION_BINDING_ENDPOINT: return YECviewPackage.YPAIR_COMBO_BOX__SELECTION_BINDING_ENDPOINT;
+				default: return -1;
 			}
 		}
 		if (baseClass == YBeanServiceConsumer.class) {
 			switch (baseFeatureID) {
-			case ExtensionModelPackage.YBEAN_SERVICE_CONSUMER__USE_BEAN_SERVICE:
-				return YECviewPackage.YPAIR_COMBO_BOX__USE_BEAN_SERVICE;
-			default:
-				return -1;
+				case ExtensionModelPackage.YBEAN_SERVICE_CONSUMER__USE_BEAN_SERVICE: return YECviewPackage.YPAIR_COMBO_BOX__USE_BEAN_SERVICE;
+				default: return -1;
 			}
 		}
 		return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
@@ -1059,13 +979,11 @@
 
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	@Override
 	public String toString() {
-		if (eIsProxy())
-			return super.toString();
+		if (eIsProxy()) return super.toString();
 
 		StringBuffer result = new StringBuffer(super.toString());
 		result.append(" (useBeanService: ");
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YPrefixedMaskedTextFieldImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YPrefixedMaskedTextFieldImpl.java
index b53a42b..1c517a4 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YPrefixedMaskedTextFieldImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YPrefixedMaskedTextFieldImpl.java
@@ -32,6 +32,7 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YPrefixedMaskedTextFieldImpl#getValueBindingEndpoint <em>Value Binding Endpoint</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YPrefixedMaskedTextFieldImpl#getDatadescription <em>Datadescription</em>}</li>
@@ -39,7 +40,6 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YPrefixedMaskedTextFieldImpl#getMask <em>Mask</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YPrefixedMaskedTextFieldImpl#getPrefixes <em>Prefixes</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YQuantityTextFieldImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YQuantityTextFieldImpl.java
index 3298137..42aa1ef 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YQuantityTextFieldImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YQuantityTextFieldImpl.java
@@ -33,12 +33,12 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YQuantityTextFieldImpl#getValueBindingEndpoint <em>Value Binding Endpoint</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YQuantityTextFieldImpl#getDatadescription <em>Datadescription</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YQuantityTextFieldImpl#getValue <em>Value</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YRichTextAreaImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YRichTextAreaImpl.java
index 60bf43c..38e5828 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YRichTextAreaImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YRichTextAreaImpl.java
@@ -29,6 +29,7 @@
  * <em><b>YRich Text Area</b></em>'. <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YRichTextAreaImpl#getValueBindingEndpoint <em>Value Binding Endpoint</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YRichTextAreaImpl#getDatadescription <em>Datadescription</em>}</li>
@@ -36,7 +37,6 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YRichTextAreaImpl#getValue <em>Value</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YRichTextAreaImpl#isUseBlob <em>Use Blob</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YStrategyLayoutImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YStrategyLayoutImpl.java
index 3cbf213..2ce418a 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YStrategyLayoutImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YStrategyLayoutImpl.java
@@ -39,6 +39,7 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YStrategyLayoutImpl#getLayoutingStrategy <em>Layouting Strategy</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YStrategyLayoutImpl#getFocusingStrategies <em>Focusing Strategies</em>}</li>
@@ -46,7 +47,6 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YStrategyLayoutImpl#getLayoutingInfo <em>Layouting Info</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YStrategyLayoutImpl#getDefaultFocusingEnhancerId <em>Default Focusing Enhancer Id</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YSubTypeBaseSuspectImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YSubTypeBaseSuspectImpl.java
index b9bc5f5..45885e1 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YSubTypeBaseSuspectImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YSubTypeBaseSuspectImpl.java
@@ -21,8 +21,6 @@
  * <!-- begin-user-doc -->
  * An implementation of the model object '<em><b>YSub Type Base Suspect</b></em>'.
  * <!-- end-user-doc -->
- * <p>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YSubTypeSuspectImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YSubTypeSuspectImpl.java
index 8b2366d..38d40ef 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YSubTypeSuspectImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YSubTypeSuspectImpl.java
@@ -27,10 +27,10 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YSubTypeSuspectImpl#getBeanSlot <em>Bean Slot</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YSuspectImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YSuspectImpl.java
index 6d6e61d..6cd00de 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YSuspectImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YSuspectImpl.java
@@ -32,6 +32,7 @@
 import org.eclipse.emf.ecore.util.InternalEList;
 import org.eclipse.osbp.ecview.core.common.model.binding.YBinding;
 import org.eclipse.osbp.ecview.core.common.model.binding.YBindingEndpoint;
+import org.eclipse.osbp.ecview.core.common.model.binding.YValueBindingEndpoint;
 import org.eclipse.osbp.ecview.core.common.model.core.CoreModelPackage;
 import org.eclipse.osbp.ecview.core.common.model.core.YAuthorizationable;
 import org.eclipse.osbp.ecview.core.common.model.core.YCommand;
@@ -49,6 +50,7 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YSuspectImpl#getTags <em>Tags</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YSuspectImpl#getId <em>Id</em>}</li>
@@ -64,8 +66,8 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YSuspectImpl#getAssocNewiatedElements <em>Assoc Newiated Elements</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YSuspectImpl#getAssociatedBindings <em>Associated Bindings</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YSuspectImpl#getLabel <em>Label</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YSuspectImpl#getContainerValueBindingEndpoint <em>Container Value Binding Endpoint</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
@@ -289,6 +291,16 @@
 	protected String label = LABEL_EDEFAULT;
 
 	/**
+	 * The cached value of the '{@link #getContainerValueBindingEndpoint() <em>Container Value Binding Endpoint</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getContainerValueBindingEndpoint()
+	 * @generated
+	 * @ordered
+	 */
+	protected YValueBindingEndpoint containerValueBindingEndpoint;
+
+	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->.
 	 *
 	 * @generated
@@ -588,6 +600,49 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YValueBindingEndpoint getContainerValueBindingEndpoint() {
+		return containerValueBindingEndpoint;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetContainerValueBindingEndpoint(YValueBindingEndpoint newContainerValueBindingEndpoint, NotificationChain msgs) {
+		YValueBindingEndpoint oldContainerValueBindingEndpoint = containerValueBindingEndpoint;
+		containerValueBindingEndpoint = newContainerValueBindingEndpoint;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, YECviewPackage.YSUSPECT__CONTAINER_VALUE_BINDING_ENDPOINT, oldContainerValueBindingEndpoint, newContainerValueBindingEndpoint);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setContainerValueBindingEndpoint(YValueBindingEndpoint newContainerValueBindingEndpoint) {
+		if (newContainerValueBindingEndpoint != containerValueBindingEndpoint) {
+			NotificationChain msgs = null;
+			if (containerValueBindingEndpoint != null)
+				msgs = ((InternalEObject)containerValueBindingEndpoint).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - YECviewPackage.YSUSPECT__CONTAINER_VALUE_BINDING_ENDPOINT, null, msgs);
+			if (newContainerValueBindingEndpoint != null)
+				msgs = ((InternalEObject)newContainerValueBindingEndpoint).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - YECviewPackage.YSUSPECT__CONTAINER_VALUE_BINDING_ENDPOINT, null, msgs);
+			msgs = basicSetContainerValueBindingEndpoint(newContainerValueBindingEndpoint, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, YECviewPackage.YSUSPECT__CONTAINER_VALUE_BINDING_ENDPOINT, newContainerValueBindingEndpoint, newContainerValueBindingEndpoint));
+	}
+
+	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->.
 	 *
 	 * @param otherEnd
@@ -612,6 +667,8 @@
 				return ((InternalEList<?>)getCommands()).basicRemove(otherEnd, msgs);
 			case YECviewPackage.YSUSPECT__ASSOCIATED_BINDINGS:
 				return ((InternalEList<?>)getAssociatedBindings()).basicRemove(otherEnd, msgs);
+			case YECviewPackage.YSUSPECT__CONTAINER_VALUE_BINDING_ENDPOINT:
+				return basicSetContainerValueBindingEndpoint(null, msgs);
 		}
 		return super.eInverseRemove(otherEnd, featureID, msgs);
 	}
@@ -660,6 +717,8 @@
 				return getAssociatedBindings();
 			case YECviewPackage.YSUSPECT__LABEL:
 				return getLabel();
+			case YECviewPackage.YSUSPECT__CONTAINER_VALUE_BINDING_ENDPOINT:
+				return getContainerValueBindingEndpoint();
 		}
 		return super.eGet(featureID, resolve, coreType);
 	}
@@ -725,6 +784,9 @@
 			case YECviewPackage.YSUSPECT__LABEL:
 				setLabel((String)newValue);
 				return;
+			case YECviewPackage.YSUSPECT__CONTAINER_VALUE_BINDING_ENDPOINT:
+				setContainerValueBindingEndpoint((YValueBindingEndpoint)newValue);
+				return;
 		}
 		super.eSet(featureID, newValue);
 	}
@@ -781,6 +843,9 @@
 			case YECviewPackage.YSUSPECT__LABEL:
 				setLabel(LABEL_EDEFAULT);
 				return;
+			case YECviewPackage.YSUSPECT__CONTAINER_VALUE_BINDING_ENDPOINT:
+				setContainerValueBindingEndpoint((YValueBindingEndpoint)null);
+				return;
 		}
 		super.eUnset(featureID);
 	}
@@ -824,6 +889,8 @@
 				return associatedBindings != null && !associatedBindings.isEmpty();
 			case YECviewPackage.YSUSPECT__LABEL:
 				return LABEL_EDEFAULT == null ? label != null : !LABEL_EDEFAULT.equals(label);
+			case YECviewPackage.YSUSPECT__CONTAINER_VALUE_BINDING_ENDPOINT:
+				return containerValueBindingEndpoint != null;
 		}
 		return super.eIsSet(featureID);
 	}
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YSuspectInfoImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YSuspectInfoImpl.java
index e6d38cc..f36ea7e 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YSuspectInfoImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YSuspectInfoImpl.java
@@ -46,6 +46,7 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YSuspectInfoImpl#getTags <em>Tags</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YSuspectInfoImpl#getId <em>Id</em>}</li>
@@ -58,7 +59,6 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YSuspectInfoImpl#getTarget <em>Target</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YSuspectInfoImpl#getVisibilityProcessors <em>Visibility Processors</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YTypedCompoundSuspectImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YTypedCompoundSuspectImpl.java
index 1e0ad3c..37b3bbe 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YTypedCompoundSuspectImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YTypedCompoundSuspectImpl.java
@@ -31,10 +31,10 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YTypedCompoundSuspectImpl#getChildren <em>Children</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YTypedSuspectImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YTypedSuspectImpl.java
index 581389a..60afe7b 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YTypedSuspectImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YTypedSuspectImpl.java
@@ -25,11 +25,11 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YTypedSuspectImpl#getTypeQualifiedName <em>Type Qualified Name</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YTypedSuspectImpl#getType <em>Type</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/visibility/YSubTypeVisibilityProcessor.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/visibility/YSubTypeVisibilityProcessor.java
index 268ba26..ca39d6e 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/visibility/YSubTypeVisibilityProcessor.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/visibility/YSubTypeVisibilityProcessor.java
@@ -22,12 +22,12 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.visibility.YSubTypeVisibilityProcessor#getTypeQualifiedName <em>Type Qualified Name</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.visibility.YSubTypeVisibilityProcessor#getType <em>Type</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.visibility.YSubTypeVisibilityProcessor#getTarget <em>Target</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.osbp.ecview.extension.model.visibility.YVisibilityPackage#getYSubTypeVisibilityProcessor()
  * @model
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/visibility/impl/YAuthorizationVisibilityProcessorImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/visibility/impl/YAuthorizationVisibilityProcessorImpl.java
index 3df52b1..4006c21 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/visibility/impl/YAuthorizationVisibilityProcessorImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/visibility/impl/YAuthorizationVisibilityProcessorImpl.java
@@ -22,8 +22,6 @@
  * <!-- begin-user-doc -->
  * An implementation of the model object '<em><b>YAuthorization Visibility Processor</b></em>'.
  * <!-- end-user-doc -->
- * <p>
- * </p>
  *
  * @generated
  */
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/visibility/impl/YSubTypeVisibilityProcessorImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/visibility/impl/YSubTypeVisibilityProcessorImpl.java
index d826043..c3edc64 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/visibility/impl/YSubTypeVisibilityProcessorImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/visibility/impl/YSubTypeVisibilityProcessorImpl.java
@@ -27,12 +27,12 @@
  * <em><b>YSub Type Visibility Processor</b></em>'. <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.visibility.impl.YSubTypeVisibilityProcessorImpl#getTypeQualifiedName <em>Type Qualified Name</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.visibility.impl.YSubTypeVisibilityProcessorImpl#getType <em>Type</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.visibility.impl.YSubTypeVisibilityProcessorImpl#getTarget <em>Target</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
@@ -270,6 +270,9 @@
 
 	@Override
 	public boolean matchesType(Class<?> className) {
+		if(className == null) {
+			return false;
+		}
 		return className.getName().equals(getTypeQualifiedName());
 	}
 
diff --git a/pom.xml b/pom.xml
index 250cf19..ada2b5d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -72,22 +72,17 @@
                     <artifactId>target-platform-configuration</artifactId>
                     <version>${tycho-version}</version>
                     <configuration>
-                        <filters>
-                            <filter>
-                                <type>eclipse-plugin</type>
-                                <id>org.apache.aries.transaction.manager</id>
-                                <restrictTo>
-                                    <!--  use a range that does not exist, we can not mix removeall and versionRange -->
-                                    <versionRange>[0.5.0,0.5.1)</versionRange>
-                                </restrictTo>
-                            </filter>
-                        </filters>
                         <resolver>p2</resolver>
                         <pomDependencies>consider</pomDependencies>
                         <environments>
                             <environment>
                                 <os>win32</os>
                                 <ws>win32</ws>
+                                <arch>x86</arch>
+                            </environment>
+                            <environment>
+                                <os>win32</os>
+                                <ws>win32</ws>
                                 <arch>x86_64</arch>
                             </environment>
                             <environment>